Subversion Repositories HelenOS

Rev

Rev 3022 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 3022 Rev 4055
Line 48... Line 48...
48
 */
48
 */
49
#define IVT_ITEMS       0
49
#define IVT_ITEMS       0
50
#define IVT_FIRST       0
50
#define IVT_FIRST       0
51
 
51
 
52
/** External Interrupt vectors. */
52
/** External Interrupt vectors. */
-
 
53
 
-
 
54
#define VECTOR_TLB_SHOOTDOWN_IPI 0xf0
53
#define INTERRUPT_TIMER     255
55
#define INTERRUPT_TIMER     255
54
#define IRQ_KBD         241
56
#define IRQ_KBD         (0x01 + LEGACY_INTERRUPT_BASE)
55
#define IRQ_MOUSE       252
57
#define IRQ_MOUSE       (0x0c + LEGACY_INTERRUPT_BASE)
56
#define INTERRUPT_SPURIOUS  15
58
#define INTERRUPT_SPURIOUS  15
-
 
59
#define LEGACY_INTERRUPT_BASE   0x20
57
 
60
 
58
/** General Exception codes. */
61
/** General Exception codes. */
59
#define GE_ILLEGALOP        0
62
#define GE_ILLEGALOP        0
60
#define GE_PRIVOP       1
63
#define GE_PRIVOP       1
61
#define GE_PRIVREG      2
64
#define GE_PRIVREG      2
Line 112... Line 115...
112
    uint64_t pr;
115
    uint64_t pr;
113
    uintptr_t sp;
116
    uintptr_t sp;
114
   
117
   
115
    /*
118
    /*
116
     * The following variables are defined only for break_instruction
119
     * The following variables are defined only for break_instruction
117
     * handler.
120
     * handler.
118
     */
121
     */
119
    uint64_t in0;
122
    uint64_t in0;
120
    uint64_t in1;
123
    uint64_t in1;
121
    uint64_t in2;
124
    uint64_t in2;
122
    uint64_t in3;
125
    uint64_t in3;
Line 148... Line 151...
148
extern void universal_handler(uint64_t vector, istate_t *istate);
151
extern void universal_handler(uint64_t vector, istate_t *istate);
149
extern void nop_handler(uint64_t vector, istate_t *istate);
152
extern void nop_handler(uint64_t vector, istate_t *istate);
150
extern void external_interrupt(uint64_t vector, istate_t *istate);
153
extern void external_interrupt(uint64_t vector, istate_t *istate);
151
extern void disabled_fp_register(uint64_t vector, istate_t *istate);
154
extern void disabled_fp_register(uint64_t vector, istate_t *istate);
152
 
155
 
-
 
156
extern void trap_virtual_enable_irqs(uint16_t irqmask);
-
 
157
 
153
#endif
158
#endif
154
 
159
 
155
/** @}
160
/** @}
156
 */
161
 */