xref: /aosp_15_r20/external/coreboot/src/arch/x86/include/arch/ioapic.h (revision b9411a12aaaa7e1e6a6fb7c5e057f44ee179a49c)
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 
3 #ifndef __I386_ARCH_IOAPIC_H
4 #define __I386_ARCH_IOAPIC_H
5 
6 #define IO_APIC_ADDR	0xfec00000
7 
8 #ifndef __ACPI__
9 
10 #include <types.h>
11 
12 u8 get_ioapic_id(uintptr_t ioapic_base);
13 u8 get_ioapic_version(uintptr_t ioapic_base);
14 
15 unsigned int ioapic_get_max_vectors(uintptr_t ioapic_base);
16 void ioapic_set_max_vectors(uintptr_t ioapic_base, int mre_count);
17 void ioapic_lock_max_vectors(uintptr_t ioapic_base);
18 
19 void setup_ioapic(uintptr_t ioapic_base, u8 ioapic_id);
20 void register_new_ioapic(uintptr_t ioapic_base);
21 void register_new_ioapic_gsi0(uintptr_t ioapic_base);
22 
23 void ioapic_set_boot_config(uintptr_t ioapic_base, bool irq_on_fsb);
24 
25 void ioapic_get_sci_pin(u8 *gsi, u8 *irq, u8 *flags);
26 #endif
27 
28 #endif
29