Rev 2411 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 2411 | Rev 2412 | ||
---|---|---|---|
Line 38... | Line 38... | ||
38 | #define KERN_arm32_EXCEPTION_H_ |
38 | #define KERN_arm32_EXCEPTION_H_ |
39 | 39 | ||
40 | #include <arch/types.h> |
40 | #include <arch/types.h> |
41 | #include <arch/regutils.h> |
41 | #include <arch/regutils.h> |
42 | 42 | ||
43 | /** If defined, macro forces using of high exception vectors. */ |
43 | /** If defined, forces using of high exception vectors. */ |
44 | #define HIGH_EXCEPTION_VECTORS |
44 | #define HIGH_EXCEPTION_VECTORS |
45 | 45 | ||
46 | #ifdef HIGH_EXCEPTION_VECTORS |
46 | #ifdef HIGH_EXCEPTION_VECTORS |
47 | #define EXC_BASE_ADDRESS 0xffff0000 |
47 | #define EXC_BASE_ADDRESS 0xffff0000 |
48 | #else |
48 | #else |
Line 82... | Line 82... | ||
82 | * before switching to thread's kernel stack. |
82 | * before switching to thread's kernel stack. |
83 | */ |
83 | */ |
84 | extern uintptr_t exc_stack; |
84 | extern uintptr_t exc_stack; |
85 | 85 | ||
86 | 86 | ||
87 | /** Structure representing CPU state saved when an exception occurs. */ |
87 | /** Struct representing CPU state saved when an exception occurs. */ |
88 | typedef struct { |
88 | typedef struct { |
89 | uint32_t spsr; |
89 | uint32_t spsr; |
90 | uint32_t sp; |
90 | uint32_t sp; |
91 | uint32_t lr; |
91 | uint32_t lr; |
92 | 92 | ||
Line 131... | Line 131... | ||
131 | { |
131 | { |
132 | return istate->pc; |
132 | return istate->pc; |
133 | } |
133 | } |
134 | 134 | ||
135 | 135 | ||
136 | extern void setup_exception_stacks(void); |
- | |
137 | extern void install_exception_handlers(void); |
136 | extern void install_exception_handlers(void); |
138 | extern void exception_init(void); |
137 | extern void exception_init(void); |
139 | extern void print_istate(istate_t *istate); |
138 | extern void print_istate(istate_t *istate); |
140 | 139 | ||
141 | 140 |