aboutsummaryrefslogtreecommitdiff
path: root/pc-bios
AgeCommit message (Collapse)AuthorFilesLines
2018-03-08pc-bios/s390-ccw: Move string arrays from bootmap header to .c fileThomas Huth2-19/+20
bootmap.h can currently only be included once - otherwise the linker complains about multiple definitions of the "magic" strings. It's a bad style to define string arrays in header files, so let's better move these to the bootmap.c file instead where they are used. Signed-off-by: Thomas Huth <thuth@redhat.com> Message-Id: <1520317081-5341-1-git-send-email-thuth@redhat.com> Reviewed-by: Christian Borntraeger <borntraeger@de.ibm.com> Signed-off-by: Cornelia Huck <cohuck@redhat.com>
2018-03-06ppc: Add aCube Sam460ex boardBALATON Zoltan2-0/+566
Add emulation of aCube Sam460ex board based on AMCC 460EX embedded SoC. This is not a complete implementation yet with a lot of components still missing but enough for the U-Boot firmware to start and to boot a Linux kernel or AROS. Signed-off-by: François Revol <revol@free.fr> Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2018-03-06pc-bios: Added u-boot-sam460 firmware binaryBALATON Zoltan1-0/+0
Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2018-02-26pc-bios/s390: Rebuild the s390x firmware images with the boot menu changesThomas Huth2-0/+0
Provide a new s390-ccw.img binary with the boot menu patches by Collin. Though there should not be any visible changes for the network booting, the s390-netboot.img binary has been rebuilt, too, since some of the changes affected the shared source files. Signed-off-by: Thomas Huth <thuth@redhat.com>
2018-02-26s390-ccw: interactive boot menu for scsiCollin L. Walling4-0/+27
Interactive boot menu for scsi. This follows a similar procedure as the interactive menu for eckd dasd. An example follows: s390x Enumerated Boot Menu. 3 entries detected. Select from index 0 to 2. Signed-off-by: Collin L. Walling <walling@linux.vnet.ibm.com> Reviewed-by: Thomas Huth <thuth@redhat.com> [thuth: Added additional "break;" statement to avoid analyzer warnings] Signed-off-by: Thomas Huth <thuth@redhat.com>
2018-02-26s390-ccw: use zipl values when no boot menu options are presentCollin L. Walling3-2/+18
If no boot menu options are present, then flag the boot menu to use the zipl options that were set in the zipl configuration file (and stored on disk by zipl). These options are found at some offset prior to the start of the zipl boot menu banner. The zipl timeout value is limited to a 16-bit unsigned integer and stored as seconds, so we take care to convert it to milliseconds in order to conform to the rest of the boot menu functionality. This is limited to CCW devices. For reference, the zipl configuration file uses the following fields in the menu section: prompt=1 enable the boot menu timeout=X set the timeout to X seconds To explicitly disregard any boot menu options, then menu=off or <bootmenu enable='no' ... /> must be specified. Signed-off-by: Collin L. Walling <walling@linux.vnet.ibm.com> Reviewed-by: Thomas Huth <thuth@redhat.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
2018-02-26s390-ccw: set cp_receive mask only when needed and consume pending service irqsCollin L. Walling3-6/+10
It is possible while waiting for multiple types of external interrupts that we might have pending irqs remaining between irq consumption and irq-type disabling. Those interrupts could potentially propagate to the guest after IPL completes and cause unwanted behavior. As it is today, the SCLP will only recognize write events that are enabled by the control program's send and receive masks. To limit the window for, and prevent further irqs from, ASCII console events (specifically keystrokes), we should only enable the control program's receive mask when we need it. While we're at it, remove assignment of the (non control program) send and receive masks, as those are actually set by the SCLP. Signed-off-by: Collin L. Walling <walling@linux.vnet.ibm.com> Reviewed-by: Thomas Huth <thuth@redhat.com> Acked-by: Christian Borntraeger <borntraeger@de.ibm.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
2018-02-26s390-ccw: read user input for boot index via the SCLP consoleCollin L. Walling4-2/+170
Implements an sclp_read function to capture input from the console and a wrapper function that handles parsing certain characters and adding input to a buffer. The input is checked for any erroneous values and is handled appropriately. A prompt will persist until input is entered or the timeout expires (if one was set). Example: Please choose (default will boot in 10 seconds): Correct input will boot the respective boot index. If the user's input is empty, 0, or if the timeout expires, then the default zipl entry will be chosen. If the input is within the range of available boot entries, then the selection will be booted. Any erroneous input will cancel the timeout and re-prompt the user. Signed-off-by: Collin L. Walling <walling@linux.vnet.ibm.com> Reviewed-by: Thomas Huth <thuth@redhat.com> Acked-by: Christian Borntraeger <borntraeger@de.ibm.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
2018-02-26s390-ccw: print zipl boot menuCollin L. Walling1-1/+32
When the boot menu options are present and the guest's disk has been configured by the zipl tool, then the user will be presented with an interactive boot menu with labeled entries. An example of what the menu might look like: zIPL v1.37.1-build-20170714 interactive boot menu. 0. default (linux-4.13.0) 1. linux-4.13.0 2. performance 3. kvm Signed-off-by: Collin L. Walling <walling@linux.vnet.ibm.com> Reviewed-by: Thomas Huth <thuth@redhat.com> Acked-by: Christian Borntraeger <borntraeger@de.ibm.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
2018-02-26s390-ccw: read stage2 boot loader data to find menuCollin L. Walling4-7/+122
Read the stage2 boot loader data block-by-block. We scan the current block for the string "zIPL" to detect the start of the boot menu banner. We then load the adjacent blocks (previous block and next block) to account for the possibility of menu data spanning multiple blocks. Signed-off-by: Collin L. Walling <walling@linux.vnet.ibm.com> Reviewed-by: Thomas Huth <thuth@redhat.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
2018-02-26s390-ccw: set up interactive boot menu parametersCollin L. Walling4-1/+50
Reads boot menu flag and timeout values from the iplb and sets the respective fields for the menu. Signed-off-by: Collin L. Walling <walling@linux.vnet.ibm.com> Reviewed-by: Thomas Huth <thuth@redhat.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
2018-02-26s390-ccw: parse and set boot menu optionsCollin L. Walling1-2/+7
Set boot menu options for an s390 guest and store them in the iplb. These options are set via the QEMU command line option: -boot menu=on|off[,splash-time=X] or via the libvirt domain xml: <os> <bootmenu enable='yes|no' timeout='X'/> </os> Where X represents some positive integer representing milliseconds. Any value set for loadparm will override all boot menu options. If loadparm=PROMPT, then the menu will be enabled without a timeout. Signed-off-by: Collin L. Walling <walling@linux.vnet.ibm.com> Reviewed-by: Janosch Frank <frankja@linux.vnet.ibm.com> Reviewed-by: Thomas Huth <thuth@redhat.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
2018-02-26s390-ccw: move auxiliary IPL data to separate locationCollin L. Walling2-3/+21
The s390-ccw firmware needs some information in support of the boot process which is not available on the native machine. Examples are the netboot firmware load address and now the boot menu parameters. While storing that data in unused fields of the IPL parameter block works, that approach could create problems if the parameter block definition should change in the future. Because then a guest could overwrite these fields using the set IPLB diagnose. In fact the data in question is of more global nature and not really tied to an IPL device, so separating it is rather logical. This commit introduces a new structure to hold firmware relevant IPL parameters set by QEMU. The data is stored at location 204 (dec) and can contain up to 7 32-bit words. This area is available to programming in the z/Architecture Principles of Operation and can thus safely be used by the firmware until the IPL has completed. Signed-off-by: Viktor Mihajlovski <mihajlov@linux.vnet.ibm.com> Signed-off-by: Collin L. Walling <walling@linux.vnet.ibm.com> Reviewed-by: Thomas Huth <thuth@redhat.com> Acked-by: Christian Borntraeger <borntraeger@de.ibm.com> [thuth: fixed "4 + 8 * n" comment] Signed-off-by: Thomas Huth <thuth@redhat.com>
2018-02-26s390-ccw: update libcCollin L. Walling7-45/+129
Moved: memcmp from bootmap.h to libc.h (renamed from _memcmp) strlen from sclp.c to libc.h (renamed from _strlen) Added C standard functions: isdigit Added non C-standard function: uitoa atoui Signed-off-by: Collin L. Walling <walling@linux.vnet.ibm.com> Acked-by: Christian Borntraeger <borntraeger@de.ibm.com> Reviewed-by: Janosch Frank <frankja@linux.vnet.ibm.com> Reviewed-by: Thomas Huth <thuth@redhat.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
2018-02-26s390-ccw: refactor IPL structsCollin L. Walling2-22/+27
ECKD DASDs have different IPL structures for CDL and LDL formats. The current Ipl1 and Ipl2 structs follow the CDL format, so we prepend "EckdCdl" to them. Boot info for LDL has been moved to a new struct: EckdLdlIpl1. Signed-off-by: Collin L. Walling <walling@linux.vnet.ibm.com> Acked-by: Janosch Frank <frankja@linux.vnet.ibm.com> Reviewed-by: Thomas Huth <thuth@redhat.com> Acked-by: Christian Borntraeger <borntraeger@de.ibm.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
2018-02-26s390-ccw: refactor eckd_block_num to use CHSCollin L. Walling2-16/+20
Add new cylinder/head/sector struct. Use it to calculate eckd block numbers instead of a BootMapPointer (which used eckd chs anyway). Signed-off-by: Collin L. Walling <walling@linux.vnet.ibm.com> Reviewed-by: Thomas Huth <thuth@redhat.com> Acked-by: Christian Borntraeger <borntraeger@de.ibm.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
2018-02-26s390-ccw: refactor boot map table codeCollin L. Walling2-34/+37
Some ECKD bootmap code was using structs designed for SCSI. Even though this works, it confuses readability. Add a new BootMapTable struct to assist with readability in bootmap entry code. Also: - replace ScsiMbr in ECKD code with appropriate structs - fix read_block messages to reflect BootMapTable - fixup ipl_scsi to use BootMapTable (referred to as Program Table) - defined value for maximum table entries Signed-off-by: Collin L. Walling <walling@linux.vnet.ibm.com> Reviewed-by: Thomas Huth <thuth@redhat.com> Acked-by: Christian Borntraeger <borntraeger@de.ibm.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
2018-02-22Update OpenBIOS images to 54d959d9 built from submodule.Mark Cave-Ayland3-0/+0
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
2018-02-04roms/seabios-hppa: Update submodule and imageRichard Henderson1-0/+0
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2018-01-31pc-bios: Add hppa-firmware.img and git submoduleRichard Henderson1-0/+0
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2018-01-26Update OpenBIOS images to b5c93acd14 built from submodule.Mark Cave-Ayland3-0/+0
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
2018-01-17ppc/pnv: Update skiboot firmware imageCédric Le Goater1-0/+0
This is skiboot 5.9 (commit e0ee24c2). It brings improved POWER9 support among many other things. Built from submodule. Signed-off-by: Cédric Le Goater <clg@kaod.org> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2018-01-10pseries: Update SLOF firmware image to qemu-slof-20171214Alexey Kardashevskiy2-1/+1
The main changes are: - able to handle more devices with specified bootindex; - implements flatten device tree rendering, for both QEMU and guest kernel. The full list is: > boot: use a temporary bootdev-buf > boot: do not concatenate bootdev > libvirtio: Mark struct virtio_scsi_req_cmd as packed > fdt: Implement "fdt-fetch" method for client interface > rtas: Store RTAS address and entry in the device tree > board-qemu: Fix slof-build-id length > fdt: Pass the resulting device tree to QEMU > fdt: Fix version and add a word for FDT header size > tree: Rework set-chosen-cpu and store /chosen ihandle and phandle > node: Add some documentation > Revert various SLOF-to-QEMU private hypercalls > Use input-device and output-device > netboot: Create bootp-response when bootp is used > libnet/ipv6: assign times_asked value directly > usb-xhci: Reset ERSTSZ together with ERSTBA > virtio-net: rework the driver to support multiple open > board-qemu: add private hcall to inform host on "phandle" update Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2017-12-14pc-bios/s390-ccw.img: update imageCornelia Huck1-0/+0
Contains the following commit: - pc-bios/s390-ccw: zero out bss section Signed-off-by: Cornelia Huck <cohuck@redhat.com>
2017-12-14pc-bios/s390-ccw: zero out bss sectionChristian Borntraeger1-3/+27
The QEMU ELF loader does not zero the bss segment. This resulted in several bugs, e.g. see commit 5d739a4787a5 (s390-ccw.img: Fix sporadic errors with ccw boot image - initialize css) commit 6a40fa2669d3 (s390-ccw.img: Initialize next_idx) commit 8775d91a0f42 (pc-bios/s390-ccw: Fix problem with invalid virtio-scsi LUN when rebooting) Let's fix this once and forever by letting the BIOS zero the bss itself. Suggested-by: Alexander Graf <agraf@suse.de> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com> Message-Id: <20171122142627.73170-3-borntraeger@de.ibm.com> Reviewed-by: Thomas Huth <thuth@redhat.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Cornelia Huck <cohuck@redhat.com>
2017-11-21Use qemu.org domain nameStefan Hajnoczi1-2/+2
The owner of qemu.org has delegated authority to modify DNS records to the QEMU Project. This has allowed us to use the domain name without worries about IP address changes or technical issues disrupting service. The issues described in commit 859389810910f232188675d2f10b15f1aad77660 ("Use qemu-project.org domain name") have therefore been mitigated. This patch switches back to consistently using qemu.org instead of qemu-project.org in documentation, version.rc, and the Windows installer script. The git submodules and SeaBIOS still use qemu-project.org for the time being. This will be fixed in the QEMU 2.12 release cycle. Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> Message-id: 20171121120435.28728-2-stefanha@redhat.com Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2017-11-20pc-bios/s390-ccw.img: update imageCornelia Huck1-0/+0
Contains the following commit: - pc-bios/s390-ccw: Fix problem with invalid virtio-scsi LUN when rebooting Signed-off-by: Cornelia Huck <cohuck@redhat.com>
2017-11-20pc-bios/s390-ccw: Fix problem with invalid virtio-scsi LUN when rebootingThomas Huth1-1/+2
When rebooting a guest that has a virtio-scsi disk, the s390-ccw bios sometimes bails out with an error message like this: ! SCSI cannot report LUNs: STATUS=02 RSPN=70 KEY=05 CODE=25 QLFR=00, sure ! Enabling the scsi_req* tracing in QEMU shows that the ccw bios is trying to execute the REPORT LUNS SCSI command with a LUN != 0, and this causes the SCSI command to fail. Looks like we neither clear the BSS of the s390-ccw bios during reboot, nor do we explicitly set the default_scsi_device.lun value to 0, so this variable can contain random values from the OS after the reboot. By setting this variable explicitly to 0, the problem is fixed and the reboots always succeed. Buglink: https://bugzilla.redhat.com/show_bug.cgi?id=1514352 Signed-off-by: Thomas Huth <thuth@redhat.com> Message-Id: <1510942228-22822-1-git-send-email-thuth@redhat.com> Acked-by: Christian Borntraeger <borntraeger@de.ibm.com> Reviewed-by: David Hildenbrand <david@redhat.com> Signed-off-by: Cornelia Huck <cohuck@redhat.com>
2017-11-14seabios: update to 1.11 finalGerd Hoffmann8-0/+0
Update our pre-release seabios snapshot to the final release. git shortlog ============ Gerd Hoffmann (1): sercon: Disable ScreenAndDebug in case both serial console and serial debug are active Kevin O'Connor (2): timer: Avoid integer overflows in usec and nsec calculations docs: Note v1.11.0 release Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2017-10-30s390-*.img: update s390 bios with latest fixesChristian Borntraeger2-0/+0
includes 7618c0aefed1 ("s390-ccw: print carriage return with new lines") a8fbbf1db7a3 ("s390: set DHCP client architecure id for netboot") Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
2017-10-30s390-ccw: print carriage return with new linesCollin L. Walling1-3/+21
The sclp console in the s390 bios writes raw data, leading console emulators (such as virsh console) to treat a new line ('\n') as just a new line instead of as a Unix line feed. Because of this, output appears in a "stair case" pattern. Let's print \r\n on every occurrence of a new line in the string passed to write to amend this issue. This is in sync with the guest Linux code in drivers/s390/char/sclp_vt220.c which also does a line feed conversion in the console part of the driver. This fixes the s390-ccw and s390-netboot output like $ virsh start test --console Domain test started Connected to domain test Escape character is ^] Network boot starting... Using MAC address: 02:01:02:03:04:05 Requesting information via DHCP: 010 Signed-off-by: Collin L. Walling <walling@linux.vnet.ibm.com> Message-Id: <1509120893-28054-1-git-send-email-walling@linux.vnet.ibm.com> Reviewed-by: Halil Pasic <pasic@linux.vnet.ibm.com> Acked-by: Cornelia Huck <cohuck@redhat.com> Reviewed-by: Alexander Graf <agraf@suse.de> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
2017-10-19Update OpenBIOS images to 83818bd built from submodule.Mark Cave-Ayland3-0/+0
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
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>