update for changes in asm.h

This commit is contained in:
cgd 1996-10-17 02:50:38 +00:00
parent c252b86536
commit 8cab2f173f
4 changed files with 85 additions and 88 deletions

View File

@ -1,4 +1,4 @@
/* $NetBSD: locore.s,v 1.25 1996/10/15 23:56:56 cgd Exp $ */
/* $NetBSD: locore.s,v 1.26 1996/10/17 02:50:38 cgd Exp $ */
/*
* Copyright (c) 1994, 1995, 1996 Carnegie-Mellon University.
@ -62,7 +62,7 @@ bootstack:
*/
NESTED_NOPROFILE(__start,1,0,ra,0,0)
br pv,Lstart1
Lstart1: SETGP(pv)
Lstart1: LDGP(pv)
/* Switch to the boot stack. */
lda sp,bootstack
@ -81,7 +81,7 @@ Lstart1: SETGP(pv)
CALL(alpha_init)
/* Set up the virtual page table pointer. */
CONST(VPTBASE, a0)
ldiq a0, VPTBASE
call_pal PAL_OSF1_wrvptptr /* clobbers a0, t0, t8-t11 */
/*
@ -90,7 +90,7 @@ Lstart1: SETGP(pv)
lda t0,proc0 /* get phys addr of pcb */
ldq a0,P_MD_PCBPADDR(t0)
call_pal PAL_OSF1_swpctx
CONST(-2, a0)
ldiq a0, -2
call_pal PAL_OSF1_tbi
/*
@ -106,7 +106,7 @@ Lstart1: SETGP(pv)
* Call exception_return, to simulate return from (fake)
* exception to user-land, running process 1, init!
*/
JMP(exception_return) /* "And that's all she wrote." */
jmp zero, exception_return /* "And that's all she wrote." */
END(__start)
/**************************************************************************/
@ -155,11 +155,9 @@ NESTED(sigcode,0,0,ra,0,0)
jsr ra, (t12) /* call the signal handler (t12==pv) */
ldq a0, 0(sp) /* get the sigcontext pointer */
lda sp, 16(sp)
CONST(SYS_sigreturn, v0) /* and call sigreturn() with it. */
call_pal PAL_OSF1_callsys
CALLSYS_NOERROR(sigreturn) /* and call sigreturn() with it. */
mov v0, a0 /* if that failed, get error code */
CONST(SYS_exit, v0) /* and call exit() with it. */
call_pal PAL_OSF1_callsys
CALLSYS_NOERROR(exit) /* and call exit() with it. */
XNESTED(esigcode,0)
END(sigcode)
@ -174,7 +172,7 @@ IMPORT(astpending, 8)
LEAF(exception_return, 1) /* XXX should be NESTED */
br pv, Ler1
Ler1: SETGP(pv)
Ler1: LDGP(pv)
ldq s1, (FRAME_PS * 8)(sp) /* get the saved PS */
and s1, ALPHA_PSL_IPL_MASK, t0 /* look at the saved IPL */
@ -185,12 +183,12 @@ Ler1: SETGP(pv)
beq t1, Lchkast /* no, try an AST*/
/* We've got a SIR. */
CONST(ALPHA_PSL_IPL_SOFT, a0) /* yes, lower IPL to soft */
ldiq a0, ALPHA_PSL_IPL_SOFT /* yes, lower IPL to soft */
call_pal PAL_OSF1_swpipl
CALL(do_sir) /* do the SIR */
Lchkast:
CONST(ALPHA_PSL_IPL_0, a0) /* drop IPL to zero*/
ldiq a0, ALPHA_PSL_IPL_0 /* drop IPL to zero*/
call_pal PAL_OSF1_swpipl
and s1, ALPHA_PSL_USERMODE, t0 /* are we returning to user? */
@ -298,11 +296,11 @@ LEAF(XentArith, 2) /* XXX should be NESTED */
bsr ra, exception_save_regs /* jmp/CALL trashes pv/t12 */
/* a0, a1, & a2 already set up */
CONST(ALPHA_KENTRY_ARITH, a3)
ldiq a3, ALPHA_KENTRY_ARITH
mov sp, a4
CALL(trap)
JMP(exception_return)
jmp zero, exception_return
END(XentArith)
/**************************************************************************/
@ -321,11 +319,11 @@ LEAF(XentIF, 1) /* XXX should be NESTED */
bsr ra, exception_save_regs /* jmp/CALL trashes pv/t12 */
/* a0, a1, & a2 already set up */
CONST(ALPHA_KENTRY_IF, a3)
ldiq a3, ALPHA_KENTRY_IF
mov sp, a4
CALL(trap)
JMP(exception_return)
jmp zero, exception_return
END(XentIF)
/**************************************************************************/
@ -347,7 +345,7 @@ LEAF(XentInt, 2) /* XXX should be NESTED */
mov sp, a3
CALL(interrupt)
JMP(exception_return)
jmp zero, exception_return
END(XentInt)
/**************************************************************************/
@ -366,11 +364,11 @@ LEAF(XentMM, 3) /* XXX should be NESTED */
bsr ra, exception_save_regs /* jmp/CALL trashes pv/t12 */
/* a0, a1, & a2 already set up */
CONST(ALPHA_KENTRY_MM, a3)
ldiq a3, ALPHA_KENTRY_MM
mov sp, a4
CALL(trap)
JMP(exception_return)
jmp zero, exception_return
END(XentMM)
/**************************************************************************/
@ -403,7 +401,7 @@ LEAF(XentSys, 0) /* XXX should be NESTED */
mov sp,a1
CALL(syscall)
JMP(exception_return)
jmp zero, exception_return
END(XentSys)
/**************************************************************************/
@ -422,11 +420,11 @@ LEAF(XentUna, 3) /* XXX should be NESTED */
bsr ra, exception_save_regs /* jmp/CALL trashes pv/t12 */
/* a0, a1, & a2 already set up */
CONST(ALPHA_KENTRY_UNA, a3)
ldiq a3, ALPHA_KENTRY_UNA
mov sp, a4
CALL(trap)
JMP(exception_return)
jmp zero, exception_return
END(XentUna)
/**************************************************************************/
@ -439,7 +437,7 @@ LEAF(XentUna, 3) /* XXX should be NESTED */
*/
LEAF(savefpstate, 1)
SETGP(pv)
LDGP(pv)
/* save all of the FP registers */
lda t1, FPREG_FPR_REGS(a0) /* get address of FP reg. save area */
stt $f0, (0 * 8)(t1) /* save first register, using hw name */
@ -480,7 +478,7 @@ LEAF(savefpstate, 1)
* Then save the FPCR; note that the necessary 'trapb's are taken
* care of on kernel entry and exit.
*/
MF_FPCR(ft0)
mf_fpcr ft0
stt ft0, FPREG_FPR_CR(a0) /* store to FPCR save area */
RET
@ -496,13 +494,13 @@ LEAF(savefpstate, 1)
*/
LEAF(restorefpstate, 1)
SETGP(pv)
LDGP(pv)
/*
* Restore the FPCR; note that the necessary 'trapb's are taken care of
* on kernel entry and exit.
*/
ldt ft0, FPREG_FPR_CR(a0) /* load from FPCR save area */
MT_FPCR(ft0)
mt_fpcr ft0
/* Restore all of the FP registers. */
lda t1, FPREG_FPR_REGS(a0) /* get address of FP reg. save area */
@ -562,7 +560,7 @@ LEAF(restorefpstate, 1)
LEAF(savectx, 1)
br pv, Lsavectx1
Lsavectx1: SETGP(pv)
Lsavectx1: LDGP(pv)
stq sp, U_PCB_HWPCB_KSP(a0) /* store sp */
stq s0, U_PCB_CONTEXT+(0 * 8)(a0) /* store s0 - s6 */
stq s1, U_PCB_CONTEXT+(1 * 8)(a0)
@ -595,16 +593,16 @@ IMPORT(Lev1map, 8)
*/
LEAF(idle, 0)
br pv, Lidle1
Lidle1: SETGP(pv)
Lidle1: LDGP(pv)
stq zero, curproc /* curproc <- NULL for stats */
mov zero, a0 /* enable all interrupts */
call_pal PAL_OSF1_swpipl
Lidle2:
ldl t0, whichqs /* look for non-empty queue */
beq t0, Lidle2
CONST(ALPHA_PSL_IPL_HIGH, a0) /* disable all interrupts */
ldiq a0, ALPHA_PSL_IPL_HIGH /* disable all interrupts */
call_pal PAL_OSF1_swpipl
JMP(sw1) /* jump back into the fray */
jmp zero, sw1 /* jump back into the fray */
END(idle)
/*
@ -613,7 +611,7 @@ Lidle2:
* XXX should optimiize, and not do the switch if switching to curproc
*/
LEAF(cpu_switch, 0)
SETGP(pv)
LDGP(pv)
/* do an inline savectx(), to save old context */
ldq a0, curproc
ldq a1, P_ADDR(a0)
@ -635,11 +633,11 @@ LEAF(cpu_switch, 0)
ldl t0, whichqs /* look for non-empty queue */
beq t0, idle /* and if none, go idle */
CONST(ALPHA_PSL_IPL_HIGH, a0) /* disable all interrupts */
ldiq a0, ALPHA_PSL_IPL_HIGH /* disable all interrupts */
call_pal PAL_OSF1_swpipl
sw1:
br pv, Lcs1
Lcs1: SETGP(pv)
Lcs1: LDGP(pv)
ldl t0, whichqs /* look for non-empty queue */
beq t0, idle /* and if none, go idle */
mov t0, t3 /* t3 = saved whichqs */
@ -670,7 +668,7 @@ Lcs4:
cmpeq t0, t5, t0 /* see if queue is empty */
beq t0, Lcs5 /* nope, it's not! */
CONST(1, t0) /* compute bit in whichqs */
ldiq t0, 1 /* compute bit in whichqs */
sll t0, t2, t0
xor t3, t0, t3 /* clear bit in whichqs */
stl t3, whichqs
@ -698,7 +696,7 @@ Lcs5:
stq t2, USTP_OFFSET(t3)
mov t5, a0 /* swap the context */
call_pal PAL_OSF1_swpctx
CONST(-1, a0) /* & invalidate old TLB ents */
ldiq a0, -1 /* & invalidate old TLB ents */
call_pal PAL_OSF1_tbi
/*
@ -720,7 +718,7 @@ Lcs5:
mov s3, a0 /* swap the context */
call_pal PAL_OSF1_swpctx
CONST(-2, a0) /* & invalidate old TLB ents */
ldiq a0, -2 /* & invalidate old TLB ents */
call_pal PAL_OSF1_tbi
ldq a0, P_VMSPACE(s0)
@ -748,7 +746,7 @@ Lcs5:
and a0, ALPHA_PSL_IPL_MASK, a0
call_pal PAL_OSF1_swpipl
CONST(1, v0) /* possible ret to savectx() */
ldiq v0, 1 /* possible ret to savectx() */
RET
END(cpu_switch)
@ -776,7 +774,7 @@ LEAF(switch_trampoline, 0)
* to switch into a few process. MUST BE CALLED AT SPLHIGH.
*/
LEAF(switch_exit, 1)
SETGP(pv)
LDGP(pv)
/* save the exiting proc pointer */
mov a0, s2
@ -804,7 +802,7 @@ LEAF(switch_exit, 1)
mov t5, a0 /* swap the context */
call_pal PAL_OSF1_swpctx
#ifndef NEW_PMAP
CONST(-1, a0) /* & invalidate old TLB ents */
ldiq a0, -1 /* & invalidate old TLB ents */
call_pal PAL_OSF1_tbi
#endif /* NEW_PMAP */
@ -816,14 +814,14 @@ LEAF(switch_exit, 1)
/* blow away the old user struct */
ldq a0, kernel_map
ldq a1, P_ADDR(s2)
CONST(UPAGES*NBPG, a2)
ldiq a2, (UPAGES * NBPG)
CALL(kmem_free)
/* and jump into the middle of cpu_switch. */
#ifdef NEW_PMAP
/* XXX XXX LOSE */
#endif
JMP(sw1)
jmp zero, sw1
END(switch_exit)
/**************************************************************************/
@ -835,7 +833,7 @@ LEAF(switch_exit, 1)
* int copystr(char *from, char *to, size_t len, size_t *lenp);
*/
LEAF(copystr, 4)
SETGP(pv)
LDGP(pv)
mov a2, t0 /* t0 = i = len */
beq a2, Lcopystr2 /* if (len == 0), bail out */
@ -862,7 +860,7 @@ Lcopystr2:
Lcopystr3:
beq t1, Lcopystr4 /* *from == '\0'; leave quietly */
CONST(ENAMETOOLONG, v0) /* *from != '\0'; error. */
ldiq v0, ENAMETOOLONG /* *from != '\0'; error. */
RET
Lcopystr4:
@ -871,10 +869,10 @@ Lcopystr4:
END(copystr)
NESTED(copyinstr, 4, 16, ra, 0, 0)
SETGP(pv)
LDGP(pv)
lda sp, -16(sp) /* set up stack frame */
stq ra, (16-8)(sp) /* save ra */
CONST(VM_MAX_ADDRESS, t0) /* make sure that src addr */
ldiq t0, VM_MAX_ADDRESS /* make sure that src addr */
cmpult a0, t0, t1 /* is in user space. */
beq t1, copyerr /* if it's not, error out. */
lda v0, copyerr /* set up fault handler. */
@ -895,10 +893,10 @@ NESTED(copyinstr, 4, 16, ra, 0, 0)
END(copyinstr)
NESTED(copyoutstr, 4, 16, ra, 0, 0)
SETGP(pv)
LDGP(pv)
lda sp, -16(sp) /* set up stack frame */
stq ra, (16-8)(sp) /* save ra */
CONST(VM_MAX_ADDRESS, t0) /* make sure that dest addr */
ldiq t0, VM_MAX_ADDRESS /* make sure that dest addr */
cmpult a1, t0, t1 /* is in user space. */
beq t1, copyerr /* if it's not, error out. */
lda v0, copyerr /* set up fault handler. */
@ -1153,10 +1151,10 @@ bcopy_ov_short:
END(bcopy)
NESTED(copyin, 3, 16, ra, 0, 0)
SETGP(pv)
LDGP(pv)
lda sp, -16(sp) /* set up stack frame */
stq ra, (16-8)(sp) /* save ra */
CONST(VM_MAX_ADDRESS, t0) /* make sure that src addr */
ldiq t0, VM_MAX_ADDRESS /* make sure that src addr */
cmpult a0, t0, t1 /* is in user space. */
beq t1, copyerr /* if it's not, error out. */
lda v0, copyerr /* set up fault handler. */
@ -1178,10 +1176,10 @@ NESTED(copyin, 3, 16, ra, 0, 0)
END(copyin)
NESTED(copyout, 3, 16, ra, 0, 0)
SETGP(pv)
LDGP(pv)
lda sp, -16(sp) /* set up stack frame */
stq ra, (16-8)(sp) /* save ra */
CONST(VM_MAX_ADDRESS, t0) /* make sure that dest addr */
ldiq t0, VM_MAX_ADDRESS /* make sure that dest addr */
cmpult a1, t0, t1 /* is in user space. */
beq t1, copyerr /* if it's not, error out. */
lda v0, copyerr /* set up fault handler. */
@ -1203,10 +1201,10 @@ NESTED(copyout, 3, 16, ra, 0, 0)
END(copyout)
LEAF(copyerr, 0)
SETGP(pv)
LDGP(pv)
ldq ra, (16-8)(sp) /* restore ra. */
lda sp, 16(sp) /* kill stack frame. */
CONST(EFAULT, v0) /* return EFAULT. */
ldiq v0, EFAULT /* return EFAULT. */
RET
END(copyerr)
@ -1221,8 +1219,8 @@ END(copyerr)
#ifdef notdef
LEAF(fuword, 1)
XLEAF(fuiword, 1)
SETGP(pv)
CONST(VM_MAX_ADDRESS, t0) /* make sure that addr */
LDGP(pv)
ldiq t0, VM_MAX_ADDRESS /* make sure that addr */
cmpult a0, t0, t1 /* is in user space. */
beq t1, fswberr /* if it's not, error out. */
lda t0, fswberr
@ -1243,8 +1241,8 @@ XLEAF(fuiword, 1)
LEAF(fusword, 1)
XLEAF(fuisword, 1)
SETGP(pv)
CONST(VM_MAX_ADDRESS, t0) /* make sure that addr */
LDGP(pv)
ldiq t0, VM_MAX_ADDRESS /* make sure that addr */
cmpult a0, t0, t1 /* is in user space. */
beq t1, fswberr /* if it's not, error out. */
lda t0, fswberr
@ -1264,8 +1262,8 @@ XLEAF(fuisword, 1)
LEAF(fubyte, 1)
XLEAF(fuibyte, 1)
SETGP(pv)
CONST(VM_MAX_ADDRESS, t0) /* make sure that addr */
LDGP(pv)
ldiq t0, VM_MAX_ADDRESS /* make sure that addr */
cmpult a0, t0, t1 /* is in user space. */
beq t1, fswberr /* if it's not, error out. */
lda t0, fswberr
@ -1285,8 +1283,8 @@ XLEAF(fuibyte, 1)
#endif /* notdef */
LEAF(suword, 2)
SETGP(pv)
CONST(VM_MAX_ADDRESS, t0) /* make sure that addr */
LDGP(pv)
ldiq t0, VM_MAX_ADDRESS /* make sure that addr */
cmpult a0, t0, t1 /* is in user space. */
beq t1, fswberr /* if it's not, error out. */
lda t0, fswberr
@ -1307,8 +1305,8 @@ LEAF(suword, 2)
#ifdef notdef
LEAF(suiword, 2)
SETGP(pv)
CONST(VM_MAX_ADDRESS, t0) /* make sure that addr */
LDGP(pv)
ldiq t0, VM_MAX_ADDRESS /* make sure that addr */
cmpult a0, t0, t1 /* is in user space. */
beq t1, fswberr /* if it's not, error out. */
lda t0, fswberr
@ -1329,8 +1327,8 @@ LEAF(suiword, 2)
END(suiword)
LEAF(susword, 2)
SETGP(pv)
CONST(VM_MAX_ADDRESS, t0) /* make sure that addr */
LDGP(pv)
ldiq t0, VM_MAX_ADDRESS /* make sure that addr */
cmpult a0, t0, t1 /* is in user space. */
beq t1, fswberr /* if it's not, error out. */
lda t0, fswberr
@ -1350,8 +1348,8 @@ LEAF(susword, 2)
END(susword)
LEAF(suisword, 2)
SETGP(pv)
CONST(VM_MAX_ADDRESS, t0) /* make sure that addr */
LDGP(pv)
ldiq t0, VM_MAX_ADDRESS /* make sure that addr */
cmpult a0, t0, t1 /* is in user space. */
beq t1, fswberr /* if it's not, error out. */
lda t0, fswberr
@ -1373,8 +1371,8 @@ LEAF(suisword, 2)
#endif /* notdef */
LEAF(subyte, 2)
SETGP(pv)
CONST(VM_MAX_ADDRESS, t0) /* make sure that addr */
LDGP(pv)
ldiq t0, VM_MAX_ADDRESS /* make sure that addr */
cmpult a0, t0, t1 /* is in user space. */
beq t1, fswberr /* if it's not, error out. */
lda t0, fswberr
@ -1399,8 +1397,8 @@ LEAF(subyte, 2)
END(subyte)
LEAF(suibyte, 2)
SETGP(pv)
CONST(VM_MAX_ADDRESS, t0) /* make sure that addr */
LDGP(pv)
ldiq t0, VM_MAX_ADDRESS /* make sure that addr */
cmpult a0, t0, t1 /* is in user space. */
beq t1, fswberr /* if it's not, error out. */
lda t0, fswberr
@ -1426,8 +1424,8 @@ LEAF(suibyte, 2)
END(suibyte)
LEAF(fswberr, 0)
SETGP(pv)
CONST(-1, v0)
LDGP(pv)
ldiq v0, -1
RET
END(fswberr)
@ -1441,8 +1439,8 @@ LEAF(fswberr, 0)
*/
LEAF(fuswintr, 2)
SETGP(pv)
CONST(VM_MAX_ADDRESS, t0) /* make sure that addr */
LDGP(pv)
ldiq t0, VM_MAX_ADDRESS /* make sure that addr */
cmpult a0, t0, t1 /* is in user space. */
beq t1, fswintrberr /* if it's not, error out. */
lda t0, fswintrberr
@ -1462,8 +1460,8 @@ LEAF(fuswintr, 2)
END(fuswintr)
LEAF(suswintr, 2)
SETGP(pv)
CONST(VM_MAX_ADDRESS, t0) /* make sure that addr */
LDGP(pv)
ldiq t0, VM_MAX_ADDRESS /* make sure that addr */
cmpult a0, t0, t1 /* is in user space. */
beq t1, fswintrberr /* if it's not, error out. */
lda t0, fswintrberr
@ -1487,8 +1485,8 @@ LEAF(suswintr, 2)
LEAF(fswintrberr, 0)
XLEAF(fuswintr, 2) /* XXX what is a 'word'? */
XLEAF(suswintr, 2) /* XXX what is a 'word'? */
SETGP(pv)
CONST(-1, v0)
LDGP(pv)
ldiq v0, -1
RET
END(fswberr)
@ -1569,7 +1567,7 @@ LEAF(XentRestart, 1) /* XXX should be NESTED */
stq ra,(FRAME_RA*8)(sp)
br pv,LXconsole_restart1
LXconsole_restart1: SETGP(pv)
LXconsole_restart1: LDGP(pv)
ldq a0,(FRAME_RA*8)(sp) /* a0 = ra */
ldq a1,(FRAME_T11*8)(sp) /* a1 = ai */

