提交 4003e9be 创建 作者: rsc's avatar rsc

xv6/x86.h: inline assembly cleanup

上级 8eb20827
...@@ -12,10 +12,10 @@ inb(ushort port) ...@@ -12,10 +12,10 @@ inb(ushort port)
static inline void static inline void
insl(int port, void *addr, int cnt) insl(int port, void *addr, int cnt)
{ {
asm volatile("cld\n\trepne\n\tinsl" : asm volatile("cld; repne insl" :
"=D" (addr), "=c" (cnt) : "=D" (addr), "=c" (cnt) :
"d" (port), "0" (addr), "1" (cnt) : "d" (port), "0" (addr), "1" (cnt) :
"memory", "cc"); "memory", "cc");
} }
static inline void static inline void
...@@ -33,10 +33,10 @@ outw(ushort port, ushort data) ...@@ -33,10 +33,10 @@ outw(ushort port, ushort data)
static inline void static inline void
outsl(int port, const void *addr, int cnt) outsl(int port, const void *addr, int cnt)
{ {
asm volatile("cld\n\trepne\n\toutsl" : asm volatile("cld; repne outsl" :
"=S" (addr), "=c" (cnt) : "=S" (addr), "=c" (cnt) :
"d" (port), "0" (addr), "1" (cnt) : "d" (port), "0" (addr), "1" (cnt) :
"cc"); "cc");
} }
static inline uint static inline uint
......
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论