Rev 534 | Rev 825 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 534 | Rev 576 | ||
|---|---|---|---|
| Line 24... | Line 24... | ||
| 24 | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
24 | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
| 25 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF |
25 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF |
| 26 | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
26 | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
| 27 | */ |
27 | */ |
| 28 | 28 | ||
| 29 | #ifndef __INTERRUPT_H__ |
29 | #ifndef __ia32_INTERRUPT_H__ |
| 30 | #define __INTERRUPT_H__ |
30 | #define __ia32_INTERRUPT_H__ |
| 31 | 31 | ||
| 32 | #include <arch/types.h> |
32 | #include <arch/types.h> |
| 33 | #include <arch/pm.h> |
33 | #include <arch/pm.h> |
| 34 | 34 | ||
| 35 | #define IVT_ITEMS IDT_ITEMS |
35 | #define IVT_ITEMS IDT_ITEMS |
| Line 59... | Line 59... | ||
| 59 | 59 | ||
| 60 | #define VECTOR_SYSCALL (IVT_FREEBASE+0) |
60 | #define VECTOR_SYSCALL (IVT_FREEBASE+0) |
| 61 | #define VECTOR_TLB_SHOOTDOWN_IPI (IVT_FREEBASE+1) |
61 | #define VECTOR_TLB_SHOOTDOWN_IPI (IVT_FREEBASE+1) |
| 62 | #define VECTOR_WAKEUP_IPI (IVT_FREEBASE+2) |
62 | #define VECTOR_WAKEUP_IPI (IVT_FREEBASE+2) |
| 63 | 63 | ||
| 64 | typedef void (* iroutine)(__u8 n, __native stack[]); |
- | |
| 65 | - | ||
| 66 | extern void (* disable_irqs_function)(__u16 irqmask); |
64 | extern void (* disable_irqs_function)(__u16 irqmask); |
| 67 | extern void (* enable_irqs_function)(__u16 irqmask); |
65 | extern void (* enable_irqs_function)(__u16 irqmask); |
| 68 | extern void (* eoi_function)(void); |
66 | extern void (* eoi_function)(void); |
| 69 | 67 | ||
| 70 | extern iroutine trap_register(__u8 n, iroutine f); |
- | |
| 71 | - | ||
| 72 | extern void trap_dispatcher(__u8 n, __native stack[]); |
- | |
| 73 | - | ||
| 74 | extern void null_interrupt(__u8 n, __native stack[]); |
68 | extern void null_interrupt(int n, void *stack); |
| 75 | extern void gp_fault(__u8 n, __native stack[]); |
69 | extern void gp_fault(int n, void *stack); |
| 76 | extern void nm_fault(__u8 n, __native stack[]); |
70 | extern void nm_fault(int n, void *stack); |
| 77 | extern void ss_fault(__u8 n, __native stack[]); |
71 | extern void ss_fault(int n, void *stack); |
| 78 | extern void page_fault(__u8 n, __native stack[]); |
72 | extern void page_fault(int n, void *stack); |
| 79 | extern void syscall(__u8 n, __native stack[]); |
73 | extern void syscall(int n, void *stack); |
| 80 | extern void tlb_shootdown_ipi(__u8 n, __native stack[]); |
74 | extern void tlb_shootdown_ipi(int n, void *stack); |
| 81 | extern void wakeup_ipi(__u8 n, __native stack[]); |
75 | extern void wakeup_ipi(int n, void *stack); |
| 82 | 76 | ||
| 83 | extern void trap_virtual_enable_irqs(__u16 irqmask); |
77 | extern void trap_virtual_enable_irqs(__u16 irqmask); |
| 84 | extern void trap_virtual_disable_irqs(__u16 irqmask); |
78 | extern void trap_virtual_disable_irqs(__u16 irqmask); |
| 85 | extern void trap_virtual_eoi(void); |
79 | extern void trap_virtual_eoi(void); |
| 86 | 80 | ||