pc: leave more space for BIOS allocations
commit438f92ee9f6a4f78f8adcc399809e252b6da72a2
authorMichael S. Tsirkin <mst@redhat.com>
Thu, 18 Sep 2014 13:32:07 +0000 (18 16:32 +0300)
committerMichael S. Tsirkin <mst@redhat.com>
Thu, 18 Sep 2014 18:51:24 +0000 (18 21:51 +0300)
treeb7440eab57c3895cf570d0f93d72460c13f9dc7a
parent4d43d3f3c8147ade184df9a1e9e82826edd39e19
pc: leave more space for BIOS allocations

Since QEMU 2.1, we are allocating more space for ACPI tables, so no
space is left after initrd for the BIOS to allocate memory.

Besides ACPI tables, there are a few other uses of high memory in
SeaBIOS: SMBIOS tables and USB drivers use it in particular.  These uses
allocate a very small amount of memory.  Malloc metadata also lives
there.  So we need _some_ extra padding there to avoid initrd breakage,
but not much.

John Snow found a case where RHEL5 was broken by the recent change to
ACPI_TABLE_SIZE; in his case 4KB of extra padding are fine, but just to
be safe I am adding 32KB, which is roughly the same amount of padding
that was left by QEMU 2.0 and earlier.

Move initrd to leave some space for the BIOS.

Cc: qemu-stable@nongnu.org
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Reported-by: John Snow <jsnow@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
hw/i386/pc.c