[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 7/7] acpi: Use apic_id_limit when calculating legacy
From: |
Michael S. Tsirkin |
Subject: |
[Qemu-devel] [PULL 7/7] acpi: Use apic_id_limit when calculating legacy ACPI table size |
Date: |
Fri, 18 Nov 2016 17:54:04 +0200 |
From: Eduardo Habkost <address@hidden>
The code that calculates the legacy ACPI table size for migration
compatibility uses max_cpus when calculating legacy_aml_len (the size of
the DSDT and SSDT tables). However, the SSDT grows according to APIC ID
limit, not max_cpus.
The bug is not triggered very often because of the 4k alignment on the
table size. But it can be triggered if you are unlucky enough to cross a
4k boundary.
Change the legacy_aml_len calculation to use apic_id_limit, to calculate
the right size.
Signed-off-by: Eduardo Habkost <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>
---
hw/i386/acpi-build.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c
index a155857..45a2ccf 100644
--- a/hw/i386/acpi-build.c
+++ b/hw/i386/acpi-build.c
@@ -2860,7 +2860,7 @@ void acpi_build(AcpiBuildTables *tables, MachineState
*machine)
*/
int legacy_aml_len =
pcmc->legacy_acpi_table_size +
- ACPI_BUILD_LEGACY_CPU_AML_SIZE * max_cpus;
+ ACPI_BUILD_LEGACY_CPU_AML_SIZE * pcms->apic_id_limit;
int legacy_table_size =
ROUND_UP(tables_blob->len - aml_len + legacy_aml_len,
ACPI_BUILD_ALIGN_SIZE);
--
MST
- [Qemu-devel] [PULL 0/7] virtio, vhost, pc: fixes, Michael S. Tsirkin, 2016/11/18
- [Qemu-devel] [PULL 1/7] virtio-crypto: fix virtio_queue_set_notification() race, Michael S. Tsirkin, 2016/11/18
- [Qemu-devel] [PULL 2/7] virtio: introduce grab/release_ioeventfd to fix vhost, Michael S. Tsirkin, 2016/11/18
- [Qemu-devel] [PULL 3/7] virtio: access ISR atomically, Michael S. Tsirkin, 2016/11/18
- [Qemu-devel] [PULL 4/7] virtio: set ISR on dataplane notifications, Michael S. Tsirkin, 2016/11/18
- [Qemu-devel] [PULL 5/7] ivshmem: Fix 64 bit memory bar configuration, Michael S. Tsirkin, 2016/11/18
- [Qemu-devel] [PULL 6/7] ipmi: fix qemu crash while migrating with ipmi, Michael S. Tsirkin, 2016/11/18
- [Qemu-devel] [PULL 7/7] acpi: Use apic_id_limit when calculating legacy ACPI table size,
Michael S. Tsirkin <=
- Re: [Qemu-devel] [PULL 0/7] virtio, vhost, pc: fixes, Stefan Hajnoczi, 2016/11/21