On Tue, May 18, 2010 at 05:08:29PM +0800, Liu, Jinsong wrote:
Hi, Kevin, Gleb, Avi, and Yunhong
I have updated vcpu hotplug seabios infrastructure, as attached. Please kindly review it, thanks!
This patch is to support KVM vcpu hotplug feature. It ported from KVM bochs bios, and update some points to KVM seabios:
- build ssdt with 15/255 processor obj, which separately support Win2000 and other oses;
- build madt accordingly, protect it as 'E820_NVS', and keep madt checksum and lapic flag correctly when cpu hotplug;
- define Processor under _SB instead of _PR, so that it works better with latest linux like 2.6.32 later;
- for Processor _MAT method, explicitly transfer it 'ToBuffer' so that os will not confused with 'Integer' which will result in parse failure;
- for Processor _STA method, use 0x0 instead of 0x9 for cpu hot-remove, which matchs better with ACPI 4.0 spec, and works better with latest linux;
- add Processor _EJ0 method, so that 'eject' appear under linux /sys, and triggered by uevent to make cpu hot-remove;
Have you tested this patch with Windows 2008 datacenter edition? If yes were you able to insert vcpus so that Windows notice? (You need to test it with datacenter edition since others don't support cpu hot plug and cpu hot remove isn't supported by any Windows).
-- Gleb.