[PATCH v2 0/3] xen: fix usage of devices behind a VMD bridge

Roger Pau Monne posted 3 patches 11 months ago
arch/x86/pci/xen.c           |  8 ++------
drivers/pci/controller/vmd.c | 19 ++++++++++++++++++
drivers/pci/msi/msi.c        | 37 ++++++++++++++++++++----------------
drivers/xen/pci.c            | 19 ++++++++++++++++++
include/linux/msi.h          |  3 ++-
kernel/irq/msi.c             |  2 +-
6 files changed, 64 insertions(+), 24 deletions(-)
[PATCH v2 0/3] xen: fix usage of devices behind a VMD bridge
Posted by Roger Pau Monne 11 months ago
Hello,

The following series should fix the usage of devices behind a VMD bridge
when running Linux as a Xen PV hardware domain (dom0).  I've only been
able to test PV. I think PVH should also work but I don't have hardware
capable of testing it right now.

I don't expect the first two patches to be problematic, the last patch
is likely to be more controversial.  I've tested it internally and
didn't see any issues, but my testing of PV mode is mostly limited to
dom0.

Thanks, Roger.

Roger Pau Monne (3):
  xen/pci: do not register devices with segments >= 0x10000
  vmd: disable MSI remapping bypass under Xen
  pci/msi: remove pci_msi_ignore_mask

 arch/x86/pci/xen.c           |  8 ++------
 drivers/pci/controller/vmd.c | 19 ++++++++++++++++++
 drivers/pci/msi/msi.c        | 37 ++++++++++++++++++++----------------
 drivers/xen/pci.c            | 19 ++++++++++++++++++
 include/linux/msi.h          |  3 ++-
 kernel/irq/msi.c             |  2 +-
 6 files changed, 64 insertions(+), 24 deletions(-)

-- 
2.46.0
Re: [PATCH v2 0/3] xen: fix usage of devices behind a VMD bridge
Posted by Bjorn Helgaas 10 months ago
[+to Juergen, Nirmal, +cc Jonathan]

On Tue, Jan 14, 2025 at 11:33:10AM +0100, Roger Pau Monne wrote:
> Hello,
> 
> The following series should fix the usage of devices behind a VMD bridge
> when running Linux as a Xen PV hardware domain (dom0).  I've only been
> able to test PV. I think PVH should also work but I don't have hardware
> capable of testing it right now.
> 
> I don't expect the first two patches to be problematic, the last patch
> is likely to be more controversial.  I've tested it internally and
> didn't see any issues, but my testing of PV mode is mostly limited to
> dom0.
> 
> Thanks, Roger.
> 
> Roger Pau Monne (3):
>   xen/pci: do not register devices with segments >= 0x10000
>   vmd: disable MSI remapping bypass under Xen
>   pci/msi: remove pci_msi_ignore_mask
> 
>  arch/x86/pci/xen.c           |  8 ++------
>  drivers/pci/controller/vmd.c | 19 ++++++++++++++++++
>  drivers/pci/msi/msi.c        | 37 ++++++++++++++++++++----------------
>  drivers/xen/pci.c            | 19 ++++++++++++++++++
>  include/linux/msi.h          |  3 ++-
>  kernel/irq/msi.c             |  2 +-
>  6 files changed, 64 insertions(+), 24 deletions(-)

We got an ack from Thomas, so I'm fine with this from a PCI
perspective.  How should it be merged?  Via Xen or PCI?  I'm happy to
merge via PCI, but would also want acks from Juergen for the Xen
piece and Nirmal for the VMD piece.

I have a couple more trivial comments, will respond to those patches.
Re: [PATCH v2 0/3] xen: fix usage of devices behind a VMD bridge
Posted by Jürgen Groß 10 months ago
On 14.02.25 18:17, Bjorn Helgaas wrote:
> [+to Juergen, Nirmal, +cc Jonathan]
> 
> On Tue, Jan 14, 2025 at 11:33:10AM +0100, Roger Pau Monne wrote:
>> Hello,
>>
>> The following series should fix the usage of devices behind a VMD bridge
>> when running Linux as a Xen PV hardware domain (dom0).  I've only been
>> able to test PV. I think PVH should also work but I don't have hardware
>> capable of testing it right now.
>>
>> I don't expect the first two patches to be problematic, the last patch
>> is likely to be more controversial.  I've tested it internally and
>> didn't see any issues, but my testing of PV mode is mostly limited to
>> dom0.
>>
>> Thanks, Roger.
>>
>> Roger Pau Monne (3):
>>    xen/pci: do not register devices with segments >= 0x10000
>>    vmd: disable MSI remapping bypass under Xen
>>    pci/msi: remove pci_msi_ignore_mask
>>
>>   arch/x86/pci/xen.c           |  8 ++------
>>   drivers/pci/controller/vmd.c | 19 ++++++++++++++++++
>>   drivers/pci/msi/msi.c        | 37 ++++++++++++++++++++----------------
>>   drivers/xen/pci.c            | 19 ++++++++++++++++++
>>   include/linux/msi.h          |  3 ++-
>>   kernel/irq/msi.c             |  2 +-
>>   6 files changed, 64 insertions(+), 24 deletions(-)
> 
> We got an ack from Thomas, so I'm fine with this from a PCI
> perspective.  How should it be merged?  Via Xen or PCI?  I'm happy to
> merge via PCI, but would also want acks from Juergen for the Xen
> piece and Nirmal for the VMD piece.

I'm fine with this to go in via the PCI tree.

For the Xen related parts:

Acked-by: Juergen Gross <jgross@suse.com>


Juergen
Re: [PATCH v2 0/3] xen: fix usage of devices behind a VMD bridge
Posted by Roger Pau Monné 10 months, 1 week ago
Ping? This has been pending for 3 weeks without replies.

Thanks, Roger.

On Tue, Jan 14, 2025 at 11:33:10AM +0100, Roger Pau Monne wrote:
> Hello,
> 
> The following series should fix the usage of devices behind a VMD bridge
> when running Linux as a Xen PV hardware domain (dom0).  I've only been
> able to test PV. I think PVH should also work but I don't have hardware
> capable of testing it right now.
> 
> I don't expect the first two patches to be problematic, the last patch
> is likely to be more controversial.  I've tested it internally and
> didn't see any issues, but my testing of PV mode is mostly limited to
> dom0.
> 
> Thanks, Roger.
> 
> Roger Pau Monne (3):
>   xen/pci: do not register devices with segments >= 0x10000
>   vmd: disable MSI remapping bypass under Xen
>   pci/msi: remove pci_msi_ignore_mask
> 
>  arch/x86/pci/xen.c           |  8 ++------
>  drivers/pci/controller/vmd.c | 19 ++++++++++++++++++
>  drivers/pci/msi/msi.c        | 37 ++++++++++++++++++++----------------
>  drivers/xen/pci.c            | 19 ++++++++++++++++++
>  include/linux/msi.h          |  3 ++-
>  kernel/irq/msi.c             |  2 +-
>  6 files changed, 64 insertions(+), 24 deletions(-)
> 
> -- 
> 2.46.0
>