aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/arch/x86/walkcbfs.S8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/arch/x86/walkcbfs.S b/src/arch/x86/walkcbfs.S
index 4608e2c12a..208a1281b2 100644
--- a/src/arch/x86/walkcbfs.S
+++ b/src/arch/x86/walkcbfs.S
@@ -13,6 +13,12 @@
#define CBFS_FILE_STRUCTSIZE (CBFS_FILE_OFFSET + 4)
+#if FMAP_SECTION_COREBOOT_START < (0xffffffff - CONFIG_ROM_SIZE + 1)
+#define COREBOOT_CBFS_START (0xffffffff - CONFIG_ROM_SIZE + 1 + FMAP_SECTION_COREBOOT_START)
+#else
+#define COREBOOT_CBFS_START FMAP_SECTION_COREBOOT_START
+#endif
+
.code32
.section .init
.global walkcbfs_asm
@@ -26,7 +32,7 @@
walkcbfs_asm:
cld
- movl $FMAP_SECTION_COREBOOT_START, %ebx
+ movl $COREBOOT_CBFS_START, %ebx
/* determine filename length */
mov $0, %eax