##
## This file is part of the coreboot project.
##
-## Copyright (C) 2007 coresystems GmbH
+## Copyright (C) 2007-2010 coresystems GmbH
## (Written by Stefan Reinauer <stepan@coresystems.de> for coresystems GmbH)
##
## This program is free software; you can redistribute it and/or modify
prompt "Option ROM execution type"
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
+ depends on PCI_ROM_RUN || VGA_ROM_RUN || GEODE_VSA
config PCI_OPTION_ROM_RUN_REALMODE
- prompt "Real mode"
+ prompt "Native mode"
bool
depends on ARCH_X86
help
so this is the fastest, but also the least secure option.
(only works on x86/x64 systems)
-config PCI_OPTION_ROM_RUN_X86EMU
- prompt "x86emu"
- bool
- help
- 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_YABEL
- prompt "YABEL"
+ prompt "Secure mode"
bool
+ depends on !GEODE_VSA
help
- If you select this option, the YABEL system emulator will be used to
+ If you select this option, the x86emu CPU 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.
+
+ This option 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 native option ROM initialization
+ method.
+
+ This is the default choice for non-x86 systems.
endchoice
config YABEL_PCI_ACCESS_OTHER_DEVICES
- prompt "Allow option roms to acces other devices"
+ prompt "Allow option ROMs to access other devices"
bool
depends on PCI_OPTION_ROM_RUN_YABEL
help
- Per default, YABEL only allows option roms to access the PCI device
+ Per default, YABEL only allows option ROMs to access the PCI device
that they are associated with. However, this causes trouble for some
- onboard graphics chips whose option rom needs to reconfigure the
- north bridge.
+ onboard graphics chips whose option ROM needs to reconfigure the
+ north bridge.
config YABEL_VIRTMEM_LOCATION
prompt "Location of YABEL's virtual memory"
hex
- depends on EXPERT
+ depends on PCI_OPTION_ROM_RUN_YABEL && EXPERT
default 0x1000000
help
YABEL requires 1MB memory for its CPU emulation. This memory is
normally located at 16MB.
-# TODO: Describe better, and/or make a "choice" selection for this.
-config YABEL_DEBUG_FLAGS
- prompt "Hex value for YABEL debug flags"
+config YABEL_VIRTMEM_LOCATION
hex
- default 0x0
+ depends on PCI_OPTION_ROM_RUN_YABEL && !EXPERT
+ default 0x1000000
+
+config YABEL_DIRECTHW
+ prompt "Direct hardware access"
+ bool
depends on PCI_OPTION_ROM_RUN_YABEL
help
- See debug.h for values 0 is no debug output, 0x31ff is _verbose_.
+ 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).
+
+ When choosing this option, x86emu will pass through all hardware
+ accesses to memory and I/O devices to the underlying memory and I/O
+ 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.
+ Enable this option for a good compromise between security and speed.
config CONSOLE_VGA_MULTI
bool