[coreboot] [commit] r5335 - in trunk/src: arch/i386 arch/i386/init cpu/amd/car

repository service svn at coreboot.org
Tue Mar 30 23:52:06 CEST 2010


Author: stepan
Date: Tue Mar 30 23:52:05 2010
New Revision: 5335
URL: https://tracker.coreboot.org/trac/coreboot/changeset/5335

Log:
get coreboot_ap memory training in cache mechanism in place. Didn't work since
Kconfig (needs more patches to ap_romstage.c but this is a first step)

Signed-off-by: Stefan Reinauer <stepan at coresystems.de>
Acked-by: Stefan Reinauer <stepan at coresystems.de>

Deleted:
   trunk/src/arch/i386/coreboot_apc.ld
Modified:
   trunk/src/arch/i386/Makefile.inc
   trunk/src/arch/i386/init/ldscript_apc.lb
   trunk/src/cpu/amd/car/copy_and_run.c

Modified: trunk/src/arch/i386/Makefile.inc
==============================================================================
--- trunk/src/arch/i386/Makefile.inc	Tue Mar 30 23:48:23 2010	(r5334)
+++ trunk/src/arch/i386/Makefile.inc	Tue Mar 30 23:52:05 2010	(r5335)
@@ -22,12 +22,16 @@
 ifeq ($(CONFIG_BOOTSPLASH),y)
 COREBOOT_ROM_DEPENDENCIES+=$(CONFIG_FALLBACK_BOOTSPLASH_FILE)
 endif
+ifeq ($(CONFIG_AP_CODE_IN_CAR),y)
+COREBOOT_ROM_DEPENDENCIES+=$(obj)/coreboot_ap
+endif
+
 $(obj)/coreboot.rom: $(obj)/coreboot.pre $(obj)/coreboot_ram $(CBFSTOOL) $(call strip_quotes,$(COREBOOT_ROM_DEPENDENCIES))
 	printf "    CBFS       $(subst $(obj)/,,$(@))\n"
 	cp $(obj)/coreboot.pre $@.tmp
-	if [ -f fallback/coreboot_apc ]; \
+	if [ -f $(obj)/coreboot_ap ]; \
 	then \
-		$(CBFSTOOL) $@.tmp add-stage fallback/coreboot_apc $(CONFIG_CBFS_PREFIX)/coreboot_apc $(CBFS_COMPRESS_FLAG); \
+		$(CBFSTOOL) $@.tmp add-stage $(obj)/coreboot_ap $(CONFIG_CBFS_PREFIX)/coreboot_ap $(CBFS_COMPRESS_FLAG); \
 	fi
 	$(CBFSTOOL) $@.tmp add-stage $(obj)/coreboot_ram $(CONFIG_CBFS_PREFIX)/coreboot_ram $(CBFS_COMPRESS_FLAG)
 ifeq ($(CONFIG_PAYLOAD_NONE),y)
@@ -81,6 +85,19 @@
 	$(AR) cr $(obj)/coreboot.a $^
 
 #######################################################################
+# coreboot_ap.rom
+
+ifeq ($(CONFIG_AP_CODE_IN_CAR),y)
+
+$(obj)/coreboot_ap: $(obj)/mainboard/$(MAINBOARDDIR)/ap_romstage.o
+	@printf "    CC         $(subst $(obj)/,,$(@))\n"
+	$(CC) -nostdlib -nostartfiles -static -o $@ -L$(obj) -T $(src)/arch/i386/init/ldscript_apc.lb $^
+	$(NM) -n $(obj)/coreboot_ap | sort > $(obj)/coreboot_ap.map
+
+
+endif
+
+#######################################################################
 # done
 
 crt0s =
@@ -174,10 +191,6 @@
 crt0s += $(src)/cpu/x86/mmx_disable.inc
 endif
 
-ifeq ($(CONFIG_AP_CODE_IN_CAR),y)
-ldscripts += $(src)/arch/i386/init/ldscript_apc.lb
-endif
-
 ifeq ($(CONFIG_BIG_BOOTBLOCK),y)
 crt0s += $(chipset_bootblock_inc)
 ldscripts += $(chipset_bootblock_lds)
@@ -198,7 +211,7 @@
 
 $(obj)/mainboard/$(MAINBOARDDIR)/ap_romstage.o: $(src)/mainboard/$(MAINBOARDDIR)/ap_romstage.c $(OPTION_TABLE_H)
 	@printf "    CC         $(subst $(obj)/,,$(@))\n"
-	$(CC) -MMD $(CFLAGS) -I$(src) -I. -c -S  $(src)/mainboard/$(MAINBOARDDIR)/ap_romstage.c -o $@
+	$(CC) -MMD $(CFLAGS) -I$(src) -I. -c $(src)/mainboard/$(MAINBOARDDIR)/ap_romstage.c -o $@
 
 $(obj)/mainboard/$(MAINBOARDDIR)/romstage.pre.inc: $(src)/mainboard/$(MAINBOARDDIR)/romstage.c $(OPTION_TABLE_H) $(obj)/build.h
 	printf "    CC         romstage.inc\n"

Modified: trunk/src/arch/i386/init/ldscript_apc.lb
==============================================================================
--- trunk/src/arch/i386/init/ldscript_apc.lb	Tue Mar 30 23:48:23 2010	(r5334)
+++ trunk/src/arch/i386/init/ldscript_apc.lb	Tue Mar 30 23:52:05 2010	(r5335)
@@ -1,9 +1,12 @@
-INPUT(coreboot_apc.rom)
+/* INPUT(coreboot_ap.rom)*/
+INCLUDE "ldoptions"
 SECTIONS
 {
         .apcrom . : {
                 _apcrom = .;
-                coreboot_apc.rom(*)
+		*(.text)
+		*(.rodata)
+		*(.rodata.*)
                 _eapcrom = .;
         }
         _iseg_apc = CONFIG_DCACHE_RAM_BASE;

Modified: trunk/src/cpu/amd/car/copy_and_run.c
==============================================================================
--- trunk/src/cpu/amd/car/copy_and_run.c	Tue Mar 30 23:48:23 2010	(r5334)
+++ trunk/src/cpu/amd/car/copy_and_run.c	Tue Mar 30 23:52:05 2010	(r5335)
@@ -14,6 +14,6 @@
 
 static void copy_and_run_ap_code_in_car(unsigned ret_addr)
 {
-	cbfs_and_run_core(CONFIG_CBFS_PREFIX "/coreboot_apc", ret_addr);
+	cbfs_and_run_core(CONFIG_CBFS_PREFIX "/coreboot_ap", ret_addr);
 }
 #endif




More information about the coreboot mailing list