mb/emulation/qemu-q35,qemu-i440fx: Add x86_64 support

* Enable optional x86_64 romstage, postcar and ramstage
* Add Kconfig for x86_64 compilation
* Add documentation for x86 qemu mainboards
* Increase CAR stack as x86_64 uses more than 0x4000 bytes

Working:
* Boots to Linux
* Boots to SeaBIOS
* Drops to protected mode at end of ramstage
* Enumerates PCI devices
* Relocateable ramstage
* SMM

Change-Id: If2f02a95b2f91ab51043d4e81054354f4a6eb5d5
Signed-off-by: Patrick Rudolph <siro@das-labor.org>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/29667
Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
Patrick Rudolph
2018-11-15 13:42:15 +01:00
committed by Patrick Rudolph
parent e3dd57e106
commit 57907fcebf
5 changed files with 165 additions and 19 deletions

View File

@@ -2,12 +2,29 @@
config CPU_QEMU_X86
bool
select ARCH_BOOTBLOCK_X86_32
select ARCH_VERSTAGE_X86_32
select ARCH_ROMSTAGE_X86_32
select ARCH_RAMSTAGE_X86_32
select SMP
select UDELAY_TSC
select TSC_MONOTONIC_TIMER
select UNKNOWN_TSC_RATE
select SMM_ASEG
if CPU_QEMU_X86
config CPU_QEMU_X86_64
bool "Experimental 64bit support"
select ARCH_BOOTBLOCK_X86_64
select ARCH_VERSTAGE_X86_64
select ARCH_ROMSTAGE_X86_64
select ARCH_POSTCAR_X86_64
select ARCH_RAMSTAGE_X86_64
config CPU_QEMU_X86_32
bool
default n if CPU_QEMU_X86_64
default y
select ARCH_BOOTBLOCK_X86_32
select ARCH_VERSTAGE_X86_32
select ARCH_ROMSTAGE_X86_32
select ARCH_POSTCAR_X86_32
select ARCH_RAMSTAGE_X86_32
endif