summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMyles Watson <mylesgw@gmail.com>2009-08-28 14:36:12 +0000
committerMyles Watson <mylesgw@gmail.com>2009-08-28 14:36:12 +0000
commite6804955c48f735074a6c56788bc9f65a412bbe2 (patch)
tree9ee4ff7d5f2bc1c7193b59940e2ee474066bdd2f
parent876d7e9658c4e27684393f04220b32aa11edf18c (diff)
Add Kconfig support for PCI option ROMS.
Signed-off-by: Myles Watson <mylesgw@gmail.com> Acked-by: Stefan Reinauer <stepan@coresystems.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@4609 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
-rw-r--r--Makefile1
-rw-r--r--src/devices/Kconfig54
-rw-r--r--src/devices/Makefile.inc4
-rw-r--r--util/x86emu/Makefile.inc5
-rw-r--r--util/x86emu/yabel/Makefile.inc8
-rw-r--r--util/x86emu/yabel/biosemu.c2
-rw-r--r--util/x86emu/yabel/compat/Makefile.inc1
7 files changed, 48 insertions, 27 deletions
diff --git a/Makefile b/Makefile
index 76ff1538fd..eefa9c2a7a 100644
--- a/Makefile
+++ b/Makefile
@@ -215,6 +215,7 @@ printall:
OBJS := $(patsubst %,$(obj)/%,$(TARGETS-y))
INCLUDES := -I$(top)/src -I$(top)/src/include -I$(obj) -I$(top)/src/arch/$(ARCHDIR-y)/include
INCLUDES += -I$(shell $(CC) -print-search-dirs | head -n 1 | cut -d' ' -f2)include
+INCLUDES += -I$(top)/util/x86emu/include
INCLUDES += -include $(obj)/build.h
try-run= $(shell set -e; \
diff --git a/src/devices/Kconfig b/src/devices/Kconfig
index 2b58f91751..37ff9b927c 100644
--- a/src/devices/Kconfig
+++ b/src/devices/Kconfig
@@ -21,34 +21,44 @@
menu "Devices"
config VGA_ROM_RUN
- bool
+ bool "Run VGA Option ROMs"
help
- Execute PCI/AGP option ROMs if available. This is required to
- enable PCI/AGP VGA plugin cards.
+ Execute VGA option ROMs if found. This is required to enable PCI/AGP
+ VGA plugin cards.
-choice
- prompt "Execute PCI option ROMs"
- default PCI_OPTION_ROM_RUN_REALMODE
+config PCI_ROM_RUN
+ bool "Run non-VGA Option ROMs"
help
- Execute PCI/AGP option ROMs if available. You can choose to
- execute PCI option ROMs natively (32bit x86 system required),
- in an emulator (x86emu), or ignore option ROM execution.
+ Execute non-VGA PCI option ROMs if found.
-config PCI_OPTION_ROM_RUN_REALMODE
- prompt "Run VGA ROMs"
- bool
- select VGA_ROM_RUN
- help
- Execute PCI/AGP option ROMs if available. This is required to
- enable PCI/AGP VGA plugin cards.
+choice
+ prompt "Option ROM Execution"
+ default PCI_OPTION_ROM_RUN_REALMODE
+ depends on PCI_ROM_RUN || VGA_ROM_RUN
+ help
+ You can choose to execute PCI option ROMs natively (32bit x86 system
+ required) or in an emulator (x86emu or YABEL).
+
+ config PCI_OPTION_ROM_RUN_REALMODE
+ prompt "Real mode"
+ bool
+
+ config PCI_OPTION_ROM_RUN_YABEL
+ prompt "YABEL"
+ bool
+
+ config PCI_OPTION_ROM_RUN_X86EMU
+ prompt "X86EMU"
+ bool
+endchoice
-config NO_RUN
- prompt "Do NOT run VGA ROMs"
- bool
+config YABEL_DEBUG_FLAGS
+ prompt "Hex value for debug flags"
+ hex
+ default 0x0
+ depends on PCI_OPTION_ROM_RUN_YABEL
help
- Do not execute PCI/AGP option ROMs.
-
-endchoice
+ See debug.h for values 0 is no debug output, 0x31ff is _verbose_.
endmenu
diff --git a/src/devices/Makefile.inc b/src/devices/Makefile.inc
index 9ef4e69517..0c6677a57b 100644
--- a/src/devices/Makefile.inc
+++ b/src/devices/Makefile.inc
@@ -12,8 +12,8 @@ obj-y += pci_ops.o
obj-y += smbus_ops.o
ifeq ($(CONFIG_PCI_ROM_RUN),y)
-obj-$(CONFIG_PCI_ROM_RUN) += pci_rom.o
-subdirs-$(CONFIG_PCI_ROM_RUN) += ../../util/x86emu
+obj-y += pci_rom.o
+subdirs-y += ../../util/x86emu
else
obj-$(CONFIG_VGA_ROM_RUN) += pci_rom.o
subdirs-$(CONFIG_VGA_ROM_RUN) += ../../util/x86emu
diff --git a/util/x86emu/Makefile.inc b/util/x86emu/Makefile.inc
index 52a69b17a8..b5c3eb4b7c 100644
--- a/util/x86emu/Makefile.inc
+++ b/util/x86emu/Makefile.inc
@@ -19,9 +19,12 @@
##
subdirs-$(CONFIG_PCI_OPTION_ROM_RUN_X86EMU) += x86emu
-obj-$(CONFIG_PCI_OPTION_ROM_RUN_X86EMU) += biosemu.c
+obj-$(CONFIG_PCI_OPTION_ROM_RUN_X86EMU) += biosemu.o
subdirs-$(CONFIG_PCI_OPTION_ROM_RUN_X86EMU) += pcbios
obj-$(CONFIG_PCI_OPTION_ROM_RUN_REALMODE) += x86.o
obj-$(CONFIG_PCI_OPTION_ROM_RUN_REALMODE) += x86_asm.o
obj-$(CONFIG_PCI_OPTION_ROM_RUN_REALMODE) += x86_interrupts.o
+
+subdirs-$(CONFIG_PCI_OPTION_ROM_RUN_YABEL) += x86emu
+subdirs-$(CONFIG_PCI_OPTION_ROM_RUN_YABEL) += yabel
diff --git a/util/x86emu/yabel/Makefile.inc b/util/x86emu/yabel/Makefile.inc
new file mode 100644
index 0000000000..fc6a8a0a9f
--- /dev/null
+++ b/util/x86emu/yabel/Makefile.inc
@@ -0,0 +1,8 @@
+obj-y += biosemu.o
+obj-y += debug.o
+obj-y += device.o
+obj-y += interrupt.o
+obj-y += io.o
+obj-y += mem.o
+obj-y += pmm.o
+subdirs-y += compat
diff --git a/util/x86emu/yabel/biosemu.c b/util/x86emu/yabel/biosemu.c
index 74772e8642..04c440d0a6 100644
--- a/util/x86emu/yabel/biosemu.c
+++ b/util/x86emu/yabel/biosemu.c
@@ -56,8 +56,6 @@ static X86EMU_pioFuncs my_pio_funcs = {
/* interrupt function override array (see biosemu.h) */
yabel_handleIntFunc yabel_intFuncArray[256];
-void dump(u8 * addr, u32 len);
-
/* main entry into YABEL biosemu, arguments are:
* *biosmem = pointer to virtual memory
* biosmem_size = size of the virtual memory
diff --git a/util/x86emu/yabel/compat/Makefile.inc b/util/x86emu/yabel/compat/Makefile.inc
new file mode 100644
index 0000000000..00080f5406
--- /dev/null
+++ b/util/x86emu/yabel/compat/Makefile.inc
@@ -0,0 +1 @@
+obj-y += functions.o