qemu-riscv
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-riscv] [Qemu-devel] [PULL 33/34] roms: Add OpenSBI version 0.3


From: Palmer Dabbelt
Subject: Re: [Qemu-riscv] [Qemu-devel] [PULL 33/34] roms: Add OpenSBI version 0.3
Date: Fri, 28 Jun 2019 10:10:56 -0700 (PDT)

On Fri, 28 Jun 2019 09:12:45 PDT (-0700), address@hidden wrote:
On Fri, Jun 28, 2019 at 2:47 AM Jonathan Cameron
<address@hidden> wrote:

On Thu, 27 Jun 2019 08:20:10 -0700
Palmer Dabbelt <address@hidden> wrote:

> From: Alistair Francis <address@hidden>
>
> Add OpenSBI version 0.3 as a git submodule and as a prebult binary.
>
> Signed-off-by: Alistair Francis <address@hidden>
> Reviewed-by: Bin Meng <address@hidden>
> Tested-by: Bin Meng <address@hidden>
> Signed-off-by: Palmer Dabbelt <address@hidden>

I sent a late bug report on this one.. Hence posting here as well
to make sure it doesn't fall through the cracks!

Right now you can't actually build the opensbi64-virt firmware
due to cut and paste error in the Makefile.

Ah, thanks for the bug report.

@Palmer Dabbelt I'm just going to send you a fixup commit. Can you
apply it to your tree and send a PRv2?

WFM.



As a side note, I hit this because OpenSBI 0.3 is resulting in a login
loop on a debian test image and the current upstream isn't.  I haven't
debugged yet, but someone else may hit that problem.

Unfortunately OpenSBI 0.3 is a little old now, in saying that I didn't
know there are bugs in it? Which kernel are you using?

Alistair


Thanks,

Jonathan

> diff --git a/roms/Makefile b/roms/Makefile
> index 078d3fb70563..562ed726fd6b 100644
> --- a/roms/Makefile
> +++ b/roms/Makefile
> @@ -37,6 +37,8 @@ find-cross-prefix = $(subst gcc,,$(notdir $(call 
find-cross-gcc,$(1))))
>  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)
> +riscv32_cross_prefix := $(call find-cross-prefix,riscv32)
> +riscv64_cross_prefix := $(call find-cross-prefix,riscv64)
>
>  # tag our seabios builds
>  SEABIOS_EXTRAVERSION="-prebuilt.qemu.org"
> @@ -52,18 +54,21 @@ EDK2_EFIROM = edk2/BaseTools/Source/C/bin/EfiRom
>  default:
>       @echo "nothing is build by default"
>       @echo "available build targets:"
> -     @echo "  bios           -- update bios.bin (seabios)"
> -     @echo "  vgabios        -- update vgabios binaries (seabios)"
> -     @echo "  sgabios        -- update sgabios binaries"
> -     @echo "  pxerom         -- update nic roms (bios only)"
> -     @echo "  efirom         -- update nic roms (bios+efi)"
> -     @echo "  slof           -- update slof.bin"
> -     @echo "  skiboot        -- update skiboot.lid"
> -     @echo "  u-boot.e500    -- update u-boot.e500"
> -     @echo "  u-boot.sam460  -- update u-boot.sam460"
> -     @echo "  efi            -- update UEFI (edk2) platform firmware"
> -     @echo "  clean          -- delete the files generated by the previous" \
> -                               "build targets"
> +     @echo "  bios               -- update bios.bin (seabios)"
> +     @echo "  vgabios            -- update vgabios binaries (seabios)"
> +     @echo "  sgabios            -- update sgabios binaries"
> +     @echo "  pxerom             -- update nic roms (bios only)"
> +     @echo "  efirom             -- update nic roms (bios+efi)"
> +     @echo "  slof               -- update slof.bin"
> +     @echo "  skiboot            -- update skiboot.lid"
> +     @echo "  u-boot.e500        -- update u-boot.e500"
> +     @echo "  u-boot.sam460      -- update u-boot.sam460"
> +     @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"
> +     @echo "  opensbi64-sifive_u -- update OpenSBI for 64-bit sifive_u 
machine"
> +     @echo "  clean              -- delete the files generated by the 
previous" \
> +                                   "build targets"
>
>  bios: build-seabios-config-seabios-128k build-seabios-config-seabios-256k
>       cp seabios/builds/seabios-128k/bios.bin ../pc-bios/bios.bin
> @@ -162,6 +167,24 @@ skiboot:
>  efi: edk2-basetools
>       $(MAKE) -f Makefile.edk2
>
> +opensbi32-virt:
> +     $(MAKE) -C opensbi \
> +             CROSS_COMPILE=$(riscv32_cross_prefix) \
> +             PLATFORM="qemu/virt"
> +     cp opensbi/build/platform/qemu/virt/firmware/fw_jump.bin 
../pc-bios/opensbi-riscv32-virt-fw_jump.bin
> +
> +opensbi64-virt:
> +     $(MAKE) -C opensbi \
> +             CROSS_COMPILE=$(riscv64_cross_prefix) \
> +             PLATFORM="qemu/virt"
> +     cp opensbi/build/platform/qemu/virt/firmware/fw_jump.bin 
../pc-bios/opensbi-riscv64-virt-fw_jump.bin
> +
> +opensbi64-virt:

Cut and paste buglet.  opensbi64-sifive_u

> +     $(MAKE) -C opensbi \
> +             CROSS_COMPILE=$(riscv64_cross_prefix) \
> +             PLATFORM="qemu/sifive_u"
> +     cp opensbi/build/platform/qemu/virt/firmware/fw_jump.bin 
../pc-bios/opensbi-riscv64-sifive_u-fw_jump.bin
> +
>  clean:
>       rm -rf seabios/.config seabios/out seabios/builds
>       $(MAKE) -C sgabios clean
> @@ -173,3 +196,4 @@ clean:
>       $(MAKE) -C u-boot-sam460ex distclean
>       $(MAKE) -C skiboot clean
>       $(MAKE) -f Makefile.edk2 clean
> +     $(MAKE) -C opensbi clean
> diff --git a/roms/opensbi b/roms/opensbi
> new file mode 160000
> index 000000000000..ca20ac0cd4c0
> --- /dev/null
> +++ b/roms/opensbi
> @@ -0,0 +1 @@
> +Subproject commit ca20ac0cd4c099006d4eea4d9ac7bd7b58e2ae0f






reply via email to

[Prev in Thread] Current Thread [Next in Thread]