SCCS-vsn: sys/hp300/include/trap.h 7.2
SCCS-vsn: sys/hp300/hp300/trap.c 7.5
SCCS-vsn: sys/hp300/hp300/kgdb_stub.c 7.3
SCCS-vsn: sys/hp300/hp300/locore.s 7.3
SCCS-vsn: sys/hp300/hp300/genassym.c 7.2
*
* %sccs.include.redist.c%
*
*
* %sccs.include.redist.c%
*
- * @(#)genassym.c 7.1 (Berkeley) %G%
+ * @(#)genassym.c 7.2 (Berkeley) %G%
printf("#define\tT_FMTERR %d\n", T_FMTERR);
printf("#define\tT_COPERR %d\n", T_COPERR);
printf("#define\tT_FPERR %d\n", T_FPERR);
printf("#define\tT_FMTERR %d\n", T_FMTERR);
printf("#define\tT_COPERR %d\n", T_COPERR);
printf("#define\tT_FPERR %d\n", T_FPERR);
- printf("#define\tT_AST %d\n", T_AST);
+ printf("#define\tT_ASTFLT %d\n", T_ASTFLT);
printf("#define\tT_TRAP15 %d\n", T_TRAP15);
printf("#define\tPSL_S %d\n", PSL_S);
printf("#define\tPSL_IPL7 %d\n", PSL_IPL7);
printf("#define\tT_TRAP15 %d\n", T_TRAP15);
printf("#define\tPSL_S %d\n", PSL_S);
printf("#define\tPSL_IPL7 %d\n", PSL_IPL7);
*
* %sccs.include.redist.c%
*
*
* %sccs.include.redist.c%
*
- * @(#)kgdb_stub.c 7.2 (Berkeley) %G%
+ * @(#)kgdb_stub.c 7.3 (Berkeley) %G%
case T_COPERR:
sigval = SIGFPE;
break;
case T_COPERR:
sigval = SIGFPE;
break;
sigval = SIGINT;
break;
case T_TRAP15:
sigval = SIGINT;
break;
case T_TRAP15:
*
* from: Utah $Hdr: locore.s 1.47 89/10/08$
*
*
* from: Utah $Hdr: locore.s 1.47 89/10/08$
*
- * @(#)locore.s 7.2 (Berkeley) %G%
+ * @(#)locore.s 7.3 (Berkeley) %G%
* This code deals with checking for and servicing ASTs
* (profiling, scheduling) and software interrupts (network, softclock).
* We check for ASTs first, just like the VAX. To avoid excess overhead
* This code deals with checking for and servicing ASTs
* (profiling, scheduling) and software interrupts (network, softclock).
* We check for ASTs first, just like the VAX. To avoid excess overhead
- * the T_AST handling code will also check for software interrupts so we
+ * the T_ASTFLT handling code will also check for software interrupts so we
* do not have to do it here.
*
* This code is complicated by the fact that sendsig may have been called
* do not have to do it here.
*
* This code is complicated by the fact that sendsig may have been called
movl a1,sp@(60) | the users SP
clrl sp@- | VA == none
clrl sp@- | code == none
movl a1,sp@(60) | the users SP
clrl sp@- | VA == none
clrl sp@- | code == none
- movl #T_AST,sp@- | type == async system trap
+ movl #T_ASTFLT,sp@- | type == async system trap
jbsr _trap | go handle it
lea sp@(12),sp | pop value args
movl sp@(60),a0 | restore
jbsr _trap | go handle it
lea sp@(12),sp | pop value args
movl sp@(60),a0 | restore
*
* from: Utah $Hdr: trap.c 1.28 89/09/25$
*
*
* from: Utah $Hdr: trap.c 1.28 89/09/25$
*
- * @(#)trap.c 7.4 (Berkeley) %G%
+ * @(#)trap.c 7.5 (Berkeley) %G%
case T_TRACE+USER: /* user trace trap */
case T_TRAP15+USER: /* SUN user trace trap */
case T_TRACE+USER: /* user trace trap */
case T_TRAP15+USER: /* SUN user trace trap */
-#ifdef SUNCOMPAT
- /*
- * Trap #2 is used to signal a cache flush.
- * Should we also flush data cache?
- */
- if (type == T_TRACE+USER && (p->p_flag & SSUN)) {
- ICIA();
- goto out;
- }
-#endif
frame.f_sr &= ~PSL_T;
i = SIGTRAP;
break;
frame.f_sr &= ~PSL_T;
i = SIGTRAP;
break;
- case T_AST: /* system async trap, cannot happen */
+ case T_ASTFLT: /* system async trap, cannot happen */
- case T_AST+USER: /* user async trap */
+ case T_ASTFLT+USER: /* user async trap */
astoff();
/*
* We check for software interrupts first. This is because
astoff();
/*
* We check for software interrupts first. This is because
/*
* If this was not an AST trap, we are all done.
*/
/*
* If this was not an AST trap, we are all done.
*/
- if (type != T_AST+USER) {
+ if (type != T_ASTFLT+USER) {
#ifdef HPUXCOMPAT
/* debug kludge */
if (callp->sy_call == notimp)
#ifdef HPUXCOMPAT
/* debug kludge */
if (callp->sy_call == notimp)
- error = notimp(code, callp->sy_narg);
+ error = notimp(u.u_procp, u.u_ap, &u.u_r.r_val1,
+ code, callp->sy_narg);
else
#endif
error = (*callp->sy_call)(u.u_procp, u.u_ap, &u.u_r.r_val1);
else
#endif
error = (*callp->sy_call)(u.u_procp, u.u_ap, &u.u_r.r_val1);
setrq(p);
u.u_ru.ru_nivcsw++;
swtch();
setrq(p);
u.u_ru.ru_nivcsw++;
swtch();
+ if (code != SYS_sigreturn && (i = CURSIG(p)))
psig(i);
}
if (u.u_prof.pr_scale) {
psig(i);
}
if (u.u_prof.pr_scale) {
*
* from: Utah $Hdr: trap.h 1.6 88/11/25$
*
*
* from: Utah $Hdr: trap.h 1.6 88/11/25$
*
- * @(#)trap.h 7.1 (Berkeley) %G%
+ * @(#)trap.h 7.2 (Berkeley) %G%
#define T_FMTERR 10
#define T_FPERR 11
#define T_COPERR 12
#define T_FMTERR 10
#define T_FPERR 11
#define T_COPERR 12