From: Bernhard Beschow <shentey@gmail.com>
To: qemu-devel@nongnu.org
Cc: Eduardo Habkost <eduardo@habkost.net>,
"Michael S. Tsirkin" <mst@redhat.com>,
Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
Richard Henderson <richard.henderson@linaro.org>,
Paolo Bonzini <pbonzini@redhat.com>,
Bernhard Beschow <shentey@gmail.com>
Subject: [PATCH v2 00/16] Q35 and I440FX host bridge QOM cleanup
Date: Wed, 28 Jun 2023 21:51:48 +0200 [thread overview]
Message-ID: <20230628195204.1241-1-shentey@gmail.com> (raw)
This series resolves the legacy i440fx_init() function and instantiates the
I440FX host bridge the QOM way. As a preparation the Q35 host bridge receives
some cleanup as well.
Most of the Q35 patches have been submitted under [1] before. This series
incorporates only the changes making the two device models consistent with
each other.
The original plan of [1] was to clean up Q35 first and then submit a separate
follow-up I440FX QOM'ification series. This series takes a more direct approach
by cutting down on the changes in both device models while still allowing both
device models to be instantiated the same way. The remaining patches in [1]
would still be doable.
The series is structured as follows: The first 5 patches clean up Q35, the next
patch massages Q35 to share its property names with I440FX. The rest of the
series resolves i440fx_init().
Tesging done:
* `make check`
* `make check-avocado`
* Run `xl create` under Xen with the following config:
name = "Manjaro"
type = 'hvm'
memory = 1536
apic = 1
usb = 1
disk = [ "file:manjaro-kde-21.2.6-220416-linux515.iso,hdc:cdrom,r" ]
device_model_override = "/usr/bin/qemu-system-x86_64"
vga = "stdvga"
sdl = 1
v2:
* Rename `address_space_io` to `io_memory` (Phil)
* Eliminate one else branch in pc_piix (Igor)
* Make Q35's blackhole_ops DEVICE_LITTLE_ENDIAN again (Igor)
* Possibly ongoing discussion regarding bringing together i440fx new and realize
[1] https://patchew.org/QEMU/20230304152648.103749-1-shentey@gmail.com/
Bernhard Beschow (16):
hw/i386/pc_q35: Resolve redundant q35_host variable
hw/pci-host/q35: Fix double, contradicting .endianness assignment
hw/pci-host/q35: Initialize PCMachineState::bus in board code
hw/pci/pci_host: Introduce PCI_HOST_BYPASS_IOMMU macro
hw/pci-host/q35: Initialize PCI_HOST_BYPASS_IOMMU property from board
code
hw/pci-host/q35: Make some property name macros reusable by i440fx
hw/pci-host/i440fx: Replace magic values by existing constants
hw/pci-host/i440fx: Have common names for some local variables
hw/pci-host/i440fx: Move i440fx_realize() into PCII440FXState section
hw/pci-host/i440fx: Make MemoryRegion pointers accessible as
properties
hw/pci-host/i440fx: Add PCI_HOST_PROP_IO_MEM property
hw/pci-host/i440fx: Add PCI_HOST_{ABOVE, BELOW}_4G_MEM_SIZE properties
hw/pci-host/i440fx: Add I440FX_HOST_PROP_PCI_TYPE property
hw/pci-host/i440fx: Resolve i440fx_init()
hw/i386/pc_piix: Turn some local variables into initializers
hw/i386/pc_piix: Move i440fx' realize near its qdev_new()
include/hw/i386/pc.h | 4 ++
include/hw/pci-host/i440fx.h | 16 +----
include/hw/pci-host/q35.h | 5 --
include/hw/pci/pci_host.h | 2 +
hw/i386/pc_piix.c | 59 +++++++++-------
hw/i386/pc_q35.c | 31 +++++----
hw/pci-host/i440fx.c | 128 +++++++++++++++++++----------------
hw/pci-host/q35.c | 13 ++--
hw/pci/pci_host.c | 2 +-
9 files changed, 135 insertions(+), 125 deletions(-)
--
2.41.0
next reply other threads:[~2023-06-28 19:52 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-06-28 19:51 Bernhard Beschow [this message]
2023-06-28 19:51 ` [PATCH v2 01/16] hw/i386/pc_q35: Resolve redundant q35_host variable Bernhard Beschow
2023-06-29 7:43 ` Philippe Mathieu-Daudé
2023-06-28 19:51 ` [PATCH v2 02/16] hw/pci-host/q35: Fix double, contradicting .endianness assignment Bernhard Beschow
2023-06-29 7:42 ` Philippe Mathieu-Daudé
2023-06-28 19:51 ` [PATCH v2 03/16] hw/pci-host/q35: Initialize PCMachineState::bus in board code Bernhard Beschow
2023-06-28 19:51 ` [PATCH v2 04/16] hw/pci/pci_host: Introduce PCI_HOST_BYPASS_IOMMU macro Bernhard Beschow
2023-06-28 19:51 ` [PATCH v2 05/16] hw/pci-host/q35: Initialize PCI_HOST_BYPASS_IOMMU property from board code Bernhard Beschow
2023-06-28 19:51 ` [PATCH v2 06/16] hw/pci-host/q35: Make some property name macros reusable by i440fx Bernhard Beschow
2023-06-28 19:51 ` [PATCH v2 07/16] hw/pci-host/i440fx: Replace magic values by existing constants Bernhard Beschow
2023-06-28 19:51 ` [PATCH v2 08/16] hw/pci-host/i440fx: Have common names for some local variables Bernhard Beschow
2023-06-28 19:51 ` [PATCH v2 09/16] hw/pci-host/i440fx: Move i440fx_realize() into PCII440FXState section Bernhard Beschow
2023-06-28 19:51 ` [PATCH v2 10/16] hw/pci-host/i440fx: Make MemoryRegion pointers accessible as properties Bernhard Beschow
2023-06-28 19:51 ` [PATCH v2 11/16] hw/pci-host/i440fx: Add PCI_HOST_PROP_IO_MEM property Bernhard Beschow
2023-06-28 19:52 ` [PATCH v2 12/16] hw/pci-host/i440fx: Add PCI_HOST_{ABOVE, BELOW}_4G_MEM_SIZE properties Bernhard Beschow
2023-06-28 19:52 ` [PATCH v2 13/16] hw/pci-host/i440fx: Add I440FX_HOST_PROP_PCI_TYPE property Bernhard Beschow
2023-06-28 19:52 ` [PATCH v2 14/16] hw/pci-host/i440fx: Resolve i440fx_init() Bernhard Beschow
2023-06-29 7:50 ` Philippe Mathieu-Daudé
2023-06-29 16:52 ` Bernhard Beschow
2023-06-28 19:52 ` [PATCH v2 15/16] hw/i386/pc_piix: Turn some local variables into initializers Bernhard Beschow
2023-06-29 7:39 ` Philippe Mathieu-Daudé
2023-06-28 19:52 ` [PATCH v2 16/16] hw/i386/pc_piix: Move i440fx' realize near its qdev_new() Bernhard Beschow
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=20230628195204.1241-1-shentey@gmail.com \
--to=shentey@gmail.com \
--cc=eduardo@habkost.net \
--cc=marcel.apfelbaum@gmail.com \
--cc=mst@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=richard.henderson@linaro.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).