提交 29c054df 创建 作者: Austin Clements's avatar Austin Clements

We don't use lesp/lebp and using them at all from C would be fraught with peril.…

We don't use lesp/lebp and using them at all from C would be fraught with peril. Keep resp/rebp, but fix their code style.
上级 7914ab72
...@@ -96,24 +96,16 @@ loadgs(ushort v) ...@@ -96,24 +96,16 @@ loadgs(ushort v)
asm volatile("movw %0, %%gs" : : "r" (v)); asm volatile("movw %0, %%gs" : : "r" (v));
} }
static inline void lebp(uint val) static inline uint
{ rebp(void)
asm volatile("movl %0,%%ebp" : : "r" (val));
}
static inline uint rebp(void)
{ {
uint val; uint val;
asm volatile("movl %%ebp,%0" : "=r" (val)); asm volatile("movl %%ebp,%0" : "=r" (val));
return val; return val;
} }
static inline void lesp(uint val) static inline uint
{ resp(void)
asm volatile("movl %0,%%esp" : : "r" (val));
}
static inline uint resp(void)
{ {
uint val; uint val;
asm volatile("movl %%esp,%0" : "=r" (val)); asm volatile("movl %%esp,%0" : "=r" (val));
...@@ -132,13 +124,6 @@ sti(void) ...@@ -132,13 +124,6 @@ sti(void)
asm volatile("sti"); asm volatile("sti");
} }
static inline void
nop_pause(void)
{
asm volatile("pause" : :);
}
//PAGEBREAK!
static inline uint static inline uint
xchg(volatile uint *addr, uint newval) xchg(volatile uint *addr, uint newval)
{ {
...@@ -153,6 +138,13 @@ xchg(volatile uint *addr, uint newval) ...@@ -153,6 +138,13 @@ xchg(volatile uint *addr, uint newval)
} }
static inline void static inline void
nop_pause(void)
{
asm volatile("pause" : :);
}
//PAGEBREAK!
static inline void
lcr0(uint val) lcr0(uint val)
{ {
asm volatile("movl %0,%%cr0" : : "r" (val)); asm volatile("movl %0,%%cr0" : : "r" (val));
......
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论