Changeset 901122b in mainline for arch/ia64/src/interrupt.c
- Timestamp:
- 2006-03-09T17:40:30Z (19 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- a2a46ba
- Parents:
- b994a60
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
arch/ia64/src/interrupt.c
rb994a60 r901122b 41 41 #include <symtab.h> 42 42 #include <debug.h> 43 #include <syscall/syscall.h> 44 #include <print.h> 43 45 44 46 #define VECTORS_64_BUNDLE 20 … … 132 134 printf("ar.rnat=%Q\tar.rsc=%Q\n", pstate->ar_rnat, pstate->ar_rsc); 133 135 printf("ar.ifs=%Q\tar.pfs=%Q\n", pstate->ar_ifs, pstate->ar_pfs); 134 printf("cr.isr=%Q\tcr.ips =%Q\t\n", pstate->cr_isr.value, pstate->cr_ips);136 printf("cr.isr=%Q\tcr.ipsr=%Q\t\n", pstate->cr_isr.value, pstate->cr_ipsr); 135 137 136 138 printf("cr.iip=%Q, #%d\t(%s)\n", pstate->cr_iip, pstate->cr_isr.ei ,iip ? iip : "?"); … … 172 174 } 173 175 174 void break_instruction(__u64 vector, struct exception_regdump *pstate) 175 { 176 dump_interrupted_context(pstate); 177 panic("Break Instruction\n"); 176 /** Handle syscall. */ 177 int break_instruction(__u64 vector, struct exception_regdump *pstate) 178 { 179 /* 180 * Move to next instruction after BREAK. 181 */ 182 if (pstate->cr_ipsr.ri == 2) { 183 pstate->cr_ipsr.ri = 0; 184 pstate->cr_iip += 16; 185 } else { 186 pstate->cr_ipsr.ri++; 187 } 188 189 if (pstate->in0 < SYSCALL_END) 190 return syscall_table[pstate->in0](pstate->in1, pstate->in2, pstate->in3); 191 else 192 panic("Undefined syscall %d", pstate->in0); 193 194 return -1; 178 195 } 179 196
Note:
See TracChangeset
for help on using the changeset viewer.