zephyr/include/arch/x86
Johan Hedberg 9e4dfd8f4e drivers: pcie: Add support for IRQ allocation management
There are x86 platforms where the IRQ configuration register for PCIe
is not pre-populated and the OS needs to assign a number dynamically
by writing to the register.

In order to allocate interrupts we have to know which ones have been
hard-coded in device tree. We accomplish this by collecting these
values through the IRQ_CONNECT() macro and placing them in a dedicated
linker section (in ROM).

The full set of allocated interrupts are managed through a bitmap, and
the pre-allocated values (from the linker section) are inserted into
this upon initial runtime access.

This patch introduces a new pcie_alloc_irq() API that drivers can use
to allocate interrupt line numbers. The two in-tree drivers that were
using this API (I2C and UART) are converted to use the new API.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2020-11-14 11:13:00 +02:00
..
ia32 x86: add support for common page tables 2020-11-05 09:33:40 -05:00
intel64 drivers: pcie: Add support for IRQ allocation management 2020-11-14 11:13:00 +02:00
acpi.h arch/x86: Optimize ACPI RSDP lookup 2020-10-01 11:16:40 -07:00
arch_inlines.h
arch.h x86: use =A as output for RDTSC on x86-32 2020-09-05 13:28:38 -05:00
memmap.h zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
memory.ld x86_64: add dedicated MEMORY area for locore 2020-09-30 14:14:07 -07:00
mmustructs.h x86: move page table reservation macros 2020-11-05 09:33:40 -05:00
msr.h zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
multiboot.h zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
pagetables.ld x86: paging code rewrite 2020-08-25 15:49:59 -04:00
thread_stack.h x86: don't reserve room for page tables in stack 2020-11-05 09:33:40 -05:00