diff options
author | Joseph Smith <joe@settoplinux.org> | 2010-04-09 11:10:25 +0000 |
---|---|---|
committer | Stefan Reinauer <stepan@openbios.org> | 2010-04-09 11:10:25 +0000 |
commit | 7488e049df9899dd7062b2ffe393b3e9a6f50dc5 (patch) | |
tree | a226c1f16a9220abb947ba46d26570e065494aa5 /src/arch/i386 | |
parent | 853263b963b4cacb4f7fa3a7f2c68dcbd094f1d7 (diff) |
1. This patch adds CAR for Intel P6 series processors.
2. Add support for Micro-FCBGA 479 Celeron and PIII's
3. Add support for model_6bx and microcode updates
4. Add support for CAR and Tinybootblock on RCA RM4100 and Thomson
IP1000
Build and boot tested.
Signed-off-by: Joseph Smith <joe@settoplinux.org>
The change to CAR reveiled a few more warnings in the ICH4 and i830 code,
I fixed them on the fly.
Checking this in because my last two commits broke Joseph's CAR patch. This
version fixes the issues.
Acked-by: Stefan Reinauer <stepan@coresystems.de>
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@5388 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
Diffstat (limited to 'src/arch/i386')
-rw-r--r-- | src/arch/i386/Makefile.inc | 3 | ||||
-rw-r--r-- | src/arch/i386/include/arch/stages.h | 5 | ||||
-rw-r--r-- | src/arch/i386/lib/cbfs_and_run.c | 5 |
3 files changed, 10 insertions, 3 deletions
diff --git a/src/arch/i386/Makefile.inc b/src/arch/i386/Makefile.inc index a8f6a005a6..8af631a73c 100644 --- a/src/arch/i386/Makefile.inc +++ b/src/arch/i386/Makefile.inc @@ -165,6 +165,9 @@ endif ifeq ($(CONFIG_CPU_INTEL_SOCKET_BGA956),y) crt0s += $(src)/cpu/intel/model_6ex/cache_as_ram.inc endif +ifeq ($(CONFIG_CPU_INTEL_SOCKET_MFCBGA479),y) +crt0s += $(src)/cpu/x86/car/cache_as_ram.inc +endif # should be CONFIG_CPU_VIA_C7, but bcom/winnetp680, jetway/j7f24, via/epia-cn, via/pc2500e don't use CAR yet ifeq ($(CONFIG_BOARD_VIA_VT8454C),y) crt0s += $(src)/cpu/via/car/cache_as_ram.inc diff --git a/src/arch/i386/include/arch/stages.h b/src/arch/i386/include/arch/stages.h new file mode 100644 index 0000000000..dd73220507 --- /dev/null +++ b/src/arch/i386/include/arch/stages.h @@ -0,0 +1,5 @@ +void cbfs_and_run_core(const char *filename, unsigned int ebp); +void __attribute__((regparm(0))) copy_and_run(unsigned cpu_reset); +void __attribute__((regparm(0))) copy_and_run_ap_code_in_car(unsigned ret_addr); + + diff --git a/src/arch/i386/lib/cbfs_and_run.c b/src/arch/i386/lib/cbfs_and_run.c index d6103d8132..a6f19e50ee 100644 --- a/src/arch/i386/lib/cbfs_and_run.c +++ b/src/arch/i386/lib/cbfs_and_run.c @@ -19,6 +19,7 @@ #include <console/console.h> #include <cbfs.h> +#include <arch/stages.h> void cbfs_and_run_core(const char *filename, unsigned ebp) { @@ -41,8 +42,6 @@ void cbfs_and_run_core(const char *filename, unsigned ebp) ); } -void __attribute__((regparm(0))) copy_and_run(unsigned cpu_reset); - void __attribute__((regparm(0))) copy_and_run(unsigned cpu_reset) { // FIXME fix input parameters instead normalizing them here. @@ -53,7 +52,7 @@ void __attribute__((regparm(0))) copy_and_run(unsigned cpu_reset) } #if CONFIG_AP_CODE_IN_CAR == 1 -static void __attribute__((regparm(0))) copy_and_run_ap_code_in_car(unsigned ret_addr) +void __attribute__((regparm(0))) copy_and_run_ap_code_in_car(unsigned ret_addr) { cbfs_and_run_core(CONFIG_CBFS_PREFIX "/coreboot_ap", ret_addr); } |