diff options
author | Stefan Reinauer <reinauer@chromium.org> | 2011-10-18 15:11:04 -0700 |
---|---|---|
committer | Stefan Reinauer <stefan.reinauer@coreboot.org> | 2012-03-28 21:32:20 +0200 |
commit | 9ec8ed8a40c5c5aff8053693dd2ecd403034605b (patch) | |
tree | 5bfb8158a09942bbbdd1e8a3871d0255a2b533c8 /src/boot | |
parent | e246b31121df3c15022d108390c389f352c40d81 (diff) | |
download | coreboot-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>
Diffstat (limited to 'src/boot')
-rw-r--r-- | src/boot/selfboot.c | 5 |
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"); |