From: "Michael S. Tsirkin" <mst@redhat.com>
To: Aleksandr Bezzubikov <zuban32s@gmail.com>
Cc: qemu-devel@nongnu.org, marcel@redhat.com, imammedo@redhat.com,
pbonzini@redhat.com, rth@twiddle.net, ehabkost@redhat.com
Subject: Re: [Qemu-devel] [PATCH RFC 0/6] q35: add acpi pci hotplug support
Date: Fri, 30 Jun 2017 02:17:52 +0300 [thread overview]
Message-ID: <20170630020622-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <1498773362-18675-1-git-send-email-zuban32s@gmail.com>
On Fri, Jun 30, 2017 at 12:55:56AM +0300, Aleksandr Bezzubikov wrote:
> The series adds hotplug support to legacy PCI buses for Q35 machines.
> The ACPI hotplug code is emitted if at least one legacy pci-bridge is present.
>
> This series is mostly based on past Marcel's series
> https://lists.gnu.org/archive/html/qemu-devel/2016-05/msg05681.html,
> but rebased on current master with some minor changes according to current codebase.
>
> ACPI code emission approach used in this series can be called "static",
> because it checkswhether a bridge exists only at initial DSDT generation moment.
> The main goal is to enable AML PCI hotplug-related code to be generated dynamically.
> In other words, the bridge plugged in - a new acpi definition block is
> loaded (using LoadTable method).
> This is necessary for PCIE-PCI bridge hotplugging feature.
I wonder whether we really need ACPI hotplug.
Most modern systems are limited to native PCIE.
I do understand the need to add PCI devices sometimes,
but maybe we can find a way to do this with native hotplug.
For example, how about the following approach
- PCIE downstream port - X - PCIE-to-PCI bridge - PCI device
By hotplugging the bridge+device combination into a downstream
port (point X) we can potentially make devices enumerate
properly.
This might cause some issues with IO port assignment (uses 4K
io port space due to bridge aperture limitations)
but maybe we do not need so many legacy PCI devices -
people who do can simply use piix.
For this to work we need a way to create bridge instance
that is invisible to the guest. There is already a
way to do this for multifunction devices:
create bridge in function != 0
attach device
then create a dummy function 0
Inelegant - it would be cleaner to support this for function 0
as well - but should allow you to test the idea directly.
> Aleksandr Bezzubikov (6):
> hw/acpi: remove dead acpi code
> hw/acpi: simplify dsdt building code
> hw/acpi: fix pcihp io initialization
> hw/acpi: prepare pci hotplug IO for ich9
> hw/acpi: extend acpi pci hotplug support for pci express
> hw/ich9: enable acpi pci hotplug
>
> hw/acpi/ich9.c | 31 +++++++++++++
> hw/i386/acpi-build.c | 116 ++++++++++++++++++++++++-------------------------
> hw/isa/lpc_ich9.c | 12 +++++
> include/hw/acpi/ich9.h | 4 ++
> include/hw/i386/pc.h | 7 ++-
> 5 files changed, 111 insertions(+), 59 deletions(-)
>
> --
> 2.7.4
next prev parent reply other threads:[~2017-06-29 23:18 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-06-29 21:55 [Qemu-devel] [PATCH RFC 0/6] q35: add acpi pci hotplug support Aleksandr Bezzubikov
2017-06-29 21:55 ` [Qemu-devel] [PATCH RFC 1/6] hw/acpi: remove dead acpi code Aleksandr Bezzubikov
2017-06-29 23:27 ` Michael S. Tsirkin
2017-07-03 11:52 ` Igor Mammedov
2017-06-29 21:55 ` [Qemu-devel] [PATCH RFC 2/6] hw/acpi: simplify dsdt building code Aleksandr Bezzubikov
2017-06-29 21:55 ` [Qemu-devel] [PATCH RFC 3/6] hw/acpi: fix pcihp io initialization Aleksandr Bezzubikov
2017-06-29 23:22 ` Michael S. Tsirkin
2017-06-29 21:56 ` [Qemu-devel] [PATCH RFC 4/6] hw/acpi: prepare pci hotplug IO for ich9 Aleksandr Bezzubikov
2017-06-29 23:28 ` Michael S. Tsirkin
2017-06-29 21:56 ` [Qemu-devel] [PATCH RFC 5/6] hw/acpi: extend acpi pci hotplug support for pci express Aleksandr Bezzubikov
2017-06-29 23:30 ` Michael S. Tsirkin
2017-06-29 21:56 ` [Qemu-devel] [PATCH RFC 6/6] hw/ich9: enable acpi pci hotplug Aleksandr Bezzubikov
2017-06-29 23:31 ` Michael S. Tsirkin
2017-06-29 23:17 ` Michael S. Tsirkin [this message]
2017-06-30 7:25 ` [Qemu-devel] [PATCH RFC 0/6] q35: add acpi pci hotplug support Marcel Apfelbaum
2017-06-30 19:19 ` Michael S. Tsirkin
2017-07-03 12:27 ` Igor Mammedov
2017-07-03 13:58 ` Alexander Bezzubikov
2017-07-03 14:41 ` Alexander Bezzubikov
2017-07-03 16:37 ` Michael S. Tsirkin
2017-07-03 16:34 ` Michael S. Tsirkin
2017-07-03 18:26 ` Marcel Apfelbaum
2017-07-03 18:29 ` Michael S. Tsirkin
2017-07-03 22:06 ` Alexander Bezzubikov
2017-07-04 1:00 ` Alexander Bezzubikov
2017-07-04 12:18 ` Marcel Apfelbaum
2017-07-04 13:12 ` Igor Mammedov
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=20170630020622-mutt-send-email-mst@kernel.org \
--to=mst@redhat.com \
--cc=ehabkost@redhat.com \
--cc=imammedo@redhat.com \
--cc=marcel@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=rth@twiddle.net \
--cc=zuban32s@gmail.com \
/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 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.