xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v4 0/7] Resolve TYPE_PIIX3_XEN_DEVICE
@ 2023-04-03  7:41 Bernhard Beschow
  2023-04-03  7:41 ` [PATCH v4 1/7] include/hw/xen/xen: Rename xen_piix3_set_irq() to xen_intx_set_irq() Bernhard Beschow
                   ` (7 more replies)
  0 siblings, 8 replies; 19+ messages in thread
From: Bernhard Beschow @ 2023-04-03  7:41 UTC (permalink / raw)
  To: qemu-devel
  Cc: Michael S. Tsirkin, Richard Henderson, Marcel Apfelbaum,
	David Woodhouse, Eduardo Habkost, Stefano Stabellini,
	Chuck Zmudzinski, Aurelien Jarno, Hervé Poussineau,
	Paul Durrant, Paolo Bonzini, Philippe Mathieu-Daudé,
	Anthony Perard, xen-devel, Bernhard Beschow

There is currently a dedicated PIIX3 device model for use under Xen. By reusing
existing PCI API during initialization this device model can be eliminated and
the plain PIIX3 device model can be used instead.

Resolving TYPE_PIIX3_XEN_DEVICE results in less code while also making Xen
agnostic towards the precise south bridge being used in the PC machine. The
latter might become particularily interesting once PIIX4 becomes usable in the
PC machine, avoiding the "Frankenstein" use of PIIX4_ACPI in PIIX3.

Testing done:
- `make check`
- Run `xl create` 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
- `qemu-system-x86_64 -M pc -m 2G -cpu host -accel kvm \
    -cdrom manjaro-kde-21.2.6-220416-linux515.iso`

v4:
- Add patch fixing latent memory leak in pci_bus_irqs() (Anthony)

v3:
- Rebase onto master

v2:
- xen_piix3_set_irq() is already generic. Just rename it. (Chuck)

Tested-by: Chuck Zmudzinski <brchuckz@aol.com>

Bernhard Beschow (7):
  include/hw/xen/xen: Rename xen_piix3_set_irq() to xen_intx_set_irq()
  hw/pci/pci.c: Don't leak PCIBus::irq_count[] in pci_bus_irqs()
  hw/isa/piix3: Reuse piix3_realize() in piix3_xen_realize()
  hw/isa/piix3: Wire up Xen PCI IRQ handling outside of PIIX3
  hw/isa/piix3: Avoid Xen-specific variant of piix3_write_config()
  hw/isa/piix3: Resolve redundant k->config_write assignments
  hw/isa/piix3: Resolve redundant TYPE_PIIX3_XEN_DEVICE

 include/hw/southbridge/piix.h |  1 -
 include/hw/xen/xen.h          |  2 +-
 hw/i386/pc_piix.c             | 36 +++++++++++++++++++--
 hw/i386/xen/xen-hvm.c         |  2 +-
 hw/isa/piix3.c                | 60 +----------------------------------
 hw/pci/pci.c                  |  2 ++
 stubs/xen-hw-stub.c           |  2 +-
 7 files changed, 39 insertions(+), 66 deletions(-)

-- 
2.40.0



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

end of thread, other threads:[~2023-06-09 10:47 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-04-03  7:41 [PATCH v4 0/7] Resolve TYPE_PIIX3_XEN_DEVICE Bernhard Beschow
2023-04-03  7:41 ` [PATCH v4 1/7] include/hw/xen/xen: Rename xen_piix3_set_irq() to xen_intx_set_irq() Bernhard Beschow
2023-04-03  7:41 ` [PATCH v4 2/7] hw/pci/pci.c: Don't leak PCIBus::irq_count[] in pci_bus_irqs() Bernhard Beschow
2023-04-19 19:31   ` Bernhard Beschow
2023-04-21  7:37   ` Michael S. Tsirkin
2023-04-03  7:41 ` [PATCH v4 3/7] hw/isa/piix3: Reuse piix3_realize() in piix3_xen_realize() Bernhard Beschow
2023-04-03  7:41 ` [PATCH v4 4/7] hw/isa/piix3: Wire up Xen PCI IRQ handling outside of PIIX3 Bernhard Beschow
2023-04-03  7:41 ` [PATCH v4 5/7] hw/isa/piix3: Avoid Xen-specific variant of piix3_write_config() Bernhard Beschow
2023-04-03  7:41 ` [PATCH v4 6/7] hw/isa/piix3: Resolve redundant k->config_write assignments Bernhard Beschow
2023-04-03  7:41 ` [PATCH v4 7/7] hw/isa/piix3: Resolve redundant TYPE_PIIX3_XEN_DEVICE Bernhard Beschow
2023-04-21  7:38 ` [PATCH v4 0/7] Resolve TYPE_PIIX3_XEN_DEVICE Michael S. Tsirkin
2023-04-21 16:35   ` Bernhard Beschow
2023-05-13 11:44   ` Bernhard Beschow
2023-05-15 20:52     ` Stefano Stabellini
2023-05-22 15:42       ` Bernhard Beschow
2023-06-05  7:01         ` Bernhard Beschow
2023-06-08 22:43           ` Stefano Stabellini
2023-06-09  0:23             ` Stefano Stabellini
2023-06-09 10:46             ` Anthony PERARD

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).