summaryrefslogtreecommitdiff
path: root/src/cpu/amd/car/copy_and_run.c
diff options
context:
space:
mode:
authorPatrick Georgi <patrick.georgi@coresystems.de>2009-05-27 14:19:31 +0000
committerPatrick Georgi <patrick.georgi@coresystems.de>2009-05-27 14:19:31 +0000
commita034dca42cc1638e4917e38b98e7dc6b434f2357 (patch)
tree2050fd887fff8d644260cf0168efc5272ce56d24 /src/cpu/amd/car/copy_and_run.c
parent8341f44f98ad6fe8760d348e7c3cca8f49eb2557 (diff)
downloadcoreboot-a034dca42cc1638e4917e38b98e7dc6b434f2357.tar.xz
Move coreboot_ram and coreboot_apc to CBFS. This allows to
reduce the size of the bootblock (done for kontron/986lcd-m) Signed-off-by: Patrick Georgi <patrick.georgi@coresystems.de> Acked-by: Ronald G. Minnich <rminnich@gmail.com> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@4315 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
Diffstat (limited to 'src/cpu/amd/car/copy_and_run.c')
-rw-r--r--src/cpu/amd/car/copy_and_run.c26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/cpu/amd/car/copy_and_run.c b/src/cpu/amd/car/copy_and_run.c
index e0fa098833..437b91d4ac 100644
--- a/src/cpu/amd/car/copy_and_run.c
+++ b/src/cpu/amd/car/copy_and_run.c
@@ -3,6 +3,31 @@
2006/05/02 - stepan: move nrv2b to an extra file.
*/
+#if CONFIG_CBFS == 1
+void cbfs_and_run_core(char*, unsigned ebp);
+
+static void copy_and_run(void)
+{
+# if USE_FALLBACK_IMAGE == 1
+ cbfs_and_run_core("fallback/coreboot_ram", 0);
+# else
+ cbfs_and_run_core("normal/coreboot_ram", 0);
+# endif
+}
+
+#if CONFIG_AP_CODE_IN_CAR == 1
+
+static void copy_and_run_ap_code_in_car(unsigned ret_addr)
+{
+# if USE_FALLBACK_IMAGE == 1
+ cbfs_and_run_core("fallback/coreboot_apc", ret_addr);
+# else
+ cbfs_and_run_core("normal/coreboot_apc", ret_addr);
+# endif
+}
+#endif
+
+#else
void copy_and_run_core(u8 *src, u8 *dst, unsigned long ilen, unsigned ebp);
extern u8 _liseg, _iseg, _eiseg;
@@ -35,3 +60,4 @@ static void copy_and_run_ap_code_in_car(unsigned ret_addr)
copy_and_run_core(src, dst, ilen, ret_addr);
}
#endif
+#endif