From 7488e049df9899dd7062b2ffe393b3e9a6f50dc5 Mon Sep 17 00:00:00 2001 From: Joseph Smith Date: Fri, 9 Apr 2010 11:10:25 +0000 Subject: 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 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 git-svn-id: svn://svn.coreboot.org/coreboot/trunk@5388 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1 --- src/arch/i386/Makefile.inc | 3 +++ src/arch/i386/include/arch/stages.h | 5 +++++ src/arch/i386/lib/cbfs_and_run.c | 5 ++--- 3 files changed, 10 insertions(+), 3 deletions(-) create mode 100644 src/arch/i386/include/arch/stages.h (limited to 'src/arch') 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 #include +#include 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); } -- cgit v1.2.3