diff options
author | Stefan Reinauer <stepan@coresystems.de> | 2010-01-31 21:46:12 +0000 |
---|---|---|
committer | Stefan Reinauer <stepan@openbios.org> | 2010-01-31 21:46:12 +0000 |
commit | 14be4d0d521826c0917ff7a42c6c847be5cec85a (patch) | |
tree | 52bc43bcc74d102c9504563200d48361d764e3c9 | |
parent | 15b03541076acf1fd01dffc81cc50602c80eb351 (diff) | |
download | coreboot-14be4d0d521826c0917ff7a42c6c847be5cec85a.tar.xz |
- 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/Kconfig | 38 |
1 files changed, 28 insertions, 10 deletions
diff --git a/src/devices/Kconfig b/src/devices/Kconfig index 96084f95b2..f247d89926 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 |