Local APIC and MSI
-
- Member
- Posts: 25
- Joined: Tue Nov 05, 2013 4:06 am
Local APIC and MSI
Hi, can I disable ALL MSI through Local APIC?How?
Re: Local APIC and MSI
Hi,
If you've enabled MSI for a device (via. the device's PCI configuration space), then you'd need to disable MSI for the device using its PCI configuration space. If you've enabled an IO APIC input's IRQ (in the IO APIC), then you'd need to disable the IRQ in the IO APIC.
Cheers,
Brendan
No; the only interrupts you can disable in the local APIC are those that you enable in the local APIC (local APIC timer, performance monitoring, thermal monitoring).watermirror wrote:Hi, can I disable ALL MSI through Local APIC?How?
If you've enabled MSI for a device (via. the device's PCI configuration space), then you'd need to disable MSI for the device using its PCI configuration space. If you've enabled an IO APIC input's IRQ (in the IO APIC), then you'd need to disable the IRQ in the IO APIC.
Cheers,
Brendan
For all things; perfection is, and will always remain, impossible to achieve in practice. However; by striving for perfection we create things that are as perfect as practically possible. Let the pursuit of perfection be our guide.
-
- Member
- Posts: 25
- Joined: Tue Nov 05, 2013 4:06 am
Re: Local APIC and MSI
Hi, is it possiable to set the local APIC not accept any MSI? such as mask some vector or something?If you've enabled MSI for a device (via. the device's PCI configuration space), then you'd need to disable MSI for the device using its PCI configuration space. If you've enabled an IO APIC input's IRQ (in the IO APIC), then you'd need to disable the IRQ in the IO APIC.
- thepowersgang
- Member
- Posts: 734
- Joined: Tue Dec 25, 2007 6:03 am
- Libera.chat IRC: thePowersGang
- Location: Perth, Western Australia
- Contact:
Re: Local APIC and MSI
As Brendan said, no, you can't. The LAPIC doesn't support masking off MSIs. If you don't want any interrupts, you can use 'CLI' to mask any interrupt generation.
Kernel Development, It's the brain surgery of programming.
Acess2 OS (c) | Tifflin OS (rust) | mrustc - Rust compiler
Currently Working on: mrustc
Acess2 OS (c) | Tifflin OS (rust) | mrustc - Rust compiler
Currently Working on: mrustc