qemu-e2k/pc-bios
Bin Meng 0b2f78e524 roms: opensbi: Upgrade from v0.6 to v0.7
Upgrade OpenSBI from v0.6 to v0.7 and the pre-built bios images.

The v0.7 release includes the following commits:

f64f4b9 lib: Add a new platform feature to bringup secondary harts
b677a9b lib: Implement hart hotplug
5b48240 lib: Add possible hart status values
e3f69fc lib: Implement Hart State Management (HSM) SBI extension
6704216 lib: Check MSIP bit after returning from WFI
82ae8e8 makefile: Do setup of the install target more flexible
e1a5b73 platform: sifive: fu540: allow sv32 as an mmu-type
8c83fb2 lib: Fix return type of sbi_hsm_hart_started()
00d332b include: Move bits related defines and macros to sbi_bitops.h
a148996 include: sbi_bitops: More useful bit operations
4a603eb platform: kendryte/k210: Set per-HART stack size to 8KB
678c3c3 include: sbi_scratch: Set per-HART scratch size to 4KB
2abc55b lib: Sort build objects in alphabetical order
6e87507 platform: ae350: Sort build objects in alphabetical order
650c0e5 lib: sbi: Fix coding style issues
078686d lib: serial: Fix coding style issues
3226bd9 lib: Simple bitmap library
c741abc include: Simple hartmask library
d6d7e18 lib: sbi_init: Don't allow HARTID greater than SBI_HARTMASK_MAX_BITS
a4a6a81 lib: Introduce SBI_TLB_INFO_INIT() helper macro
d963164 lib: sbi_tlb: Use sbi_hartmask in sbi_tlb_info
71d2b83 lib: Move all coldboot wait APIs to sbi_init.c
2b945fc lib: sbi_init: Use hartmask for coldboot wait
44ce5b9 include: Remove disabled_hart_mask from sbi_platform
2db381f lib: Introduce sbi_hsm_hart_started_mask() API
61f7768 lib: sbi_ecall_legacy: Use sbi_hsm_hart_started_mask() API
466fecb lib: sbi_system: Use sbi_hsm_hart_started_mask() API
9aad831 lib: sbi_ipi: Use sbi_hsm_hart_started_mask() API
eede1aa lib: sbi_hart: Remove HART available mask and related APIs
757bb44 docs: Remove out-of-date documentation
86d37bb lib: sbi: Fix misaligned trap handling
ffdc858 platform: ariane-fpga: Change license for ariane-fpga from GPL-2.0 to BSD-2
4b2f594 sbi: Add definitions for true/false
0cfe49a libfdt: Add INT32_MAX and UINT32_MAX in libfdt_env.h
baac7e0 libfdt: Upgrade to v1.5.1 release
f92147c include: Make sbi_hart_id_to_scratch() as macro
eeae3d9 firmware: fw_base: Optimize _hartid_to_scratch() implementation
16e7071 lib: sbi_hsm: Optimize sbi_hsm_hart_get_state() implementation
823345e include: Make sbi_current_hartid() as macro in riscv_asm.h
9aabba2 Makefile: Fix distclean make target
9275ed3 platform: ariane-fpga: Set per-HART stack size to 8KB
2343efd platform: Set per-HART stack size to 8KB in the template platform codes
72a0628 platform: Use one unified per-HART stack size macro for all platforms
327ba36 scripts: Cover sifive/fu540 in the 32-bit build
5fbcd62 lib: sbi: Update pmp_get() to return decoded size directly
dce8846 libfdt: Compile fdt_addresses.c
fcb1ded lib: utils: Add a fdt_reserved_memory_fixup() helper
666be6d platform: Clean up include header files
6af5576 lib: utils: Move PLIC DT fix up codes to fdt_helper.c
e846ce1 platform: andes/ae350: Fix up DT for reserved memory
8135520 platform: ariane-fpga: Fix up DT for reserved memory
c9a5268 platform: qemu/virt: Fix up DT for reserved memory
6f9bb83 platform: sifive/fu540: Fix up DT for reserved memory
1071f05 platform: sifive/fu540: Remove "stdout-path" fix-up
dd9439f lib: utils: Add a fdt_cpu_fixup() helper
3f1c847 platform: sifive/fu540: Replace cpu0 node fix-up with the new helper
db6a2b5 lib: utils: Add a general device tree fix-up helper
3f8d754 platform: Update to call general DT fix-up helper
87a7ef7 lib: sbi_scratch: Introduce HART id to scratch table
e23d3ba include: Simplify HART id to scratch macro
19bd531 lib: sbi_hsm: Simplify hart_get_state() and hart_started() APIs
3ebfe0e lib: sbi_tlb: Simplify sbi_tlb_entry_process() function
209134d lib: Handle failure of sbi_hartid_to_scratch() API
bd6ef02 include: sbi_platform: Improve sbi_platform_hart_disabled() API
c9f60fc lib: sbi_scratch: Don't set hartid_to_scratch table for disabled HART
680b098 lib: sbi_hsm: Don't use sbi_platform_hart_count() API
db187d6 lib: sbi_hsm: Remove scratch parameter from hart_started_mask() API
814f38d lib: sbi_hsm: Don't use sbi_platform_hart_disabled() API
75eec9d lib: Don't use sbi_platform_hart_count() API
c51f02c include: sbi_platform: Introduce HART index to HART id table
315a877 platform: sifive/fu540: Remove FU540_ENABLED_HART_MASK option
a0c88dd lib: Fix sbi_ecall_register_extension to prevent extension IDs overlap
9a74a64 lib: Check MSIP bit after returning from WFI
5968894 platform: Move ariane standalone fpga project to its own project
ed265b4 platform: fpga/ariane: Remove redundant plic address macros
fb84879 platform: Add OpenPiton platform support
d1d6560 platform: fpga/common: Add a fdt parsing helper functions
040e4e2 lib: utils: Move fdt fixup helper routines to a different file
4c37451 platform: openpiton: Read the device configurations from device tree
4d93586 lib: prevent coldboot_lottery from overflowing
550ba88 scripts: Extend create-binary-archive.sh for unified binary tar ball
160c885 lib: utils: Improve fdt_cpu_fixup() implementation
1de66d1 lib: Optimize unpriv load/store implementation
626467c lib: Remove scratch parameter from unpriv load/store functions
cb78a48 lib: sbi_trap: Remove scratch parameter from sbi_trap_redirect()
d11c79c lib: sbi_emulate_csr: Remove scratch and hartid parameter
5a7bd0c lib: sbi_illegal_insn: Remove mcause, scratch and hartid parameters
fe37d7d lib: sbi_misaligned_ldst: Remove mcause, scratch and hartid parameters
7487116 lib: sbi_ecall: Remove mcause, scratch and hartid parameters
40b221b lib: sbi_trap: Simplify sbi_trap_handler() API
7b211ff include: sbi_platform: Remove priv parameter from hart_start() callback
5b6957e include: Use more consistent name for atomic xchg() and cmpxchg()
dd0f21c lib: sbi_scratch: Introduce sbi_scratch_last_hartid() API
54b2779 include: sbi_tlb: Remove scratch parameter from sbi_tlb_request()
9e52a45 include: sbi_ipi: Remove scratch parameter from most functions
ec0d80f include: sbi_system: Remove scratch parameter and redundant functions
0a28ea5 include: sbi_timer: Remove scratch parameter from most funcitons
648507a include: sbi_console: Remove scratch parameter from sbi_dprintf()
e5a7f55 platform: thead/c910: Use HSM extension to boot secondary cores
f281de8 lib: irqchip/plic: Fix maximum priority threshold value
6c7922e lib: Support vector extension
615587c docs: Update README about supported SBI versions
66d0184 lib: Allow overriding SBI implementation ID
9f1b72c include: Bump-up version to 0.7

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
2020-04-29 13:16:38 -07:00
..
descriptors pc-bios: document the edk2 firmware images; add firmware descriptors 2019-04-17 15:38:35 +02:00
keymaps keymaps: regenerate keymaps 2019-03-18 12:06:04 +01:00
optionrom optionrom/pvh: scan entire RSDP Area 2020-03-16 22:07:42 +01:00
s390-ccw misc: Replace zero-length arrays with flexible array member (automatic) 2020-03-16 22:07:42 +01:00
Makefile pc-bios/Makefile: add a rule to produce dtb files 2009-03-07 04:56:06 +00:00
QEMU,cgthree.bin sun4m: Add Sun CG3 framebuffer and corresponding OpenBIOS FCode ROM 2014-02-27 10:01:41 +00:00
QEMU,tcx.bin Update OpenBIOS images 2014-11-04 00:02:33 +00:00
README pseries: Update SLOF firmware image 2020-04-07 08:55:11 +10:00
bamboo.dtb PPC: Bamboo: recompile device tree 2012-01-21 05:17:00 +01:00
bamboo.dts PPC: Bamboo: recompile device tree 2012-01-21 05:17:00 +01:00
bios-256k.bin seabios: update to 1.13.0 final 2019-12-20 07:06:39 +01:00
bios-microvm.bin roms: add microvm-bios (qboot) as binary and git submodule 2019-10-22 09:39:54 +02:00
bios.bin seabios: update to 1.13.0 final 2019-12-20 07:06:39 +01:00
canyonlands.dtb ppc: Add aCube Sam460ex board 2018-03-06 13:16:29 +11:00
canyonlands.dts ppc: Add aCube Sam460ex board 2018-03-06 13:16:29 +11:00
edk2-aarch64-code.fd.bz2 pc-bios: refresh edk2 build artifacts for edk2-stable201905 2019-06-14 21:47:56 +02:00
edk2-arm-code.fd.bz2 pc-bios: refresh edk2 build artifacts for edk2-stable201905 2019-06-14 21:47:56 +02:00
edk2-arm-vars.fd.bz2 pc-bios: add edk2 firmware binaries and variable store templates 2019-04-17 15:38:35 +02:00
edk2-i386-code.fd.bz2 pc-bios: refresh edk2 build artifacts for edk2-stable201905 2019-06-14 21:47:56 +02:00
edk2-i386-secure-code.fd.bz2 pc-bios: refresh edk2 build artifacts for edk2-stable201905 2019-06-14 21:47:56 +02:00
edk2-i386-vars.fd.bz2 pc-bios: add edk2 firmware binaries and variable store templates 2019-04-17 15:38:35 +02:00
edk2-licenses.txt pc-bios: refresh edk2 build artifacts for edk2-stable201905 2019-06-14 21:47:56 +02:00
edk2-x86_64-code.fd.bz2 pc-bios: refresh edk2 build artifacts for edk2-stable201905 2019-06-14 21:47:56 +02:00
edk2-x86_64-secure-code.fd.bz2 pc-bios: refresh edk2 build artifacts for edk2-stable201905 2019-06-14 21:47:56 +02:00
efi-e1000.rom ipxe: update to latest git master 2019-01-22 07:27:59 +01:00
efi-e1000e.rom ipxe: update to latest git master 2019-01-22 07:27:59 +01:00
efi-eepro100.rom ipxe: update to latest git master 2019-01-22 07:27:59 +01:00
efi-ne2k_pci.rom ipxe: update to latest git master 2019-01-22 07:27:59 +01:00
efi-pcnet.rom ipxe: update to latest git master 2019-01-22 07:27:59 +01:00
efi-rtl8139.rom ipxe: update to latest git master 2019-01-22 07:27:59 +01:00
efi-virtio.rom ipxe: update to latest git master 2019-01-22 07:27:59 +01:00
efi-vmxnet3.rom ipxe: update to latest git master 2019-01-22 07:27:59 +01:00
hppa-firmware.img seabios-hppa: update to latest version 2020-01-27 10:49:51 -08:00
kvmvapic.bin pc-bios: Remove execute flag from BIOS files 2014-01-16 14:46:19 +04:00
linuxboot.bin linuxboot: fix loading old kernels 2014-12-15 12:21:03 +01:00
linuxboot_dma.bin linuxboot_dma: compile for i486 2017-06-07 18:22:02 +02:00
multiboot.bin pc-bios: Remove execute flag from BIOS files 2014-01-16 14:46:19 +04:00
openbios-ppc Update OpenBIOS images to 7e5b89e4 built from submodule. 2019-10-28 17:11:50 +00:00
openbios-sparc32 Update OpenBIOS images to 7e5b89e4 built from submodule. 2019-10-28 17:11:50 +00:00
openbios-sparc64 Update OpenBIOS images to 7e5b89e4 built from submodule. 2019-10-28 17:11:50 +00:00
opensbi-riscv32-sifive_u-fw_jump.bin roms: opensbi: Upgrade from v0.6 to v0.7 2020-04-29 13:16:38 -07:00
opensbi-riscv32-virt-fw_jump.bin roms: opensbi: Upgrade from v0.6 to v0.7 2020-04-29 13:16:38 -07:00
opensbi-riscv64-sifive_u-fw_jump.bin roms: opensbi: Upgrade from v0.6 to v0.7 2020-04-29 13:16:38 -07:00
opensbi-riscv64-virt-fw_jump.bin roms: opensbi: Upgrade from v0.6 to v0.7 2020-04-29 13:16:38 -07:00
palcode-clipper pc-bios: Update palcode-clipper 2019-03-25 13:37:18 -07:00
petalogix-ml605.dtb microblaze: Add PetaLogix ml605 MMU little-endian ref design 2011-03-16 15:18:58 +01:00
petalogix-s3adsp1800.dtb pc-bios: petalogix-s3adsp1800.dtb: Use 'xlnx, xps-ethernetlite-2.00.a' instead of 'xlnx, xps-ethernetlite-2.00.b' 2014-11-11 09:04:13 +03:00
pvh.bin optionrom/pvh: load initrd from fw_cfg 2019-02-05 16:50:17 +01:00
pxe-e1000.rom PXE: Refresh all PXE ROMs from the ipxe submodule 2011-04-18 11:46:41 -06:00
pxe-eepro100.rom PXE: Refresh all PXE ROMs from the ipxe submodule 2011-04-18 11:46:41 -06:00
pxe-ne2k_pci.rom PXE: Refresh all PXE ROMs from the ipxe submodule 2011-04-18 11:46:41 -06:00
pxe-pcnet.rom PXE: Refresh all PXE ROMs from the ipxe submodule 2011-04-18 11:46:41 -06:00
pxe-rtl8139.rom PXE: Refresh all PXE ROMs from the ipxe submodule 2011-04-18 11:46:41 -06:00
pxe-virtio.rom PXE: Refresh all PXE ROMs from the ipxe submodule 2011-04-18 11:46:41 -06:00
qemu-nsis.bmp w32, w64: Add build rule for installer 2013-07-29 11:43:37 +02:00
qemu-nsis.ico w32, w64: Add build rule for installer 2013-07-29 11:43:37 +02:00
qemu.rsrc Makefile.target: set icon for binary file on Mac OS X 2015-05-19 09:11:17 +01:00
qemu_logo.svg Add QEMU logo (SVG file) 2014-04-28 08:55:31 +04:00
qemu_vga.ndrv QemuMacDrivers: update qemu_vga.ndrv to 90c488d built from submodule 2019-02-04 18:44:19 +11:00
s390-ccw.img s390x/bios: rebuild s390-ccw.img 2020-03-10 10:18:13 +01:00
s390-netboot.img pc-bios/s390: Update firmware images 2019-12-18 15:54:24 +01:00
sgabios.bin sgabios: update for "fix wrong video attrs for int 10h,ah==13h" 2017-05-05 12:09:59 +02:00
skiboot.lid ppc/pnv: update skiboot to v6.4 2019-08-29 09:45:18 +10:00
slof.bin pseries: Update SLOF firmware image 2020-04-07 08:55:11 +10:00
u-boot-sam460-20100605.bin trivial: Make bios files and source files non-executable 2018-09-25 17:26:18 +02:00
u-boot.e500 PPC: E500: Update u-boot to v2019.01 2019-03-12 14:33:04 +11:00
vgabios-ati.bin seabios: update to 1.13.0 final 2019-12-20 07:06:39 +01:00
vgabios-bochs-display.bin seabios: update to 1.13.0 final 2019-12-20 07:06:39 +01:00
vgabios-cirrus.bin seabios: update to 1.13.0 final 2019-12-20 07:06:39 +01:00
vgabios-qxl.bin seabios: update to 1.13.0 final 2019-12-20 07:06:39 +01:00
vgabios-ramfb.bin seabios: update to 1.13.0 final 2019-12-20 07:06:39 +01:00
vgabios-stdvga.bin seabios: update to 1.13.0 final 2019-12-20 07:06:39 +01:00
vgabios-virtio.bin seabios: update to 1.13.0 final 2019-12-20 07:06:39 +01:00
vgabios-vmware.bin seabios: update to 1.13.0 final 2019-12-20 07:06:39 +01:00
vgabios.bin seabios: update to 1.13.0 final 2019-12-20 07:06:39 +01:00

