Subversion Repositories HelenOS

Rev

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

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