aboutsummaryrefslogtreecommitdiff
path: root/pc-bios/linuxboot.bin
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2014-10-06 16:49:57 +0200
committerPaolo Bonzini <pbonzini@redhat.com>2014-10-09 15:36:15 +0200
commitcdebec5e40bd0af82da0659f37af85ee2aa2c9d1 (patch)
tree7e355ce31516dbd959a49639e6f2ed15f6cb6e6f /pc-bios/linuxboot.bin
parentfc02086b5ab8de50ce8234cf8f42b254de9e5d91 (diff)
linuxboot: compute initrd loading address
Even though hw/i386/pc.c tries to compute a valid loading address for the initrd, close to the top of RAM, this does not take into account other data that is malloced into that memory by SeaBIOS. Luckily we can easily look at the memory map to find out how much memory is used up there. This patch places the initrd in the first four gigabytes, below the first hole (as returned by INT 15h, AX=e801h). Without this patch: [ 0.000000] init_memory_mapping: [mem 0x07000000-0x07fdffff] [ 0.000000] RAMDISK: [mem 0x0710a000-0x07fd7fff] With this patch: [ 0.000000] init_memory_mapping: [mem 0x07000000-0x07fdffff] [ 0.000000] RAMDISK: [mem 0x07112000-0x07fdffff] So linuxboot is able to use the 64k that were added as padding for QEMU <= 2.1. Acked-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'pc-bios/linuxboot.bin')
-rw-r--r--pc-bios/linuxboot.binbin1024 -> 1024 bytes
1 files changed, 0 insertions, 0 deletions
diff --git a/pc-bios/linuxboot.bin b/pc-bios/linuxboot.bin
index e7c36694f9..130103fb73 100644
--- a/pc-bios/linuxboot.bin
+++ b/pc-bios/linuxboot.bin
Binary files differ