summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKevin O'Connor <kevin@koconnor.net>2011-01-26 21:19:25 -0500
committerKevin O'Connor <kevin@koconnor.net>2011-01-29 09:44:33 -0500
commit713be89d5c60ea1e41a64c123a735ab9dc0dae99 (patch)
treeeb2c1ca9b81a2a1cd3304c2edce540fe05dbe941
parentb623e7c56883d69049d3060d148c5b0c9d71fafc (diff)
Start using Kconfig to configure SeaBIOS settings.
Create autoconf.h during the build. Move a couple of config settings from config.h to Kconfig.
-rw-r--r--.gitignore2
-rw-r--r--Makefile14
-rw-r--r--src/Kconfig15
-rw-r--r--src/config.h11
4 files changed, 30 insertions, 12 deletions
diff --git a/.gitignore b/.gitignore
index 3aa6a21..f9990fe 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,4 @@
out
*.pyc
+.config
+.config.old
diff --git a/Makefile b/Makefile
index c7dfc0b..3f89caf 100644
--- a/Makefile
+++ b/Makefile
@@ -115,16 +115,18 @@ $(OUT)%.lds: %.lds.S
@echo " Precompiling $@"
$(Q)$(CPP) -P -D__ASSEMBLY__ $< -o $@
+$(OUT)asm-offsets.s: $(OUT)autoconf.h
+
$(OUT)asm-offsets.h: $(OUT)asm-offsets.s
@echo " Generating offset file $@"
$(Q)./tools/gen-offsets.sh $< $@
-$(OUT)ccode.16.s: ; $(call whole-compile, $(CFLAGS16) -S, $(addprefix src/, $(SRC16)),$@)
+$(OUT)ccode.16.s: $(OUT)autoconf.h ; $(call whole-compile, $(CFLAGS16) -S, $(addprefix src/, $(SRC16)),$@)
-$(OUT)code32seg.o: ; $(call whole-compile, $(CFLAGS32SEG), $(addprefix src/, $(SRC32SEG)),$@)
+$(OUT)code32seg.o: $(OUT)autoconf.h ; $(call whole-compile, $(CFLAGS32SEG), $(addprefix src/, $(SRC32SEG)),$@)
-$(OUT)ccode32flat.o: ; $(call whole-compile, $(CFLAGS32FLAT), $(addprefix src/, $(SRC32FLAT)),$@)
+$(OUT)ccode32flat.o: $(OUT)autoconf.h ; $(call whole-compile, $(CFLAGS32FLAT), $(addprefix src/, $(SRC32FLAT)),$@)
$(OUT)code16.o: romlayout.S $(OUT)ccode.16.s $(OUT)asm-offsets.h
@echo " Compiling (16bit) $@"
@@ -200,6 +202,12 @@ export CONFIG_SHELL := sh
export KCONFIG_AUTOHEADER := autoconf.h
export KCONFIG_CONFIG := $(CURDIR)/.config
+$(OUT)autoconf.h : $(KCONFIG_CONFIG)
+ $(Q)$(MAKE) silentoldconfig
+
+$(KCONFIG_CONFIG):
+ $(Q)$(MAKE) defconfig
+
%onfig:
$(Q)mkdir -p $(OUT)/tools/kconfig/lxdialog
$(Q)mkdir -p $(OUT)/include/config
diff --git a/src/Kconfig b/src/Kconfig
new file mode 100644
index 0000000..f753c63
--- /dev/null
+++ b/src/Kconfig
@@ -0,0 +1,15 @@
+# Kconfig SeaBIOS configuration
+
+mainmenu "SeaBIOS Configuration"
+ config COREBOOT
+ bool "Configure as a coreboot payload."
+ default n
+ config DEBUG_LEVEL
+ int "Control how verbose debug output is."
+ default 1
+ config DEBUG_SERIAL
+ bool "Send debugging information to serial port"
+ default n
+ config VGAHOOKS
+ bool "Support bios callbacks specific to via vgabios."
+ default n
diff --git a/src/config.h b/src/config.h
index db3e578..6356941 100644
--- a/src/config.h
+++ b/src/config.h
@@ -1,6 +1,8 @@
#ifndef __CONFIG_H
#define __CONFIG_H
+#include "../out/autoconf.h"
+
// Configuration definitions.
//#define CONFIG_APPNAME "QEMU"
@@ -12,13 +14,6 @@
#define CONFIG_APPNAME6 "BOCHS "
#define CONFIG_APPNAME4 "BXPC"
-// Configure as a coreboot payload.
-#define CONFIG_COREBOOT 0
-
-// Control how verbose debug output is.
-#define CONFIG_DEBUG_LEVEL 1
-// Send debugging information to serial port
-#define CONFIG_DEBUG_SERIAL 0
// Screen writes are also sent to debug ports.
#define CONFIG_SCREEN_AND_DEBUG 1
@@ -119,8 +114,6 @@
#define CONFIG_UUID_BACKDOOR 1
// Support generation of ACPI tables (for emulators)
#define CONFIG_ACPI 1
-// Support bios callbacks specific to via vgabios.
-#define CONFIG_VGAHOOKS 0
// Support S3 resume handler.
#define CONFIG_S3_RESUME 1
// Run the vga rom during S3 resume.