diff options
| -rw-r--r-- | x86.h | 13 | 
1 files changed, 11 insertions, 2 deletions
| @@ -12,7 +12,7 @@ inb(ushort port)  static inline void  insl(int port, void *addr, int cnt)  { -  asm volatile("cld; repne insl" : +  asm volatile("cld; rep insl" :                 "=D" (addr), "=c" (cnt) :                 "d" (port), "0" (addr), "1" (cnt) :                 "memory", "cc"); @@ -33,12 +33,21 @@ outw(ushort port, ushort data)  static inline void  outsl(int port, const void *addr, int cnt)  { -  asm volatile("cld; repne outsl" : +  asm volatile("cld; rep outsl" :                 "=S" (addr), "=c" (cnt) :                 "d" (port), "0" (addr), "1" (cnt) :                 "cc");  } +static inline void +stosb(void *addr, int data, int cnt) +{ +  asm volatile("cld; rep stosb" : +               "=D" (addr), "=c" (cnt) : +               "0" (addr), "1" (cnt), "a" (data) : +               "memory", "cc"); +} +  static inline uint  read_ebp(void)  { | 
