aboutsummaryrefslogtreecommitdiff
path: root/pc-bios/README
AgeCommit message (Collapse)AuthorFilesLines
2021-07-13pseries: Update SLOF firmware imageAlexey Kardashevskiy1-1/+1
This is all about TPM fixes and improvements. The change log is: Alexey Kardashevskiy (2): tcgbios: Fix warnings version: update to 20210711 Stefan Berger (9): tcgbios: Fix details in log entries tcgbios: Fix a typo in the sha256 algo description tcgbios: Add implementations for sha1, sha384, and sha512 tpm: Add firmware API call 2HASH-EXT-LOG tcgbios: Change format of S_CRTM_VERSION string to ucs-2 tcgbios: Use assembly for 32 bit rotr in sha256 tcgbios: Use The proper sha function for each PCR bank tcgbios: Add test cases and test script to run them Travis: Add script for running tests on Travis Thomas Huth (1): Fix bad header guard in version.h Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2021-07-09spapr: Implement Open Firmware client interfaceAlexey Kardashevskiy1-0/+4
The PAPR platform describes an OS environment that's presented by a combination of a hypervisor and firmware. The features it specifies require collaboration between the firmware and the hypervisor. Since the beginning, the runtime component of the firmware (RTAS) has been implemented as a 20 byte shim which simply forwards it to a hypercall implemented in qemu. The boot time firmware component is SLOF - but a build that's specific to qemu, and has always needed to be updated in sync with it. Even though we've managed to limit the amount of runtime communication we need between qemu and SLOF, there's some, and it has become increasingly awkward to handle as we've implemented new features. This implements a boot time OF client interface (CI) which is enabled by a new "x-vof" pseries machine option (stands for "Virtual Open Firmware). When enabled, QEMU implements the custom H_OF_CLIENT hcall which implements Open Firmware Client Interface (OF CI). This allows using a smaller stateless firmware which does not have to manage the device tree. The new "vof.bin" firmware image is included with source code under pc-bios/. It also includes RTAS blob. This implements a handful of CI methods just to get -kernel/-initrd working. In particular, this implements the device tree fetching and simple memory allocator - "claim" (an OF CI memory allocator) and updates "/memory@0/available" to report the client about available memory. This implements changing some device tree properties which we know how to deal with, the rest is ignored. To allow changes, this skips fdt_pack() when x-vof=on as not packing the blob leaves some room for appending. In absence of SLOF, this assigns phandles to device tree nodes to make device tree traversing work. When x-vof=on, this adds "/chosen" every time QEMU (re)builds a tree. This adds basic instances support which are managed by a hash map ihandle -> [phandle]. Before the guest started, the used memory is: 0..e60 - the initial firmware 8000..10000 - stack 400000.. - kernel 3ea0000.. - initramdisk This OF CI does not implement "interpret". Unlike SLOF, this does not format uninitialized nvram. Instead, this includes a disk image with pre-formatted nvram. With this basic support, this can only boot into kernel directly. However this is just enough for the petitboot kernel and initradmdisk to boot from any possible source. Note this requires reasonably recent guest kernel with: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=df5be5be8735 The immediate benefit is much faster booting time which especially crucial with fully emulated early CPU bring up environments. Also this may come handy when/if GRUB-in-the-userspace sees light of the day. This separates VOF and sPAPR in a hope that VOF bits may be reused by other POWERPC boards which do not support pSeries. This assumes potential support for booting from QEMU backends such as blockdev or netdev without devices/drivers used. Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru> Message-Id: <20210625055155.2252896-1-aik@ozlabs.ru> Reviewed-by: BALATON Zoltan <balaton@eik.bme.hu> [dwg: Adjusted some includes which broke compile in some more obscure compilation setups] Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2021-03-10pseries: Update SLOF firmware imageAlexey Kardashevskiy1-1/+1
This is mostly compiler warnings fixed but while doing this, a bug in MIN() in tcgbios was found. Alexey Kardashevskiy (14): helpers: Define MIN() libc: Compile with -Wextra elf: Compile with -Wextra usb: Compile with -Wextra veth: Compile with -Wextra virtio: Compile with -Wextra e1000: Compile with -Wextra libnet: Compile with -Wextra libhv: Compile with -Wextra libnvram: Compile with -Wextra libtpm: Compile with -Wextra slof/prim: Compile with -Wextra Makefile: Actually compile with -Wextra version: update to 20210217 Thomas Huth (1): virtio-serial: Remove superfluous serial-* words Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2021-02-09pc-bios: update mirror URLs to GitLabStefan Hajnoczi1-2/+2
qemu.org is running out of bandwidth and the QEMU project is moving towards a gating CI on GitLab. Use the GitLab repos instead of qemu.org (they will become mirrors). Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> Reviewed-by: Wainer dos Santos Moschetta <wainersm@redhat.com> Reviewed-by: Thomas Huth <thuth@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Message-id: 20210111115017.156802-6-stefanha@redhat.com Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
2020-09-14roms: Add virtual Boot ROM for NPCM7xx SoCsHavard Skinnemoen1-0/+6
This is a minimalistic boot ROM written specifically for use with QEMU. It supports loading the second-stage loader from SPI flash into RAM, SMP boot, and not much else. Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Tested-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Signed-off-by: Havard Skinnemoen <hskinnemoen@google.com> Message-id: 20200911052101.2602693-7-hskinnemoen@google.com Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2020-09-13pc-bios: update the README file with edk2-stable202008 informationLaszlo Ersek1-2/+2
Refresh the "pc-bios/README" file with edk2 and OpenSSL release info, matching the edk2-stable202008 firmware images added in the previous patch. Cc: Philippe Mathieu-Daudé <philmd@redhat.com> Ref: https://bugs.launchpad.net/qemu/+bug/1852196 Signed-off-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com> Message-Id: <e967b4d5-bcc2-3846-0ad6-9e8f4d2f9115@redhat.com> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
2020-07-20pseries: Update SLOF firmware imageAlexey Kardashevskiy1-1/+1
This adds tcgbios (this was posted earlier [1] but got lost) and fixes FDT update at ibm,client-architecture-support for huge guests. The full list of changes: Alexey Kardashevskiy (4): make: Define default rule for .c when V=1 or V=2 version: update to 20200513 fdt: Avoid recursion when traversing tree version: update to 20200717 Gustavo Romero (1): board-qemu: Fix comment about SLOF start address Stefan Berger (6): tcgbios: Only write logs for PCRs that are allocated tcgbios: Fix the vendorInfoSize to be of type uint8_t tcgbios: Add support for SHA3 type of algorithms elf: Implement elf_get_file_size to determine size of an ELF image tcgbios: Implement tpm_hash_log_extend_event_buffer tcgbios: Measure the bootloader file read from disk [1] https://patchwork.ozlabs.org/project/qemu-devel/patch/20200513024355.121476-1-aik@ozlabs.ru/ Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2020-04-07pseries: Update SLOF firmware imageAlexey Kardashevskiy1-1/+1
This is a single regression fix for for 5.0: Greg Kurz (1): slof: Only close stdout for virtio-serial devices Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2020-03-17pseries: Update SLOF firmware imageAlexey Kardashevskiy1-1/+1
The only change here is moving the decision about rtas-size to QEMU. Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2020-03-17pseries: Update SLOF firmware imageAlexey Kardashevskiy1-1/+1
This mainly fixes virtio-serial with and without enabled iommu-platform. The full list of changes is: Alexey Kardashevskiy (3): llfw: Fix debug printf warnings virtio-serial: Close device completely version: update to 20200312 Cédric Le Goater (1): virtio: Fix typo in virtio_serial_init() Greg Kurz (2): virtio-serial: Don't override some words virtio-serial: Rework shutdown sequence Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2020-03-17pseries: Update SLOF firmware imageAlexey Kardashevskiy1-1/+1
This adds vTPM support, full-FDT-rebuild-on-CAS fixes and basic ext4 support. The full changelog is: Alexey Kardashevskiy (10): disk-label: Prepare for extenting disk-label: Support Linux GPT partition type ext2: Prepare for extending ext2: Rename group-desc-size ext2: Read size of group descriptors ext2: Read all 64bit of inode number ext2/4: Add basic extent tree support elf64: Add LE64 ABIv1/2 support for loading images to given address fdt: Fix creating new nodes at H_CAS version: update to 20200221 Greg Kurz (2): fdt: Fix update of "interrupt-controller" node at CAS fdt: Delete nodes of devices removed between boot and CAS Stefan Berger (8): slof: Implement SLOF_get_keystroke() and SLOF_reset() slof: Make linker script variables accessible qemu: Make print_version variable accessible tpm: Add TPM CRQ driver implementation tpm: Add sha256 implementation tcgbios: Add TPM 2.0 support and firmware API tcgbios: Implement menu to clear TPM 2 and activate its PCR banks tcgbios: Measure the GPT table Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2020-02-02hw/ppc/prep: Remove the deprecated "prep" machine and the OpenHackware BIOSThomas Huth1-3/+0
It's been deprecated since QEMU v3.1. The 40p machine should be used nowadays instead. Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Acked-by: Hervé Poussineau <hpoussin@reactos.org> Signed-off-by: Thomas Huth <thuth@redhat.com> Message-Id: <20200114114617.28854-1-thuth@redhat.com> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2019-12-17pseries: Update SLOF firmware imageAlexey Kardashevskiy1-1/+1
This fixes PCI bridges support regression. This enables IOMMU support in virtio drivers. The full list of changes is: Alexey Kardashevskiy (12): allocator: Fix format strings for DEBUG virtio: Make virtio_set_qaddr static client: Load initramdisk location sloffs: Fix -Wunused-result gcc warnings in read/write pci-phb: Reimplement dma-map-in/out virtio: Store queue descriptors in virtio_device virtio-net: Init queues after features negotiation virtio: Enable IOMMU ibm,client-architecture-support: Fix stack handling fdt: Fix updating the tree at H_CAS version: update to 20191206 version: update to 20191217 Michael Roth (1): dma: Define default dma methods for using by client/package instances Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2019-12-09pseries: Update SLOF firmware imageAlexey Kardashevskiy1-1/+1
This fixes PCI bridge regression. Alexey Kardashevskiy (3): ibm,client-architecture-support: Fix stack handling fdt: Fix updating the tree at H_CAS version: update to 20191209 Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2019-10-24pseries: Update SLOF firmware imageAlexey Kardashevskiy1-1/+1
This aims v4.2 and fixes: 1. full FDT rendering; 2. gcc9 -Waddress-of-packed-member. Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2019-10-04pseries: Update SLOF firmware imageAlexey Kardashevskiy1-1/+1
This fixes USB host bus adapter name in the device tree to match QEMU's one. Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2019-08-29pseries: Update SLOF firmware imageAlexey Kardashevskiy1-1/+1
This allocates space for FWNMI log in RTAS and fixes phandles at the ibm,client-architecture-support stage. The full list is: * libnet: Fix the check of the argument lengths of the "ping" command * fdt: Update phandles after H_CAS * rtas: Reserve space for FWNMI log Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2019-08-21pseries: Update SLOF firmware imageAlexey Kardashevskiy1-1/+1
The only change that SLOF does not rely on QEMU providing an RTAS blob and provides one itself: https://git.qemu.org/?p=SLOF.git;a=commitdiff;h=5e4ed1fd0f39e Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2019-07-18roms: Add OpenSBI version 0.4Alistair Francis1-0/+11
Add OpenSBI version 0.4 as a git submodule and as a prebult binary. OpenSBI (https://github.com/riscv/opensbi) aims to provide an open-source reference implementation of the RISC-V Supervisor Binary Interface (SBI) specifications for platform-specific firmwares executing in M-mode. For all supported platforms, OpenSBI provides several runtime firmware examples. These example firmwares can be used to replace the legacy riscv-pk bootloader and enable the use of well-known bootloaders such as U-Boot. OpenSBI is distributed under the terms of the BSD 2-clause license ("Simplified BSD License" or "FreeBSD License", SPDX: BSD-2-Clause). OpenSBI source code also contains code reused from other projects desribed here: https://github.com/riscv/opensbi/blob/master/ThirdPartyNotices.md. In this case all of the code we are using from OpenSBI is BSD 2-clause as we aren't using the Kendryte code (Apache-2.0) with QEMU and libfdt is dual licensed as BSD 2-clause (and GPL-2.0+). OpenSBI isn't being linked with QEMU either it is just being included with QEMU. Signed-off-by: Alistair Francis <alistair.francis@wdc.com> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Guenter Roeck <linux@roeck-us.net> Tested-by: Guenter Roeck <linux@roeck-us.net> Signed-off-by: Palmer Dabbelt <palmer@sifive.com>
2019-07-12pseries: Update SLOF firmware imageAlexey Kardashevskiy1-1/+1
This only has a fix for ipv4-after-ipv6 booting problem. Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2019-06-14pc-bios: update the README file with edk2-stable201905 informationLaszlo Ersek1-6/+8
Refresh the "pc-bios/README" file with edk2, OpenSSL, and Berkeley SoftFloat release info, matching the edk2-stable201905 firmware images added in the previous patch. Cc: Philippe Mathieu-Daudé <philmd@redhat.com> Ref: https://bugs.launchpad.net/qemu/+bug/1831477 Signed-off-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com>
2019-04-17pc-bios: document the edk2 firmware images; add firmware descriptorsLaszlo Ersek1-0/+11
Update the README file with information on the images added previously, and provide firmware descriptor documents that conform to "docs/interop/firmware.json". Signed-off-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Michal Privoznik <mprivozn@redhat.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Tested-by: Igor Mammedov <imammedo@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Reviewed-by: Igor Mammedov <imammedo@redhat.com>
2019-02-04pseries: Update SLOF firmware imageAlexey Kardashevskiy1-1/+1
This includes spapr-vio and usb-storage fixes, phandles fix for NVLink2 pass through support and other compile improvements. The full list of changes is: * vio-vscsi: Support multiple channels / buses * board-qemu/slof/vio-vscsi: Scan up to 64 SCSI IDs * usb/storage: Implement block write support * usb/storage: Invert the logic of the IF-statements * fdt: Fix phandles for NVLink/NVLink2 * fdt: Factor out code to replace a phandle in place * pci: use appropriate base class ids * Makefile: Set a proper DRIVER_NAME when building from a git tree * romfs/tools: Silence more compiler warnings with GCC 8.1 * romfs/tools: Silence GCC 8.1 compiler warning with FLASHFS_MAGIC * romfs/tools: Remove superfluous union around the rom header struct * make.rules: Compile SLOF with -fno-asynchronous-unwind-tables Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2018-11-12target-alpha: use HTTPS git URL for palcodeStefan Hajnoczi1-1/+1
When you clone the repository without previous commit history, 'git://' doesn't protect from man-in-the-middle attacks. HTTPS is more secure since the client verifies the server certificate. Cc: Richard Henderson <rth@twiddle.net> Suggested-by: Eric Blake <eblake@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com> Acked-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Reviewed-by: Cornelia Huck <cohuck@redhat.com> Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Message-id: 20181108111531.30671-8-stefanha@redhat.com Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2018-11-12git: use HTTPS git URLs for repo.or.czStefan Hajnoczi1-1/+1
When you clone the repository without previous commit history, 'git://' doesn't protect from man-in-the-middle attacks. HTTPS is more secure since the client verifies the server certificate. Suggested-by: Eric Blake <eblake@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Reviewed-by: Cornelia Huck <cohuck@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Message-id: 20181108111531.30671-6-stefanha@redhat.com Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2018-11-12README: use 'https://' instead of 'git://'Stefan Hajnoczi1-2/+2
When you clone the repository without previous commit history, 'git://' doesn't protect from man-in-the-middle attacks. HTTPS is more secure since the client verifies the server certificate. Reported-by: Jann Horn <jannh@google.com> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com> Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Reviewed-by: Cornelia Huck <cohuck@redhat.com> Message-id: 20181108111531.30671-2-stefanha@redhat.com Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2018-08-21pseries: Update SLOF firmware imageAlexey Kardashevskiy1-1/+1
This includes gcc8.1 fixes and the image is compiled using gcc 8.1 as well. The full list of changes is: > Fix bad assembler statements for compiling with gcc 8.1 / as 2.30 > libelf: Add REL32 to the list of ignored relocations Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2018-06-22pseries: Update SLOF firmware image to qemu-slof-20180621Alexey Kardashevskiy1-1/+1
The changes are: 1. fixed broken_sc1; 2. added switching between boot consoles; 3. added PXE boot. The full list is: > lib/libnet/pxelinux: Fix two off-by-one bugs in the pxelinux.cfg parser > lib/libnet/pxelinux: Make the size handling for pxelinux_load_cfg more logical > libc: Add a simple implementation of an assert() function > libnet: Support UUID-based pxelinux.cfg file names > slof: Add a helper function to get the contents of a property in C code > libnet: Add support for DHCPv4 options 209 and 210 > libnet: Wire up pxelinux.cfg network booting > libnet: Add functions for downloading and parsing pxelinux.cfg files > libnet: Put code for determing TFTP error strings into a separate function > libc: Add the snprintf() function > libnet: Pass ip_version via struct filename_ip > resolve ihandle and xt handle in the input command (like for the output) > Fix output word > obp-tftp: Make sure to not overwrite paflof in memory > libnet: Get rid of unused huge_load and block_size parameters > libc: Check for NULL pointers in free() > libc: Implement strrchr() > libnet: Get rid of unnecessary (char *) casts > broken_sc1: check for H_PRIVILEGE > OF: Use new property "stdout-path" for boot console Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2018-01-10pseries: Update SLOF firmware image to qemu-slof-20171214Alexey Kardashevskiy1-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-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-07-25pseries: Update SLOF firmware imageAlexey Kardashevskiy1-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-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-03-03pseries: Update SLOF firmware imageAlexey Kardashevskiy1-1/+1
Various fixes in this update, the full list is: > qemu-bootlist: Take the "-boot strict=off" setting properly into account > virtio-scsi: initialize vring avail queue buffers > virtio: Remove global variables in block and 9p driver > Remove superfluous checkpoints in tree.fs > Provide "write" function in the disk-label package > virtio: Implement block write support > scsi: Add SCSI block write support > deblocker: Add a 'write' function > virtio-scsi: Fix descriptor order for SCSI WRITE commands > board-qemu: Add a possibility to use hvterm input instead of USB keyboard > Do not try to use virtio-gpu in VGA mode > virtio: Fix stack comment of virtio-blk-read > envvar: Do not read default values for /options from the NVRAM anymore > envvar: Set properties in /options during "(set-defaults)" Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2016-10-28ppc: add skiboot firmware for the pnv platformCédric Le Goater1-0/+5
This is the initial image of skiboot 5.3.7 (commit 762d0082) for the PowerPC PowerNV (Non-Virtualized) platform. Built from submodule. Signed-off-by: Cédric Le Goater <clg@kaod.org> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2016-10-28pseries: Update SLOF firmware image to 20161019Alexey Kardashevskiy1-1/+1
The main changes are: * virtio-serial * booting speed imrovement * better PCI bridge support The complete changelog is: > virtio-serial: Fix compile error > scsi: Remove debug functions from scsi-loader.fs > scsi: Remove unused read-6 command > obp-tftp: Remove the ciregs-buffer > libnet: Simplify the net-load arguments passing > libnet: Simplify the Forth-to-C wrapper of ping() > Do not link libnet to net-snk anymore, and remove net-snk from board-qemu > Add a Forth-to-C wrapper for the ping command, too > Link libnet code to Paflof and add a wrapper for netboot() > Remember execution tokens of "write" and "read" for socket operations > Add virtio-serial device support > Generalize output banner write routine > Improve indentation in OF.fs > scsi: implement READ (16) command > rtas: Improve rtas-do-config-@ and rtas-do-config-! a little bit > libnet: Make netapps.h includable from .code files > libnet: Remove unused prototypes from netapps.h > libnet: Fix the printout of the ping command > libnet: Make sure to close sockets when we're done > scsi: implement read-capacity-16 > pci: Fix secondary and subordinate PCI bus enumeration with board-qemu > pci-phb: Fix stack underflow in phb-pci-walk-bridge > paflof: Add a read() function to read keyboard input > paflof: Add socket(), send() and recv() functions to paflof > paflof: Provide get_timer() and set_timer() helper functions > paflof: Add a write_mm_log helper function > paflof: Copy sbrk code from net-snk > paflof: Use CFLAGS from make.rules instead of completely redefining them > Do not include the FCode evaluator by default anymore > Source code beautification of board-qemu/slof/pci-interrupts.fs > Allow PCI devices in PCI bridge slots greater than 4 > Fix bad interrupt pin numbering in interrupt-map property of PCI bridges > Improve SLOF_alloc_mem_aligned() > instance: Fix set-my-args for empty arguments > Fix remaining compiler warnings in sloffs.c > Remove misleading padding fields from ROM header definition > Improve indentation in calculatecrc.h > Do not include calculatecrc.h from assembler files > Remove unused defines in calculatecrc.h > libnet: Re-initialize global variables at the beginning of tftp() > Remove dependency on cpu/@0 for booting > usb: Set XHCI slot speed according to port status > usb: Build correct route string for USB3 devices behind a hub > usb: Initialize USB3 devices on a hub and keep track of hub topology > usb: Increase amount of maximum slot IDs and add a sanity check > usb: Move XHCI port state arrays from header to .c file > tools: add copy functionality > tools: added support to sloffs to read from /dev/slof_flash > tools: added file append functionality > tools: use crc checking code from romfs/tools > tools: added initial version of sloffs > romfs: factored out crc code, to make it usable from other locations > tools: remove unused parts from the Makefile > usb-hid: Fix non-working comma key > fat-files: Fix access to FAT32 dir/files when cluster > 16-bits > virtio-net: fix ring handling in receive > net: Remove remainders of the MTFTP code > net: Move also files from clients/net-snk/app/netapps/ to lib/libnet/ > net: Move files from clients/net-snk/app/netlib/ to lib/libnet/ > net-snk: Get rid of netlib and netapps prefixes in include statements > usb-xhci: assign field4 before conditional > Improve F12 key handling in boot menu > Fix stack underflow that occurs with duplicated ESC in input > rtas-nvram: optimize erase > ipv6: Replace magic number 1500 with ETH_MTU_SIZE (i.e. 1518) > ipv6: Fix NULL pointer dereference in ip6addr_add() > ipv6: Fix memory leak in set_ipv6_address() / ip6_create_ll_address() > ipv6: Clear memory after malloc if necessary > ipv6: Fix possible NULL-pointer dereference in send_ipv6() > ping: use gateway address for routing > ping: add netmask in the ping argument > xhci: fix missing keys from keyboard > xhci: add memory barrier after filling the trb > loaders: Remove netflash command > boot: Remove legacy Forth words for network loading > base: Move cnt-bits and bcd-to-bin to board-js2x folder > base: Move huge-tftp-load variable to obp-tftp package > base: Remove unused IP address conversion functions > virtio: White space cleanup in virtio-9p.c > virtio: Add modern version 1.0 support to 9p driver > virtio: Set a proper name for virtio-9p device tree nodes > pci: Fix mistype in "unkown-bridge" > ipv6: Indent code with tabs, not with spaces > ipv6: send_ipv6() has to return after doing NDP > ipv6: Do not use unitialized MAC address array > ipv6: Add support for sending packets through a router > Remove unused sms code. > virtio-net: initialize to populate mac address > libbootmsg: Do not use '\b' characters when printing checkpoints > dev-null: The "read" function has to return 0 if nothing has been read Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2016-02-25pseries: Update SLOF firmware image to 20160223Alexey Kardashevskiy1-1/+1
The main change is virtio 1.0 support. The complete changelog is: > dhcp: fix warning messages when calling strtoip() > virtio-scsi: enable virtio 1.0 > virtio-scsi: use virtio_fill desc api > virtio-scsi: use idx during initialization > virtio-net: enable virtio 1.0 > virtio-blk: enable virtio 1.0 > virtio: 1.0 helper to read 16/32/64 bit value > virtio: add and enable 1.0 device setup > virtio: 1.0 guest features negotiation > virtio: update features set/get register accessor > virtio: make all virtio apis 1.0 aware > virtio: add 64-bit virtio helpers for 1.0 > virtio: add virtio 1.0 related struct and defines > virtio: get rid of type variable in virtio_device > virtio-net: move setup-mac to the open routine > virtio-net: make net_hdr_size a variable > virtio-net: replace vq array with vq_{tx,rx} > virtio-net: use virtio_fill_desc > virtio-{net,blk,scsi,9p}: use status variable > virtio-blk: add helpers for filling descriptors > virtio-{blk,9p}: enable resetting the device > virtio: introduce helper for initializing virt queue > virtio: fix code style/design issues. > fix code style in byteorder.h > pci: add byte read/write helper routines > virtio-net: fix gcc warnings (-Wextra) > virtio-blk: fix gcc warnings (-Wextra) > readme: Add a note about coding style > dhcp: Remove duplicated strtoip() > ethernet: Fix gcc warnings > net-snk: Fix gcc warnings > net-snk: Fix coding style > net-snk: Fix memory leak in dhcp6_process_options() > net-snk: Fix memory leak in ip6_to_multicast_mac() / send_ipv6() > net-snk: Remove bad NEIGHBOUR_SOLICITATION code in send_ipv6() > Fix dma-alloc and dma-map-in functions on board-js2x > net-snk: Allow stateless autoconfig IPv6 addresses with IP_INIT_IPV6_MANUAL > net-snk: Simplify the ip6_is_multicast() function > net-snk: Move global variable definition out of the header file > net-snk: Prefer non-link-local unicast IPv6 addresses if possible > net-snk: Fix the check for link-local addresses when receiving RAs > net-snk: Remove junk at the end of IPv6 TFTP ACK and error packets > Fix format strings in usb-ohci.c > net-snk: Get rid of junk at the end of sent DHCPv6 packets > net-snk: Use transaction IDs in DHCPv4, too > net-snk: Make use of DHCPv6 transaction IDs > net-snk: Seed the pseudo-random number generator > libc: Add srand() call > libc: Fix the rand() function to return non-zero values > net-snk: Improve printed text when booting via network > Increase temporary buffer size of ibm,client-architecture-support call > Move archsupport.fs into board-qemu directory > boot: stop booting when we encounter HALT > fat-files: Fix bug with root-entries = 0 on certain FAT32 file systems > usb: print unhandled descriptor in debug mode > Improve stack usage with libnvram get_partition function > Improve stack usage in libnvram environment variable code > libc: Port vsnprintf back from skiboot > Move the code for rfill into a separate function > Rework wrapper for new_nvram_partition() and fix possible bug in there > Stack optimization in libusb: split up setup_new_device() > Check for stack overflow in paflof engine > Clean up pending packet variable in ipv4 code > Fix tracking of pending outgoing packets when handling ARP replies Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2016-02-11s390x: remove s390-zipl.romMichael Tokarev1-4/+0
This is an s390 boot rom which was used in s390-virtio machine. but since commit 3538fb6f89dd9bb2e7e59de2bfad52a45321c744 "s390x: remove s390-virtio machine", this file isn't used. The only place it is referenced in the code is an unused define ZIPL_FILENAME. There's also comment in hw/s390/ipl.c which I'm modifying too, to refer to s390-ccw.img instead. Signed-off-by: Michael Tokarev <mjt@tls.msk.ru> Acked-by: Christian Borntraeger <borntraeger@de.ibm.com> Acked-by: Cornelia Huck <cornelia.huck@de.ibm.com>
2015-11-11pseries: Update SLOF firmware image to qemu-slof-20151103Alexey Kardashevskiy1-1/+1
The changes are: 1. supports recent binutils; 2. 64bit BARs behind PCI bridges supported; 3. Many fixes for USB keyboard support - keys, XHCI; 4. virtio-vga support. This image was built with: gcc version 4.8.3 20140911 (Red Hat 4.8.3-7) (GCC) GNU ld version 2.23.2 The full changelog is: > version: update to 20151103 > documentation: Add a clause about signing off > qemu/js2x/client: Support binutils >= 2.25.1 > Fix special keys on USB > Fix function keys on USB > pci-scan: program 64-bit mem bar range in pci-bridge bar > Allow to build SLOF on Little Endian host > usb-xhci: add keyboard support > usb-xhci: ready the link trb early > usb-xhci: scan usb high speed ports > usb-xhci: bulk improve event handling loop > usb-xhci: return on allocation failure > usb-xhci: add delay in shutdown path > usb-xhci: event trbs does not need link trb > usb-hid: refactor usb key reading > takeover: Fix header includes > board-js2x: Add missing file dma-function.fs > vga: Add support for virtio-vga > qemu-vga: Use MMIO BAR instead of legacy IO ports > slof: Change call_c() function to a proper assembler function Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2015-09-23pseries: Update SLOF firmware image to qemu-slof-20150813Alexey Kardashevskiy1-1/+1
The changes are: 1. GPT support; 2. Much faster VGA support. The full changelog is: > Add missing half word access case to _FASTRMOVE and _FASTMOVE > Remove unused RMOVE64 stub > fbuffer: Implement RFILL as an accelerated primitive > fbuffer: Implement MRMOVE as an accelerated primitive > fbuffer: Precalculate line length in bytes > terminal: Disable the terminal-write trace by default > boot: remove trailing ":" in the bootpath > ci: implement boot client interface > boot: bootpath should be complete device path > fbuffer: Use a smaller cursor > fbuffer: Improve invert-region helper > usb-hid: Caps is not always shift > cas: Increase FDT buffer size to accomodate larger ibm, cas node properties > README: Update with patch submittion note > disk-label: add support for booting from GPT FAT partition > disk-label: introduce helper to check fat filesystem > introduce 8-byte LE helpers > disk-label: simplify gpt-prep-partition? routine > fbuffer: introduce the invert-region-x helper > fbuffer: introduce the invert-region helper > fbuffer: simplify address computations in fb8-toggle-cursor Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2015-07-07pseries: Update SLOF firmware image to qemu-slof-20150429Alexey Kardashevskiy1-1/+1
The changelog is: > version: update to 20150429 > pci: Use QEMU created PCI device nodes > usb: support 64-bit pci bars > pci: Support 64-bit address translation > pci: program correct bridge limit registers during probe > scsi: handle report-luns failure > Fix "key?" Forth word when using USB keyboards > Remove bulk.fs package > Include make.rules in the library Makefiles Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru> Signed-off-by: Alexander Graf <agraf@suse.de>
2015-03-25pseries: Update SLOF firmware image to qemu-slof-20150313Alexey Kardashevskiy1-1/+1
The changelog is: > virtio: Fix vring allocation > helpers: Fix SLOF_alloc_mem_aligned to meet callers expectation > Set default palette according to "16-color Text Extension" document > Fix rectangle drawing functions to work also with higher bit depths > Fix the x86emu patch file > Silence compiler warning when building the biosemu > Use device-type Forth word to set up the corresponding property > Improve /openprom node > pci-properties: Remove redundant call to device-type > cas: reconfigure memory nodes > pci: use 64bit bar ranges Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru> Signed-off-by: Alexander Graf <agraf@suse.de>
2015-01-07pseries: Update SLOF firmware image to 20141202Alexey Kardashevskiy1-1/+1
The changelog is: > version: update to 20141202 > ipv4: Fix send packet across a subnet > pci: scan only type 0 and type 1 > usb-xhci: support xhci extended capabilities > Fix term-io-key to also work when stdin has not been set yet > net-snk: llfw startup is using the wrong offset to handler > net-snk: Make call_client_interface() a bit more ABI compliant > net-snk: Remove custom printf version > net-snk: Sanitize our .lds file > net-snk: Avoid type clash for stdin & stdout > net-snk: use socket descriptor in the network stack > net-snk: Remove printk() in favor of printf() > net-snk: Remove redundant prototypes > net-snk: Remove unused timer functions > net-snk: Remove some unused PCI functions > net-snk: Remove module system > net-snk: Remove insmod/rmmod > net-snk: Remove snk_kernel_interface and related definitions > net-snk: Remove pci/vio_config gunk > js2x: Fix build > net-snk: Remoe some now unused "kernel" functions > rtas: Improve error handling in instantiate-rtas > version: update to 20140827 > Add private HCALL to inform updated RTAS base and entry > xhci: fix port assignment Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru> Signed-off-by: Alexander Graf <agraf@suse.de>
2014-07-08pseries: Update SLOF firmware image to qemu-slof-20140630Alexey Kardashevskiy1-1/+1
The changelog is: > Quieten the grub warning > Add boot menu support > boot from disk having chrp-boot file > fat16: fix read and remove debug messages > dhcparch define missing in compilation > pci-scan: reserve memory for pci-bridge without devices > pci-bridge: Fix ranges when no device beyond the bridge > Set dhcp arch in board-qemu config file > xhci: fix controller stop > dhcp: support client architecture code 93 > virtio-blk: support variable block size > usb: use common pci dma alloc/mapping routines > Remove unused SLOF code > pci-bridge: generic bridge needs to support pci dma functions > pci: extract dma functions as separate file > e1000: fix usage of multiple nics Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru> Signed-off-by: Alexander Graf <agraf@suse.de>
2014-06-16PPC: Add u-boot firmware for e500Alexander Graf1-0/+5
This adds a special build of u-boot tailored for the e500 platforms we emulate. It is based on the current version of upstream u-boot which contains all the code necessary to drive our QEMU provided machines. Signed-off-by: Alexander Graf <agraf@suse.de>
2014-04-08pseries: Update SLOF firmware image to qemu-slof-20140404Alexey Kardashevskiy1-1/+1
The change log is: > Isolate sc 1 detection logic > build: auto-detect ppc64 architecture > cas: increase hcall buffer size to accomodate 256 cpus > usb: change device tree naming > usb-core: adjust port numbers in set_address > virtio-scsi: correct srplun comment > Fix kernel loading > Workaround to make grub2 assign server ip from dhcp ack packet only > ELF: Enter LE binary in LE mode > ELF loading should fail for virt != phys Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru> Signed-off-by: Alexander Graf <agraf@suse.de>
2014-03-13Merge remote-tracking branch 'remotes/afaerber/tags/ppc-for-2.0' into stagingPeter Maydell1-1/+1
PowerPC queue for 2.0-rc0 * QEMUMachine include cleanup * SLOF update * XICS reset fix * sPAPR PCI host bridge refactorings # gpg: Signature made Thu 13 Mar 2014 02:50:51 GMT using RSA key ID 3E7E013F # gpg: Good signature from "Andreas Färber <afaerber@suse.de>" # gpg: aka "Andreas Färber <afaerber@suse.com>" * remotes/afaerber/tags/ppc-for-2.0: spapr-pci: Convert fprintf() to error_report() spapr-pci: Convert to QOM realize xics-kvm: Fix reset function pseries: Update SLOF firmware image to qemu-slof-20140304 Move QEMUMachine typedef to qemu/typedefs.h Revert "KVM: Split QEMUMachine typedef into separate header" Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2014-03-13pseries: Update SLOF firmware image to qemu-slof-20140304Alexey Kardashevskiy1-1/+1
The changelog is: > version: update to 20140304 > Introduce dummy console device > vio-vscsi: Fix CRQ allocation alignment > version: update to 20140204 > virtio-9p: disable unused structure > Make "boot net:dhcp" boot from IPv4 only > Fix virtio device shutdown > Change shutdown method name for virtio-scsi > Add support for 64bit LE ABI v1 and v2 support > Change representation of string environment variable > cas: return error when unknown node found > version: update > Reset obp-tftp arguments before parsing > Enable seamless netboot on IPv6 network > Fix shutdown for virtio devices > Fix zero checksum in UDP header > Handle router advertisement message properly > [oex]hci_exit: Check before freeing/unmapping memory > Work around missing sc 1 traps on pHyp > fix print_version() to return where it came from > usb-xhci: memory freeing and using returns as bool uniformly > Output banner and initial display output in VNC window > use VERSION file to generate FW version > cas: remove warning > Add support for loading little endian ELF binaries. > Add bswap_{16,32,64}p > dhcpv6 and other minor net-snk fixes > Fix missing drop in virtio-fs setup-alias > Find next available alias name > SLOF does not exit if given 1KB disk > boot: enable support for bootindex > pci-properties: add properties to enable hotplug for spapr > e1000: remember node handle > Increase quiesce tokens array size > virtio: timeout after 5sec > Enable IPv6 support in dns > usb-ohci: fix warnings > Add ipv6 support in net-snk > ipv4: fix frame overwriting following arp_send_request > e1000: fix SLOF_dma_map_out arguments > Maintain single global packet buffer for tftp > Increase virtio-net receive queue size > Increase veth receive queue size > Fix dprintf macros at various points > usb-ohci: rewrite done_head processing code > boot: add net in default boot order > block 0 address in the allocator > scsi: make-media-alias fix > usb-xhci: add xhci host controller support > usb-xhci: add xhci support > Avoid veth read/write calls with zero length buffer > boot: include other aliases > usb-core: disable xhci Cc: Andreas Färber <afaerber@suse.de> Cc: Nikunj A Dadhania <nikunj@linux.vnet.ibm.com> Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
2014-03-12Add OpenHack'Ware submoduleAndreas Färber1-1/+1
This replaces the ohw.diff file on top of v0.4.1. Signed-off-by: Andreas Färber <andreas.faerber@web.de>
2014-03-10Update OpenBIOS imagesMark Cave-Ayland1-1/+1
Update OpenBIOS images to SVN r1280 built from submodule. Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
2014-02-27sun4m: Add Sun CG3 framebuffer and corresponding OpenBIOS FCode ROMMark Cave-Ayland1-2/+2
The CG3 framebuffer is a simple 8-bit framebuffer for use with operating systems such as early Solaris that do not have drivers for TCX. Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> CC: Blue Swirl <blauwirbel@gmail.com> CC: Anthony Liguori <aliguori@amazon.com> CC: Peter Maydell <peter.maydell@linaro.org> CC: Bob Breuer <breuerr@mc.net> CC: Artyom Tarasenko <atar4qemu@gmail.com>