Rev 3018 | Rev 3431 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 3018 | Rev 3424 | ||
|---|---|---|---|
| Line 111... | Line 111... | ||
| 111 | #if (IVT_ITEMS > 0) |
111 | #if (IVT_ITEMS > 0) |
| 112 | unsigned int i; |
112 | unsigned int i; |
| 113 | char *symbol; |
113 | char *symbol; |
| 114 | 114 | ||
| 115 | spinlock_lock(&exctbl_lock); |
115 | spinlock_lock(&exctbl_lock); |
| 116 | 116 | ||
| 117 | if (sizeof(void *) == 4) { |
117 | #ifdef __32_BITS__ |
| 118 | printf("Exc Description Handler Symbol\n"); |
118 | printf("Exc Description Handler Symbol\n"); |
| 119 | printf("--- -------------------- ---------- --------\n"); |
119 | printf("--- -------------------- ---------- --------\n"); |
| 120 | } else { |
120 | #endif |
| - | 121 | ||
| - | 122 | #ifdef __64_BITS__ |
|
| 121 | printf("Exc Description Handler Symbol\n"); |
123 | printf("Exc Description Handler Symbol\n"); |
| 122 | printf("--- -------------------- ------------------ --------\n"); |
124 | printf("--- -------------------- ------------------ --------\n"); |
| 123 | } |
125 | #endif |
| 124 | 126 | ||
| 125 | for (i = 0; i < IVT_ITEMS; i++) { |
127 | for (i = 0; i < IVT_ITEMS; i++) { |
| 126 | symbol = get_symtab_entry((unative_t) exc_table[i].f); |
128 | symbol = get_symtab_entry((unative_t) exc_table[i].f); |
| 127 | if (!symbol) |
129 | if (!symbol) |
| 128 | symbol = "not found"; |
130 | symbol = "not found"; |
| 129 | 131 | ||
| 130 | if (sizeof(void *) == 4) |
132 | #ifdef __32_BITS__ |
| 131 | printf("%-3u %-20s %#10zx %s\n", i + IVT_FIRST, exc_table[i].name, |
133 | printf("%-3u %-20s %10p %s\n", i + IVT_FIRST, exc_table[i].name, |
| 132 | exc_table[i].f, symbol); |
134 | exc_table[i].f, symbol); |
| 133 | else |
135 | #endif |
| - | 136 | ||
| - | 137 | #ifdef __64_BITS__ |
|
| 134 | printf("%-3u %-20s %#18zx %s\n", i + IVT_FIRST, exc_table[i].name, |
138 | printf("%-3u %-20s %18p %s\n", i + IVT_FIRST, exc_table[i].name, |
| 135 | exc_table[i].f, symbol); |
139 | exc_table[i].f, symbol); |
| - | 140 | #endif |
|
| 136 | 141 | ||
| 137 | if (((i + 1) % 20) == 0) { |
142 | if (((i + 1) % 20) == 0) { |
| 138 | printf(" -- Press any key to continue -- "); |
143 | printf(" -- Press any key to continue -- "); |
| 139 | spinlock_unlock(&exctbl_lock); |
144 | spinlock_unlock(&exctbl_lock); |
| 140 | getc(stdin); |
145 | getc(stdin); |
| Line 161... | Line 166... | ||
| 161 | /** Initialize generic exception handling support */ |
166 | /** Initialize generic exception handling support */ |
| 162 | void exc_init(void) |
167 | void exc_init(void) |
| 163 | { |
168 | { |
| 164 | int i; |
169 | int i; |
| 165 | 170 | ||
| 166 | for (i=0;i < IVT_ITEMS; i++) |
171 | for (i = 0; i < IVT_ITEMS; i++) |
| 167 | exc_register(i, "undef", (iroutine) exc_undef); |
172 | exc_register(i, "undef", (iroutine) exc_undef); |
| 168 | 173 | ||
| 169 | cmd_initialize(&exc_info); |
174 | cmd_initialize(&exc_info); |
| 170 | if (!cmd_register(&exc_info)) |
175 | if (!cmd_register(&exc_info)) |
| 171 | panic("could not register command %s\n", exc_info.name); |
176 | panic("could not register command %s\n", exc_info.name); |