[coreboot-gerrit] Patch set updated for coreboot: arch/x86/bootblock: Do not include non-code files in bootblock.S

Alexandru Gagniuc (mr.nuke.me@gmail.com) gerrit at coreboot.org
Mon Oct 5 21:53:45 CET 2015


Alexandru Gagniuc (mr.nuke.me at gmail.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/11792

-gerrit

commit d5262d06c54815f841e959f4eb9715235329c578
Author: Alexandru Gagniuc <mr.nuke.me at gmail.com>
Date:   Sun Oct 4 17:47:36 2015 -0700

    arch/x86/bootblock: Do not include non-code files in bootblock.S
    
    Since we now have more freedom in the bootblock linking step it no
    longer makes sense to use a monolithic bootblock.S. Code segments must
    still be included as the order in bootblock.S determines code flow.
    However, non-code flow related assembly stubs don't need to be directly
    included in bootblock.S
    
    Change-Id: I08e86e92d82bd2138194ed42652f268b0764aa54
    Signed-off-by: Alexandru Gagniuc <mr.nuke.me at gmail.com>
---
 src/arch/x86/Makefile.inc      |  1 +
 src/arch/x86/bootblock.S       |  5 -----
 src/arch/x86/id.S              | 20 ++++++++++++++++++++
 src/arch/x86/id.inc            | 20 --------------------
 src/cpu/intel/Makefile.inc     |  1 +
 src/cpu/intel/fit/Makefile.inc |  1 +
 src/cpu/intel/fit/fit.S        | 30 ++++++++++++++++++++++++++++++
 src/cpu/intel/fit/fit.inc      | 30 ------------------------------
 8 files changed, 53 insertions(+), 55 deletions(-)

diff --git a/src/arch/x86/Makefile.inc b/src/arch/x86/Makefile.inc
index 95ebb6a..e17fe11 100644
--- a/src/arch/x86/Makefile.inc
+++ b/src/arch/x86/Makefile.inc
@@ -84,6 +84,7 @@ endif
 # Add the assembly file that pulls in the rest of the dependencies in
 # the right order. Make sure the auto generated bootblock.inc is a proper
 # dependency. Make the same true for the linker sript.
+bootblock-y += id.S
 bootblock-y += bootblock.S
 bootblock-y += walkcbfs.S
 $(obj)/arch/x86/bootblock.bootblock.o: $(objgenerated)/bootblock.inc
diff --git a/src/arch/x86/bootblock.S b/src/arch/x86/bootblock.S
index bea178d..645e491 100644
--- a/src/arch/x86/bootblock.S
+++ b/src/arch/x86/bootblock.S
@@ -25,11 +25,6 @@
 #include <cpu/x86/16bit/entry16.inc>
 #include <cpu/x86/16bit/reset16.inc>
 #include <cpu/x86/32bit/entry32.inc>
-#include <arch/x86/id.inc>
-
-#if IS_ENABLED(CONFIG_CPU_INTEL_FIRMWARE_INTERFACE_TABLE)
-#include <cpu/intel/fit/fit.inc>
-#endif
 
 #ifdef CONFIG_CHIPSET_BOOTBLOCK_INCLUDE
 #include CONFIG_CHIPSET_BOOTBLOCK_INCLUDE
diff --git a/src/arch/x86/id.S b/src/arch/x86/id.S
new file mode 100644
index 0000000..a3df25e
--- /dev/null
+++ b/src/arch/x86/id.S
@@ -0,0 +1,20 @@
+#include <build.h>
+
+	.section ".id", "a", @progbits
+
+	.globl __id_start
+__id_start:
+ver:
+	.asciz COREBOOT_VERSION
+vendor:
+	.asciz CONFIG_MAINBOARD_VENDOR
+part:
+	.asciz CONFIG_MAINBOARD_PART_NUMBER
+.long __id_end + CONFIG_ID_SECTION_OFFSET - ver  /* Reverse offset to the vendor id */
+.long __id_end + CONFIG_ID_SECTION_OFFSET - vendor  /* Reverse offset to the vendor id */
+.long __id_end + CONFIG_ID_SECTION_OFFSET - part    /* Reverse offset to the part number */
+.long CONFIG_ROM_SIZE                               /* Size of this romimage */
+	.globl __id_end
+
+__id_end:
+.previous
diff --git a/src/arch/x86/id.inc b/src/arch/x86/id.inc
deleted file mode 100644
index a3df25e..0000000
--- a/src/arch/x86/id.inc
+++ /dev/null
@@ -1,20 +0,0 @@
-#include <build.h>
-
-	.section ".id", "a", @progbits
-
-	.globl __id_start
-__id_start:
-ver:
-	.asciz COREBOOT_VERSION
-vendor:
-	.asciz CONFIG_MAINBOARD_VENDOR
-part:
-	.asciz CONFIG_MAINBOARD_PART_NUMBER
-.long __id_end + CONFIG_ID_SECTION_OFFSET - ver  /* Reverse offset to the vendor id */
-.long __id_end + CONFIG_ID_SECTION_OFFSET - vendor  /* Reverse offset to the vendor id */
-.long __id_end + CONFIG_ID_SECTION_OFFSET - part    /* Reverse offset to the part number */
-.long CONFIG_ROM_SIZE                               /* Size of this romimage */
-	.globl __id_end
-
-__id_end:
-.previous
diff --git a/src/cpu/intel/Makefile.inc b/src/cpu/intel/Makefile.inc
index 6f07e30..904aa5d 100644
--- a/src/cpu/intel/Makefile.inc
+++ b/src/cpu/intel/Makefile.inc
@@ -3,6 +3,7 @@
 #
 # Therefore: ONLY include Makefile.inc from socket directories!
 
+subdirs-$(CONFIG_CPU_INTEL_FIRMWARE_INTERFACE_TABLE) += fit
 subdirs-$(CONFIG_CPU_INTEL_SOCKET_441) += socket_441
 subdirs-$(CONFIG_CPU_INTEL_SOCKET_BGA956) += socket_BGA956
 subdirs-$(CONFIG_CPU_INTEL_EP80579) += ep80579
diff --git a/src/cpu/intel/fit/Makefile.inc b/src/cpu/intel/fit/Makefile.inc
new file mode 100644
index 0000000..4b540ba
--- /dev/null
+++ b/src/cpu/intel/fit/Makefile.inc
@@ -0,0 +1 @@
+bootblock-y += fit.S
diff --git a/src/cpu/intel/fit/fit.S b/src/cpu/intel/fit/fit.S
new file mode 100644
index 0000000..e4595c0
--- /dev/null
+++ b/src/cpu/intel/fit/fit.S
@@ -0,0 +1,30 @@
+.section ".fit_pointer", "a", @progbits
+	.code32
+.global fit_pointer
+fit_pointer:
+.long fit_table
+.long 0
+.previous
+
+.section ".rom.data", "a", @progbits
+.align 16
+.global fit_table
+.global fit_table_end
+fit_table:
+/* Address for type 0 is '_FIT_   ' */
+.long 0x5449465f
+.long 0x2020205f
+/*
+ * There is 1 entry in the table. Other tools will have to update the size
+ * and checksum when adding entries.
+ */
+.long 0x00000001
+/* Version */
+.word 0x0100
+/* Type 0 with checksum valid. */
+.byte 0x80
+/* Checksum byte - must add to zero. */
+.byte 0x7d
+.fill CONFIG_CPU_INTEL_NUM_FIT_ENTRIES*16
+fit_table_end:
+.previous
diff --git a/src/cpu/intel/fit/fit.inc b/src/cpu/intel/fit/fit.inc
deleted file mode 100644
index e4595c0..0000000
--- a/src/cpu/intel/fit/fit.inc
+++ /dev/null
@@ -1,30 +0,0 @@
-.section ".fit_pointer", "a", @progbits
-	.code32
-.global fit_pointer
-fit_pointer:
-.long fit_table
-.long 0
-.previous
-
-.section ".rom.data", "a", @progbits
-.align 16
-.global fit_table
-.global fit_table_end
-fit_table:
-/* Address for type 0 is '_FIT_   ' */
-.long 0x5449465f
-.long 0x2020205f
-/*
- * There is 1 entry in the table. Other tools will have to update the size
- * and checksum when adding entries.
- */
-.long 0x00000001
-/* Version */
-.word 0x0100
-/* Type 0 with checksum valid. */
-.byte 0x80
-/* Checksum byte - must add to zero. */
-.byte 0x7d
-.fill CONFIG_CPU_INTEL_NUM_FIT_ENTRIES*16
-fit_table_end:
-.previous



More information about the coreboot-gerrit mailing list