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