All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 00/19] pc: acpi: move memory hotplug out of DSDT/SSDT into custom table
@ 2015-10-23 14:57 Igor Mammedov
  2015-10-23 14:57 ` [Qemu-devel] [PATCH 01/19] acpi: aml: add aml_lgreater_equal() and aml_load_table() Igor Mammedov
                   ` (20 more replies)
  0 siblings, 21 replies; 32+ messages in thread
From: Igor Mammedov @ 2015-10-23 14:57 UTC (permalink / raw)
  To: qemu-devel; +Cc: pbonzini, mst

As part of moving to dynamic DSDT and dropping
ASL templates althogether this series moves out
ASL part of memory hotplug from DSDT into a custom
ACPI table. Beside of reducing ASL codebase (DSDT)
series tries to generalize and consolidate ACPI
part of memory hotplug code so it could be easier
to reuse it with outher targets (I plan to do it
for ARM later).

New table uses 64-bit integers for simplification
of code that are available only since ACPI 2.0.
To avoid breaking Windows XP based (rev1) guests
that table is loaded only if guest supports 2.0
revision Using LoadTable() ASL method.

As a side effect of code consolidation/simplification
series reduces ACPI tables size on:
 - 879 bytes without memory hotplug
 - 1216 bytes with 256 hotpluggable memory slots

More detailed breakdown on max table sizes in default
and hotplug enabled cases:
     new+HP  new    old   old+HP
MHPT 50808   -       -    -
SSDT 2425    2368   2486  53688
DSDT 2267    2267   3028  3028

Tested with following guests:
 - RHEL7.2,
 - Windows XPsp3, Windows Server 2003EE,
 - Windows Server 2008DC, Windows Server 2012R2DC

Since memory hotpulg doesn't work on XP based guests,
I've just tested that it boots just fine with/without
memory hotplug enabled on QEMU side.
The rest of the guests work as expected.

git tree for testing:
https://github.com/imammedo/qemu/commits/mhpt_table_v1

Igor Mammedov (18):
  acpi: aml: add aml_lgreater_equal() and aml_load_table()
  acpi: aml: add aml_create_qword_field()
  acpi: aml: add aml_decrement() and aml_subtract()
  acpi: aml: add aml_call0() helper
  pc: acpi: move SSDT part of memhp into a custom table
  pc: acpi: memhp: move MHPD._STA method into MHPT table
  pc: acpi: memhp: move MHPD.MLCK mutex into NHPT table
  pc: acpi: memhp: move MHPD.MSCN method into MHPT table
  pc: acpi: make memory device's _UID integer
  pc: acpi: memhp: move MHPD.MRST method into MHPT table
  pc: acpi: memhp: move MHPD.MPXM method into MHPT table
  pc: acpi: memhp: move MHPD.MOST method into MHPT table
  pc: acpi: memhp: move MHPD.MEJ0 method into MHPT table
  pc: acpi: bump DSDT revision compliance to v2
  pc: acpi: memhp: move MHPD.MCRS method into MHPT table
  pc: acpi: memhp: move MHPD Device along with _UID/_HID into MHPT table
  pc: acpi: memhp: remove acpi-dsdt-mem-hotplug.dsl and move \_GPE._E03
    into SSDT
  pc: acpi: memhp: cleanup MEMORY_HOTPLUG_IO_REGION usage

Xiao Guangrong (1):
  acpi: add aml_mutex(), aml_acquire(), aml_release()

 hw/acpi/Makefile.objs               |   2 +-
 hw/acpi/aml-build.c                 | 115 ++++++++++++++-
 hw/acpi/memory_hotplug_acpi_table.c | 286 ++++++++++++++++++++++++++++++++++++
 hw/i386/acpi-build.c                | 140 ++++--------------
 hw/i386/acpi-dsdt-mem-hotplug.dsl   | 171 ---------------------
 hw/i386/acpi-dsdt.dsl               |   7 +-
 hw/i386/q35-acpi-dsdt.dsl           |   7 +-
 include/hw/acpi/aml-build.h         |   9 ++
 include/hw/acpi/memory_hotplug.h    |   8 +
 include/hw/acpi/pc-hotplug.h        |  24 ---
 10 files changed, 443 insertions(+), 326 deletions(-)
 create mode 100644 hw/acpi/memory_hotplug_acpi_table.c
 delete mode 100644 hw/i386/acpi-dsdt-mem-hotplug.dsl

