From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:52236) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1W1IfH-0000Qx-Mf for qemu-devel@nongnu.org; Thu, 09 Jan 2014 11:41:08 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1W1IfC-0007Dv-PB for qemu-devel@nongnu.org; Thu, 09 Jan 2014 11:41:03 -0500 Received: from mx1.redhat.com ([209.132.183.28]:42267) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1W1IfC-0007Dj-Gc for qemu-devel@nongnu.org; Thu, 09 Jan 2014 11:40:58 -0500 From: Igor Mammedov Date: Thu, 9 Jan 2014 17:36:30 +0100 Message-Id: <1389285399-28417-1-git-send-email-imammedo@redhat.com> Subject: [Qemu-devel] [PATCH 0/9 v3] pc: CPU hotplug support for Q35 List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: mst@redhat.com, hutao@cn.fujitsu.com, mjt@tls.msk.ru, chen.fan.fnst@cn.fujitsu.com, aliguori@amazon.com, anthony.perard@citrix.com, afaerber@suse.de Changes since v2: * use dependency auto generation for *.dsl files * hide DEVICE(PRES) from UI * add comments to document holes punched in CRES * reduce ifdeffenery by moving CPU hotplug defines to a dedicated header shared between C and ASL files * other odd changes requested by "Michael S. Tsirkin" Changes since v1: * renamed hotplug.c/.h to cpu_hotplug.c/.h * make all prefixes acpi_cpu_hotplug and AcpiCpuHotplug * updated docs/specs/acpi_cpu_hotplug.txt with Q35's IO port range * exclude CPU/PCI/GPE IO ranges from resources advertised in PCI bus _CRS * advertise CPU hotplug IO range using ACPI Device(ACPI0004)._CRS object. * change Q35 IO port ase from 0xa18 to 0xcd8, to avoid increasing fragmentation of PCI bus IO space * replaced runtime IO port setting with compile time one, since port mapping is hadcoded and there is not real need to set it dynamically. * Use the same headers for C and ASL code so that port/length values won't be duplicated. * Fix deps for ACPI tables, so that thay would be rebuild when included files are touched. (Added only includes, I've touched, it's not complete but a good start anyway) Tested with RHEL6, WS2012R2, WS2003 Series is based on mst/pci tree, git tree for testing: https://github.com/imammedo/qemu/commits/q35_cpu_hp_v3 Igor Mammedov (9): acpi: factor out common cpu hotplug code for PIIX4/Q35 acpi: ich9: add CPU hotplug handling to Q35 machine pc: make: fix dependencies: rebuild when included file is changed pc: set PRST base in DSDT depending on chipset pc: PIIX DSDT: exclude CPU/PCI hotplug & GPE0 IO range from PCI bus resources pc: Q35 DSDT: exclude CPU hotplug IO range from PCI bus resources pc: ACPI: expose PRST IO range via _CRS pc: ACPI: unify source of CPU hotplug IO base/len pc: ACPI: update acpi-dsdt.hex.generated q35-acpi-dsdt.hex.generated docs/specs/acpi_cpu_hotplug.txt | 4 +- hw/acpi/Makefile.objs | 2 +- hw/acpi/cpu_hotplug.c | 64 +++++++ hw/acpi/ich9.c | 14 ++ hw/acpi/piix4.c | 80 +-------- hw/i386/Makefile.objs | 2 +- hw/i386/acpi-dsdt-cpu-hotplug.dsl | 14 ++- hw/i386/acpi-dsdt-pci-crs.dsl | 15 +-- hw/i386/acpi-dsdt.dsl | 41 +++++ hw/i386/acpi-dsdt.hex.generated | 333 +++++++++++++++++++++++++++-------- hw/i386/q35-acpi-dsdt.dsl | 18 ++ hw/i386/q35-acpi-dsdt.hex.generated | 138 ++++++++++++-- include/hw/acpi/cpu_hotplug.h | 27 +++ include/hw/acpi/cpu_hotplug_defs.h | 24 +++ include/hw/acpi/ich9.h | 4 + 15 files changed, 592 insertions(+), 188 deletions(-) create mode 100644 hw/acpi/cpu_hotplug.c create mode 100644 include/hw/acpi/cpu_hotplug.h create mode 100644 include/hw/acpi/cpu_hotplug_defs.h