qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 0/9 v3] pc: CPU hotplug support for Q35
@ 2014-01-09 16:36 Igor Mammedov
  2014-01-09 16:36 ` [Qemu-devel] [PATCH 1/9] acpi: factor out common cpu hotplug code for PIIX4/Q35 Igor Mammedov
                   ` (9 more replies)
  0 siblings, 10 replies; 14+ messages in thread
From: Igor Mammedov @ 2014-01-09 16:36 UTC (permalink / raw)
  To: qemu-devel
  Cc: mst, hutao, mjt, chen.fan.fnst, aliguori, anthony.perard,
	afaerber

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" <mst@redhat.com>
  
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

^ permalink raw reply	[flat|nested] 14+ messages in thread
* [Qemu-devel] [PATCH 0/9 v2] pc: CPU hotplug support for Q35
@ 2013-12-28 22:30 Igor Mammedov
  2013-12-28 22:30 ` [Qemu-devel] [PATCH 6/9] pc: Q35 DSDT: exclude CPU hotplug IO range from PCI bus resources Igor Mammedov
  0 siblings, 1 reply; 14+ messages in thread
From: Igor Mammedov @ 2013-12-28 22:30 UTC (permalink / raw)
  To: qemu-devel
  Cc: mst, hutao, mjt, chen.fan.fnst, kraxel, anthony.perard, lersek,
	afaerber

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_static_v2

Igor Mammedov (9):
  acpi: factor out common cpu hotplug code for PIIX4/Q35
  acpi: ich9: add CPU hotplug handling to Q35 machine
  pc: rebuild ACPI hex files if included *.dsl are touched
  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               |  14 +-
 hw/i386/acpi-dsdt-cpu-hotplug.dsl   |  12 +-
 hw/i386/acpi-dsdt-pci-crs.dsl       |  15 +-
 hw/i386/acpi-dsdt.dsl               |  38 +++++
 hw/i386/acpi-dsdt.hex.generated     | 328 +++++++++++++++++++++++++++---------
 hw/i386/q35-acpi-dsdt.dsl           |  17 ++
 hw/i386/q35-acpi-dsdt.hex.generated | 133 ++++++++++++---
 include/hw/acpi/cpu_hotplug.h       |  34 ++++
 include/hw/acpi/ich9.h              |   9 +
 include/hw/acpi/piix4.h             |   5 +
 15 files changed, 578 insertions(+), 191 deletions(-)
 create mode 100644 hw/acpi/cpu_hotplug.c
 create mode 100644 include/hw/acpi/cpu_hotplug.h

-- 
1.8.4.2

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2014-02-02 13:27 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-01-09 16:36 [Qemu-devel] [PATCH 0/9 v3] pc: CPU hotplug support for Q35 Igor Mammedov
2014-01-09 16:36 ` [Qemu-devel] [PATCH 1/9] acpi: factor out common cpu hotplug code for PIIX4/Q35 Igor Mammedov
2014-01-09 16:36 ` [Qemu-devel] [PATCH 2/9] acpi: ich9: add CPU hotplug handling to Q35 machine Igor Mammedov
2014-01-09 16:36 ` [Qemu-devel] [PATCH 3/9] pc: make: fix dependencies: rebuild when included file is changed Igor Mammedov
2014-01-09 16:36 ` [Qemu-devel] [PATCH 4/9] pc: set PRST base in DSDT depending on chipset Igor Mammedov
2014-01-09 16:36 ` [Qemu-devel] [PATCH 5/9] pc: PIIX DSDT: exclude CPU/PCI hotplug & GPE0 IO range from PCI bus resources Igor Mammedov
2014-01-09 16:36 ` [Qemu-devel] [PATCH 6/9] pc: Q35 DSDT: exclude CPU hotplug " Igor Mammedov
2014-01-09 16:36 ` [Qemu-devel] [PATCH 7/9] pc: ACPI: expose PRST IO range via _CRS Igor Mammedov
2014-02-02 13:12   ` Michael S. Tsirkin
2014-02-02 13:27     ` Igor Mammedov
2014-01-09 16:36 ` [Qemu-devel] [PATCH 8/9] pc: ACPI: unify source of CPU hotplug IO base/len Igor Mammedov
2014-01-09 16:36 ` [Qemu-devel] [PATCH 9/9] pc: ACPI: update acpi-dsdt.hex.generated q35-acpi-dsdt.hex.generated Igor Mammedov
2014-01-16 10:35 ` [Qemu-devel] [PATCH 0/9 v3] pc: CPU hotplug support for Q35 Michael S. Tsirkin
  -- strict thread matches above, loose matches on Subject: below --
2013-12-28 22:30 [Qemu-devel] [PATCH 0/9 v2] " Igor Mammedov
2013-12-28 22:30 ` [Qemu-devel] [PATCH 6/9] pc: Q35 DSDT: exclude CPU hotplug IO range from PCI bus resources Igor Mammedov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).