summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Reinauer <reinauer@chromium.org>2011-10-18 15:11:04 -0700
committerStefan Reinauer <stefan.reinauer@coreboot.org>2012-03-28 21:32:20 +0200
commit9ec8ed8a40c5c5aff8053693dd2ecd403034605b (patch)
tree5bfb8158a09942bbbdd1e8a3871d0255a2b533c8
parente246b31121df3c15022d108390c389f352c40d81 (diff)
downloadcoreboot-9ec8ed8a40c5c5aff8053693dd2ecd403034605b.tar.xz
selfboot: Allow loading SeaBIOS into a reserved region in the lower 1MB
This fixes loading SeaBIOS when lower memory is reserved. Change-Id: Idbdcaf95f3307f97307f304d6d677406d059927d Signed-off-by: Stefan Reinauer <reinauer@google.com> Reviewed-on: http://review.coreboot.org/732 Tested-by: build bot (Jenkins) Reviewed-by: Ronald G. Minnich <rminnich@gmail.com>
-rw-r--r--src/boot/selfboot.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/boot/selfboot.c b/src/boot/selfboot.c
index 99b1493ed7..67603f07db 100644
--- a/src/boot/selfboot.c
+++ b/src/boot/selfboot.c
@@ -146,6 +146,11 @@ static int valid_area(struct lb_memory *mem, unsigned long buffer,
}
}
if (i == mem_entries) {
+ if (start < (1024*1024) && end <=(1024*1024)) {
+ printk(BIOS_DEBUG, "Payload (probably SeaBIOS) loaded"
+ " into a reserved area in the lower 1MB\n");
+ return 1;
+ }
printk(BIOS_ERR, "No matching ram area found for range:\n");
printk(BIOS_ERR, " [0x%016lx, 0x%016lx)\n", start, end);
printk(BIOS_ERR, "Ram areas\n");