[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH V2] acpi-build: Set FORCE_APIC_CLUSTER_MODEL bit for
From: |
zhanghailiang |
Subject: |
[Qemu-devel] [PATCH V2] acpi-build: Set FORCE_APIC_CLUSTER_MODEL bit for FADT flags |
Date: |
Fri, 29 Aug 2014 11:52:51 +0800 |
If we start Windows 2008 R2 DataCenter with number of cpu less than 8,
The system will use APIC Flat Logical destination mode as default configuration,
Which has an upper limit of 8 CPUs.
The fault is that VM can not show all processors within Task Manager if
we hot-add cpus when the number of cpus in VM extends the limit of 8.
If we use cluster destination model, the problem will be solved.
Signed-off-by: huangzhichao <address@hidden>
Signed-off-by: zhanghailiang <address@hidden>
---
v2:
- Set this bit when max_cpus > 8
---
hw/i386/acpi-build.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c
index 85e5834..cdc3b08 100644
--- a/hw/i386/acpi-build.c
+++ b/hw/i386/acpi-build.c
@@ -550,6 +550,12 @@ static void fadt_setup(AcpiFadtDescriptorRev1 *fadt,
AcpiPmInfo *pm)
(1 << ACPI_FADT_F_SLP_BUTTON) |
(1 << ACPI_FADT_F_RTC_S4));
fadt->flags |= cpu_to_le32(1 << ACPI_FADT_F_USE_PLATFORM_CLOCK);
+ /* APIC destination mode ("Flat Logical") has an upper limit of 8 CPUs
+ * For more than 8 CPUs, "Clustered Logical" mode has to be used
+ */
+ if (max_cpus > 8) {
+ fadt->flags |= cpu_to_le32(1 << ACPI_FADT_F_FORCE_APIC_CLUSTER_MODEL);
+ }
}
--
1.7.12.4
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Qemu-devel] [PATCH V2] acpi-build: Set FORCE_APIC_CLUSTER_MODEL bit for FADT flags,
zhanghailiang <=