Am 5. Juli 2023 16:50:28 UTC schrieb Joel Upham <jupham...@gmail.com>:
>I believe it might have been master unstable branch. Last commit before my
>patches was:
>
>commit 19a720b74fde7e859d19f12c66a72e545947a657
>Merge: c6a5fc2ac7 367189efae
>Author: Richard Henderson <richard.hender...@linaro.org>
>Date:   Thu Jun 1 08:30:29 2023 -0700

Indeed!

I've rebased your series and changed the first commit of your series to only 
touch pc_q35.c: https://github.com/shentok/qemu/commits/q35-xen . Judging just 
from compilation my work on decoupling Xen and PIIX seems to have provided a 
good blueprint for the ICH9 LPC device model (no changes needed there).

How can one run Xen/Q35? I've tried running Xen/PC with the PIIX4 rather than 
the usual PIIX3 south bridge before which essentially only changes the PCI IDs. 
But that didn't work. With Q35/ICH9 the differences would be way bigger...

Thanks,
Bernhard

P.S.: I'm waiting for Xen to become compilable again with my Linux distribution 
such that I could add PIIX4 support to Xen.

>
>-Joel
>
>On Thu, Jun 22, 2023 at 1:11 PM Bernhard Beschow <shen...@gmail.com> wrote:
>
>>
>>
>> Am 20. Juni 2023 17:24:33 UTC schrieb Joel Upham <jupham...@gmail.com>:
>> >These are the Qemu changes needed to support the q35 chipset for xen
>> >I based the patches from 2017 found on the mailing list here:
>> >
>> https://lists.xenproject.org/archives/html/xen-devel/2018-03/msg01176.html
>> >
>> >I have been using a version of these patches on Xen 4.16 with Qemu
>> >version 4.1 for over 6 months.  The guest VMs are very stable, and PCIe
>> >PT is working as was designed (all of the PCIe devices are on the root
>> >PCIe device).  I have successfully passed through GPUs, NICs, etc. I was
>> >asked by those in the community to attempt to once again upstream the
>> >patches.  I have them working with Seabios and OVMF (patches are needed
>> >to OVMF which I will be sending to the mailing list). The Qemu patches
>> >allow for the xenvbd to properly unplug the AHCI SATA device, and all
>> >xen pv windows drivers work as intended.
>> >
>> >I used the original author of the patches to get a majority of this to
>> work:
>> >Alexey Gerasimenko.  I fixed the patches to be in line with the upstream
>> >Qemu and Xen versions.  Any original issues may still exist; however, I
>> >am sure in time they can be improved. If the code doesn't exist then they
>> >can't be actively looked at by the community.
>> >
>> >I am not an expert on the Q35 chipset or PCIe technology.  This is my
>> >first patch to this mailing list.
>>
>> Patchew was unable to apply this series onto master:
>> https://patchew.org/QEMU/cover.1687278381.git.jupham...@gmail.com/ What
>> revision is the series based on?
>>
>> Can you rebase? Rebasing this series will probably cause quite some work
>> since it will simplify here and there, as indicated by Igor and by my
>> comments in "version zero" of this series.
>>
>> Best regards,
>> Bernhard
>>
>> >
>> >
>> >Joel Upham (23):
>> >  pc/xen: Xen Q35 support: provide IRQ handling for PCI devices
>> >  pc/q35: Apply PCI bus BSEL property for Xen PCI device hotplug
>> >  q35/acpi/xen: Provide ACPI PCI hotplug interface for Xen on Q35
>> >  q35/xen: Add Xen platform device support for Q35
>> >  q35: Fix incorrect values for PCIEXBAR masks
>> >  xen/pt: XenHostPCIDevice: provide functions for PCI Capabilities and
>> >    PCIe Extended Capabilities enumeration
>> >  xen/pt: avoid reading PCIe device type and cap version multiple times
>> >  xen/pt: determine the legacy/PCIe mode for a passed through device
>> >  xen/pt: Xen PCIe passthrough support for Q35: bypass PCIe topology
>> >    check
>> >  xen/pt: add support for PCIe Extended Capabilities and larger config
>> >    space
>> >  xen/pt: handle PCIe Extended Capabilities Next register
>> >  xen/pt: allow to hide PCIe Extended Capabilities
>> >  xen/pt: add Vendor-specific PCIe Extended Capability descriptor and
>> >    sizing
>> >  xen/pt: add fixed-size PCIe Extended Capabilities descriptors
>> >  xen/pt: add AER PCIe Extended Capability descriptor and sizing
>> >  xen/pt: add descriptors and size calculation for
>> >    RCLD/ACS/PMUX/DPA/MCAST/TPH/DPC PCIe Extended Capabilities
>> >  xen/pt: add Resizable BAR PCIe Extended Capability descriptor and
>> >    sizing
>> >  xen/pt: add VC/VC9/MFVC PCIe Extended Capabilities descriptors and
>> >    sizing
>> >  xen/pt: Fake capability id
>> >  xen platform: unplug ahci object
>> >  pc/q35: setup q35 for xen
>> >  qdev-monitor/pt: bypass root device check
>> >  s3 support: enabling s3 with q35
>> >
>> > hw/acpi/ich9.c                |   22 +-
>> > hw/acpi/pcihp.c               |    6 +-
>> > hw/core/machine.c             |   19 +
>> > hw/i386/pc_piix.c             |    3 +-
>> > hw/i386/pc_q35.c              |   39 +-
>> > hw/i386/xen/xen-hvm.c         |    7 +-
>> > hw/i386/xen/xen_platform.c    |   19 +-
>> > hw/isa/lpc_ich9.c             |   53 +-
>> > hw/isa/piix3.c                |    2 +-
>> > hw/pci-host/q35.c             |   28 +-
>> > hw/pci/pci.c                  |   17 +
>> > hw/xen/xen-host-pci-device.c  |  106 +++-
>> > hw/xen/xen-host-pci-device.h  |    6 +-
>> > hw/xen/xen_pt.c               |   49 +-
>> > hw/xen/xen_pt.h               |   18 +-
>> > hw/xen/xen_pt_config_init.c   | 1103 ++++++++++++++++++++++++++++++---
>> > include/hw/acpi/pcihp.h       |    2 +
>> > include/hw/boards.h           |    1 +
>> > include/hw/i386/pc.h          |    3 +
>> > include/hw/pci-host/q35.h     |    4 +-
>> > include/hw/pci/pci.h          |    3 +
>> > include/hw/southbridge/ich9.h |    1 +
>> > include/hw/xen/xen.h          |    4 +-
>> > qemu-options.hx               |    1 +
>> > softmmu/qdev-monitor.c        |    4 +-
>> > stubs/xen-hw-stub.c           |    4 +-
>> > 26 files changed, 1394 insertions(+), 130 deletions(-)
>> >
>>

Reply via email to