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