roms: Add virtual Boot ROM for NPCM7xx SoCs
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>
This commit is contained in:
parent
b773acf4a6
commit
d1cb5eda67
3
.gitmodules
vendored
3
.gitmodules
vendored
@ -61,3 +61,6 @@
|
|||||||
[submodule "meson"]
|
[submodule "meson"]
|
||||||
path = meson
|
path = meson
|
||||||
url = https://github.com/mesonbuild/meson/
|
url = https://github.com/mesonbuild/meson/
|
||||||
|
[submodule "roms/vbootrom"]
|
||||||
|
path = roms/vbootrom
|
||||||
|
url = https://github.com/google/vbootrom.git
|
||||||
|
@ -757,6 +757,8 @@ L: qemu-arm@nongnu.org
|
|||||||
S: Supported
|
S: Supported
|
||||||
F: hw/*/npcm7xx*
|
F: hw/*/npcm7xx*
|
||||||
F: include/hw/*/npcm7xx*
|
F: include/hw/*/npcm7xx*
|
||||||
|
F: pc-bios/npcm7xx_bootrom.bin
|
||||||
|
F: roms/vbootrom
|
||||||
|
|
||||||
nSeries
|
nSeries
|
||||||
M: Andrzej Zaborowski <balrogg@gmail.com>
|
M: Andrzej Zaborowski <balrogg@gmail.com>
|
||||||
|
@ -71,3 +71,9 @@
|
|||||||
("Simplified BSD License" or "FreeBSD License", SPDX: BSD-2-Clause). OpenSBI
|
("Simplified BSD License" or "FreeBSD License", SPDX: BSD-2-Clause). OpenSBI
|
||||||
source code also contains code reused from other projects desribed here:
|
source code also contains code reused from other projects desribed here:
|
||||||
https://github.com/riscv/opensbi/blob/master/ThirdPartyNotices.md.
|
https://github.com/riscv/opensbi/blob/master/ThirdPartyNotices.md.
|
||||||
|
|
||||||
|
- npcm7xx_bootrom.bin is a simplified, free (Apache 2.0) boot ROM for Nuvoton
|
||||||
|
NPCM7xx BMC devices. It currently implements the bare minimum to load, parse,
|
||||||
|
initialize and run boot images stored in SPI flash, but may grow more
|
||||||
|
features over time as needed. The source code is available at:
|
||||||
|
https://github.com/google/vbootrom
|
||||||
|
@ -81,6 +81,7 @@ blobs = files(
|
|||||||
'opensbi-riscv64-generic-fw_dynamic.bin',
|
'opensbi-riscv64-generic-fw_dynamic.bin',
|
||||||
'opensbi-riscv32-generic-fw_dynamic.elf',
|
'opensbi-riscv32-generic-fw_dynamic.elf',
|
||||||
'opensbi-riscv64-generic-fw_dynamic.elf',
|
'opensbi-riscv64-generic-fw_dynamic.elf',
|
||||||
|
'npcm7xx_bootrom.bin',
|
||||||
)
|
)
|
||||||
|
|
||||||
if install_blobs
|
if install_blobs
|
||||||
|
BIN
pc-bios/npcm7xx_bootrom.bin
Normal file
BIN
pc-bios/npcm7xx_bootrom.bin
Normal file
Binary file not shown.
@ -34,6 +34,7 @@ find-cross-gcc = $(firstword $(wildcard $(patsubst %ld,%gcc,$(call find-cross-ld
|
|||||||
# finally strip off path + toolname so we get the prefix
|
# finally strip off path + toolname so we get the prefix
|
||||||
find-cross-prefix = $(subst gcc,,$(notdir $(call find-cross-gcc,$(1))))
|
find-cross-prefix = $(subst gcc,,$(notdir $(call find-cross-gcc,$(1))))
|
||||||
|
|
||||||
|
arm_cross_prefix := $(call find-cross-prefix,arm)
|
||||||
powerpc64_cross_prefix := $(call find-cross-prefix,powerpc64)
|
powerpc64_cross_prefix := $(call find-cross-prefix,powerpc64)
|
||||||
powerpc_cross_prefix := $(call find-cross-prefix,powerpc)
|
powerpc_cross_prefix := $(call find-cross-prefix,powerpc)
|
||||||
x86_64_cross_prefix := $(call find-cross-prefix,x86_64)
|
x86_64_cross_prefix := $(call find-cross-prefix,x86_64)
|
||||||
@ -63,6 +64,7 @@ default help:
|
|||||||
@echo " skiboot -- update skiboot.lid"
|
@echo " skiboot -- update skiboot.lid"
|
||||||
@echo " u-boot.e500 -- update u-boot.e500"
|
@echo " u-boot.e500 -- update u-boot.e500"
|
||||||
@echo " u-boot.sam460 -- update u-boot.sam460"
|
@echo " u-boot.sam460 -- update u-boot.sam460"
|
||||||
|
@echo " npcm7xx_bootrom -- update vbootrom for npcm7xx"
|
||||||
@echo " efi -- update UEFI (edk2) platform firmware"
|
@echo " efi -- update UEFI (edk2) platform firmware"
|
||||||
@echo " opensbi32-generic -- update OpenSBI for 32-bit generic machine"
|
@echo " opensbi32-generic -- update OpenSBI for 32-bit generic machine"
|
||||||
@echo " opensbi64-generic -- update OpenSBI for 64-bit generic machine"
|
@echo " opensbi64-generic -- update OpenSBI for 64-bit generic machine"
|
||||||
@ -185,6 +187,10 @@ bios-microvm:
|
|||||||
$(MAKE) -C qboot
|
$(MAKE) -C qboot
|
||||||
cp qboot/bios.bin ../pc-bios/bios-microvm.bin
|
cp qboot/bios.bin ../pc-bios/bios-microvm.bin
|
||||||
|
|
||||||
|
npcm7xx_bootrom:
|
||||||
|
$(MAKE) -C vbootrom CROSS_COMPILE=$(arm_cross_prefix)
|
||||||
|
cp vbootrom/npcm7xx_bootrom.bin ../pc-bios/npcm7xx_bootrom.bin
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -rf seabios/.config seabios/out seabios/builds
|
rm -rf seabios/.config seabios/out seabios/builds
|
||||||
$(MAKE) -C sgabios clean
|
$(MAKE) -C sgabios clean
|
||||||
@ -198,3 +204,4 @@ clean:
|
|||||||
$(MAKE) -f Makefile.edk2 clean
|
$(MAKE) -f Makefile.edk2 clean
|
||||||
$(MAKE) -C opensbi clean
|
$(MAKE) -C opensbi clean
|
||||||
$(MAKE) -C qboot clean
|
$(MAKE) -C qboot clean
|
||||||
|
$(MAKE) -C vbootrom clean
|
||||||
|
1
roms/vbootrom
Submodule
1
roms/vbootrom
Submodule
@ -0,0 +1 @@
|
|||||||
|
Subproject commit 0c37a43527f0ee2b9584e7fb2fdc805e902635ac
|
Loading…
Reference in New Issue
Block a user