oops, sorry for the last commit. This commit changes the code to distinguish
between having VSA functionality in the code, and adding a VSA image to the
ROM.

Signed-off-by: Stefan Reinauer <stepan@coresystems.de>
Acked-by: Stefan Reinauer <stepan@coresystems.de>



git-svn-id: svn://svn.coreboot.org/coreboot/trunk@5473 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
diff --git a/src/arch/i386/Makefile.inc b/src/arch/i386/Makefile.inc
index 24fd02a..f308fa0 100644
--- a/src/arch/i386/Makefile.inc
+++ b/src/arch/i386/Makefile.inc
@@ -25,8 +25,8 @@
 ifeq ($(CONFIG_AP_CODE_IN_CAR),y)
 COREBOOT_ROM_DEPENDENCIES+=$(obj)/coreboot_ap
 endif
-ifeq ($(CONFIG_GEODE_VSA),y)
-COREBOOT_ROM_DEPENDENCIES+=$(CONFIG_VSA_FILE)
+ifeq ($(CONFIG_GEODE_VSA_FILE),y)
+COREBOOT_ROM_DEPENDENCIES+=$(CONFIG_VSA_FILENAME)
 endif
 
 $(obj)/coreboot.rom: $(obj)/coreboot.pre $(obj)/coreboot_ram $(CBFSTOOL) $(call strip_quotes,$(COREBOOT_ROM_DEPENDENCIES))
@@ -55,9 +55,9 @@
 	@printf "    BOOTSPLASH $(CONFIG_FALLBACK_BOOTSPLASH_FILE)\n"
 	$(CBFSTOOL) $@.tmp add $(CONFIG_FALLBACK_BOOTSPLASH_FILE) bootsplash.jpg bootsplash
 endif
-ifeq ($(CONFIG_GEODE_VSA),y)
-	@printf "    VSA        $(CONFIG_VSA_FILE)\n"
-	$(OBJCOPY) --set-start 0x20 --adjust-vma 0x60000 -I binary -O elf32-i386 -B i386 $(CONFIG_VSA_FILE) $(obj)/vsa.o
+ifeq ($(CONFIG_GEODE_VSA_FILE),y)
+	@printf "    VSA        $(CONFIG_VSA_FILENAME)\n"
+	$(OBJCOPY) --set-start 0x20 --adjust-vma 0x60000 -I binary -O elf32-i386 -B i386 $(CONFIG_VSA_FILENAME) $(obj)/vsa.o
 	$(LD) -e 0x60020 --section-start .data=0x60000 $(obj)/vsa.o -o $(obj)/vsa.elf
 	$(CBFSTOOL) $@.tmp add-stage $(obj)/vsa.elf vsa
 endif
diff --git a/src/cpu/amd/model_gx2/Kconfig b/src/cpu/amd/model_gx2/Kconfig
index 3eaddca..610120a 100644
--- a/src/cpu/amd/model_gx2/Kconfig
+++ b/src/cpu/amd/model_gx2/Kconfig
@@ -31,6 +31,12 @@
 	depends on CPU_AMD_GX2
 
 config GEODE_VSA
+	bool
+	default y
+	depends on CPU_AMD_GX2
+	select PCI_OPTION_ROM_RUN_REALMODE
+
+config GEODE_VSA_FILE
 	bool "Add a VSA image"
 	depends on CPU_AMD_GX2
 	help
@@ -40,9 +46,9 @@
 	  You will be able to specify the location and file name of the
 	  image later.
 
-config VSA_FILE
+config VSA_FILENAME
 	string "AMD Geode GX2 VSA path and filename"
-	depends on GEODE_VSA && CPU_AMD_GX2
+	depends on GEODE_VSA_FILE && CPU_AMD_GX2
 	default "gpl_vsa_gx_102.bin"
 	help
 	  The path and filename of the file to use as VSA.
diff --git a/src/cpu/amd/model_lx/Kconfig b/src/cpu/amd/model_lx/Kconfig
index 66e20ec..07bbce4 100644
--- a/src/cpu/amd/model_lx/Kconfig
+++ b/src/cpu/amd/model_lx/Kconfig
@@ -12,6 +12,12 @@
 	depends on CPU_AMD_LX
 
 config GEODE_VSA
+	bool
+	default y
+	depends on CPU_AMD_LX
+	select PCI_OPTION_ROM_RUN_REALMODE
+
+config GEODE_VSA_FILE
 	bool "Add a VSA image"
 	depends on CPU_AMD_LX
 	help
@@ -21,9 +27,9 @@
 	  You will be able to specify the location and file name of the
 	  image later.
 
-config VSA_FILE
+config VSA_FILENAME
 	string "AMD Geode LX VSA path and filename"
-	depends on GEODE_VSA && CPU_AMD_LX
+	depends on GEODE_VSA_FILE && CPU_AMD_LX
 	default "gpl_vsa_lx_102.bin"
 	help
 	  The path and filename of the file to use as VSA.
diff --git a/src/devices/oprom/x86.c b/src/devices/oprom/x86.c
index ca08b06..4ed0ff8 100644
--- a/src/devices/oprom/x86.c
+++ b/src/devices/oprom/x86.c
@@ -37,7 +37,6 @@
 extern unsigned char __idt_handler, __idt_handler_size;
 extern unsigned char __realmode_code, __realmode_code_size;
 extern unsigned char __run_optionrom, __run_interrupt;
-extern unsigned char __run_vsa;
 
 void (*run_optionrom)(u32 devfn) __attribute__((regparm(0))) = (void *)&__run_optionrom;
 void (*vga_enable_console)(void) __attribute__((regparm(0))) = (void *)&__run_interrupt;
@@ -167,11 +166,12 @@
 #include <cpu/amd/vr.h>
 #include <cbfs.h>
 
+extern unsigned char __run_vsa;
+void (*run_vsa)(u32 smm, u32 sysmem) __attribute__((regparm(0))) = (void *)&__run_vsa;
+
 #define VSA2_BUFFER		0x60000
 #define VSA2_ENTRY_POINT	0x60020
 
-void (*run_vsa)(u32 smm, u32 sysmem) __attribute__((regparm(0))) = (void *)&__run_vsa;
-
 // TODO move to a header file.
 void do_vsmbios(void);
 
diff --git a/src/northbridge/amd/gx2/Kconfig b/src/northbridge/amd/gx2/Kconfig
index 4fa7ea6..959a3c1 100644
--- a/src/northbridge/amd/gx2/Kconfig
+++ b/src/northbridge/amd/gx2/Kconfig
@@ -19,6 +19,5 @@
 
 config NORTHBRIDGE_AMD_GX2
 	bool
-	# for VSM: 
-	select PCI_OPTION_ROM_RUN_REALMODE
+	select GEODE_VSA
 
diff --git a/src/northbridge/amd/lx/Kconfig b/src/northbridge/amd/lx/Kconfig
index b6fd816..57a485e 100644
--- a/src/northbridge/amd/lx/Kconfig
+++ b/src/northbridge/amd/lx/Kconfig
@@ -1,8 +1,7 @@
 config NORTHBRIDGE_AMD_LX
 	bool
 	select HAVE_HIGH_TABLES
-	# for VSM: 
-	select PCI_OPTION_ROM_RUN_REALMODE
+	select GEODE_VSA
 	
 config VIDEO_MB
 	int