View File

@ -1,4 +1,4 @@
/* $NetBSD: prom_swpal.S,v 1.3 1996/09/23 04:33:02 cgd Exp $ */
/* $NetBSD: prom_swpal.S,v 1.4 1996/10/17 02:50:41 cgd Exp $ */
/*
* Copyright (c) 1994, 1995 Carnegie-Mellon University.
@ -66,7 +66,7 @@
.align 4
NESTED(switch_palcode, 0, PALSW_FRAME_SIZE, ra, PALSW_REGS, 0)
SETGP(pv)
LDGP(pv)
/* ldgp gp, 0(pv)*/
lda sp, -PALSW_FRAME_SIZE(sp)
@ -104,8 +104,7 @@ NESTED(switch_palcode, 0, PALSW_FRAME_SIZE, ra, PALSW_REGS, 0)
call_pal PAL_VMS_mfpr_vptb
mov v0, a3
/* movi PAL_OSF, a0 */
CONST(PAL_OSF, a0)
ldiq a0, PAL_OSF
lda a1, contin
ldq a2, 16(sp)

View File

@ -1,4 +1,4 @@
/* $NetBSD: prom_disp.S,v 1.4 1996/09/23 04:33:00 cgd Exp $ */
/* $NetBSD: prom_disp.S,v 1.5 1996/10/17 02:50:39 cgd Exp $ */
/*
* Copyright (c) 1994, 1995, 1996 Carnegie-Mellon University.
@ -55,7 +55,7 @@
#define DISPATCH_REGS IM_RA|IM_S0|IM_S1|IM_S2|IM_S3|IM_S4|IM_S5|IM_S6
NESTED(prom_dispatch, 5, DISPATCH_FRAME_SIZE, ra, DISPATCH_REGS, 0)
SETGP(pv)
LDGP(pv)
lda sp, -DISPATCH_FRAME_SIZE(sp)
stq ra, D_RA(sp)

View File

@ -1,4 +1,4 @@
/* $NetBSD: start.S,v 1.3 1996/09/23 04:33:00 cgd Exp $ */
/* $NetBSD: start.S,v 1.4 1996/10/17 02:50:40 cgd Exp $ */
/*
* Mach Operating System
@ -46,7 +46,7 @@
NESTED(start, 1, ENTRY_FRAME, ra, 0, 0)
br pv,Lstartgp
Lstartgp:
SETGP(pv)
LDGP(pv)
#ifndef PRIMARY_BOOTBLOCK
lda sp,start /* start stack below text */