Message ID | 20200717060258.1602319-7-hskinnemoen@google.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Add Nuvoton NPCM730/NPCM750 SoCs and two BMC machines | expand |
On 7/17/20 8:02 AM, Havard Skinnemoen wrote: > 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. > > Signed-off-by: Havard Skinnemoen <hskinnemoen@google.com> > --- > Makefile | 1 + > .gitmodules | 3 +++ > pc-bios/npcm7xx_bootrom.bin | Bin 0 -> 768 bytes > roms/Makefile | 7 +++++++ > roms/vbootrom | 1 + pc-bios/README MAINTAINERS need an update. C. > 5 files changed, 12 insertions(+) > create mode 100644 pc-bios/npcm7xx_bootrom.bin > create mode 160000 roms/vbootrom > > diff --git a/Makefile b/Makefile > index 32345c610e..56473c788d 100644 > --- a/Makefile > +++ b/Makefile > @@ -838,6 +838,7 @@ s390-ccw.img s390-netboot.img \ > slof.bin skiboot.lid \ > palcode-clipper \ > u-boot.e500 u-boot-sam460-20100605.bin \ > +npcm7xx_bootrom.bin \ > qemu_vga.ndrv \ > edk2-licenses.txt \ > hppa-firmware.img \ > diff --git a/.gitmodules b/.gitmodules > index 9c0501a4d4..c95eaf8284 100644 > --- a/.gitmodules > +++ b/.gitmodules > @@ -58,3 +58,6 @@ > [submodule "roms/qboot"] > path = roms/qboot > url = https://github.com/bonzini/qboot > +[submodule "roms/vbootrom"] > + path = roms/vbootrom > + url = https://github.com/google/vbootrom.git > diff --git a/pc-bios/npcm7xx_bootrom.bin b/pc-bios/npcm7xx_bootrom.bin > new file mode 100644 > index 0000000000000000000000000000000000000000..38f89d1b97b0c2e133af2a9fbed0521be132065b > GIT binary patch > literal 768 > zcmd5)JxClu6n-<aczPbVhZYusb8wKx;7TklHfmuZdYT9pDRLwd1p_t-DFpWpyA+8( > zwKtZg3J4a0aCM3_X(ZL&4g;46VVk5e$K;z;L99|b@aE%v^S$rQ8)h(Vm@cB9IYc+2 > z2SHd4^NwTIGE%w>9S05p1#kf90Sj5Z(jG8}+)IZIp~iXK=T&)dL`%d-q*8aR#mq{7 > z9`=6;Dr(H0ACe72R5x?!)^86Qj-X%{+!K9iZNA@*wkBAV&iZ(l^I9?!Gz=S2I_*1d > zr+tTQDHjvyzKnw(hu00yX`u!Fv<!~XVcX?@kr#<B0(gGU?$W{gSsQa}CF^8Cfzp2X > z@P}yDV-bci(K9XL$FU!som2C`c)?Uc&294s^}Wzumap{hg1X^jN|V25M5tQZ=<9lN > z%(zKz#t-qCwHKb;HygOCpvCNL_4@1tXV1YGf^XUE_$zr{g8zWh-6gz-teI(eibtxo > z?0OZI4%rU0741PgUD`2xq@H|*4=+Rs?%N)Ox5G+q>C;DilBe_YlkeSUVHA-crNk+k > jtiF_MudA<CB(}8|fqYwCf3re&=&@_s761P#-ID$TwgmBa > > literal 0 > HcmV?d00001 > > diff --git a/roms/Makefile b/roms/Makefile > index f9acf39954..97e54fedeb 100644 > --- a/roms/Makefile > +++ b/roms/Makefile > @@ -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 > 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) > powerpc_cross_prefix := $(call find-cross-prefix,powerpc) > x86_64_cross_prefix := $(call find-cross-prefix,x86_64) > @@ -63,6 +64,7 @@ default help: > @echo " skiboot -- update skiboot.lid" > @echo " u-boot.e500 -- update u-boot.e500" > @echo " u-boot.sam460 -- update u-boot.sam460" > + @echo " npcm7xx_bootrom -- update vbootrom for npcm7xx" > @echo " efi -- update UEFI (edk2) platform firmware" > @echo " opensbi32-virt -- update OpenSBI for 32-bit virt machine" > @echo " opensbi64-virt -- update OpenSBI for 64-bit virt machine" > @@ -198,6 +200,10 @@ bios-microvm: > $(MAKE) -C qboot > 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: > rm -rf seabios/.config seabios/out seabios/builds > $(MAKE) -C sgabios clean > @@ -211,3 +217,4 @@ clean: > $(MAKE) -f Makefile.edk2 clean > $(MAKE) -C opensbi clean > $(MAKE) -C qboot clean > + $(MAKE) -C vbootrom clean > diff --git a/roms/vbootrom b/roms/vbootrom > new file mode 160000 > index 0000000000..0c37a43527 > --- /dev/null > +++ b/roms/vbootrom > @@ -0,0 +1 @@ > +Subproject commit 0c37a43527f0ee2b9584e7fb2fdc805e902635ac >
diff --git a/Makefile b/Makefile index 32345c610e..56473c788d 100644 --- a/Makefile +++ b/Makefile @@ -838,6 +838,7 @@ s390-ccw.img s390-netboot.img \ slof.bin skiboot.lid \ palcode-clipper \ u-boot.e500 u-boot-sam460-20100605.bin \ +npcm7xx_bootrom.bin \ qemu_vga.ndrv \ edk2-licenses.txt \ hppa-firmware.img \ diff --git a/.gitmodules b/.gitmodules index 9c0501a4d4..c95eaf8284 100644 --- a/.gitmodules +++ b/.gitmodules @@ -58,3 +58,6 @@ [submodule "roms/qboot"] path = roms/qboot url = https://github.com/bonzini/qboot +[submodule "roms/vbootrom"] + path = roms/vbootrom + url = https://github.com/google/vbootrom.git diff --git a/pc-bios/npcm7xx_bootrom.bin b/pc-bios/npcm7xx_bootrom.bin new file mode 100644 index 0000000000000000000000000000000000000000..38f89d1b97b0c2e133af2a9fbed0521be132065b GIT binary patch literal 768 zcmd5)JxClu6n-<aczPbVhZYusb8wKx;7TklHfmuZdYT9pDRLwd1p_t-DFpWpyA+8( zwKtZg3J4a0aCM3_X(ZL&4g;46VVk5e$K;z;L99|b@aE%v^S$rQ8)h(Vm@cB9IYc+2 z2SHd4^NwTIGE%w>9S05p1#kf90Sj5Z(jG8}+)IZIp~iXK=T&)dL`%d-q*8aR#mq{7 z9`=6;Dr(H0ACe72R5x?!)^86Qj-X%{+!K9iZNA@*wkBAV&iZ(l^I9?!Gz=S2I_*1d zr+tTQDHjvyzKnw(hu00yX`u!Fv<!~XVcX?@kr#<B0(gGU?$W{gSsQa}CF^8Cfzp2X z@P}yDV-bci(K9XL$FU!som2C`c)?Uc&294s^}Wzumap{hg1X^jN|V25M5tQZ=<9lN z%(zKz#t-qCwHKb;HygOCpvCNL_4@1tXV1YGf^XUE_$zr{g8zWh-6gz-teI(eibtxo z?0OZI4%rU0741PgUD`2xq@H|*4=+Rs?%N)Ox5G+q>C;DilBe_YlkeSUVHA-crNk+k jtiF_MudA<CB(}8|fqYwCf3re&=&@_s761P#-ID$TwgmBa literal 0 HcmV?d00001 diff --git a/roms/Makefile b/roms/Makefile index f9acf39954..97e54fedeb 100644 --- a/roms/Makefile +++ b/roms/Makefile @@ -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 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) powerpc_cross_prefix := $(call find-cross-prefix,powerpc) x86_64_cross_prefix := $(call find-cross-prefix,x86_64) @@ -63,6 +64,7 @@ default help: @echo " skiboot -- update skiboot.lid" @echo " u-boot.e500 -- update u-boot.e500" @echo " u-boot.sam460 -- update u-boot.sam460" + @echo " npcm7xx_bootrom -- update vbootrom for npcm7xx" @echo " efi -- update UEFI (edk2) platform firmware" @echo " opensbi32-virt -- update OpenSBI for 32-bit virt machine" @echo " opensbi64-virt -- update OpenSBI for 64-bit virt machine" @@ -198,6 +200,10 @@ bios-microvm: $(MAKE) -C qboot 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: rm -rf seabios/.config seabios/out seabios/builds $(MAKE) -C sgabios clean @@ -211,3 +217,4 @@ clean: $(MAKE) -f Makefile.edk2 clean $(MAKE) -C opensbi clean $(MAKE) -C qboot clean + $(MAKE) -C vbootrom clean diff --git a/roms/vbootrom b/roms/vbootrom new file mode 160000 index 0000000000..0c37a43527 --- /dev/null +++ b/roms/vbootrom @@ -0,0 +1 @@ +Subproject commit 0c37a43527f0ee2b9584e7fb2fdc805e902635ac
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. Signed-off-by: Havard Skinnemoen <hskinnemoen@google.com> --- Makefile | 1 + .gitmodules | 3 +++ pc-bios/npcm7xx_bootrom.bin | Bin 0 -> 768 bytes roms/Makefile | 7 +++++++ roms/vbootrom | 1 + 5 files changed, 12 insertions(+) create mode 100644 pc-bios/npcm7xx_bootrom.bin create mode 160000 roms/vbootrom