-- 
1.8.3.1

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

end of thread, other threads:[~2015-10-26 13:36 UTC | newest]

Thread overview: 32+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-10-23 14:57 [Qemu-devel] [PATCH 00/19] pc: acpi: move memory hotplug out of DSDT/SSDT into custom table Igor Mammedov
2015-10-23 14:57 ` [Qemu-devel] [PATCH 01/19] acpi: aml: add aml_lgreater_equal() and aml_load_table() Igor Mammedov
2015-10-23 14:57 ` [Qemu-devel] [PATCH 02/19] acpi: add aml_mutex(), aml_acquire(), aml_release() Igor Mammedov
2015-10-23 14:57 ` [Qemu-devel] [PATCH 03/19] acpi: aml: add aml_create_qword_field() Igor Mammedov
2015-10-23 14:57 ` [Qemu-devel] [PATCH 04/19] acpi: aml: add aml_decrement() and aml_subtract() Igor Mammedov
2015-10-23 14:57 ` [Qemu-devel] [PATCH 05/19] acpi: aml: add aml_call0() helper Igor Mammedov
2015-10-23 14:57 ` [Qemu-devel] [PATCH 06/19] pc: acpi: move SSDT part of memhp into a custom table Igor Mammedov
2015-10-24 17:41   ` Michael S. Tsirkin
2015-10-24 17:59   ` Michael S. Tsirkin
2015-10-25 13:33     ` Laszlo Ersek
2015-10-26 13:36     ` Igor Mammedov
2015-10-24 19:37   ` Michael S. Tsirkin
2015-10-23 14:57 ` [Qemu-devel] [PATCH 07/19] pc: acpi: memhp: move MHPD._STA method into MHPT table Igor Mammedov
2015-10-23 14:57 ` [Qemu-devel] [PATCH 08/19] pc: acpi: memhp: move MHPD.MLCK mutex into NHPT table Igor Mammedov
2015-10-23 14:57 ` [Qemu-devel] [PATCH 09/19] pc: acpi: memhp: move MHPD.MSCN method into MHPT table Igor Mammedov
2015-10-23 14:57 ` [Qemu-devel] [PATCH 10/19] pc: acpi: make memory device's _UID integer Igor Mammedov
2015-10-23 14:57 ` [Qemu-devel] [PATCH 11/19] pc: acpi: memhp: move MHPD.MRST method into MHPT table Igor Mammedov
2015-10-23 14:57 ` [Qemu-devel] [PATCH 12/19] pc: acpi: memhp: move MHPD.MPXM " Igor Mammedov
2015-10-23 14:57 ` [Qemu-devel] [PATCH 13/19] pc: acpi: memhp: move MHPD.MOST " Igor Mammedov
2015-10-23 14:57 ` [Qemu-devel] [PATCH 14/19] pc: acpi: memhp: move MHPD.MEJ0 " Igor Mammedov
2015-10-23 14:57 ` [Qemu-devel] [PATCH 15/19] pc: acpi: bump DSDT revision compliance to v2 Igor Mammedov
2015-10-24 19:40   ` Michael S. Tsirkin
2015-10-26 10:03     ` Igor Mammedov
2015-10-26 10:07       ` Michael S. Tsirkin
2015-10-26 11:06         ` Igor Mammedov
2015-10-26 11:17           ` Michael S. Tsirkin
2015-10-23 14:57 ` [Qemu-devel] [PATCH 16/19] pc: acpi: memhp: move MHPD.MCRS method into MHPT table Igor Mammedov
2015-10-23 14:57 ` [Qemu-devel] [PATCH 17/19] pc: acpi: memhp: move MHPD Device along with _UID/_HID " Igor Mammedov
2015-10-23 14:57 ` [Qemu-devel] [PATCH 18/19] pc: acpi: memhp: remove acpi-dsdt-mem-hotplug.dsl and move \_GPE._E03 into SSDT Igor Mammedov
2015-10-23 14:57 ` [Qemu-devel] [PATCH 19/19] pc: acpi: memhp: cleanup MEMORY_HOTPLUG_IO_REGION usage Igor Mammedov
2015-10-23 16:38 ` [Qemu-devel] [PATCH 00/19] pc: acpi: move memory hotplug out of DSDT/SSDT into custom table Laszlo Ersek
2015-10-24 17:39 ` Michael S. Tsirkin

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.