qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v6 5/5] hw/pci: ensure PCIE devices are plugged into only slo


From: Akihiko Odaki
Subject: Re: [PATCH v6 5/5] hw/pci: ensure PCIE devices are plugged into only slot 0 of PCIE port
Date: Fri, 30 Jun 2023 20:36:38 +0900
User-agent: Mozilla/5.0 (X11; Linux aarch64; rv:102.0) Gecko/20100101 Thunderbird/102.12.0

On 2023/06/30 19:37, Ani Sinha wrote:


On 30-Jun-2023, at 3:30 PM, Michael S. Tsirkin <mst@redhat.com> wrote:

On Fri, Jun 30, 2023 at 02:52:52PM +0530, Ani Sinha wrote:


On 30-Jun-2023, at 2:13 PM, Michael S. Tsirkin <mst@redhat.com> wrote:

On Fri, Jun 30, 2023 at 02:06:59PM +0530, Ani Sinha wrote:


On 30-Jun-2023, at 2:02 PM, Michael S. Tsirkin <mst@redhat.com> wrote:

On Fri, Jun 30, 2023 at 01:11:33PM +0530, Ani Sinha wrote:

Thus the check for unoccupied function 0 needs to use pci_is_vf() instead of 
checking ARI capability, and that can happen in do_pci_register_device().

Also where do you propose we move the check?

In pci_qdev_realize(), somewhere after pc->realize() and before option ROM 
loading.

Hmm, I tried this. The issue here is something like this would be now allowed 
since the PF has ARI capability:

-device pcie-root-port,id=p -device igb,bus=p,addr=0x2.0x0

The above should not be allowed and when used, we do not see the igb ethernet 
device from the guest OS.

I think it's allowed because it expects you to hotplug function 0 later,

This is about the igb device being plugged into the non-zero slot of the 
pci-root-port. The guest OS ignores it.

yes but if you later add a device with ARI and with next field pointing
slot 2 guest will suddently find both.

Hmm, I tried this:

-device pcie-root-port,id=p \
-device igb,bus=p,addr=0x2.0x0 \
-device igb,bus=p,addr=0x0.0x0 \

The guest only found the second igb device not the first. You can try too.

Because next parameter in pcie_ari_init does not match.

OK send me a command line that I can test it with. I can’t come up with a case 
that actually works in practice.

I don't think there is one because the code for PCI multifunction does not care ARI. In my opinion, we need yet another check to make non-SR-IOV multifunction and ARI capability mutually exclusive; if a function has the ARI capability and it is not a VF, an attempt to assign non-zero function number for it should fail.

But it should be a distinct check as it will need to check the function number bits.





no?

I am quite worried about all this work going into blocking
what we think is disallowed configurations. We should have
maybe blocked them originally, but now that we didn't
there's a non zero chance of regressions,

Sigh,

There's value in patches 1-4 I think - the last patch helped you find
these. so there's value in this work.

no medals here for being brave :-)

Try removing support for a 3.5mm jack next. Oh wait ...

Indeed. Everyone uses bluetooth these days. I for one is happy that the jack is 
gone (and they were bold enough to do it while Samsung and others still carry 
the useless port ) :-)

Hello from a guy using a shiny M2 Macbook Air carrying the legacy jack with a 100-yen earphone. Even people who ported Linux to this machine spent efforts to get the jack to work on Linux ;)



and the benefit
is not guaranteed.

--
MST




reply via email to

[Prev in Thread] Current Thread [Next in Thread]