1
0
mirror of https://git.FreeBSD.org/src.git synced 2025-02-03 17:11:32 +00:00

We no longer need to remap hardware trap numbers to sparc64 trap numbers

as this happens much earlier in trap handling.

The fact that we continued to do this when it was no longer necessary caused
breapoint to map to SIGILL as opposed to SIGTRAP :-(.
This commit is contained in:
Kip Macy 2006-11-29 04:52:51 +00:00
parent 594ece53bc
commit b3592a5ffb
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=164736

View File

@ -265,7 +265,6 @@ trap_init(void)
trap_conversion[TT_DATA_MISS] = T_DATA_MISS;
trap_conversion[TT_ALIGNMENT] = T_ALIGNMENT;
trap_conversion[TT_DATA_PROTECTION] = T_DATA_PROTECTION;
trap_conversion[TT_BREAKPOINT] = T_BREAKPOINT;
}
void
@ -319,15 +318,17 @@ trap(struct trapframe *tf, int64_t type, uint64_t data)
case T_DATA_EXCEPTION:
case T_DATA_ERROR:
case T_MEM_ADDRESS_NOT_ALIGNED:
printf("bad trap trapno=%ld data=0x%lx pc=0x%lx\n",
trapno, data, tf->tf_tpc);
addr = data;
sig = trap_sig[trap_conversion[trapno]];
sig = trap_sig[trapno];
break;
default:
if (trapno < 0 || trapno >= T_MAX ||
trap_sig[trapno] == -1)
panic("trap: bad trap type");
sig = trap_sig[trap_conversion[trapno]];
sig = trap_sig[trapno];
break;
}
@ -350,9 +351,9 @@ trap(struct trapframe *tf, int64_t type, uint64_t data)
*/
ksiginfo_init_trap(&ksi);
ksi.ksi_signo = sig;
ksi.ksi_code = (int)trap_conversion[trapno]; /* XXX not POSIX */
ksi.ksi_code = (int)trapno; /* XXX not POSIX */
ksi.ksi_addr = (void *)addr;
ksi.ksi_trapno = (int)trap_conversion[trapno];
ksi.ksi_trapno = (int)trapno;
trapsignal(td, &ksi);
}