summaryrefslogtreecommitdiff
path: root/src/arch/i386
diff options
context:
space:
mode:
Diffstat (limited to 'src/arch/i386')
-rw-r--r--src/arch/i386/Makefile.inc3
-rw-r--r--src/arch/i386/include/arch/stages.h5
-rw-r--r--src/arch/i386/lib/cbfs_and_run.c5
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);
}