45 LOG_ERR(
"failed to initialize lapic\n");
50 LOG_ERR(
"failed to initialize apic timer\n");
55 LOG_ERR(
"failed to initialize ioapics\n");
60 LOG_ERR(
"failed to register apic cpu event handler\n");
71MODULE_INFO(
"APIC Driver",
"Kai Norberg",
"A driver for the APIC, local APIC and IOAPIC", OS_VERSION,
"MIT",
"PNP0003");
static void apic_cpu_handler(cpu_t *cpu, const cpu_event_t *event)
uint64_t _module_procedure(const module_event_t *event)
uint64_t cpu_handler_register(cpu_func_t func)
Registers a CPU event handler for all CPUs.
#define LOG_ERR(format,...)
#define MODULE_INFO(_name, _author, _description, _version, _licence, _deviceTypes)
Macro to define module information.
@ MODULE_EVENT_DEVICE_ATTACH
#define ERR
Integer error value.
uint64_t ioapic_all_init(void)
Initialize all IO APICs found in the MADT.
void lapic_init(cpu_t *cpu)
Initialize the local APIC for a CPU.
uint64_t lapic_global_init(void)
Initialize the local APIC subsystem.
uint64_t apic_timer_init(void)
Initialize the APIC timer subsystem.