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