Damien Zammit, le ven. 26 mars 2021 21:10:00 +1100, a ecrit: > On 26/3/21 8:59 pm, Samuel Thibault wrote: > > Damien Zammit, le ven. 26 mars 2021 20:48:45 +1100, a ecrit: > >> As discussed, this should be done via a new pci-arbiter RPC that > >> requests the IRQ id for a particular device. > > > > Mmm, AIUI a driver can already read the PCI IRQ information with > > pci_conf_read, and lookup in acpi for the irq line, I don't think > > pci-arbiter itself needs an additional RPC? That could rather be on the > > acpi server. > > As I understand it, the PCI IRQ information is incorrect in the config space,
"incorrect", or "incomplete"? According to below, I guess the former. > the only way to know the APIC pin for a specific device is via ACPI. > So you have to pass in the B/D/F of the device to an acpi RPC and discover > its pin. Ah, so the PCI IRQ information is just completely useless? > Why should every user of a pci device have specific logic to discover its pin? > Wouldn't this be better to be centralised in a pci RPC? Yes but it could as well be an ACPI RPC. Rump would get the B/D/F PCI information from pci-arbiter, and then ask acpi for the actual IRQ to use for that B/D/F triplet. pci-arbiter itself doesn't know better than acpi. Samuel
