1 /* 2 * Copyright 2002-2005, Axel Dörfler, axeld@pinc-software.de. All rights reserved. 3 * Distributed under the terms of the MIT License. 4 * 5 * Copyright 2001-2002, Travis Geiselbrecht. All rights reserved. 6 * Distributed under the terms of the NewOS License. 7 */ 8 #ifndef KERNEL_ARCH_INT_H 9 #define KERNEL_ARCH_INT_H 10 11 12 #include <boot/kernel_args.h> 13 #include <arch_int.h> 14 15 16 #ifdef __cplusplus 17 extern "C" { 18 #endif 19 20 status_t arch_int_init(kernel_args *args); 21 status_t arch_int_init_post_vm(kernel_args *args); 22 status_t arch_int_init_post_device_manager(struct kernel_args *args); 23 24 void arch_int_enable_interrupts(void); 25 int arch_int_disable_interrupts(void); 26 void arch_int_restore_interrupts(int oldstate); 27 void arch_int_enable_io_interrupt(int irq); 28 void arch_int_disable_io_interrupt(int irq); 29 bool arch_int_are_interrupts_enabled(void); 30 31 #ifdef __cplusplus 32 } 33 #endif 34 35 #endif /* KERNEL_ARCH_INT_H */ 36