Message ID | 1411056346-22538-1-git-send-email-pbonzini@redhat.com |
---|---|
State | New |
Headers | show |
On Thu, Sep 18, 2014 at 06:05:46PM +0200, Paolo Bonzini wrote: > 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. > > Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> I already queued a patch with some slightly better comments so I'll keep that. Will append your text to the commit log. Thanks! > --- > hw/i386/pc.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/hw/i386/pc.c b/hw/i386/pc.c > index 77b6782..b9d4be7 100644 > --- a/hw/i386/pc.c > +++ b/hw/i386/pc.c > @@ -73,7 +73,7 @@ > #endif > > /* Leave a chunk of memory at the top of RAM for the BIOS ACPI tables. */ > -unsigned acpi_data_size = 0x20000; > +unsigned acpi_data_size = 0x28000; > void pc_set_legacy_acpi_data_size(void) > { > acpi_data_size = 0x10000; > -- > 1.8.3.1
diff --git a/hw/i386/pc.c b/hw/i386/pc.c index 77b6782..b9d4be7 100644 --- a/hw/i386/pc.c +++ b/hw/i386/pc.c @@ -73,7 +73,7 @@ #endif /* Leave a chunk of memory at the top of RAM for the BIOS ACPI tables. */ -unsigned acpi_data_size = 0x20000; +unsigned acpi_data_size = 0x28000; void pc_set_legacy_acpi_data_size(void) { acpi_data_size = 0x10000;
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. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> --- hw/i386/pc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)