| 460 | } |
| 461 | |
| 462 | int |
| 463 | casueword(volatile u_long *base, u_long oldval, u_long *oldvalp, u_long newval) |
| 464 | { |
| 465 | struct casueword_arg0 ca; |
| 466 | int res; |
| 467 | |
| 468 | ca.oldval = oldval; |
| 469 | ca.newval = newval; |
| 470 | res = cp_slow0((vm_offset_t)base, sizeof(int32_t), true, |
| 471 | casueword_slow0, &ca); |
| 472 | if (res == 0) { |
| 473 | *oldvalp = ca.oldval; |
| 474 | return (ca.res); |
| 475 | } |
| 476 | return (-1); |
| 477 | } |