summaryrefslogtreecommitdiff
path: root/pc-bios
AgeCommit message (Collapse)AuthorFilesLines
2017-10-19Merge remote-tracking branch 'remotes/mcayland/tags/qemu-sparc-signed' into ↵Peter Maydell1-0/+0
staging qemu-sparc update # gpg: Signature made Thu 19 Oct 2017 07:50:16 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: sun4u: fix assert when adding NICs which aren't the in-built model sun4u: update PCI topology to include simba PCI bridges Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2017-10-19seabios: update to 1.11 prereleaseGerd Hoffmann8-0/+0
This is the seabios update for qemu 2.11. Well, almost, seabios is in freeze for the upcoming 1.11 release. This updates seabios to current git master snapshot, and it will be updated again to 1.11 final before the 2.11 release. With this two-step seabios gets some more wide testing before the actual release and the update to 1.11 final (which will most likely happen after qemu freeze) should have bugfix patches only. git shortlog ============ Aleksandr Bezzubikov (3): pci: refactor pci_find_capapibilty to get bdf as the first argument instead of the whole pci_device pci: add QEMU-specific PCI capability structure pci: enable RedHat PCI bridges to reserve additional resources on PCI init Ben Warren (5): QEMU DMA: Add DMA write capability romfile-loader: Switch to using named structs QEMU fw_cfg: Add command to write back address of file QEMU fw_cfg: Add functions for accessing files by key QEMU fw_cfg: Write fw_cfg back on S3 resume Daniel Verkamp (5): nvme: support NVMe 1.0 controllers nvme: extend command timeout to 5 seconds nvme: fix reversed loop condition in cmd_readwrite nvme: fix extraction of status code bits nvme: fix copy-paste mistake in comment Filippo Sironi (1): nvme: Use the Maximum Queue Entries Supported (MQES) to initialize I/O queues Gerd Hoffmann (7): usb: add hub portmap usb-xhci: use hub portmap std: add cp437 to unicode map kbd: make enqueue_key public, add ascii_to_keycode romfile: add support for constant files. paravirt: serial console configuration. add serial console support Igor Mammedov (1): drop "etc/boot-cpus" fw_cfg file and reuse legacy QEMU_CFG_NB_CPUS Jason Wang (1): virtio: IOMMU support Julian Stecklina (2): block: add NVMe boot support nvme: fix out of memory behavior Julius Werner (1): coreboot: Adapt to upstream CBMEM console changes Kevin O'Connor (26): usb: Make usb_time_sigatt variable static tpm: Add comment banners to tcg.c separating major parts of spec tpm: Don't call tpm_set_failure() from tpm12_get_capability() tpm: Move code around in tcgbios.c to keep like code together acpi: Generalize find_fadt() and find_tcpa_by_rsdp() into find_acpi_table() tpm: Don't call tpm_build_and_send_cmd() from tpm20_stirrandom() tpm: Rework tpm_build_and_send_cmd() into tpm_simple_cmd() ps2port: Disable keyboard/mouse prior to resetting ps2 controller docs: Note release dates for 1.10.1 and 1.10.2 resume: Don't attempt to use generic reboot mechanisms on QEMU boot: Increase description size in boot menu src: Minor - remove tab characters that slipped into SeaBIOS C code NVMe: Allow NVMe to be enabled on real hardware smm: Backup and restore A20 on an SMI based mode switch stacks: Make sure to initialize Call16Data stacks: Don't update the A20 settings if they haven't changed stacks: There is no need to disable NMI if it is already disabled vga: Fix bug in stdvga_get_linesize() docs: Fix typos in Memory_Model.md tcgbios: Fix use of unitialized variable boot: Rename drive_g to drive disk: Don't require the 'struct drive_s' to be in the f-segment block: Rename disk_op_s->drive_gf to drive_fl virtio: Allocate drive_s storage in low memory xhci: Build TRBs directly in xhci_trb_queue() xhci: Verify the device is still present in xhci_cmd_submit() Ladi Prosek (1): ahci: Set upper 32-bit registers to zero Patrick Rudolph (4): SeaVGABios/cbvga: Advertise correct pixel format SeaVGABIOS/vbe: Query driver for scanline pitch v2 SeaVGABios/cbvga: Use active mode to clear screen SeaVGABios/cbvga: Advertise compatible VESA modes Paul Menzel (1): vgasrc: Increase debug level Petr Berky (1): config: Add function to check if fw_cfg exists Ricardo Ribalda Delgado (1): serialio: Support for mmap serial ports Roman Kagan (11): blockcmd: accept only disks and CD-ROMs blockcmd: generic SCSI luns enumeration virtio-scsi: enumerate luns with REPORT LUNS esp-scsi: enumerate luns with REPORT LUNS usb-uas: enumerate luns with REPORT LUNS pvscsi: fix the comment about lun enumeration mpt-scsi: try to enumerate luns with REPORT LUNS lsi-scsi: reset in case of a serious problem lsi-scsi: try to enumerate luns with REPORT LUNS blockcmd: start REPORT_LUNS with the smallest buffer Revert "lsi-scsi: reset in case of a serious problem" Stefan Berger (1): tpm: Log TPM 2 digest structure in little endian format Youness Alaoui (1): nvme: Enable NVMe support for non-qemu hardware Zeh, Werner (1): ahci: Disable Native Command Queueing Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2017-10-19sun4u: update PCI topology to include simba PCI bridgesMark Cave-Ayland1-0/+0
This patch updates the sun4u model to being much closer to a real Ultra 5 by moving devices behind the 2 simba PCI bridges (A and B) as found on real hardware. The most noticeable change introduced by this patchset is that in-built devices are no longer attached to the PCI root bus, but instead behind PCI bridge A. Along with this the interrupt routing is updated accordingly to match the official documentation. Since the existing code currently bypasses the PCI bridge interrupt swizzling, the interrupt mapping functions are reorganised so that pci_pbm_map_irq() is used by the PCI bridges and pci_apb_map_irq() is used by the PCI host bridge. Behind the sabre PCI host bridge, the PCI IO space now needs to be split into two separate halves at 0x8000000. Therefore we also setup a new PCI IO space region of increased size on the PCI host bridge and enable 32-bit PCI IO accesses to allow IO accesses to reach devices behind PCI bridge B correctly. As part of this change we also combine the onboard sunhme NIC and the ebus into a single multi-function device as done on a real Ultra 5. For other NICs the existing behaviour is preserved, i.e. we initialise them and place them into the next free slot on PCI bus B. Finally we mark the physically unavailable slots (plus slot 0 in busA) as reserved to ensure that users can't plug devices into non-existent slots which will break interrupt routing. Note: since this commit changes PCI topology and interrupt routing, an updated openbios-sparc64 binary is included with this commit containing the associated changes to maintain bisectability. Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> Reviewed-by: Artyom Tarasenko <atar4qemu@gmail.com>
2017-10-16pc-bios/keymaps: keymaps updateGerd Hoffmann32-1717/+24007
Update the keymaps with the ones generated by qemu-keymap Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Message-id: 20171005153330.19210-4-kraxel@redhat.com
2017-10-16Add pc-bios/keymaps/MakefileGerd Hoffmann1-0/+56
Update files where I think I've figured the correct xkb maps. TODO: nl-be sl sv Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Message-id: 20171005153330.19210-3-kraxel@redhat.com
2017-09-19s390: set DHCP client architecure id for netbootViktor Mihajlovski1-1/+1
Setting the client architecture DHCP option to 0x001f (s390 Basic) [1] allows the DHCP server to return a s390-specific bootfile if wanted. DHCP servers not configured for the option (or not yet recognizing the option value) will continue to work as they have done before. [1] https://www.iana.org/assignments/dhcpv6-parameters Signed-off-by: Viktor Mihajlovski <mihajlov@linux.vnet.ibm.com> Message-Id: <1505126027-1704-1-git-send-email-mihajlov@linux.vnet.ibm.com> Acked-by: Christian Borntraeger <borntraeger@de.ibm.com> Reviewed-by: Thomas Huth <thuth@redhat.com> Signed-off-by: Cornelia Huck <cohuck@redhat.com>
2017-09-11Update OpenBIOS images to 314d4f8 built from submodule.Mark Cave-Ayland3-0/+0
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
2017-08-30pc-bios/s390-ccw.img: update imageCornelia Huck1-0/+0
Contains the following commit: - s390-ccw: Fix alignment for CCW1 Cc: qemu-stable@nongnu.org Signed-off-by: Cornelia Huck <cohuck@redhat.com>
2017-08-30s390-ccw: Fix alignment for CCW1Farhan Ali1-1/+1
The commit 198c0d1f9df8c4 s390x/css: check ccw address validity exposes an alignment issue in ccw bios. According to PoP the CCW must be doubleword aligned. Let's fix this in the bios. Cc: qemu-stable@nongnu.org Signed-off-by: Farhan Ali <alifm@linux.vnet.ibm.com> Reviewed-by: Halil Pasic <pasic@linux.vnet.ibm.com> Reviewed-by: Eric Farman <farman@linux.vnet.ibm.com> Acked-by: Christian Borntraeger <borntraeger@de.ibm.com> Message-Id: <3ed8b810b6592daee6a775037ce21f850e40647d.1503667215.git.alifm@linux.vnet.ibm.com> Signed-off-by: Cornelia Huck <cohuck@redhat.com>
2017-08-15pc-bios/s390-ccw: Use rm command during make cleanEric Farman1-1/+1
This reverts a change that replaced the "rm -f" command with the undefined variable RM (expected to be set by make), and causes the "make clean" command to fail for a s390 target: make[1]: Entering directory '/usr/src/qemu/build/pc-bios/s390-ccw' rm -f *.timestamp *.o *.d *.img *.elf *~ *.a /bin/sh: *.o: command not found Makefile:39: recipe for target 'clean' failed make[1]: *** [clean] Error 127 make[1]: Leaving directory '/usr/src/qemu/build/pc-bios/s390-ccw' Makefile:489: recipe for target 'clean' failed make: *** [clean] Error 1 Fixes: 3e4415a751d2 ("pc-bios/s390-ccw: Add core files for the network bootloading program") Signed-off-by: Eric Farman <farman@linux.vnet.ibm.com> Message-Id: <20170814204450.24118-2-farman@linux.vnet.ibm.com> Signed-off-by: Cornelia Huck <cohuck@redhat.com>
2017-07-25pseries: Update SLOF firmware imageAlexey Kardashevskiy2-1/+1
The main changes are: - fixes in PCI bridges code; - LUN>255 are allowed not in virtio-scsi. The full list is: > pci-scan: Fix pci-bridge-set-mem-base and pci-bridge-set-mem-limit > pci: Avoid 32-bit prefetchable memory area if possible > Remove unused functions ishexdigit and $cat-comma > pci: Translate PCI addresses to host addresses at the end of map-in > Define 'open' and 'close' words of the /aliases nodes right from the start > virtio-scsi: Allow LUNs bigger than 255 > paflof: Silence gcc's -Warray-bounds warning for stack pointers > board_qemu: move code out of fdt-fix-node-phandle > board_qemu: drop unused values early in fdt-fix-node-phandle > pci: Improve the pci-var-out debug function > libhvcall: drop unused KVMPPC_H_REPORT_MC_ERR and KVMPPC_H_NMI_MCE defines Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2017-07-20keymaps: fr-ca: more fixupsGerd Hoffmann1-1/+9
Fixes: https://bugs.launchpad.net/qemu/+bug/533613 Cc: Thomas Huth <thuth@redhat.com> Suggested-by: Jérôme Poulin <jeromepoulin@gmail.com> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Message-id: 20170717133444.16743-1-kraxel@redhat.com
2017-07-17Merge remote-tracking branch 'remotes/kraxel/tags/ui-20170717-pull-request' ↵Peter Maydell1-0/+2
into staging ui: vnc and keymap updates for 2.10 # gpg: Signature made Mon 17 Jul 2017 10:38:11 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/ui-20170717-pull-request: keymaps: fr-ca: add missing keys hmp: Update info vnc vnc: Set default kbd delay to 10ms Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2017-07-17Merge remote-tracking branch 'remotes/kraxel/tags/ipxe-pull-request' into ↵Peter Maydell8-0/+0
staging Pull request # gpg: Signature made Mon 17 Jul 2017 10:04:11 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/ipxe-pull-request: ipxe: update to commit 0600d3ae94 Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2017-07-17PPC: E500: Update u-boot to v2017.07Alexander Graf1-0/+0
Quite a while has passed since we last updated U-Boot for e500. This patch bumps it to the last released version 2017.07 to make sure users don't feel like they're using out of date software. Signed-off-by: Alexander Graf <agraf@suse.de> Tested-by: Thomas Huth <thuth@redhat.com> Message-id: 1499862868-102130-1-git-send-email-agraf@suse.de Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2017-07-17keymaps: fr-ca: add missing keysGerd Hoffmann1-0/+2
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Message-id: 20170712072305.29233-1-kraxel@redhat.com
2017-07-17ipxe: update to commit 0600d3ae94Gerd Hoffmann8-0/+0
Rebase ipxe to latest git master. Pick up four virtio-net fixes. complete shortlog of ipxe changes --------------------------------- Adamczyk, Konrad (1): [thunderx] Use ThunderxConfigProtocol to obtain board configuration Bartosz Szczepanek (1): [thunderx] Fix hardware deinitialization Christian Nilsson (1): [intel] Add INTEL_NO_PHY_RST for I219-LM (2) David Decotigny (2): [build] Return const char * from uuid_ntoa() [af_packet] Add new AF_PACKET driver for Linux Jason Wang (1): [virtio] Support VIRTIO_NET_F_IOMMU_PLATFORM Jerone Young (1): [intel] Add support for I219-V in 7th Gen Intel NUC Konrad Adamczyk (1): [thunderx] Don't disable NIC when exiting from iPXE Ladi Prosek (3): [virtio] Cap queue size to MAX_QUEUE_NUM [virtio] Simplify virtqueue shutdown [virtio] Remove queue size limit in legacy virtio Martin Habets (1): [sfc] Add driver for Solarflare SFC8XXX adapters Michael Brown (159): [interface] Provide intf_reinit() to reinitialise nullified interfaces [iscsi] Avoid potential infinite loops during shutdown [efi] Add basic EFI SAN booting capability [undi] Allocate base memory before calling UNDI loader entry point [romprefix] Avoid using PMM-allocated memory in UNDI loader entry point [undi] Clean up driver and device name information [prefix] Remove impossible progress message [prefix] Include diagnostic information within progress messages [undi] Try matching UNDI ROMs in BIOS enumeration order [efi] Work around temporal anomaly encountered during ExitBootServices() [ipv4] Accept unicast packets for the local network broadcast address [build] Add %.vhd target for building VM bootable disk images [virtio] Use separate RX and TX empty header buffers [cloud] Add ability to retrieve Google Compute Engine metadata [virtio] Use host-specified MTU when available [netdevice] Allow MTU to be changed at runtime [cloud] Show CPU vendor and model in example cloud boot scripts [hyperv] Ignore unsolicited VMBus messages [pic8259] Fix definitions for "read IRR" and "read ISR" commands [efi] Fix building elf2efi.c when -fpic is enabled by default [interface] Avoid unnecessary reference counting in intf_unplug() [interface] Remove misleading comment [interface] Unplug interface before calling intf_close() in intf_shutdown() [netdevice] Limit MTU by hardware maximum frame length [cpuid] Provide cpuid_supported() to test for supported functions [time] Allow timer to be selected at runtime [hyperv] Provide timer based on the 10MHz time reference count MSR [int13] Avoid potential division by zero [int13] Test correct return status from INT 13 calls [settings] Add "unixtime" builtin setting to expose the current time [time] Report attempts to use timers before initialisation [interface] Provide the ability to shut down multiple interfaces [http] Cleanly shut down potentially looped interfaces [efi] Add missing SANBOOT_PROTO_HTTP to EFI default configuration [block] Remove spurious comments [block] Centralise SAN device abstraction [block] Centralise "san-drive" setting [int13] Refactor to use centralised SAN device abstraction [efi] Refactor to use centralised SAN device abstraction [block] Retry any SAN device operation [iscsi] Use intfs_shutdown() when shutting down multiple interfaces [scsi] Use intfs_shutdown() when shutting down multiple interfaces [block] Use intfs_shutdown() when shutting down multiple interfaces [scsi] Avoid duplicate calls to scsicmd_close() [build] Provide common ARRAY_SIZE() definition [efi] Update to current EDK2 headers [efi] Add EFI_ACPI_TABLE_PROTOCOL header and GUID definition [efi] Provide ACPI table description for SAN devices [efi] Skip cable detection at initialisation where possible [undi] Move PXE API caller back into UNDI driver [dhcp] Allow vendor class to be changed in DHCP requests [hermon] Avoid potential integer overflow when calculating memory mappings [arbel] Avoid potential integer overflow when calculating memory mappings [xfer] Ensure va_end() is called on failure path [nfs] Fix double free bug on error path [linda] Use correct length for memset() [qib7322] Use correct length for memset() [sis900] Remove extraneous memset() with incorrect length [802.11] Remove redundant NULL pointer check after dereference [crypto] Free correct pointer on the error path [librm] Fail gracefully if asked to ioremap() a zero length [usb] Use correct length for memcpy() [mucurses] Attempt to fix test for empty string [mucurses] Attempt to fix keypress processing logic [mucurses] Attempt to fix resource leaks [hyperv] Fix resource leaks on error path [slam] Fix resource leak on error path [slam] Avoid NULL pointer dereference in slam_pull_value() [eoib] Avoid passing a NULL I/O buffer to netdev_tx_complete_err() [http] Add missing check for memory allocation failure [mucurses] Attempt to fix use of uninitialised buffer with strcat() [xhci] Avoid accessing beyond end of endpoint context array [build] Avoid confusing sparse in single-argument DBG() macros [infiniband] Return status code from ib_create_cq() and ib_create_qp() [infiniband] Return status code from ib_create_mi() [block] Quell spurious Coverity size mismatch warning [ath] Add missing break statements [pixbuf] Avoid potential division by zero [usb] Use correct length for memcpy() [xen] Use standard calling pattern for asprintf() [tcp] Use correct length for memset() [video_subr] Use memmove() for overlapping memory copy [arbel] Assert that mapping length is non-zero [hermon] Assert that mapping length is non-zero [tlan] Guard against failure to identify chip [w89c840] Avoid potential array overrun [sis190] Avoid NULL pointer dereference [mucurses] Ensure SLK labels are always terminated [coverity] Add Coverity user model [malloc] Track maximum heap usage [travis] Add minimal .travis.yml file [travis] Build and run the unit test suite [travis] Integrate with Coverity Scan [rtl818x] Fix resource leak on error path [pcnet32] Eliminate redundant register read [iobuf] Increase minimum I/O buffer size to 128 bytes [vxge] Fix use of stale I/O buffer on error path [scsi] Avoid duplicate call to scsicmd_close() on TEST UNIT READY failure [block] Add dummy SAN device [block] Add basic multipath support [int13] Improve geometry guessing for unaligned partitions [int13con] Avoid overwriting random portions of SAN boot disks [time] Add sleep_fixed() function to sleep without checking for Ctrl-C [block] Allow SAN retry count to be reconfigured [block] Add a small delay between attempts to reopen SAN targets [block] Retry reopening indefinitely for multipath devices [block] Gracefully close SAN device if registration fails [linux] Use dummy SAN device [block] Ignore redundant xfer_window_changed() messages [block] Describe all SAN devices via ACPI tables [iscsi] Do not install iBFT when no iSCSI targets exist [http] Notify data transfer interface when underlying connection is ready [mucurses] Fix erroneous __nonnull attribute [build] Avoid implicit-fallthrough warnings on GCC 7 [linux] Fix building with kernel 4.11 headers [scsi] Retry TEST UNIT READY command [libc] Add stdbool.h standard header [efi] Fix typo in efi_acpi_table_protocol_guid [efi] Add efi_sprintf() and efi_vsprintf() [block] Allow use of a non-default EFI SAN boot filename [intel] Show original CTRL and STATUS values in debugging output [intel] Do not enable ASDE on i350 backplane NIC [block] Provide sandev_read() and sandev_write() as global symbols [block] Provide abstraction to allow system to be quiesced [hyperv] Do not fail if guest OS ID MSR is already set [hyperv] Remove redundant return status code from mapping functions [hyperv] Cope with Windows Server 2016 enlightenments [efi] Standardise PCI debug messages [iscsi] Always send FirstBurstLength parameter [iscsi] Fix iBFT when no explicit initiator name setting exists [xen] Provide 18 4kB receive buffers to work around xen-netback bug [efi] Prevent EFI code from being linked in to non-EFI builds [tls] Keep cipherstream window open until TLS negotiation is complete [settings] Extend numerical setting tags to 64 bits [acpi] Make acpi_find_rsdt() a per-platform method [efi] Provide access to ACPI tables [acpi] Expose ACPI tables via settings mechanism [syslog] Handle backspace characters [hdprefix] Avoid attempts to read beyond the end of the disk [usb] Allow for USB network devices with no interrupt endpoint [build] Use -no-pie on newer versions of gcc [ecm] Display invalid MAC address strings in debug messages [cpuid] Allow input %ecx value to be specified [crypto] Expose RSA_CTX_SIZE constant [crypto] Expose asn1_grow() [crypto] Provide asn1_built() to construct a cursor from a builder [crypto] Expose pem_asn1() for use with non-image data [exanic] Add driver for Exablaze ExaNIC cards [usb] Use non-zero language ID to retrieve strings [mucurses] Avoid potential division by zero [tls] Support RFC5746 secure renegotiation [smscusb] Abstract out common SMSC USB device functionality [smsc95xx] Use common SMSC USB device functionality [smsc75xx] Use common SMSC USB device functionality [smscusb] Add ability to read MAC address from OTP [smscusb] Move non-inline register access functions to smscusb.c [smscusb] Allow for alternative PHY register layouts [smsc75xx] Expose functionality shared with LAN78xx devices [lan78xx] Add driver for Microchip LAN78xx USB Ethernet NICs Mika Tiainen (1): [intel] Add INTEL_NO_PHY_RST for I219-V Mike McCormack (1): [sky2] Use 32-bit read to read Y2_VAUX_AVAIL Raed Salem (2): [golan] Update Connect-IB, ConnectX-4 and ConnectX-4 Lx (Infiniband) support [golan] Bug fixes and improved paging allocation method Vishvananda Ishaya (1): [intel] Reset all virtual function settings Vishvananda Ishaya Abrams (1): [iscsi] Don't close when receiving NOP-In Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2017-07-14Merge remote-tracking branch 'remotes/borntraeger/tags/s390x-20170714' into ↵Peter Maydell17-387/+1017
staging s390x/kvm/migration/cpumodel: fixes, enhancements and cleanups - add a network boot rom for s390 (Thomas Huth) - migration of storage attributes like the CMMA used/unused state - PCI related enhancements - full support for aen, ais and zpci - migration support for css with vmstates (Halil Pasic) - cpu model enhancements for cpu features - guarded storage support # gpg: Signature made Fri 14 Jul 2017 11:33:04 BST # gpg: using RSA key 0x117BBC80B5A61C7C # gpg: Good signature from "Christian Borntraeger (IBM) <borntraeger@de.ibm.com>" # Primary key fingerprint: F922 9381 A334 08F9 DBAB FBCA 117B BC80 B5A6 1C7C * remotes/borntraeger/tags/s390x-20170714: (40 commits) s390x/gdb: add gs registers s390x/arch_dump: also dump guarded storage control block s390x/kvm: enable guarded storage s390x/kvm: Enable KSS facility for nested virtualization s390x/cpumodel: add esop/esop2 to z12 model s390x/cpumodel: we are always in zarchitecture mode s390x/cpumodel: wire up new hardware features s390x/flic: migrate ais states s390x/cpumodel: add zpci, aen and ais facilities s390x: initialize cpu firstly pc-bios/s390: rebuild s390-ccw.img pc-bios/s390: add s390-netboot.img pc-bios/s390-ccw: Link libnet into the netboot image and do the TFTP load pc-bios/s390-ccw: Add virtio-net driver code pc-bios/s390-ccw: Add core files for the network bootloading program roms/SLOF: Update submodule to latest status pc-bios/s390-ccw: Add code for virtio feature negotiation pc-bios/s390-ccw: Remove unused structs from virtio.h pc-bios/s390-ccw: Move byteswap functions to a separate header pc-bios/s390-ccw: Add a write() function for stdio ... Conflicts: target/s390x/kvm.c Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2017-07-14pc-bios/s390: rebuild s390-ccw.imgChristian Borntraeger1-0/+0
rebuild after the following commits 4b996d0 pc-bios/s390-ccw: Link libnet into the netboot image and do the TFTP load e6879a6 pc-bios/s390-ccw: Add virtio-net driver code 766500f pc-bios/s390-ccw: Add core files for the network bootloading program f807e55 pc-bios/s390-ccw: Add code for virtio feature negotiation b4e3b4f pc-bios/s390-ccw: Remove unused structs from virtio.h dd3dc5e pc-bios/s390-ccw: Move byteswap functions to a separate header a20b4fe pc-bios/s390-ccw: Add a write() function for stdio 262e07c pc-bios/s390-ccw: Move virtio-block related functions into a separate file 7438d32 pc-bios/s390-ccw: Move ebc2asc to sclp.c 8760bad pc-bios/s390-ccw: Move libc functions to separate header c68f450 pc-bios/s390-ccw: use STRIP variable in Makefile Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
2017-07-14pc-bios/s390: add s390-netboot.imgChristian Borntraeger1-0/+0
It's already possible to do a network boot of an s390x guest with an external netboot image based on a Linux installation, but it would be much more convenient if the s390-ccw firmware supported network booting right out of the box, without the need to assemble such an external image first. This is an s390-netboot.img that can be used for network booting. You can download a combined kernel + initrd image via TFTP by starting QEMU for example with: qemu-system-s390x ... -device virtio-net,netdev=n1,bootindex=1 \ -netdev user,id=n1,tftp=/path/to/tftp,bootfile=kernel.img Note that this version does not support downloading via config files (i.e. pxelinux config files or .INS config files) yet. This will be added later. Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
2017-07-14pc-bios/s390-ccw: Link libnet into the netboot image and do the TFTP loadThomas Huth2-1/+238
Most of the code has been taken from SLOF's netload.c file. Now we can finally load an image via TFTP and execute the downloaded kernel. Acked-by: Cornelia Huck <cohuck@redhat.com> Signed-off-by: Thomas Huth <thuth@redhat.com> Message-Id: <1499863793-18627-12-git-send-email-thuth@redhat.com> Tested-by: Viktor Mihajlovski <mihajlov@linux.vnet.ibm.com> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
2017-07-14pc-bios/s390-ccw: Add virtio-net driver codeThomas Huth4-3/+151
The driver provides the recv() and send() functions which will be required by SLOF's libnet code for receiving and sending packets. Reviewed-by: Cornelia Huck <cohuck@redhat.com> Signed-off-by: Thomas Huth <thuth@redhat.com> Message-Id: <1499863793-18627-11-git-send-email-thuth@redhat.com> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
2017-07-14pc-bios/s390-ccw: Add core files for the network bootloading programThomas Huth3-2/+192
This is just a preparation for the next steps: Add a makefile and a stripped down copy of pc-bios/s390-ccw/main.c as a basis for the network bootloader program, linked against the libc from SLOF already (which we will need for SLOF's libnet). The networking code is not included yet. Reviewed-by: Cornelia Huck <cohuck@redhat.com> Signed-off-by: Thomas Huth <thuth@redhat.com> Message-Id: <1499863793-18627-10-git-send-email-thuth@redhat.com> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
2017-07-14pc-bios/s390-ccw: Add code for virtio feature negotiationThomas Huth3-6/+20
The upcoming virtio-net driver needs to negotiate some features, so we need the possibility to do this in the core virtio code. Reviewed-by: Cornelia Huck <cohuck@redhat.com> Signed-off-by: Thomas Huth <thuth@redhat.com> Message-Id: <1499863793-18627-8-git-send-email-thuth@redhat.com> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
2017-07-14pc-bios/s390-ccw: Remove unused structs from virtio.hThomas Huth1-27/+0
Looks like they have never been used, so let's simply remove them. Acked-by: Cornelia Huck <cohuck@redhat.com> Signed-off-by: Thomas Huth <thuth@redhat.com> Message-Id: <1499863793-18627-7-git-send-email-thuth@redhat.com> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
2017-07-14pc-bios/s390-ccw: Move byteswap functions to a separate headerThomas Huth3-26/+31
We'll need them in code that is not related to bootmap.h, so they should reside in an independent header. Reviewed-by: Christian Borntraeger <borntraeger@de.ibm.com> Acked-by: Cornelia Huck <cohuck@redhat.com> Signed-off-by: Thomas Huth <thuth@redhat.com> Message-Id: <1499863793-18627-6-git-send-email-thuth@redhat.com> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
2017-07-14pc-bios/s390-ccw: Add a write() function for stdioThomas Huth1-2/+14
The stdio functions from the SLOF libc need a write() function for printing text to stdout/stderr. Let's implement this function by refactoring the code from sclp_print(). Acked-by: Cornelia Huck <cohuck@redhat.com> Reviewed-by: David Hildenbrand <david@redhat.com> Signed-off-by: Thomas Huth <thuth@redhat.com> Message-Id: <1499863793-18627-5-git-send-email-thuth@redhat.com> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
2017-07-14pc-bios/s390-ccw: Move virtio-block related functions into a separate fileThomas Huth6-274/+311
The netboot code is going to link against the code from virtio.c, too, so we've got to move the virtio-block and -scsi related code out of the way. Reviewed-by: Cornelia Huck <cohuck@redhat.com> Reviewed-by: David Hildenbrand <david@redhat.com> Signed-off-by: Thomas Huth <thuth@redhat.com> Message-Id: <1499863793-18627-4-git-send-email-thuth@redhat.com> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
2017-07-14pc-bios/s390-ccw: Move ebc2asc to sclp.cThomas Huth2-11/+11
We will later need this array in a file that we will link to the netboot code, too. Since there is some ebcdic conversion done in sclp_get_loadparm_ascii(), the sclp.c file seems to be a good candidate. Acked-by: Cornelia Huck <cohuck@redhat.com> Reviewed-by: David Hildenbrand <david@redhat.com> Signed-off-by: Thomas Huth <thuth@redhat.com> Message-Id: <1499863793-18627-3-git-send-email-thuth@redhat.com> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
2017-07-14pc-bios/s390-ccw: Move libc functions to separate headerThomas Huth7-37/+51
The upcoming netboot code will use the libc from SLOF. To be able to still use s390-ccw.h there, the libc related functions in this header have to be moved to a different location. And while we're at it, remove the duplicate memcpy() function from sclp.c. Reviewed-by: Christian Borntraeger <borntraeger@de.ibm.com> Reviewed-by: Cornelia Huck <cohuck@redhat.com> Signed-off-by: Thomas Huth <thuth@redhat.com> Message-Id: <1499863793-18627-2-git-send-email-thuth@redhat.com> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
2017-07-13Update OpenBIOS images to fbc1b4a built from submodule.Mark Cave-Ayland3-0/+0
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
2017-06-13Merge remote-tracking branch 'remotes/borntraeger/tags/s390x-20170608' into ↵Peter Maydell1-1/+3
staging s390x: misc fixes bunch of fixes - reject MIDA accesses for CCWs - cpumodel fixes - cross-build fix for bios - migration improvements # gpg: Signature made Thu 08 Jun 2017 14:10:29 BST # gpg: using RSA key 0x117BBC80B5A61C7C # gpg: Good signature from "Christian Borntraeger (IBM) <borntraeger@de.ibm.com>" # Primary key fingerprint: F922 9381 A334 08F9 DBAB FBCA 117B BC80 B5A6 1C7C * remotes/borntraeger/tags/s390x-20170608: s390x/cpumodel: improve defintion search without an IBC s390x/cpumodel: take care of the cpuid format bit for KVM pc-bios/s390-ccw: use STRIP variable in Makefile s390x/css: fence off MIDA s390x/css: catch section mismatch on load Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2017-06-07linuxboot_dma: compile for i486Paolo Bonzini2-0/+1
The ROM uses the cmovne instruction, which is new in Pentium Pro and does not work when running QEMU with "-cpu 486". Avoid producing that instruction. Suggested-by: Richard W.M. Jones <rjones@redhat.com> Suggested-by: Thomas Huth <thuth@redhat.com> Reported-by: Rob Landley <rob@landley.net> Cc: qemu-stable@nongnu.org Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2017-06-06pc-bios/s390-ccw: use STRIP variable in MakefileGreg Kurz1-1/+3
The docker-run-test-build@debian-s390x-cross target fails with: strip --strip-unneeded s390-ccw.elf -o s390-ccw.img strip: Unable to recognise the format of the input file `s390-ccw.elf' The configure script defines a STRIP makefile variable whose default value is ${cross_prefix}strip. Let's use it. We default to using the non-prefixed strip command in case --enable-debug or --disable-strip was passed to configure during a regular build. Signed-off-by: Greg Kurz <groug@kaod.org> Message-Id: <149623617700.4947.12490877660892961664.stgit@bahia.lan> Reviewed-by: Laurent Vivier <lvivier@redhat.com> Reviewed-by: Fam Zheng <famz@redhat.com> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
2017-05-24Merge remote-tracking branch 'cohuck/tags/s390x-20170523' into stagingStefan Hajnoczi6-11/+114
s390x updates: - support for vfio-ccw to passthrough channel devices - allow ccw bios to boot from scsi generic devices - bugfix for initial reset # gpg: Signature made Tue 23 May 2017 12:02:24 PM BST # gpg: using RSA key 0xDECF6B93C6F02FAF # gpg: Good signature from "Cornelia Huck <conny@cornelia-huck.de>" # gpg: aka "Cornelia Huck <cohuck@kernel.org>" # gpg: aka "Cornelia Huck <cornelia.huck@de.ibm.com>" # gpg: aka "Cornelia Huck <huckc@linux.vnet.ibm.com>" # Primary key fingerprint: C3D0 D66D C362 4FF6 A8C0 18CE DECF 6B93 C6F0 2FAF * cohuck/tags/s390x-20170523: (21 commits) s390/kvm: do not reset riccb on initial cpu reset MAINTAINERS: Add vfio-ccw maintainer vfio/ccw: update sense data if a unit check is pending s390x/css: ccw translation infrastructure s390x/css: introduce and realize ccw-request callback vfio/ccw: get irqs info and set the eventfd fd vfio/ccw: get io region info vfio/ccw: vfio based subchannel passthrough driver s390x/css: device support for s390-ccw passthrough s390x/css: realize css_create_sch s390x/css: realize css_sch_build_schib s390x/css: add s390-squash-mcss machine option linux-headers: update pc-bios/s390-ccw.img: rebuild image pc-bios/s390-ccw: Build a reasonable max_sectors limit pc-bios/s390-ccw: Get Block Limits VPD device data pc-bios/s390-ccw: Get list of supported VPD pages pc-bios/s390-ccw: Refactor scsi_inquiry function pc-bios/s390-ccw: Break up virtio-scsi read into multiples pc-bios/s390-ccw: Move SCSI block factor to outer read ... Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
2017-05-19Update OpenBIOS images to 3ebaaa2 built from submodule.Mark Cave-Ayland3-0/+0
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
2017-05-19pc-bios/s390-ccw.img: rebuild imageEric Farman1-0/+0
Contains the following commits: - pc-bios/s390-ccw: Remove duplicate blk_factor adjustment - pc-bios/s390-ccw: Move SCSI block factor to outer read - pc-bios/s390-ccw: Break up virtio-scsi read into multiples - pc-bios/s390-ccw: Refactor scsi_inquiry function - pc-bios/s390-ccw: Get list of supported EVPD pages - pc-bios/s390-ccw: Get Block Limits VPD device data - pc-bios/s390-ccw: Build a reasonable max_sectors limit Signed-off-by: Eric Farman <farman@linux.vnet.ibm.com> Message-Id: <20170510155359.32727-9-farman@linux.vnet.ibm.com> Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
2017-05-19pc-bios/s390-ccw: Build a reasonable max_sectors limitEric Farman2-0/+11
Now that we've read all the possible limits that have been defined for a virtio-scsi controller and the disk we're booting from, it's possible that we are STILL going to exceed the limits of the host device. For example, a "-device scsi-generic" device does not support the Block Limits VPD page. So, let's fallback to something that seems to work for most boot configurations if larger values were specified (including if nothing was explicitly specified, and we took default values). Signed-off-by: Eric Farman <farman@linux.vnet.ibm.com> Message-Id: <20170510155359.32727-8-farman@linux.vnet.ibm.com> Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
2017-05-19pc-bios/s390-ccw: Get Block Limits VPD device dataEric Farman3-1/+35
The "Block Limits" Inquiry VPD page is optional for any SCSI device, but if it's supported it provides a hint of the maximum I/O transfer length for this particular device. If this page is supported by the disk, let's issue that Inquiry and use the minimum of it and the SCSI controller limit. That will cover this scenario: qemu-system-s390x ... -device virtio-scsi-ccw,id=scsi0,max_sectors=32768 ... -drive file=/dev/sda,if=none,id=drive0,format=raw ... -device scsi-hd,bus=scsi0.0,channel=0,scsi-id=0, drive=drive0,id=disk0,max_io_size=1048576 controller: 32768 sectors x 512 bytes/sector = 16777216 bytes disk: 1048576 bytes Now that we have a limit for a virtio-scsi disk, compare that with the limit for the virtio-scsi controller when we actually build the I/O. The minimum of these two limits should be the one we use. Signed-off-by: Eric Farman <farman@linux.vnet.ibm.com> Message-Id: <20170510155359.32727-7-farman@linux.vnet.ibm.com> Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
2017-05-19pc-bios/s390-ccw: Get list of supported VPD pagesEric Farman2-0/+27
The "Supported Pages" Inquiry EVPD page is mandatory for all SCSI devices, and is used as a gateway for what VPD pages the device actually supports. Let's issue this Inquiry, and dump that list with the debug facility. Signed-off-by: Eric Farman <farman@linux.vnet.ibm.com> Message-Id: <20170510155359.32727-6-farman@linux.vnet.ibm.com> Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
2017-05-19pc-bios/s390-ccw: Refactor scsi_inquiry functionEric Farman2-2/+14
If we want to issue any of the SCSI Inquiry EVPD pages, which we do, we could use this function to issue both types of commands with a little bit of refactoring. Signed-off-by: Eric Farman <farman@linux.vnet.ibm.com> Message-Id: <20170510155359.32727-5-farman@linux.vnet.ibm.com> Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
2017-05-19pc-bios/s390-ccw: Break up virtio-scsi read into multiplesEric Farman2-5/+22
A virtio-scsi request that goes through the host sd driver and exceeds the maximum transfer size is automatically broken up for us. But the equivalent request going to the sg driver presumes that any length requirements have already been honored. Let's use the max_sectors field on the virtio-scsi controller device, and break up all requests (both sd and sg) to avoid this problem. Signed-off-by: Eric Farman <farman@linux.vnet.ibm.com> Message-Id: <20170510155359.32727-4-farman@linux.vnet.ibm.com> Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
2017-05-19pc-bios/s390-ccw: Move SCSI block factor to outer readEric Farman1-6/+8
Simple refactoring so that the blk_factor adjustment is moved into virtio_scsi_read_many routine, in preparation for another change. Signed-off-by: Eric Farman <farman@linux.vnet.ibm.com> Message-Id: <20170510155359.32727-3-farman@linux.vnet.ibm.com> Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
2017-05-19pc-bios/s390-ccw: Remove duplicate blk_factor adjustmentEric Farman1-1/+1
When using virtio-scsi, we multiply the READ(10) data_size by a block factor twice when building the I/O. This is fine, since it's only 1 for SCSI disks, but let's clean it up. Signed-off-by: Eric Farman <farman@linux.vnet.ibm.com> Reviewed-by: Christian Borntraeger <borntraeger@de.ibm.com> Message-Id: <20170510155359.32727-2-farman@linux.vnet.ibm.com> Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
2017-05-11Add QemuMacDrivers qemu_vga.ndrv revision d4e7d7a built as submoduleMark Cave-Ayland1-0/+0
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2017-05-11Add QemuMacDrivers as submoduleMark Cave-Ayland1-0/+3
The QemuMacDrivers project provides virtualisation drivers for PPC MacOS guests. Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2017-05-08Merge remote-tracking branch 'bonzini/tags/for-upstream' into stagingStefan Hajnoczi1-0/+0
A large set of small patches. I have not included yet vhost-user-scsi, but it'll come in the next pull request. * use GDB XML register description for x86 * use _Static_assert in QEMU_BUILD_BUG_ON * add "R:" to MAINTAINERS and get_maintainers * checkpatch improvements * dump threading fixes * first part of vhost-user-scsi support * QemuMutex tracing * vmw_pvscsi and megasas fixes * sgabios module update * use Rev3 (ACPI 2.0) FADT * deprecate -hdachs * improve -accel documentation * hax fix * qemu-char GSource bugfix # gpg: Signature made Fri 05 May 2017 06:10:40 AM EDT # gpg: using RSA key 0xBFFBD25F78C7AE83 # gpg: Good signature from "Paolo Bonzini <bonzini@gnu.org>" # gpg: aka "Paolo Bonzini <pbonzini@redhat.com>" # Primary key fingerprint: 46F5 9FBD 57D6 12E7 BFD4 E2F7 7E15 100C CD36 69B1 # Subkey fingerprint: F133 3857 4B66 2389 866C 7682 BFFB D25F 78C7 AE83 * bonzini/tags/for-upstream: (21 commits) vhost-scsi: create a vhost-scsi-common abstraction libvhost-user: replace vasprintf() to fix build get_maintainer: add subsystem to reviewer output get_maintainer: --r (list reviewer) is on by default get_maintainer: it's '--pattern-depth', not '-pattern-depth' get_maintainer: Teach get_maintainer.pl about the new "R:" tag MAINTAINERS: Add "R:" tag for self-appointed reviewers Fix the -accel parameter and the documentation for 'hax' dump: Acquire BQL around vm_start() in dump thread hax: Fix memory mapping de-duplication logic checkpatch: Disallow glib asserts in main code trace: add qemu mutex lock and unlock trace events vmw_pvscsi: check message ring page count at initialisation sgabios: update for "fix wrong video attrs for int 10h,ah==13h" scsi: avoid an off-by-one error in megasas_mmio_write vl: deprecate the "-hdachs" option use _Static_assert in QEMU_BUILD_BUG_ON target/i386: Add GDB XML register description support char: Fix removing wrong GSource that be found by fd_in_tag hw/i386: Build-time assertion on pc/q35 reset register being identical. ... Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
2017-05-05sgabios: update for "fix wrong video attrs for int 10h,ah==13h"Paolo Bonzini1-0/+0
Update the submodule and rebuild the binary. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2017-05-02pc-bios/s390-ccw.img: update imageCornelia Huck1-0/+0
Contains the following commits: - pc-bios/s390-ccw: Make ebcdic/ascii conversion public - pc-bios/s390-ccw: get LOADPARM stored in SCP Read Info - pc-bios/s390-ccw: provide a function to interpret LOADPARM value - pc-bios/s390-ccw: provide entry selection on LOADPARM for SCSI disk - pc-bios/s390-ccw: add boot entry selection for ECKD DASD - pc-bios/s390-ccw: add boot entry selection to El Torito routine Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
2017-05-02pc-bios/s390-ccw: add boot entry selection to El Torito routineEugene (jno) Dvurechenski1-1/+6
If there is no LOADPARM given or '0' specified, then IPL the first matched entry. Otherwise IPL the matching entry of that number. Signed-off-by: Eugene (jno) Dvurechenski <jno@linux.vnet.ibm.com> Signed-off-by: Farhan Ali <alifm@linux.vnet.ibm.com> Reviewed-by: Christian Borntraeger <borntraeger@de.ibm.com> Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>