summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefan Reinauer <stepan@coresystems.de>2010-01-31 21:46:12 +0000
committerStefan Reinauer <stepan@openbios.org>2010-01-31 21:46:12 +0000
commit14be4d0d521826c0917ff7a42c6c847be5cec85a (patch)
tree52bc43bcc74d102c9504563200d48361d764e3c9
parent15b03541076acf1fd01dffc81cc50602c80eb351 (diff)
downloadcoreboot-staging-14be4d0d521826c0917ff7a42c6c847be5cec85a.zip
coreboot-staging-14be4d0d521826c0917ff7a42c6c847be5cec85a.tar.gz
- Improve help texts for option ROM initialization methods
- disallow REAL_MODE method if ARCH_X86 is not set. Signed-off-by: Stefan Reinauer <stepan@coresystems.de> Acked-by: Stefan Reinauer <stepan@coresystems.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@5072 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
-rw-r--r--src/devices/Kconfig38
1 files changed, 28 insertions, 10 deletions
diff --git a/src/devices/Kconfig b/src/devices/Kconfig
index 96084f9..f247d89 100644
--- a/src/devices/Kconfig
+++ b/src/devices/Kconfig
@@ -42,32 +42,50 @@ config PCI_ROM_RUN
Examples include IDE/SATA controller option ROMs and option ROMs
for network cards (NICs).
-# TODO: Describe YABEL vs. x86emu differences in more detail.
choice
prompt "Option ROM execution type"
- default PCI_OPTION_ROM_RUN_REALMODE
+ default PCI_OPTION_ROM_RUN_YABEL if !ARCH_X86
+ default PCI_OPTION_ROM_RUN_REALMODE if ARCH_X86
depends on PCI_ROM_RUN || VGA_ROM_RUN
config PCI_OPTION_ROM_RUN_REALMODE
prompt "Real mode"
bool
+ depends on ARCH_X86
help
If you select this option, PCI option ROMs will be executed
- natively on the hardware (a 32bit x86 system is required).
+ natively on the CPU in real mode. No CPU emulation is involved,
+ so this is the fastest, but also the least secure option.
+ (only works on x86/x64 systems)
-config PCI_OPTION_ROM_RUN_YABEL
- prompt "YABEL"
+config PCI_OPTION_ROM_RUN_X86EMU
+ prompt "x86emu"
bool
help
- If you select this option, the YABEL BIOS emulator will be used to
- execute PCI option ROMs.
+ If you select this option, the x86emu CPU emulator will be used to
+ execute PCI option ROMs.
+ When choosing this option, x86emu will pass through all hardware
+ accesses to memory and IO devices to the underlying memory and IO
+ addresses. While this option prevents option ROMs from doing dirty
+ tricks with the CPU (such as installing SMM modules or hypervisors),
+ they can still access all devices in the system.
+ Choosing x86emu, option ROM execution is slower than native execution
+ in real mode, but faster than the full system emulation YABEL
+ This is the default choice for non-x86 systems.
-config PCI_OPTION_ROM_RUN_X86EMU
- prompt "x86emu"
+config PCI_OPTION_ROM_RUN_YABEL
+ prompt "YABEL"
bool
help
- If you select this option, the x86emu BIOS emulator will be used to
+ If you select this option, the YABEL system emulator will be used to
execute PCI option ROMs.
+ YABEL consists of two parts: It uses x86emu for the CPU emulation and
+ additionally provides a PC system emulation that filters bad device and
+ memory access (such as PCI config space access to other devices than the
+ initialized one).
+ This option best prevents option ROMs from doing dirty tricks with the
+ system (such as installing SMM modules or hypervisors), but it is also
+ significantly slower than the other option ROM initialization methods.
endchoice
OpenPOWER on IntegriCloud