Hi Heinrich, On Sat, May 2, 2020 at 9:38 PM Heinrich Schuchardt <[email protected]> wrote: > > On 5/1/20 3:36 PM, Simon Glass wrote: > > Coreboot is a first-stage bootloader mostly used on x86 devices as an > > alternative to UEFI. Coreboot runs in 32-bit mode. > > > > U-Boot currently supports booting from coreboot as a second-stage > > bootloader, also in 32-bit mode. However it is useful to be able to run > > U-Boot in 64-bit mode. To do this we can have a 32-bit SPL which switches > > over the CPU and jumps to a 64-bit U-Boot proper. > > > > Add a new 'coreboot64' board for running 64-bit U-Boot from coreboot. This > > uses binman to create an image with a 32-bit SPL and a 64-bit U-Boot. > > > > This allows running 64-bit EFI images on x86, for example, without needing > > a native U-Boot port for a board. > > > > Signed-off-by: Simon Glass <[email protected]> > > --- > > > > Changes in v5: > > - Rewrite commit message to explain what coreboot is > > > > board/coreboot/coreboot/MAINTAINERS | 7 +++++ > > configs/coreboot64_defconfig | 48 +++++++++++++++++++++++++++++ > > doc/board/coreboot/coreboot.rst | 10 ++++++ > > 3 files changed, 65 insertions(+) > > create mode 100644 configs/coreboot64_defconfig > > > > diff --git a/board/coreboot/coreboot/MAINTAINERS > > b/board/coreboot/coreboot/MAINTAINERS > > index 188906b080..a05673bb0b 100644 > > --- a/board/coreboot/coreboot/MAINTAINERS > > +++ b/board/coreboot/coreboot/MAINTAINERS > > @@ -4,3 +4,10 @@ S: Maintained > > F: board/coreboot/coreboot/ > > F: include/configs/chromebook_link.h > > F: configs/coreboot_defconfig > > + > > +COREBOOT64 BOARD > > +M: Simon Glass <[email protected]> > > +S: Maintained > > +F: board/coreboot/coreboot/ > > +F: include/configs/chromebook_link.h > > +F: configs/coreboot64_defconfig > > diff --git a/configs/coreboot64_defconfig b/configs/coreboot64_defconfig > > new file mode 100644 > > index 0000000000..80353b8eb3 > > --- /dev/null > > +++ b/configs/coreboot64_defconfig > > @@ -0,0 +1,48 @@ > > +CONFIG_X86=y > > +CONFIG_SYS_TEXT_BASE=0x1120000 > > +CONFIG_ENV_SIZE=0x1000 > > +CONFIG_NR_DRAM_BANKS=8 > > +CONFIG_PRE_CON_BUF_ADDR=0x100000 > > +CONFIG_X86_RUN_64BIT=y > > +CONFIG_VENDOR_COREBOOT=y > > +CONFIG_TARGET_COREBOOT=y > > +CONFIG_SPL_TEXT_BASE=0x1110000 > > +CONFIG_FIT=y > > +CONFIG_FIT_SIGNATURE=y > > +CONFIG_SHOW_BOOT_PROGRESS=y > > +CONFIG_USE_BOOTARGS=y > > +CONFIG_BOOTARGS="root=/dev/sdb3 init=/sbin/init rootwait ro" > > The coreboot firmware supports a lot of different boards. The board may > have two SATA drives or may be using NVME drives instead. Why do we have > this BOOTARGS line instead of using CONFIG_DISTRO_DEFAULTS=y? >
Convert coreboot BOOTARGS

