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: zhanghailiang zhang.zhanghailiang@huawei.com --- src/fw/acpi.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/src/fw/acpi.c b/src/fw/acpi.c index 482e2f9..345227f 100644 --- a/src/fw/acpi.c +++ b/src/fw/acpi.c @@ -63,7 +63,8 @@ static void piix4_fadt_setup(struct pci_device *pci, void *arg) ACPI_FADT_F_PROC_C1 | ACPI_FADT_F_SLP_BUTTON | ACPI_FADT_F_RTC_S4 | - ACPI_FADT_F_USE_PLATFORM_CLOCK); + ACPI_FADT_F_USE_PLATFORM_CLOCK | + ACPI_FADT_F_FORCE_APIC_CLUSTER_MODEL); }
/* PCI_VENDOR_ID_INTEL && PCI_DEVICE_ID_INTEL_ICH9_LPC */ @@ -91,7 +92,8 @@ static void ich9_lpc_fadt_setup(struct pci_device *dev, void *arg) ACPI_FADT_F_PROC_C1 | ACPI_FADT_F_SLP_BUTTON | ACPI_FADT_F_RTC_S4 | - ACPI_FADT_F_USE_PLATFORM_CLOCK); + ACPI_FADT_F_USE_PLATFORM_CLOCK | + ACPI_FADT_F_FORCE_APIC_CLUSTER_MODEL); }
static const struct pci_device_id fadt_init_tbl[] = {