README

- SeaBIOS (bios.bin) is the successor of pc bios.
  See http://www.seabios.org/ for more information.

- The VGA BIOS and the Cirrus VGA BIOS come from the LGPL VGA bios
  project (http://www.nongnu.org/vgabios/).

- OpenBIOS (http://www.openbios.org/) is a free (GPL v2) portable
  firmware implementation. The goal is to implement a 100% IEEE
  1275-1994 (referred to as Open Firmware) compliant firmware.
  The included images for PowerPC (for 32 and 64 bit PPC CPUs),
  Sparc32 (including QEMU,tcx.bin and QEMU,cgthree.bin) and Sparc64 are built
  from OpenBIOS SVN revision 1280.

- SLOF (Slimline Open Firmware) is a free IEEE 1275 Open Firmware
  implementation for certain IBM POWER hardware.  The sources are at
  https://github.com/aik/SLOF, and the image currently in qemu is
  built from git tag qemu-slof-20200327.

- sgabios (the Serial Graphics Adapter option ROM) provides a means for
  legacy x86 software to communicate with an attached serial console as
  if a video card were attached.  The master sources reside in a subversion
  repository at http://sgabios.googlecode.com/svn/trunk.  A git mirror is
  available at https://git.qemu.org/git/sgabios.git.

- The PXE roms come from the iPXE project. Built with BANNER_TIME 0.
  Sources available at http://ipxe.org.  Vendor:Device ID -> ROM mapping:

	8086:100e -> pxe-e1000.rom
	8086:1209 -> pxe-eepro100.rom
	1050:0940 -> pxe-ne2k_pci.rom
	1022:2000 -> pxe-pcnet.rom
	10ec:8139 -> pxe-rtl8139.rom
	1af4:1000 -> pxe-virtio.rom

- The sources for the Alpha palcode image is available from:
  https://github.com/rth7680/qemu-palcode.git

- The u-boot binary for e500 comes from the upstream denx u-boot project where
  it was compiled using the qemu-ppce500 target.
  A git mirror is available at: https://git.qemu.org/git/u-boot.git
  The hash used to compile the current version is: 2072e72

- Skiboot (https://github.com/open-power/skiboot/) is an OPAL
  (OpenPower Abstraction Layer) firmware for OpenPOWER systems. It can
  run an hypervisor OS or simply a host OS on the "baremetal"
  platform, also known as the PowerNV (Non-Virtualized) platform.

- QemuMacDrivers (https://github.com/ozbenh/QemuMacDrivers) is a project to
  provide virtualised drivers for PPC MacOS guests.

- The "edk2-*.fd.bz2" images are platform firmware binaries and matching UEFI
  variable store templates built from the TianoCore community's EFI Development
  Kit II project
  <https://github.com/tianocore/tianocore.github.io/wiki/EDK-II>. The images
  were built at git tag "edk2-stable201905". The firmware binaries bundle parts
  of the OpenSSL project, at git tag "OpenSSL_1_1_1b" (the OpenSSL tag is a
  function of the edk2 tag). Parts of the Berkeley SoftFloat library are
  bundled as well, at Release 3e plus a subsequent typo fix (commit
  b64af41c3276f97f0e181920400ee056b9c88037), as an OpenSSL dependency on 32-bit
  ARM. Licensing information is given in "edk2-licenses.txt". The image files
  are described by the JSON documents in the "pc-bios/descriptors" directory,
  which conform to the "docs/interop/firmware.json" schema.

- 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.