Create autoconf.h during the build.
Move a couple of config settings from config.h to Kconfig. --- .gitignore | 2 ++ Makefile | 12 +++++++++--- src/Kconfig | 15 +++++++++++++++ src/config.h | 11 ++--------- src/defconfig | 6 ++++++ 5 files changed, 34 insertions(+), 12 deletions(-) create mode 100644 src/Kconfig create mode 100644 src/defconfig
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 b67c8fc..e830728 100644 --- a/Makefile +++ b/Makefile @@ -119,11 +119,11 @@ $(OUT)asm-offsets.h: $(OUT)asm-offsets.s $(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 +200,12 @@ export KCONFIG_AUTOHEADER := autoconf.h export KCONFIG_CONFIG := $(CURDIR)/.config MAKEFLAGS += --no-print-directory
+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. diff --git a/src/defconfig b/src/defconfig new file mode 100644 index 0000000..f632a4a --- /dev/null +++ b/src/defconfig @@ -0,0 +1,6 @@ +# SeaBIOS default configuration +# +# CONFIG_COREBOOT is not set +CONFIG_DEBUG_LEVEL=1 +# CONFIG_DEBUG_SERIAL is not set +# CONFIG_VGAHOOKS is not set