Implement casuptr.

This commit is contained in:
Jake Burkholder 2003-04-01 02:37:04 +00:00
parent 4518589564
commit a31794d553
2 changed files with 23 additions and 7 deletions

View File

@ -703,10 +703,3 @@ set_fpregs(struct thread *td, struct fpreg *fpregs)
tf->tf_gsr = fpregs->fr_gsr;
return (0);
}
intptr_t
casuptr(intptr_t *p, intptr_t old, intptr_t new)
{
return (-1);
}

View File

@ -402,6 +402,29 @@ fs_nofault_begin:
.set susword, suword16
.set suword, suword64
.globl casuptr, fuptr, suptr
.set casuptr, casuword64
.set fuptr, fuword64
.set suptr, suword64
/*
* int32_t casuword32(volatile int32_t *p, int32_t e, int32_t s)
*/
ENTRY(casuword32)
casa [%o0] ASI_AIUP, %o1, %o2
retl
mov %o2, %o0
END(casuword32)
/*
* int64_t casuword64(volatile int64_t *p, int64_t e, int64_t s)
*/
ENTRY(casuword64)
casxa [%o0] ASI_AIUP, %o1, %o2
retl
mov %o2, %o0
END(casuword64)
/*
* int fuword8(const void *base)
*/