[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] xio3130_upstream: Add ACS (Access Control Services) capabili
From: |
Michael S. Tsirkin |
Subject: |
Re: [PATCH] xio3130_upstream: Add ACS (Access Control Services) capability |
Date: |
Sun, 14 Aug 2022 18:55:40 -0400 |
On Sun, Aug 14, 2022 at 11:59:51PM +0800, Paul Schlacter wrote:
> What's wrong with not disabling the old version?
Old versions have to behave in the same way as they did,
or close enough. Changing that breaks migration between
qemu versions.
>
>
> On Sun, Aug 14, 2022 at 6:48 PM Michael S. Tsirkin <mst@redhat.com> wrote:
>
> On Sun, Aug 14, 2022 at 03:47:49PM +0800, Paul Schlacter wrote:
> > If it is a pcie device, check that all devices on the path from
> >
> > the device to the root complex have ACS enabled, and then the
> >
> > device will become an iommu_group.
> >
> > it will have the effect of isolation
> >
> >
> > Signed-off-by: wlfightup <wlfightup@gmail.com>
>
> I don't think we can do this unconditionally. Has to have
> a property and disabled for old versions.
>
> > ---
> >
> > hw/pci-bridge/xio3130_upstream.c | 3 +++
> >
> > 1 file changed, 3 insertions(+)
> >
> >
> > diff --git a/hw/pci-bridge/xio3130_upstream.c b/hw/pci-bridge/
> > xio3130_upstream.c
> >
> > index 5ff46ef050..2df952222b 100644
> >
> > --- a/hw/pci-bridge/xio3130_upstream.c
> >
> > +++ b/hw/pci-bridge/xio3130_upstream.c
> >
> > @@ -37,6 +37,8 @@
> >
> > #define XIO3130_SSVID_SSID 0
> >
> > #define XIO3130_EXP_OFFSET 0x90
> >
> > #define XIO3130_AER_OFFSET 0x100
> >
> > +#define XIO3130_ACS_OFFSET \
> >
> > + (XIO3130_AER_OFFSET + PCI_ERR_SIZEOF)
> >
> >
> > static void xio3130_upstream_write_config(PCIDevice *d, uint32_t
> address,
> >
> > uint32_t val, int len)
> >
> > @@ -92,6 +94,7 @@ static void xio3130_upstream_realize(PCIDevice *d,
> Error
> > **errp)
> >
> > goto err;
> >
> > }
> >
> >
> > + pcie_acs_init(d, XIO3130_ACS_OFFSET);
> >
> > return;
> >
> >
> > err:
> >
> > --
> >
> > 2.24.3 (Apple Git-128)
> >
>
>