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
This commit is contained in:
Stefan Reinauer 2010-04-21 20:55:38 +00:00 committed by Stefan Reinauer
parent 6c705110f6
commit f94a97be72
6 changed files with 26 additions and 16 deletions

View File

@ -25,8 +25,8 @@ endif
ifeq ($(CONFIG_AP_CODE_IN_CAR),y) ifeq ($(CONFIG_AP_CODE_IN_CAR),y)
COREBOOT_ROM_DEPENDENCIES+=$(obj)/coreboot_ap COREBOOT_ROM_DEPENDENCIES+=$(obj)/coreboot_ap
endif endif
ifeq ($(CONFIG_GEODE_VSA),y) ifeq ($(CONFIG_GEODE_VSA_FILE),y)
COREBOOT_ROM_DEPENDENCIES+=$(CONFIG_VSA_FILE) COREBOOT_ROM_DEPENDENCIES+=$(CONFIG_VSA_FILENAME)
endif endif
$(obj)/coreboot.rom: $(obj)/coreboot.pre $(obj)/coreboot_ram $(CBFSTOOL) $(call strip_quotes,$(COREBOOT_ROM_DEPENDENCIES)) $(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" @printf " BOOTSPLASH $(CONFIG_FALLBACK_BOOTSPLASH_FILE)\n"
$(CBFSTOOL) $@.tmp add $(CONFIG_FALLBACK_BOOTSPLASH_FILE) bootsplash.jpg bootsplash $(CBFSTOOL) $@.tmp add $(CONFIG_FALLBACK_BOOTSPLASH_FILE) bootsplash.jpg bootsplash
endif endif
ifeq ($(CONFIG_GEODE_VSA),y) ifeq ($(CONFIG_GEODE_VSA_FILE),y)
@printf " VSA $(CONFIG_VSA_FILE)\n" @printf " VSA $(CONFIG_VSA_FILENAME)\n"
$(OBJCOPY) --set-start 0x20 --adjust-vma 0x60000 -I binary -O elf32-i386 -B i386 $(CONFIG_VSA_FILE) $(obj)/vsa.o $(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 $(LD) -e 0x60020 --section-start .data=0x60000 $(obj)/vsa.o -o $(obj)/vsa.elf
$(CBFSTOOL) $@.tmp add-stage $(obj)/vsa.elf vsa $(CBFSTOOL) $@.tmp add-stage $(obj)/vsa.elf vsa
endif endif

View File

@ -31,6 +31,12 @@ config DCACHE_RAM_SIZE
depends on CPU_AMD_GX2 depends on CPU_AMD_GX2
config GEODE_VSA 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" bool "Add a VSA image"
depends on CPU_AMD_GX2 depends on CPU_AMD_GX2
help help
@ -40,9 +46,9 @@ config GEODE_VSA
You will be able to specify the location and file name of the You will be able to specify the location and file name of the
image later. image later.
config VSA_FILE config VSA_FILENAME
string "AMD Geode GX2 VSA path and 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" default "gpl_vsa_gx_102.bin"
help help
The path and filename of the file to use as VSA. The path and filename of the file to use as VSA.

View File

@ -12,6 +12,12 @@ config DCACHE_RAM_SIZE
depends on CPU_AMD_LX depends on CPU_AMD_LX
config GEODE_VSA 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" bool "Add a VSA image"
depends on CPU_AMD_LX depends on CPU_AMD_LX
help help
@ -21,9 +27,9 @@ config GEODE_VSA
You will be able to specify the location and file name of the You will be able to specify the location and file name of the
image later. image later.
config VSA_FILE config VSA_FILENAME
string "AMD Geode LX VSA path and 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" default "gpl_vsa_lx_102.bin"
help help
The path and filename of the file to use as VSA. The path and filename of the file to use as VSA.

View File

@ -37,7 +37,6 @@ void x86_exception(struct eregs *info);
extern unsigned char __idt_handler, __idt_handler_size; extern unsigned char __idt_handler, __idt_handler_size;
extern unsigned char __realmode_code, __realmode_code_size; extern unsigned char __realmode_code, __realmode_code_size;
extern unsigned char __run_optionrom, __run_interrupt; extern unsigned char __run_optionrom, __run_interrupt;
extern unsigned char __run_vsa;
void (*run_optionrom)(u32 devfn) __attribute__((regparm(0))) = (void *)&__run_optionrom; void (*run_optionrom)(u32 devfn) __attribute__((regparm(0))) = (void *)&__run_optionrom;
void (*vga_enable_console)(void) __attribute__((regparm(0))) = (void *)&__run_interrupt; 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 <cpu/amd/vr.h>
#include <cbfs.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_BUFFER 0x60000
#define VSA2_ENTRY_POINT 0x60020 #define VSA2_ENTRY_POINT 0x60020
void (*run_vsa)(u32 smm, u32 sysmem) __attribute__((regparm(0))) = (void *)&__run_vsa;
// TODO move to a header file. // TODO move to a header file.
void do_vsmbios(void); void do_vsmbios(void);

View File

@ -19,6 +19,5 @@
config NORTHBRIDGE_AMD_GX2 config NORTHBRIDGE_AMD_GX2
bool bool
# for VSM: select GEODE_VSA
select PCI_OPTION_ROM_RUN_REALMODE

View File

@ -1,8 +1,7 @@
config NORTHBRIDGE_AMD_LX config NORTHBRIDGE_AMD_LX
bool bool
select HAVE_HIGH_TABLES select HAVE_HIGH_TABLES
# for VSM: select GEODE_VSA
select PCI_OPTION_ROM_RUN_REALMODE
config VIDEO_MB config VIDEO_MB
int int