[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: gnumach: IOAPIC and LAPIC support
From: |
Damien Zammit |
Subject: |
Re: gnumach: IOAPIC and LAPIC support |
Date: |
Fri, 26 Mar 2021 21:10:00 +1100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.7.0 |
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,
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.
You can't use a pci device without the arbiter and ACPI
is just one specific implementation of the lookup.
We could, for example, fall back to guessing the pin if ACPI is not available.
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?
Also, in the future if we use IOMMU the irq would need to be remapped by the
arbiter.
Damien
- gnumach: IOAPIC and LAPIC support, Damien Zammit, 2021/03/26
- [PATCH 2/5] fixup acpi base table search, Damien Zammit, 2021/03/26
- [PATCH 1/5] Make linux drivers optional, Damien Zammit, 2021/03/26
- [PATCH 3/5] fix timer bug, Damien Zammit, 2021/03/26
- [PATCH 4/5] fix EISA check in init_IRQ, Damien Zammit, 2021/03/26
- [PATCH 5/5] ioapic interrupts and lapic timer support, Damien Zammit, 2021/03/26
- Re: gnumach: IOAPIC and LAPIC support, Samuel Thibault, 2021/03/26
- Re: gnumach: IOAPIC and LAPIC support,
Damien Zammit <=