[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Re: [PATCH v1 1/2] transport-pci: Introduce legacy registers access commands
On 5/3/2023 12:48 PM, Michael S. Tsirkin wrote:
As simple as it is, I feel this falls far short of describing how a device should operate. Some issues: - legacy device config offset changes as msi is enabled/disabled suggest separate commands for device/common configThis is fine and covered here. The one who is making msix enable/disable knows which registers to access before/after disable/enable and device also knows it as it is supplying the register. So they just follow the standard legacy register access behavior.But do VFs support INT#x? I will have to re-read the spec.
VFs do not support INTx.When hypervisor knows that it cannot support msix for the guest, it can avoid using the VF for the guest.
It can be an extension command in future as part of the VF administration command to set it by the hypervisor PF.- legacy device endian-ness changes with guest suggest commands to enable LE and BE modeguest endianeness is not known to the device.But is known to hypervisor.
Currently it is only for the LE guests who had some legacy requirement.I don't like tying this to LE implicitly some devices might be BE only. With my idea device can support command to set LE, command to set BE or both.
It can be an addition in future if needed.
It is a pathological case that may not exist because legacy drivers and linux kernels all the way upto 2.6.32 have msix support.and PCIe is LE anyway.PCIE config endian-ness does not matter heere.- legacy guests often assume INT#x support suggest a way to tunnel that too;INT#x is present on the PCI device itself. So no need to tunnel it. Also INT#x is very narrow case. When MSI-X is not supported, a hypervisor can choose not to even connect such device to the guest VM.devices will support MSI. But *guest* might not support MSIX you only find out late when it is driving the device.
And in case if hypervisor sw wants to support for unknown scenario, it can use the one msix based interrupt to emulate intx.
I expected to see more statements along the lines of command ABC has the same effect as access to register DEF of the member through the legacy pci interfaceYes, good point. I will add it in the theory of operation section for this mapping detail.OK, and overall if you see an existing statement about legacy do not copy it, just explain how it is mapped.
Yes, will not copy, only the mapping part to add.
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]