
This is the initial attempt to support booting SeaBIOS from U-Boot.
This is tested: - On Intel Crown Bay board with a PCIe graphics card, booting SeaBIOS then chain-loading a GRUB on a USB drive, then Linux kernel finally. - On QEMU x86 target with U-Boot chain-loading SeaBIOS to install/boot a Windows XP OS.
This series is available on u-boot-x86/seabios-working.
Previous RFC patch @ http://patchwork.ozlabs.org/patch/523764/
Bin Meng (12): x86: Move asm/arch-coreboot/tables.h to a common place x86: Move sysinfo related to sysinfo.h x86: Clean up coreboot_tables.h x86: Change to use start/end address pair in write_tables() x86: Use a macro for ROM table alignment x86: Change write_acpi_tables() signature a little bit x86: Simplify codes in write_tables() x86: Support writing configuration tables in high area x86: Implement functions for writing coreboot table x86: Support booting SeaBIOS x86: qemu: Enable ACPI table generation by default x86: Document how to play with SeaBIOS
arch/x86/Kconfig | 10 ++ arch/x86/cpu/coreboot/sdram.c | 1 - arch/x86/cpu/coreboot/tables.c | 1 - arch/x86/cpu/qemu/fw_cfg.c | 5 +- arch/x86/include/asm/acpi_table.h | 2 +- arch/x86/include/asm/arch-coreboot/sysinfo.h | 4 +- .../{arch-coreboot/tables.h => coreboot_tables.h} | 167 +++++++++++---------- arch/x86/include/asm/tables.h | 5 + arch/x86/lib/Makefile | 1 + arch/x86/lib/acpi_table.c | 4 +- arch/x86/lib/coreboot_table.c | 136 +++++++++++++++++ arch/x86/lib/tables.c | 77 +++++++--- configs/qemu-x86_defconfig | 1 + doc/README.x86 | 49 +++++- drivers/video/coreboot_fb.c | 1 - 15 files changed, 356 insertions(+), 108 deletions(-) rename arch/x86/include/asm/{arch-coreboot/tables.h => coreboot_tables.h} (53%) create mode 100644 arch/x86/lib/coreboot_table.c