aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2016-07-01build: add pc-bios to config-host.mak depsGerd Hoffmann
... so configure re-runs on pc-bios updates such as new pxe roms. Needed because configure symlinks the prebuilt roms from src into build tree. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2016-07-01ipxe: add new roms to BLOBSGerd Hoffmann
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2016-06-24ipxe: update prebuilt binariesGerd Hoffmann
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2016-06-24vmxnet3: add boot romGerd Hoffmann
Disable for old machine types as this is a guest visible change. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2016-06-24e1000e: add boot romGerd Hoffmann
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2016-06-24ipxe: add vmxnet3 romGerd Hoffmann
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2016-06-24ipxe: add e1000e romGerd Hoffmann
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2016-06-24ipxe: update submodule from 4e03af8ec to 041863191Gerd Hoffmann
shortlog ======== Andrew Widdersheim (1): [netdevice] Add "ifname" setting Carl Henrik Lunde (1): [vmxnet3] Avoid completely filling the TX descriptor ring Christian Hesse (2): [golan] Fix build error on some versions of gcc [ath9k] Fix buffer overrun for ar9287 Christian Nilsson (2): [intel] Add PCI device ID for another I219-V [intel] Add PCI device ID for another I219-LM Hummel Frank (1): [intel] Add INTEL_NO_PHY_RST for I218-LM Kyösti Mälkki (1): [intel] Add PCI IDs for i210/i211 flashless operation Ladi Prosek (6): [pci] Add pci_find_next_capability() [virtio] Add virtio 1.0 constants and data structures [virtio] Add virtio 1.0 PCI support [virtio] Add virtio-net 1.0 support [virtio] Renumber virtio_pci_region flags [virtio] Fix virtio-pci logging Leendert van Doorn (2): [tg3] Fix address truncation bug on 64-bit machines [tg3] Add missing memory barrier Michael Brown (287): [settings] Re-add "uristring" setting type [dhcp] Do not skip ProxyDHCPREQUEST if next-server is empty [efi] Add definitions of GUIDs observed when booting shim.efi and grub.efi [efi] Mark EFI debug transcription functions as __attribute__ (( pure )) [efi] Remove raw EFI_HANDLE values from debug messages [efi] Include installed protocol list in unknown handle names [efi] Improve efi_wrap debugging [pxe] Construct all fake DHCP packets before starting PXE NBP [efi] Add definitions of GUIDs observed when booting wdsmgfw.efi [efi] Fix debug directory size [efi] Populate debug directory entry FileOffset field [build] Search for ldlinux.c32 separately from isolinux.bin [tcpip] Allow supported address families to be detected at runtime [efi] Allow calls to efi_snp_claim() and efi_snp_release() to be nested [efi] Fix order of events on SNP removal path [efi] Do not return EFI_NOT_READY from our ReceiveFilters() method [pxe] Populate ciaddr in fake PXE Boot Server ACK packet [uri] Generalise tftp_uri() to pxe_uri() [efi] Implement the EFI_PXE_BASE_CODE_PROTOCOL [usb] Expose usb_find_driver() [usb] Add function to device's function list before attempting probe [efi] Add USB headers and GUID definitions [efi] Allow efidev_parent() to traverse multiple device generations [efi] Add a USB host controller driver based on EFI_USB_IO_PROTOCOL [tcpip] Avoid generating positive zero for transmitted UDP checksums [usb] Generalise zero-length packet generation logic [ehci] Do not treat zero-length NULL pointers as unreachable [ehci] Support arbitrarily large transfers [xhci] Support arbitrarily large transfers [efi] Provide efi_devpath_len() [efi] Include a copy of the device path within struct efi_device [usb] Select preferred USB device configuration based on driver score [usb] Allow for wildcard USB class IDs [efi] Expose unused USB devices via EFI_USB_IO_PROTOCOL [ncm] Support setting MAC address [build] Remove dependency on libiberty [efi] Minimise use of iPXE header files when building host utilities [pxe] Invoke INT 1a,564e when PXE stack is activated [pxe] Notify BIOS via INT 1a,564e for each new network device [efi] Work around broken 32-bit PE executable parsing in ImageHlp.dll [efi] Avoid infinite loops when asked to stop non-existent devices [efi] Expose an UNDI interface alongside the existing SNP interface [malloc] Avoid integer overflow for excessively large memory allocations [peerdist] Avoid NULL pointer dereference for plaintext blocks [http] Verify server port when reusing a pooled connection [efi] Reset root directory when installing EFI_SIMPLE_FILE_SYSTEM_PROTOCOL [efi] Update to current EDK2 headers [efi] Import EFI_HII_FONT_PROTOCOL definitions [fbcon] Allow character height to be selected at runtime [fbcon] Move margin calculations to fbcon.c [console] Tidy up config/console.h [build] Generalise CONSOLE_VESAFB to CONSOLE_FRAMEBUFFER [efi] Add support for EFI_GRAPHICS_OUTPUT_PROTOCOL frame buffer consoles [dhcp] Reset start time when deferring discovery [dhcp] Limit maximum number of DHCP discovery deferrals [comboot] Reset console before starting COMBOOT executable [intel] Forcibly skip PHY reset on some models [intel] Correct definition of receive overrun bit [infiniband] Add definitions for FDR and EDR link speeds [infiniband] Add qword accessors for ib_guid and ib_gid [pci] Add definitions for PCI Express function level reset (FLR) [bitops] Fix definitions for big-endian devices [smsc95xx] Add driver for SMSC/Microchip LAN95xx USB Ethernet NICs [bitops] Provide BIT_QWORD_PTR() [efi] Add %.usb target for building EFI-bootable USB (or other) disk images [usb] Use port->disconnected to check for disconnected devices [usb] Record USB device speed separately from current port speed [usb] Allow USB device IDs to include arbitrary driver-specific data [usb] Allow additional settling time for out-of-spec hubs [acm] Add support for CDC-ACM (aka USB RNDIS) devices [xhci] Ensure that zero-length packets are not part of a TRB chain [efi] Centralise EFI file system info GUIDs [build] Allow extra objects to be included in an all-drivers build [bios] Add support for injecting keypresses [settings] Expose SMBIOS settings as global variables [smsc95xx] Allow for multiple methods for obtaining the MAC address [crypto] Dual-license selected DRBG files [smsc95xx] Fetch MAC from SMBIOS OEM string for Honeywell VM3 [crypto] Dual-license more selected DRBG files [vmware] Expose GuestRPC mechanism in 64-bit builds [romprefix] Report an optimistic runtime size estimate [usb] Add support for numeric keypad on USB keyboards [http] Handle relative redirection URIs [image] Provide image_set_uri() to modify an image's URI [downloader] Update image URI in response to a redirection [tftp] Do not change current working URI when TFTP server is cleared [infiniband] Profile post work queue entry operations [pxe] Colourise debug output [pxe] Add debug message to display real-mode segment addresses [i386] Add check_bios_interrupts() debug function [debug] Allow debug colourisation to be disabled [stp] Fix incorrectly disambiguated errors [build] Add named configuration for public cloud environments [smsc95xx] Enable LEDs [usb] Allow USB endpoints to specify a reserved header length for refills [smsc95xx] Reserve headroom in received packets [autoboot] Fix incorrect boolean logic [uri] Avoid potentially large stack allocation [ocsp] Avoid including a double path separator in request URI [tftp] Mangle initial slash on TFTP URIs [uri] Apply URI decoding for all parsed URIs [tcp] Guard against malformed TCP options [slam] Avoid potential division by zero [ath9k] Remove broken ath_rxbuf_alloc() [ehci] Add extra debugging information [malloc] Guard against unsigned integer overflow [iobuf] Improve robustness of I/O buffer allocation [pxe] Clarify comments regarding shrinking of cached DHCP packet [efi] Add missing definitions for function key scancodes [prefix] Pad .text16 and .data16 segment sizes at build time [libc] Split rmsetjmp() and rmlongjmp() into a separate rmsetjmp.h [bios] Use intptr_t when casting .text16 function pointers [bios] Use size_t when casting _text16_memsz and _data16_memsz [bios] Allow relocate.c to be compiled for x86_64 [bios] Allow rtc_entropy.c to be compiled for x86_64 [bios] Allow bzimage.c to be compiled for x86_64 [bios] Allow bios_console.c to be compiled for x86_64 [bios] Allow memmap.c to be compiled for x86_64 [bios] Allow librm to be compiled for x86_64 [bios] Move isolinux definitions to Makefile.pcbios [bios] Add bin-x86_64-pcbios build platform [librm] Discard argument as part of return from prot_call() [librm] Discard argument as part of return from real_call() [prefix] Align INT 15,88 temporary decompression area to a page boundary [romprefix] Align PMM temporary decompression area to a page boundary [bios] Make uses of REAL_CODE() and PHYS_CODE() 64-bit clean [librm] Use garbage-collectable section names [bios] Use an 8kB stack for x86_64 [prefix] Use garbage-collectable section names [librm] Simplify definitions for prot_call() and real_call() stack frames [prefix] Standardise calls to prot_call() [librm] Convert prot_call() to a real-mode near call [librm] Provide an abstraction wrapper for prot_call [librm] Transition to protected mode within init_librm() [relocate] Preserve page alignment during relocation [librm] Prepare for long-mode memory map [librm] Generate page tables for 64-bit builds [build] Fix building on older versions of binutils [librm] Add phys_call() wrapper for calling code with physical addressing [librm] Do not preserve flags unnecessarily [librm] Mark virt_offset, text16, data16, rm_cs, and rm_ds as constant [librm] Support userptr_t in 64-bit builds [librm] Rename prot_call() to virt_call() [librm] Add support for running in 64-bit long mode [ioapi] Split ioremap() out to a separate IOMAP API [librm] Support ioremap() for addresses above 4GB in a 64-bit build [netdevice] Refuse to create duplicate network device names [infiniband] Remove concept of whole-device owner data [infiniband] Avoid multiple calls to ib_cmrc_shutdown() [infiniband] Add support for performing service record lookups [infiniband] Assign names to Infiniband devices for debug messages [infiniband] Use "%#lx" as format specifier for queue pair numbers [infiniband] Use "%d" as format specifier for LIDs [infiniband] Use connection's local ID as debug message identifier [infiniband] Use correct transaction identifier in CM responses [infiniband] Do not use GRH for local paths [infiniband] Record multicast GID attachment as part of group membership [infiniband] Parse MLID, rate, and SL from multicast membership record [ipoib] Avoid unnecessary path record lookup for broadcast address [ipoib] Simplify test for received broadcast packets [infiniband] Allow for the creation of multicast groups [pcbios] Restrict external memory allocations to the low 4GB [infiniband] Assign names to CMRC connections [infiniband] Assign names to queue pairs [infiniband] Add "ibstat" command [infiniband] Retrieve GID flag from cached path entries [ipoib] Resimplify test for received broadcast packets [ipoib] Increase number of transmit work queue entries [ifmgmt] Include human-readable error message for configuration failure [infiniband] Make IPoIB support configurable at build time [eoib] Add Ethernet over Infiniband (EoIB) driver [eoib] Silently ignore EoIB heartbeat packets [eoib] Allow the multicast group to be forcefully created [eoib] Support non-FullMember gateway devices [xsigo] Add support for Xsigo virtual Ethernet (XVE) EoIB devices [efi] Work around broken GetFontInfo() implementations [tls] Avoid potential out-of-bound reads in length fields [crypto] Allow for zero-length ASN.1 cursors [pixbuf] Check for unsigned integer overflow on multiplication [arp] Validate length of ARP packet [librm] Do not unconditionally preserve flags across virt_call() [linda] Use standard readq() and writeq() implementations [qib7322] Use standard readq() and writeq() implementations [test] Add missing #include <string.h> [serial] Add missing #include <string.h> [3c595] Fix compilation when "char" is unsigned by default [tg3] Remove x86-specific inline assembly [efi] Centralise architecture-independent EFI Makefile and linker script [build] Allow assembler section type character to vary by architecture [build] Accept CROSS= as a synonym for CROSS_COMPILE= [efi] Update to current EDK2 headers [efi] Add processor binding headers for ARM and AArch64 [uri] Support URIs containing only scheme and path components [uri] Support "file:" URIs describing relative paths [efi] Provide access to files stored on EFI filesystems [build] Remove long-obsolete header file [pseudobit] Rename bitops.h to pseudobit.h [bitops] Add generic atomic bit test, set, and clear functions [hyperv] Use generic set_bit() function [xen] Use generic test_and_clear_bit() function [test] Move i386-specific tests to arch/i386/tests [efi] Move architecture-independent EFI prefixes to interface/efi [libc] Allow container_of() to be used on volatile pointers [ipoib] Allow external code to identify IPoIB network devices [hermon] Add missing iounmap() [arbel] Add missing iounmap() [linda] Add missing iounmap() [qib7322] Add missing iounmap() [crypto] Allow trusted certificates to be stored in non-volatile options [hermon] Allocate space for GRH on UD queue pairs [arbel] Allocate space for GRH on UD queue pairs [infiniband] Allow drivers to override the eIPoIB LEMAC [build] Do not use "objcopy -O binary" for objects with relocation records [gdb] Add support for x86_64 [int13] Allow drive to be hooked using the natural drive number [int13] Allow default drive to be specified via "san-drive" setting [3c5x9] Avoid use of sleep() in driver code [etherfabric] Avoid use of sleep() in driver code [hermon] Fix received packet length [arbel] Fix received packet length [libc] Make sleep() interruptible [pxe] Implicitly open network device in PXENV_UDP_OPEN [prefix] Use CRC32 to verify each block prior to decompression [crypto] Allow cross-certificate source to be configured at build time [iscsi] Include DHCP server address in iBFT [netdevice] Return ENOENT for an unknown bus type [linda] Validate payload length [qib7322] Validate payload length [test] Update snprintf_ok() to use okx() [libc] Print "<NULL>" for wide-character NULL strings [efi] Work around broken EFI HII specification [comboot] Support COMBOOT in 64-bit builds [ethernet] Make LACP support configurable at build time [libc] Allow CPU architectures to use unoptimised string functions [libgcc] Provide symbol to handle gcc's implicit calls to memset() [image] Skip misleading "format not recognised" error message [librm] Reduce real-mode stack consumption in virt_call() [tg3] Fix _tg3_flag() for 64-bit builds [librm] Preserve FPU, MMX and SSE state across calls to virt_call() [efi] Eliminate use of libbfd [build] Remove unnecessary dependency on zlib [tcpip] Do not fall back to using unoptimised TCP/IP checksumming [efi] Use a timer event to generate the currticks() timer [efi] Generalise EFI entropy generation to non-x86 CPUs [sis190] Fix building with GCC 6 [skge] Fix building with GCC 6 [golan] Fix building with GCC 6 [ath] Fix building with GCC 6 [legacy] Fix building with GCC 6 [libgcc] Provide __divmoddi4() [bitops] Fix typo in test case [arm] Add support for 32-bit ARM [arm] Avoid instruction references to symbols defined via ".equ" [arm] Split out 32-bit-specific code to arch/arm32 [arm] Add support for 64-bit ARM (Aarch64) [efi] Allow for building with older versions of elf.h system header [libc] Avoid implicit assumptions about potentially-optimised memcpy() [arm] Add optimised string functions for 64-bit ARM [arm] Add optimised TCP/IP checksumming for 64-bit ARM [efi] Guard against GetStatus() failing to return a NULL TX buffer [arm] Use CNTVCT_EL0 as profiling timestamp [undi] Work around broken HP EliteBook 745 G3 PXE ROM [pci] Add support for PCI Enhanced Allocation [settings] Extend numerical setting tags to "unsigned long" [netdevice] Fix failure path in register_netdev() [lotest] Add option to use broadcast packets for loopback testing [http] Ignore unrecognised "Connection" header tokens [efi] Work around broken UEFI keyboard drivers [axge] Add driver for ASIX 10/100/1000 USB Ethernet NICs [arm] Use correct DHCP client architecture values [dhcp] Fix definitions for x86_64 and EFI BC client architectures [efi] Expose DHCP packets via the Apple NetBoot protocol [libc] Always use a non-zero seed for the (non-crypto) RNG [pci] Support systems with multiple PCI root bridges [http] Accept headers with no whitespace following the colon [tcp] Send TCP keepalives on idle established connections [time] Allow system clock to be adjusted at runtime [ntp] Add simple NTP client [cmdline] Add "ntp" command [thunderx] Add driver for Cavium ThunderX SoC NICs [thunderx] Fix channel configuration for VNICs 1-7 [efi] Include VLAN in SNP device path if applicable [thunderx] Retrieve base MAC address via EFI_THUNDER_CONFIG_PROTOCOL [smsc75xx] Allow up to 100ms for reset to complete [efi] Report failures to stop the EFI timer tick event [efi] Do not copy garbage bytes into SNP device path MAC address [thunderx] Fix compilation with older versions of gcc Mika Tiainen (1): [intel] Add INTEL_NO_PHY_RST for another I218-LM variant Suresh Sundriyal (1): [pool] Fix check for reopenable pooled connections Torgeir Wulfsberg (1): [intel] Add INTEL_NO_PHY_RST for I217-LM Vinson Lee (2): [mucurses] Fix GCC 6 nonnull-compare errors [build] Remove nested "my" declaration Wissam Shoukair (3): [golan] Add Connect-IB, ConnectX-4 and ConnectX-4 Lx (Infiniband) support [mlx_icmd] Fix compilation error in GCC versions newer than 4.6.4 [golan] Add missing iounmap() Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2016-06-23Merge remote-tracking branch 'remotes/dgibson/tags/ppc-for-2.7-20160623' ↵Peter Maydell
into staging ppc patch queue for 2016-06-23 Currently outstanding patches for spapr, target-ppc and related devices. This batch has: * Significant new progress towards full support for hypervisor mode * Assorted bugfixes * Some preliminary patches towards dynamic DMA window support The last involves a change to memory.c, which Paolo has said I can take through this tree. # gpg: Signature made Thu 23 Jun 2016 06:47:53 BST # gpg: using RSA key 0x6C38CACA20D9B392 # gpg: Good signature from "David Gibson <david@gibson.dropbear.id.au>" # gpg: aka "David Gibson (Red Hat) <dgibson@redhat.com>" # gpg: aka "David Gibson (ozlabs.org) <dgibson@ozlabs.org>" # gpg: WARNING: This key is not certified with sufficiently trusted signatures! # gpg: It is not certain that the signature belongs to the owner. # Primary key fingerprint: 75F4 6586 AE61 A66C C44E 87DC 6C38 CACA 20D9 B392 * remotes/dgibson/tags/ppc-for-2.7-20160623: ppc: Disable huge page support if it is not available for main RAM ppc: Add P7/P8 Power Management instructions ppc: Move exception generation code out of line ppc: Turn a bunch of booleans from int to bool ppc: Add real mode CI load/store instructions for P7 and P8 ppc: Rework generation of priv and inval interrupts ppc: Fix generation if ISI/DSI vs. HV mode ppc: Fix POWER7 and POWER8 exception definitions ppc: fix exception model for HV mode ppc: define a default LPCR value ppc: Fix rfi/rfid/hrfi/... emulation memory: Add reporting of supported page sizes ppc: Improve emulation of THRM registers target-ppc: Fix rlwimi, rlwinm, rlwnm again ppc64: disable gen_pause() for linux-user mode tests: Use '+=' to add additional tests, not '=' powerpc/mm: Update the WIMG check during H_ENTER Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2016-06-23Merge remote-tracking branch 'remotes/kraxel/tags/pull-usb-20160622-2' into ↵Peter Maydell
staging usb: add hotplug support for usb-bot and usb-uas. # gpg: Signature made Wed 22 Jun 2016 12:45:46 BST # gpg: using RSA key 0x4CB6D8EED3E87138 # gpg: Good signature from "Gerd Hoffmann (work) <kraxel@redhat.com>" # gpg: aka "Gerd Hoffmann <gerd@kraxel.org>" # gpg: aka "Gerd Hoffmann (private) <kraxel@gmail.com>" # Primary key fingerprint: A032 8CFF B93A 17A7 9901 FE7D 4CB6 D8EE D3E8 7138 * remotes/kraxel/tags/pull-usb-20160622-2: usb-uas: hotplug support usb-bot: hotplug support usb: Add QOM property "attached". usb: make USBDevice->attached bool usb-storage: qcow2 encryption support is finally gone, zap dead code Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2016-06-23Merge remote-tracking branch 'remotes/sstabellini/tags/xen-20160622-tag' ↵Peter Maydell
into staging xen-20160622 # gpg: Signature made Wed 22 Jun 2016 12:45:56 BST # gpg: using RSA key 0x894F8F4870E1AE90 # gpg: Good signature from "Stefano Stabellini <stefano.stabellini@eu.citrix.com>" # Primary key fingerprint: D04E 33AB A51F 67BA 07D3 0AEA 894F 8F48 70E1 AE90 * remotes/sstabellini/tags/xen-20160622-tag: xen: move xen_sysdev to xen_backend.c xen: fix qdisk BLKIF_OP_DISCARD for 32/64 word size mix xen: fix style of hw/block/xen_blkif.h Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2016-06-23ppc: Disable huge page support if it is not available for main RAMThomas Huth
On powerpc, we must only signal huge page support to the guest if all memory areas are capable of supporting huge pages. The commit 2d103aae8765 ("fix hugepage support when using memory-backend-file") already fixed the case when the user specified the mem-path property for NUMA memory nodes instead of using the global "-mem-path" option. However, there is one more case where it currently can go wrong. When specifying additional memory DIMMs without using NUMA, e.g. qemu-system-ppc64 -enable-kvm ... -m 1G,slots=2,maxmem=2G \ -device pc-dimm,id=dimm-mem1,memdev=mem1 -object \ memory-backend-file,policy=default,mem-path=/...,size=1G,id=mem1 the code in getrampagesize() currently assumes that huge pages are possible since they are enabled for the mem1 object. But since the main RAM is not backed by a huge page filesystem, the guest Linux kernel then crashes very quickly after being started. So in case the we've got "normal" memory without NUMA and without the global "-mem-path" option, we must not announce huge pages to the guest. Since this is likely a mis-configuration by the user, also spill out a message in this case. Signed-off-by: Thomas Huth <thuth@redhat.com> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2016-06-23ppc: Add P7/P8 Power Management instructionsBenjamin Herrenschmidt
This adds the ISA 2.06 and later power management instructions (doze, nap, sleep and rvwinkle) and associated wakeup cause testing in LPCR Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> [clg: fixed checkpatch.pl errors ] Signed-off-by: Cédric Le Goater <clg@kaod.org> Reviewed-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2016-06-23ppc: Move exception generation code out of lineBenjamin Herrenschmidt
There's no point inlining this, if you hit the exception case you exit anyway, and not inlining saves about 100K of code size (and cache footprint). Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> [clg: removed '__attribute__((noinline))' from original patch ] Signed-off-by: Cédric Le Goater <clg@kaod.org> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2016-06-23ppc: Turn a bunch of booleans from int to boolBenjamin Herrenschmidt
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Reviewed-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Cédric Le Goater <clg@kaod.org> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2016-06-23ppc: Add real mode CI load/store instructions for P7 and P8Benjamin Herrenschmidt
Those instructions are only available in hypervisor real mode and allow cache inhibited garded access to devices in that mode. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> [clg: fixed checkpatch.pl errors ] Signed-off-by: Cédric Le Goater <clg@kaod.org> Reviewed-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2016-06-23ppc: Rework generation of priv and inval interruptsBenjamin Herrenschmidt
Recent server processors use the Hypervisor Emulation Assistance interrupt for illegal instructions and *some* type of SPR accesses. Also the code was always generating inval instructions even for priv violations due to setting the wrong flags Finally, the checking for PR/HV was open coded everywhere. This reworks it all, using little helper macros for checking, and adding the HV interrupt (which gets converted back to program check in the slow path of excp_helper.c on CPUs that don't want it). Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> [clg: fixed checkpatch.pl errors ] Signed-off-by: Cédric Le Goater <clg@kaod.org> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2016-06-23ppc: Fix generation if ISI/DSI vs. HV modeBenjamin Herrenschmidt
Under some circumstances, we need to direct ISI and DSI interrupts at the hypervisor, turning them into HISI/HDSI, and using different SPRs (HDSISR and HDAR) depending on the combination of MSR_DR and the corresponding VPM bits in LPCR. This moves part of the code into helpers that are fixed to select the right exception type and registers. On pre-P7 processors, LPCR is 0 which provides the old behaviour of directing the interrupts at the supervisor. Thanks to Andrei Warkentin for finding a bug when HV=1 Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Reviewed-by: David Gibson <david@gibson.dropbear.id.au> [clg: Merged a fix on POWERPC_EXCP_HDSI fixing the condition on msr_hv, from Andrei Warkentin <andrey.warkentin@gmail.com> ] Signed-off-by: Cédric Le Goater <clg@kaod.org> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2016-06-23ppc: Fix POWER7 and POWER8 exception definitionsBenjamin Herrenschmidt
We were initializing unused ones and missing some Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Reviewed-by: David Gibson <david@gibson.dropbear.id.au> [clg: fixed checkpatch.pl errors ] Signed-off-by: Cédric Le Goater <clg@kaod.org> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2016-06-23ppc: fix exception model for HV modeBenjamin Herrenschmidt
This properly implements LPES0 handling for HV vs. !HV mode and removes the unsupported LPES1. This has been removed from the specs since ISA v2.07. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> [clg: AIL implementation was fixed in commit 5c94b2a5e5ef. This patch only contains the bits of the original patch related to LPES0 handling, adapted commit log. fixed checkpatch.pl errors. ] Signed-off-by: Cédric Le Goater <clg@kaod.org> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2016-06-23ppc: define a default LPCR valueBenjamin Herrenschmidt
This allows us to set the appropriate LPCR bits which will be used when fixing the exception model for the HV mode. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Reviewed-by: David Gibson <david@gibson.dropbear.id.au> [clg: previous commit 26a7f1291bb5 did not include the LPCR setting as it was not needed at the time, adapted commit log ] Signed-off-by: Cédric Le Goater <clg@kaod.org> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2016-06-23ppc: Fix rfi/rfid/hrfi/... emulationBenjamin Herrenschmidt
This reworks emulation of the various "rfi" variants. I removed some masking bits that I couldn't make sense of, the only bit that I am aware we should mask here is POW, the CPU's MSR mask should take care of the rest. This also fixes some problems when running 32-bit userspace under a 64-bit kernel. This patch broke 32bit OpenBIOS when run under a 970 cpu. A fix was proposed here : https://www.coreboot.org/pipermail/openbios/2016-June/009452.html Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Reviewed-by: David Gibson <david@gibson.dropbear.id.au> [clg: updated the commit log with the reference of the openbios fix ] Signed-off-by: Cédric Le Goater <clg@kaod.org> [dwg: Remove hunk which disabled rfi on 64-bit CPUS. The change was correct, but we need to fix OpenBIOS before applying it] Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2016-06-22usb-uas: hotplug supportGerd Hoffmann
Make attached property settable and turns off auto-attach in case the device was hotplugged. Hotplugging works simliar to usb-bot now. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Reviewed-by: Markus Armbruster <armbru@redhat.com> Message-id: 1465984019-28963-6-git-send-email-kraxel@redhat.com
2016-06-22usb-bot: hotplug supportGerd Hoffmann
This patch marks usb-bot as hot-pluggable device, makes attached property settable and turns off auto-attach in case the device was hotplugged. Hot-plugging a usb-bot device with one or more scsi devices can be done this way now: (1) device-add usb-bot,id=foo (2) device-add scsi-{hd,cd},bus=foo.0,lun=0 (2b) optionally add more devices (luns 0 ... 15). (3) qom-set foo.attached = true Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Reviewed-by: Markus Armbruster <armbru@redhat.com> Message-id: 1465984019-28963-5-git-send-email-kraxel@redhat.com
2016-06-22usb: Add QOM property "attached".Gerd Hoffmann
USB devices in attached state are visible to the guest. This patch adds a QOM property for this. Write access is opt-in per device. Some devices manage attached state automatically (usb-host, usb-serial, usb-redir), so we can't enable write access universally but have to do it on a case by case base. So far, no device opts in. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Reviewed-by: Markus Armbruster <armbru@redhat.com> Message-id: 1465984019-28963-4-git-send-email-kraxel@redhat.com [ minor codestyle fix ] Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2016-06-22usb: make USBDevice->attached boolGerd Hoffmann
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Reviewed-by: Markus Armbruster <armbru@redhat.com> Message-id: 1465984019-28963-3-git-send-email-kraxel@redhat.com
2016-06-22usb-storage: qcow2 encryption support is finally gone, zap dead codeGerd Hoffmann
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Message-id: 1465984019-28963-2-git-send-email-kraxel@redhat.com
2016-06-22xen: move xen_sysdev to xen_backend.cJuergen Gross
Commit 9432e53a5bc88681b2d3aec4dac9db07c5476d1b added xen_sysdev as a system device to serve as an anchor for removable virtual buses. This introduced a build failure for non-x86 builds with CONFIG_XEN_BACKEND set, as xen_sysdev was defined in a x86 specific file while being consumed in an architecture independent source. Move the xen_sysdev definition and initialization to xen_backend.c to avoid the build failure. Signed-off-by: Juergen Gross <jgross@suse.com> Reviewed-by: Anthony PERARD <anthony.perard@citrix.com> Acked-by: Stefano Stabellini <sstabellini@kernel.org> Signed-off-by: Stefano Stabellini <sstabellini@kernel.org>
2016-06-22xen: fix qdisk BLKIF_OP_DISCARD for 32/64 word size mixJuergen Gross
In case the word size of the domU and qemu running the qdisk backend differ BLKIF_OP_DISCARD will not work reliably, as the request structure in the ring have different layouts for different word size. Correct this by copying the request structure in case of different word size element by element in the BLKIF_OP_DISCARD case, too. Signed-off-by: Juergen Gross <jgross@suse.com> Acked-by: Stefano Stabellini <sstabellini@kernel.org> Signed-off-by: Stefano Stabellini <sstabellini@kernel.org>
2016-06-22xen: fix style of hw/block/xen_blkif.hJuergen Gross
Fix hw/block/xen_blkif.h to match qemu coding style. Signed-off-by: Juergen Gross <jgross@suse.com> Acked-by: Stefano Stabellini <sstabellini@kernel.org> Signed-off-by: Stefano Stabellini <sstabellini@kernel.org>
2016-06-22memory: Add reporting of supported page sizesAlexey Kardashevskiy
Every IOMMU has some granularity which MemoryRegionIOMMUOps::translate uses when translating, however this information is not available outside the translate context for various checks. This adds a get_min_page_size callback to MemoryRegionIOMMUOps and a wrapper for it so IOMMU users (such as VFIO) can know the minimum actual page size supported by an IOMMU. As IOMMU MR represents a guest IOMMU, this uses TARGET_PAGE_SIZE as fallback. This removes vfio_container_granularity() and uses new helper in memory_region_iommu_replay() when replaying IOMMU mappings on added IOMMU memory region. Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru> Reviewed-by: David Gibson <david@gibson.dropbear.id.au> Acked-by: Alex Williamson <alex.williamson@redhat.com> [dwg: Removed an unnecessary calculation] Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2016-06-22ppc: Improve emulation of THRM registersBenjamin Herrenschmidt
The 75x and 74xx processors have some thermal monitoring SPRs that some OSes such as MacOS do use. Our current "dumb" implementation isn't good enough and will cause some versions of MacOS to hang during boot. This lifts an improved emulation from MacOnLinux and adapts it to qemu, thus fixing the problem. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> [dwg: Fixed typo in comment, a number of minor checkpatch warnings, and a compile failure with CONFIG_USER_ONLY] Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2016-06-22target-ppc: Fix rlwimi, rlwinm, rlwnm againRichard Henderson
In 63ae0915f8ec, I arranged to use a 32-bit rotate, without considering the effect of a mask value that wraps around to the high bits of the word. [dwg: In 2e11b15 this was partially fixed, but an edge case was still incorrect, which this fixes] Signed-off-by: Richard Henderson <rth@twiddle.net> [dwg: Folded with a revert of 2e11b15, an earlier buggy version of this patch which already went upstream] Tested-by: Anton Blanchard <anton@samba.org> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2016-06-22ppc64: disable gen_pause() for linux-user modeLaurent Vivier
While trying to install a fedora container with "lxc-create -t fedora -- -I qemu-ppc64" the installation abort with the following error: qemu: fatal: Unknown exception 0x65537. Aborting NIP 0000004000927924 LR 00000040009e325c CTR 0000004000927480 XER 0000000000000000 CPU#0 MSR 9000000102806000 HID0 0000000000000000 HF 9000000002806000 iidx 3 didx 3 TB 00248932 1069155773327487 GPR00 00000040009e325c 00000040007ff800 0000004000aba098 0000000000000000 GPR04 00000040007ff878 0000004000dcb588 0000004000dcb830 0000004000a7a098 GPR08 0000000000000000 0000000000000000 00000040007ff878 0000004000927960 GPR12 0000000022022448 0000004000e2aef0 0000000000000000 0000000000000000 GPR16 0000000000000000 0000000000000000 0000000000000002 0000000000000001 GPR20 0000000000000000 0000000000000000 0000000000000000 0000004000800699 GPR24 0000004000e13320 0000000000000000 0000004000ac9ad8 0000004000ac9ae0 GPR28 0000000000000001 00000000100210a0 0000000000000000 0000000000000038 CR 22022442 [ E E - E E G G E ] RES ffffffffffffffff FPR00 0000000000000000 0000000000000000 0000000000000000 0000000000000000 FPR04 0000000000000000 0000000000000000 0000000000000000 0000000000000000 FPR08 0000000000000000 0000000000000000 0000000000000000 0000000000000000 FPR12 0000000000000000 0000000000000000 0000000000000000 0000000000000000 FPR16 0000000000000000 0000000000000000 0000000000000000 0000000000000000 FPR20 0000000000000000 0000000000000000 0000000000000000 0000000000000000 FPR24 0000000000000000 0000000000000000 0000000000000000 0000000000000000 FPR28 0000000000000000 0000000000000000 0000000000000000 0000000000000000 FPSCR 0000000000000000 /usr/share/lxc/templates/lxc-fedora: line 487: 26661 Aborted (core dumped) chroot . yum -y --nogpgcheck --installroot /run/install install python rpm yum I've bisected until the commit: commit b68e60e6f0d2865e961a800fb8db96a7fc6494c4 Author: Benjamin Herrenschmidt <benh@kernel.crashing.org> Date: Tue May 3 18:03:33 2016 +0200 ppc: Get out of emulation on SMT "OR" ops Otherwise tight loops at smt_low for example, which OPAL does, eat so much CPU that we can't boot a kernel anymore. With that, I can boot 8 CPUs just fine with powernv. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Reviewed-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: David Gibson <david@gibson.dropbear.id.au> We can fix that by preventing to send EXCP_HLT in the case of linux-user mode, as the main loop doesn't know how to manage it. Signed-off-by: Laurent Vivier <laurent@vivier.eu> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2016-06-22tests: Use '+=' to add additional tests, not '='Thomas Huth
The recent commit that added the prom-env-test accidentially overwrote the check-qtest-ppc-y, check-qtest-ppc64-y and check-qtest-sparc-y variables instead of extending them. Fixes: fcbf4a3c0c576eec1321f9cff4fa0dd8e0b1a82f Signed-off-by: Thomas Huth <thuth@redhat.com> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2016-06-22powerpc/mm: Update the WIMG check during H_ENTERAneesh Kumar K.V
Support for 0 value for memeory coherence is optional and with ppc64 we can always enable memory coherence. Linux kernel did that during the development of 4.7 kernel. But that resulted in failure in Qemu in H_ENTER hcall due to below check. The mentioned change was reverted in the kernel and kernel right now enable memory coherence only if cache inhibited is not set. Nevertheless update qemu WIMG flag check to cover the case where we enable memory coherence along with cache inhibited flag. In order to handle older and newer kernel version consider both Cache inhibitted and (cache inhibitted | memory conference) as valid values for wimg flags. Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2016-06-21Merge remote-tracking branch 'remotes/stsquad/tags/pull-travis-20160621-1' ↵Peter Maydell
into staging This pull request contains: - disable sparse testing - add trusty build target - add libnfs-dev for NFS block driver These are the same patches posted last week for any last minute review. # gpg: Signature made Tue 21 Jun 2016 10:06:34 BST # gpg: using RSA key 0xFBD0DB095A9E2A44 # gpg: Good signature from "Alex Bennée (Master Work Key) <alex.bennee@linaro.org>" # Primary key fingerprint: 6685 AE99 E751 67BC AFC8 DF35 FBD0 DB09 5A9E 2A44 * remotes/stsquad/tags/pull-travis-20160621-1: .travis.yml: disable Sparse testing .travis.yml: add trusty GCE target .travis.yml: add libnfs-dev for NFS block driver Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2016-06-21milkymist: fix tmu2.c build failure (missing error.h include)Gerd Hoffmann
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Acked-by: Michael Walle <michael@walle.cc> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2016-06-21Merge remote-tracking branch 'remotes/mcayland/tags/qemu-sparc-signed' into ↵Peter Maydell
staging qemu-sparc update # gpg: Signature made Mon 20 Jun 2016 21:55:23 BST # gpg: using RSA key 0x5BC2C56FAE0F321F # gpg: Good signature from "Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>" # Primary key fingerprint: CC62 1AB9 8E82 200D 915C C9C4 5BC2 C56F AE0F 321F * remotes/mcayland/tags/qemu-sparc-signed: MAINTAINERS: remove Blue Swirl as SPARC maintainer MAINTAINERS: add Artyom Tarasenko as SPARC maintainer Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2016-06-20Merge remote-tracking branch 'remotes/stefanha/tags/tracing-pull-request' ↵Peter Maydell
into staging # gpg: Signature made Mon 20 Jun 2016 21:29:27 BST # gpg: using RSA key 0x9CA4ABB381AB73C8 # gpg: Good signature from "Stefan Hajnoczi <stefanha@redhat.com>" # gpg: aka "Stefan Hajnoczi <stefanha@gmail.com>" # Primary key fingerprint: 8695 A8BF D3F9 7CDA AC35 775A 9CA4 ABB3 81AB 73C8 * remotes/stefanha/tags/tracing-pull-request: (42 commits) trace: split out trace events for linux-user/ directory trace: split out trace events for qom/ directory trace: split out trace events for target-ppc/ directory trace: split out trace events for target-s390x/ directory trace: split out trace events for target-sparc/ directory trace: split out trace events for net/ directory trace: split out trace events for audio/ directory trace: split out trace events for ui/ directory trace: split out trace events for hw/alpha/ directory trace: split out trace events for hw/arm/ directory trace: split out trace events for hw/acpi/ directory trace: split out trace events for hw/vfio/ directory trace: split out trace events for hw/s390x/ directory trace: split out trace events for hw/pci/ directory trace: split out trace events for hw/ppc/ directory trace: split out trace events for hw/9pfs/ directory trace: split out trace events for hw/i386/ directory trace: split out trace events for hw/isa/ directory trace: split out trace events for hw/sd/ directory trace: split out trace events for hw/sparc/ directory ... Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2016-06-20MAINTAINERS: remove Blue Swirl as SPARC maintainerMark Cave-Ayland
Blue is no longer active in the QEMU project, so remove him from the list of SPARC maintainers. Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> CC: Blue Swirl <blauwirbel@gmail.com>
2016-06-20MAINTAINERS: add Artyom Tarasenko as SPARC maintainerMark Cave-Ayland
Artyom has been working on QEMU's SPARC emulation for several years, providing initial support for Solaris under qemu-system-sparc and more recently bugfixes for qemu-system-sparc64 and TCG patch reviews. As work progresses on improving emulation for sun4u machines and beyond, Artyom has agreed to take on co-maintainership of SPARC with a focus on 64-bit architecture. Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> Acked-by: Artyom Tarasenko <atar4qemu@gmail.com>
2016-06-20Merge remote-tracking branch 'remotes/mwalle/tags/lm32-queue/20160620' into ↵Peter Maydell
staging lm32/milkymist: some qomifying # gpg: Signature made Mon 20 Jun 2016 17:27:53 BST # gpg: using RSA key 0xB458ABB0D8D378E3 # gpg: Good signature from "Michael Walle <michael@walle.cc>" # gpg: WARNING: This key is not certified with a trusted signature! # gpg: There is no indication that the signature belongs to the owner. # Primary key fingerprint: 2190 3E48 4537 A7C2 90CE 3EB2 B458 ABB0 D8D3 78E3 * remotes/mwalle/tags/lm32-queue/20160620: milkymist: update specification URLs hw/intc: QOM'ify lm32_pic.c hw/display: QOM'ify milkymist-vgafb.c hw/display: QOM'ify milkymist-tmu2.c hw/timer: QOM'ify milkymist_sysctl hw/timer: QOM'ify lm32_timer Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2016-06-20trace: split out trace events for linux-user/ directoryDaniel P. Berrange
Move all trace-events for files in the linux-user/ directory to their own file. Signed-off-by: Daniel P. Berrange <berrange@redhat.com> Reviewed-by: Laurent Vivier <laurent@vivier.eu> Message-id: 1466066426-16657-41-git-send-email-berrange@redhat.com Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
2016-06-20trace: split out trace events for qom/ directoryDaniel P. Berrange
Move all trace-events for files in the qom/ directory to their own file. Signed-off-by: Daniel P. Berrange <berrange@redhat.com> Message-id: 1466066426-16657-40-git-send-email-berrange@redhat.com Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
2016-06-20trace: split out trace events for target-ppc/ directoryDaniel P. Berrange
Move all trace-events for files in the target-ppc/ directory to their own file. Signed-off-by: Daniel P. Berrange <berrange@redhat.com> Reviewed-by: Thomas Huth <thuth@redhat.com> Message-id: 1466066426-16657-39-git-send-email-berrange@redhat.com Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
2016-06-20trace: split out trace events for target-s390x/ directoryDaniel P. Berrange
Move all trace-events for files in the target-s390x/ directory to their own file. [Added missing newline in target-s390x/trace-events as suggested by Cornelia Huck <cornelia.huck@de.ibm.com>. --Stefan] Signed-off-by: Daniel P. Berrange <berrange@redhat.com> Acked-by: Cornelia Huck <cornelia.huck@de.ibm.com> Message-id: 1466066426-16657-38-git-send-email-berrange@redhat.com Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
2016-06-20trace: split out trace events for target-sparc/ directoryDaniel P. Berrange
Move all trace-events for files in the target-sparc/ directory to their own file. Signed-off-by: Daniel P. Berrange <berrange@redhat.com> Message-id: 1466066426-16657-37-git-send-email-berrange@redhat.com Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
2016-06-20trace: split out trace events for net/ directoryDaniel P. Berrange
Move all trace-events for files in the net/ directory to their own file. Signed-off-by: Daniel P. Berrange <berrange@redhat.com> Message-id: 1466066426-16657-36-git-send-email-berrange@redhat.com Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
2016-06-20trace: split out trace events for audio/ directoryDaniel P. Berrange
Move all trace-events for files in the audio/ directory to their own file. Signed-off-by: Daniel P. Berrange <berrange@redhat.com> Message-id: 1466066426-16657-35-git-send-email-berrange@redhat.com Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>