acpi-build: Set FORCE_APIC_CLUSTER_MODEL bit for FADT flags
commit07b81ed937b37e4c1974626c38e2f192ce08f8f5
authorzhanghailiang <zhang.zhanghailiang@huawei.com>
Fri, 29 Aug 2014 03:52:51 +0000 (29 11:52 +0800)
committerMichael S. Tsirkin <mst@redhat.com>
Wed, 3 Sep 2014 13:41:05 +0000 (3 16:41 +0300)
tree06b099bc147d5e4a9bbdce213d4ea700dfb10a5c
parent3a1655fc53a2d0375dc0b8cd358405c2cae288e3
acpi-build: Set FORCE_APIC_CLUSTER_MODEL bit for FADT flags

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.

Note:
This flag was introduced later than ACPI v1.0 specification while QEMU
generates v1.0 tables only, but...

linux kernel ignores this flag, so patch has no influence on it.

Tested with Win[XPsp3|Srv2003EE|Srv2008DC|Srv2008R2|Srv2012R2], there
isn't BSODs and guests boot just fine. In cases guest doesn't support
cpu-hotplug, cpu becomes visible after reboot and in case the guest
supports cpu-hotplug, it works as expected with this patch.

Cc: qemu-stable@nongnu.org
Signed-off-by: huangzhichao <huangzhichao@huawei.com>
Signed-off-by: zhanghailiang <zhang.zhanghailiang@huawei.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-By: Igor Mammedov <imammedo@redhat.com>
hw/i386/acpi-build.c