diff options
author | jake <jake@FreeBSD.org> | 2001-02-25 02:53:06 +0000 |
---|---|---|
committer | jake <jake@FreeBSD.org> | 2001-02-25 02:53:06 +0000 |
commit | d273bd6e2b565568d135ca38e4b6fea27eecb962 (patch) | |
tree | 40f7afd8b7a0587a682b2250d5cb68cb1928e709 /sys/kern/subr_trap.c | |
parent | e81db3401fe6b9953c536a47ef9656d24b1fc26c (diff) | |
download | FreeBSD-src-d273bd6e2b565568d135ca38e4b6fea27eecb962.zip FreeBSD-src-d273bd6e2b565568d135ca38e4b6fea27eecb962.tar.gz |
- Rename the lcall system call handler from Xsyscall to Xlcall_syscall
to be more like Xint0x80_syscall and less like c function syscall().
- Reduce code duplication between the int0x80 and lcall handlers by
shuffling the elfags into the right place, saving the sizeof the
instruction in tf_err and jumping into the common int0x80 code.
Reviewed by: peter
Diffstat (limited to 'sys/kern/subr_trap.c')
-rw-r--r-- | sys/kern/subr_trap.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/kern/subr_trap.c b/sys/kern/subr_trap.c index b418c04..bb03fa6 100644 --- a/sys/kern/subr_trap.c +++ b/sys/kern/subr_trap.c @@ -112,7 +112,7 @@ static int trap_pfault __P((struct trapframe *, int, vm_offset_t)); static void trap_fatal __P((struct trapframe *, vm_offset_t)); void dblfault_handler __P((void)); -extern inthand_t IDTVEC(syscall); +extern inthand_t IDTVEC(lcall_syscall); #define MAX_TRAP_MSG 28 static char *trap_msg[] = { @@ -565,7 +565,7 @@ restart: break; case T_TRCTRAP: /* trace trap */ - if (frame.tf_eip == (int)IDTVEC(syscall)) { + if (frame.tf_eip == (int)IDTVEC(lcall_syscall)) { /* * We've just entered system mode via the * syscall lcall. Continue single stepping @@ -574,7 +574,7 @@ restart: */ goto out; } - if (frame.tf_eip == (int)IDTVEC(syscall) + 1) { + if (frame.tf_eip == (int)IDTVEC(lcall_syscall) + 1) { /* * The syscall handler has now saved the * flags. Stop single stepping it. |