From: Igor Mammedov <imammedo@redhat.com>
To: qemu-devel@nongnu.org
Cc: pbonzini@redhat.com, ehabkost@redhat.com, mst@redhat.com
Subject: [Qemu-devel] [PATCH 0/9] pc: do not create invalid MADT.LAPIC/Processor entries
Date: Thu, 4 Feb 2016 12:47:27 +0100 [thread overview]
Message-ID: <1454586455-10202-1-git-send-email-imammedo@redhat.com> (raw)
It's mostly clean up series that removes invalid CPU
entries from MADT/DSDT/SRAT tables when APIC IDs are
sparse distributed*.
Series also removes intermediate present CPUs bitmap
in ACPI tables generation code, replacing it with
machine reported presence status or if not possible*
with directly querying CPU for presence. That should
help later for consolidating and sharing CPU hotplug
codebase and extending supported CPU count above 256
on ACPI side, where I'm going to replace current
"not scalable" bitmap based CPU hotplug MMIO interface
with memory-hotplug like one, which could easily
scale and provide additional info for ACPI CPU device
objects.
Series depends on cotextual changes in following post:
'[PATCH 0/3] merge SSDT into DSDT'
https://www.mail-archive.com/qemu-devel@nongnu.org/msg347960.html
* example topology with sparse APIC IDs:
-smp X,sockets=2,cores=3,maxcpus=6
* it's not possible to remove notion of apic_ad_limit
since guest visible interfaces like CPU hoptlug MMIO
(CPON array in ACPI + corresponding MMIO in QEMU) and
FWCFG should stay the same for compat reasons with
current setups and legacy SeaBIOS.
Igor Mammedov (9):
cpu: rename cpu_exists() to qemu_get_cpu_by_arch_id()
machine: introduce MachineClass.possible_cpu_arch_ids() hook
pc: acpi: cleanup qdev_get_machine() calls
pc: acpi: SRAT: create only valid processor lapic entries
pc: acpi: create Processor and Notify objects only for valid lapics
pc: acpi: create MADT.lapic entries only for valid lapics
pc: acpi: drop not needed intermediate bitmap cpu->found_cpus
pc: move apic_id_limit to PCMachineState
pc: acpi: clarify why possible LAPIC entries must be present in MADT
hw/i386/acpi-build.c | 138 ++++++++++++++++++++++++++-------------------------
hw/i386/pc.c | 67 ++++++++++++++-----------
include/hw/boards.h | 18 +++++++
include/hw/i386/pc.h | 4 +-
include/qom/cpu.h | 10 ++--
qom/cpu.c | 6 +--
target-i386/cpu.c | 2 +-
7 files changed, 138 insertions(+), 107 deletions(-)
--
1.8.3.1
next reply other threads:[~2016-02-04 11:47 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-02-04 11:47 Igor Mammedov [this message]
2016-02-04 11:47 ` [Qemu-devel] [PATCH 2/9] machine: introduce MachineClass.possible_cpu_arch_ids() hook Igor Mammedov
2016-02-04 12:18 ` Marcel Apfelbaum
2016-02-04 13:36 ` Igor Mammedov
2016-02-05 14:13 ` Eduardo Habkost
2016-02-05 14:49 ` Igor Mammedov
2016-02-05 15:04 ` Eduardo Habkost
2016-02-05 15:39 ` Igor Mammedov
2016-02-05 15:50 ` Eduardo Habkost
2016-02-05 16:29 ` Igor Mammedov
2016-02-04 11:47 ` [Qemu-devel] [PATCH 3/9] pc: acpi: cleanup qdev_get_machine() calls Igor Mammedov
2016-02-04 12:21 ` Marcel Apfelbaum
2016-02-04 11:47 ` [Qemu-devel] [PATCH 4/9] pc: acpi: SRAT: create only valid processor lapic entries Igor Mammedov
2016-02-05 15:07 ` Eduardo Habkost
2016-02-04 11:47 ` [Qemu-devel] [PATCH 5/9] pc: acpi: create Processor and Notify objects only for valid lapics Igor Mammedov
2016-02-05 15:17 ` Eduardo Habkost
2016-02-05 15:43 ` Igor Mammedov
2016-02-04 11:47 ` [Qemu-devel] [PATCH 6/9] pc: acpi: create MADT.lapic entries " Igor Mammedov
2016-02-05 15:28 ` Eduardo Habkost
2016-02-05 16:14 ` Igor Mammedov
2016-02-11 16:11 ` Eduardo Habkost
2016-02-12 10:04 ` Igor Mammedov
2016-02-04 11:47 ` [Qemu-devel] [PATCH 7/9] pc: acpi: drop not needed intermediate bitmap cpu->found_cpus Igor Mammedov
2016-02-05 15:39 ` Eduardo Habkost
2016-02-05 16:19 ` Igor Mammedov
2016-02-05 16:44 ` Igor Mammedov
2016-02-11 15:59 ` Eduardo Habkost
2016-02-12 10:05 ` Igor Mammedov
2016-02-04 11:47 ` [Qemu-devel] [PATCH 8/9] pc: move apic_id_limit to PCMachineState Igor Mammedov
[not found] ` <56B348BA.40502@gmail.com>
2016-02-04 17:08 ` Igor Mammedov
2016-02-04 18:18 ` Michael S. Tsirkin
2016-02-04 18:24 ` Igor Mammedov
2016-02-04 11:47 ` [Qemu-devel] [PATCH 9/9] pc: acpi: clarify why possible LAPIC entries must be present in MADT Igor Mammedov
2016-02-05 15:39 ` Eduardo Habkost
2016-02-04 11:49 ` [Qemu-devel] [PATCH 1/9] cpu: rename cpu_exists() to qemu_get_cpu_by_arch_id() Igor Mammedov
2016-02-05 14:20 ` Eduardo Habkost
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1454586455-10202-1-git-send-email-imammedo@redhat.com \
--to=imammedo@redhat.com \
--cc=ehabkost@redhat.com \
--cc=mst@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).