Implement suword16() for the 32-bit ARMv6/v7 architecture.
This fixes compilation of usb(4) after 0ec590d24e
.
MFC after: 1 week
Sponsored by: NVIDIA Networking
This commit is contained in:
parent
46e0c03795
commit
516df15582
@ -212,6 +212,35 @@ fusupcbfaulttext:
|
||||
.align 2
|
||||
#endif
|
||||
|
||||
/*
|
||||
* suword16(caddr_t uaddr, int x);
|
||||
* Store an uint16_t in the user's address space.
|
||||
*/
|
||||
|
||||
ENTRY(suword16)
|
||||
ldr r3, =(VM_MAXUSER_ADDRESS-3)
|
||||
cmp r0, r3
|
||||
mvncs r0, #0
|
||||
RETc(cs)
|
||||
|
||||
GET_PCB(r2)
|
||||
ldr r2, [r2]
|
||||
|
||||
#ifdef DIAGNOSTIC
|
||||
teq r2, #0x00000000
|
||||
beq .Lfusupcbfault
|
||||
#endif
|
||||
|
||||
adr r3, .Lfusufault
|
||||
str r3, [r2, #PCB_ONFAULT]
|
||||
|
||||
strht r1, [r0]
|
||||
|
||||
mov r0, #0x00000000
|
||||
str r0, [r2, #PCB_ONFAULT]
|
||||
RET
|
||||
END(suword16)
|
||||
|
||||
/*
|
||||
* suword(caddr_t uaddr, int x);
|
||||
* Store an int in the user's address space.
|
||||
|
Loading…
Reference in New Issue
Block a user