Print this page
5042 stop using deprecated atomic functions
*** 21,32 ****
/*
* Copyright 2008 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
- #pragma ident "%Z%%M% %I% %E% SMI"
-
#include <sys/types.h>
#include <sys/systm.h>
#include <sys/archsystm.h>
#include <sys/machsystm.h>
#include <sys/t_lock.h>
--- 21,30 ----
*** 187,197 ****
va = ppmap_vaddrs[index];
if (va != NULL) {
#ifdef PPDEBUG
align_hits[color]++;
#endif /* PPDEBUG */
! if (casptr(&ppmap_vaddrs[index],
va, NULL) == va) {
hat_memload(kas.a_hat, va, pp,
vprot | HAT_NOSYNC,
HAT_LOAD_LOCK);
return (va);
--- 185,195 ----
va = ppmap_vaddrs[index];
if (va != NULL) {
#ifdef PPDEBUG
align_hits[color]++;
#endif /* PPDEBUG */
! if (atomic_cas_ptr(&ppmap_vaddrs[index],
va, NULL) == va) {
hat_memload(kas.a_hat, va, pp,
vprot | HAT_NOSYNC,
HAT_LOAD_LOCK);
return (va);
*** 317,327 ****
stride = 1;
}
for (i = start; i < pp_slots; i += stride) {
if (*myslot == NULL) {
! if (casptr(myslot, NULL, va) == NULL)
break;
}
myslot += stride;
va += MMU_PAGESIZE * stride;
}
--- 315,325 ----
stride = 1;
}
for (i = start; i < pp_slots; i += stride) {
if (*myslot == NULL) {
! if (atomic_cas_ptr(myslot, NULL, va) == NULL)
break;
}
myslot += stride;
va += MMU_PAGESIZE * stride;
}