aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Reinauer <stepan@coresystems.de>2010-04-21 20:55:38 +0000
committerStefan Reinauer <stepan@openbios.org>2010-04-21 20:55:38 +0000
commitf94a97be7208781cd63f4aebfc48ee94a739eecc (patch)
tree368ef3d8494e0df7d3045ee4d223ac38f8e4ffcb
parent6c705110f65e3de4df11e0a433005876925f539f (diff)
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
-rw-r--r--src/arch/i386/Makefile.inc10
-rw-r--r--src/cpu/amd/model_gx2/Kconfig10
-rw-r--r--src/cpu/amd/model_lx/Kconfig10
-rw-r--r--src/devices/oprom/x86.c6
-rw-r--r--src/northbridge/amd/gx2/Kconfig3
-rw-r--r--src/northbridge/amd/lx/Kconfig3
6 files changed, 26 insertions, 16 deletions
diff --git a/src/arch/i386/Makefile.inc b/src/arch/i386/Makefile.inc
index 24fd02abab..f308fa029b 100644
--- a/src/arch/i386/Makefile.inc
+++ b/src/arch/i386/Makefile.inc
@@ -25,8 +25,8 @@ endif
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 @@ ifeq ($(CONFIG_BOOTSPLASH),y)
@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 3eaddca379..610120a3bf 100644
--- a/src/cpu/amd/model_gx2/Kconfig
+++ b/src/cpu/amd/model_gx2/Kconfig
@@ -31,6 +31,12 @@ config DCACHE_RAM_SIZE
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 @@ config GEODE_VSA
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 66e20ec45e..07bbce4f0b 100644
--- a/src/cpu/amd/model_lx/Kconfig
+++ b/src/cpu/amd/model_lx/Kconfig
@@ -12,6 +12,12 @@ config DCACHE_RAM_SIZE
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 @@ config GEODE_VSA
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 ca08b0657d..4ed0ff8709 100644
--- a/src/devices/oprom/x86.c
+++ b/src/devices/oprom/x86.c
@@ -37,7 +37,6 @@ void x86_exception(struct eregs *info);
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 @@ void run_bios(struct device *dev, unsigned long addr)
#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 4fa7ea6543..959a3c1a64 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 b6fd816d2e..57a485eedc 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