Remove fu/su functions; now in copy.s.
This commit is contained in:
parent
68dc834748
commit
2eeb5b8c71
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: locore.s,v 1.6 1995/02/08 17:48:53 mycroft Exp $ */
|
||||
/* $NetBSD: locore.s,v 1.7 1995/02/08 17:58:55 mycroft Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 1988 University of Utah.
|
||||
|
@ -1222,118 +1222,6 @@ Lsavedone:
|
|||
moveq #0,d0 | return 0
|
||||
rts
|
||||
|
||||
/*
|
||||
* {fu,su},{byte,sword,word}
|
||||
*/
|
||||
ALTENTRY(fuiword, _fuword)
|
||||
ENTRY(fuword)
|
||||
movl sp@(4),a0 | address to read
|
||||
movl _curpcb,a1 | current pcb
|
||||
movl #Lfserr,a1@(PCB_ONFAULT) | where to return to on a fault
|
||||
movsl a0@,d0 | do read from user space
|
||||
nop
|
||||
jra Lfsdone
|
||||
|
||||
ENTRY(fusword)
|
||||
movl sp@(4),a0
|
||||
movl _curpcb,a1 | current pcb
|
||||
movl #Lfserr,a1@(PCB_ONFAULT) | where to return to on a fault
|
||||
moveq #0,d0
|
||||
movsw a0@,d0 | do read from user space
|
||||
nop
|
||||
jra Lfsdone
|
||||
|
||||
/* Just like fusword, but tells trap code not to page in. */
|
||||
ENTRY(fuswintr)
|
||||
movl sp@(4),a0
|
||||
movl _curpcb,a1
|
||||
movl #_fswintr,a1@(PCB_ONFAULT)
|
||||
moveq #0,d0
|
||||
movsw a0@,d0
|
||||
nop
|
||||
jra Lfsdone
|
||||
|
||||
ALTENTRY(fuibyte, _fubyte)
|
||||
ENTRY(fubyte)
|
||||
movl sp@(4),a0 | address to read
|
||||
movl _curpcb,a1 | current pcb
|
||||
movl #Lfserr,a1@(PCB_ONFAULT) | where to return to on a fault
|
||||
moveq #0,d0
|
||||
movsb a0@,d0 | do read from user space
|
||||
nop
|
||||
jra Lfsdone
|
||||
|
||||
Lfserr:
|
||||
moveq #-1,d0 | error indicator
|
||||
Lfsdone:
|
||||
clrl a1@(PCB_ONFAULT) | clear fault address
|
||||
rts
|
||||
|
||||
/* Just like Lfserr, but the address is different (& exported). */
|
||||
.globl _fswintr
|
||||
_fswintr:
|
||||
moveq #-1,d0
|
||||
jra Lfsdone
|
||||
|
||||
|
||||
/*
|
||||
* Write a longword in user instruction space.
|
||||
* Largely the same as suword but with a final i-cache purge on those
|
||||
* machines with split caches.
|
||||
*/
|
||||
ENTRY(suiword)
|
||||
movl sp@(4),a0 | address to write
|
||||
movl sp@(8),d0 | value to put there
|
||||
movl _curpcb,a1 | current pcb
|
||||
movl #Lfserr,a1@(PCB_ONFAULT) | where to return to on a fault
|
||||
movsl d0,a0@ | do write to user space
|
||||
nop
|
||||
moveq #0,d0 | indicate no fault
|
||||
movl #IC_CLEAR,d1
|
||||
movc d1,cacr | invalidate i-cache
|
||||
jra Lfsdone
|
||||
|
||||
ENTRY(suword)
|
||||
movl sp@(4),a0 | address to write
|
||||
movl sp@(8),d0 | value to put there
|
||||
movl _curpcb,a1 | current pcb
|
||||
movl #Lfserr,a1@(PCB_ONFAULT) | where to return to on a fault
|
||||
movsl d0,a0@ | do write to user space
|
||||
nop
|
||||
moveq #0,d0 | indicate no fault
|
||||
jra Lfsdone
|
||||
|
||||
ENTRY(susword)
|
||||
movl sp@(4),a0 | address to write
|
||||
movw sp@(10),d0 | value to put there
|
||||
movl _curpcb,a1 | current pcb
|
||||
movl #Lfserr,a1@(PCB_ONFAULT) | where to return to on a fault
|
||||
movsw d0,a0@ | do write to user space
|
||||
nop
|
||||
moveq #0,d0 | indicate no fault
|
||||
jra Lfsdone
|
||||
|
||||
ENTRY(suswintr)
|
||||
movl sp@(4),a0
|
||||
movw sp@(10),d0
|
||||
movl _curpcb,a1
|
||||
movl #_fswintr,a1@(PCB_ONFAULT)
|
||||
movsw d0,a0@
|
||||
nop
|
||||
moveq #0,d0
|
||||
jra Lfsdone
|
||||
|
||||
ALTENTRY(suibyte, _subyte)
|
||||
ENTRY(subyte)
|
||||
movl sp@(4),a0 | address to write
|
||||
movb sp@(11),d0 | value to put there
|
||||
movl _curpcb,a1 | current pcb
|
||||
movl #Lfserr,a1@(PCB_ONFAULT) | where to return to on a fault
|
||||
movsb d0,a0@ | do write to user space
|
||||
nop
|
||||
moveq #0,d0 | indicate no fault
|
||||
jra Lfsdone
|
||||
|
||||
/*
|
||||
* Invalidate entire TLB.
|
||||
*/
|
||||
|
|
Loading…
Reference in New Issue