void inmate_main(void) { printk_uart_base = UART_BASE; int_init(); int_set_handler(IRQ_VECTOR, irq_handler); ioapic_init(); ioapic_pin_set_vector(ACPI_GSI, TRIGGER_LEVEL_ACTIVE_HIGH, IRQ_VECTOR); printk("Press power button to trigger an IRQ\n" "Note: ACPI IRQs are broken for Linux now.\n"); asm volatile("sti"); while (1) asm volatile("hlt"); }
void inmate_main(void) { printk_uart_base = UART_BASE; int_init(); int_set_handler(IRQ_VECTOR, irq_handler); ioapic_init(); ioapic_pin_set_vector(ACPI_GSI, TRIGGER_LEVEL_ACTIVE_HIGH, IRQ_VECTOR); pm_base = comm_region->pm_timer_address - 8; outw(inw(pm_base + PM1_ENABLE) | PM1_TMR_EN, pm_base + PM1_ENABLE); printk("Note: ACPI IRQs are broken for Linux now.\n"); asm volatile("sti"); while (1) asm volatile("hlt"); }