Import mfcpu() from OpenBSD, needed by power switch code.

This commit is contained in:
jkunz 2005-01-31 17:32:15 +00:00
parent 4627df7dfc
commit 48f11129db
1 changed files with 6 additions and 1 deletions

View File

@ -1,4 +1,4 @@
/* $NetBSD: cpufunc.h,v 1.3 2004/08/26 16:48:06 jkunz Exp $ */
/* $NetBSD: cpufunc.h,v 1.4 2005/01/31 17:32:15 jkunz Exp $ */
/* $OpenBSD: cpufunc.h,v 1.17 2000/05/15 17:22:40 mickey Exp $ */
@ -81,6 +81,11 @@ static __inline register_t ldsid(vaddr_t p) {
#define mtctl(v,r) __asm __volatile("mtctl %0,%1":: "r" (v), "i" (r))
#define mfctl(r,v) __asm __volatile("mfctl %1,%0": "=r" (v): "i" (r))
#define mfcpu(r,v) /* XXX for the lack of the mnemonics */ \
__asm __volatile("diag %1\n\t" \
"copy %%r22, %0" \
: "=r" (v) : "i" ((0x1400 | ((r) << 21) | (22))) : "r22")
#define mtsp(v,r) __asm __volatile("mtsp %0,%1":: "r" (v), "i" (r))
#define mfsp(r,v) __asm __volatile("mfsp %1,%0": "=r" (v): "i" (r))