diff options
| author | John Baldwin <jhb@FreeBSD.org> | 2001-12-18 08:54:39 +0000 |
|---|---|---|
| committer | John Baldwin <jhb@FreeBSD.org> | 2001-12-18 08:54:39 +0000 |
| commit | 3f9a462fb91c4f75b6163133abf9f91f75f039d9 (patch) | |
| tree | 8cfb56c69a770ad846ddebfa04b7dd2d77e2fe9d /sys/amd64 | |
| parent | e4e991e117495f3d28a13490e7eef87d745a1b07 (diff) | |
Notes
Diffstat (limited to 'sys/amd64')
| -rw-r--r-- | sys/amd64/include/cpufunc.h | 28 |
1 files changed, 14 insertions, 14 deletions
diff --git a/sys/amd64/include/cpufunc.h b/sys/amd64/include/cpufunc.h index a4f57cb81070..c80c9f2e39c7 100644 --- a/sys/amd64/include/cpufunc.h +++ b/sys/amd64/include/cpufunc.h @@ -71,7 +71,7 @@ bsfl(u_int mask) { u_int result; - __asm __volatile("bsfl %0,%0" : "=r" (result) : "0" (mask)); + __asm __volatile("bsfl %1,%0" : "=r" (result) : "rm" (mask)); return (result); } @@ -80,7 +80,7 @@ bsrl(u_int mask) { u_int result; - __asm __volatile("bsrl %0,%0" : "=r" (result) : "0" (mask)); + __asm __volatile("bsrl %1,%0" : "=r" (result) : "rm" (mask)); return (result); } @@ -198,8 +198,8 @@ static __inline void insb(u_int port, void *addr, size_t cnt) { __asm __volatile("cld; rep; insb" - : "=D" (addr), "=c" (cnt) - : "0" (addr), "1" (cnt), "d" (port) + : "+D" (addr), "+c" (cnt) + : "d" (port) : "memory"); } @@ -207,8 +207,8 @@ static __inline void insw(u_int port, void *addr, size_t cnt) { __asm __volatile("cld; rep; insw" - : "=D" (addr), "=c" (cnt) - : "0" (addr), "1" (cnt), "d" (port) + : "+D" (addr), "+c" (cnt) + : "d" (port) : "memory"); } @@ -216,8 +216,8 @@ static __inline void insl(u_int port, void *addr, size_t cnt) { __asm __volatile("cld; rep; insl" - : "=D" (addr), "=c" (cnt) - : "0" (addr), "1" (cnt), "d" (port) + : "+D" (addr), "+c" (cnt) + : "d" (port) : "memory"); } @@ -321,24 +321,24 @@ static __inline void outsb(u_int port, const void *addr, size_t cnt) { __asm __volatile("cld; rep; outsb" - : "=S" (addr), "=c" (cnt) - : "0" (addr), "1" (cnt), "d" (port)); + : "+S" (addr), "+c" (cnt) + : "d" (port)); } static __inline void outsw(u_int port, const void *addr, size_t cnt) { __asm __volatile("cld; rep; outsw" - : "=S" (addr), "=c" (cnt) - : "0" (addr), "1" (cnt), "d" (port)); + : "+S" (addr), "+c" (cnt) + : "d" (port)); } static __inline void outsl(u_int port, const void *addr, size_t cnt) { __asm __volatile("cld; rep; outsl" - : "=S" (addr), "=c" (cnt) - : "0" (addr), "1" (cnt), "d" (port)); + : "+S" (addr), "+c" (cnt) + : "d" (port)); } static __inline void |
