{
unsigned int cs;
- asm volatile ("mov %%cs, %0" : "=r" (cs));
+ asm volatile ("mov %%cs, %0" : "=rm" (cs));
return cs;
}
{
unsigned int ds;
- asm volatile ("mov %%ds, %0" : "=r" (ds));
+ asm volatile ("mov %%ds, %0" : "=rm" (ds));
return ds;
}
{
unsigned int es;
- asm volatile ("mov %%es, %0" : "=r" (es));
+ asm volatile ("mov %%es, %0" : "=rm" (es));
return es;
}
{
unsigned int fs;
- asm volatile ("mov %%fs, %0" : "=r" (fs));
+ asm volatile ("mov %%fs, %0" : "=rm" (fs));
return fs;
}
{
unsigned int gs;
- asm volatile ("mov %%gs, %0" : "=r" (gs));
+ asm volatile ("mov %%gs, %0" : "=rm" (gs));
return gs;
}
{
unsigned int ss;
- asm volatile ("mov %%ss, %0" : "=r" (ss));
+ asm volatile ("mov %%ss, %0" : "=rm" (ss));
return ss;
}
static inline void write_ds(unsigned int ds)
{
- asm volatile ("mov %0, %%ds" :: "r" (ds));
+ asm volatile ("mov %0, %%ds" :: "rm" (ds));
}
static inline void write_es(unsigned int es)
{
- asm volatile ("mov %0, %%es" :: "r" (es));
+ asm volatile ("mov %0, %%es" :: "rm" (es));
}
static inline void write_fs(unsigned int fs)
{
- asm volatile ("mov %0, %%fs" :: "r" (fs));
+ asm volatile ("mov %0, %%fs" :: "rm" (fs));
}
static inline void write_gs(unsigned int gs)
{
- asm volatile ("mov %0, %%gs" :: "r" (gs));
+ asm volatile ("mov %0, %%gs" :: "rm" (gs));
}
static inline void write_ss(unsigned int ss)
{
- asm volatile ("mov %0, %%ss" :: "r" (ss));
+ asm volatile ("mov %0, %%ss" :: "rm" (ss));
}
static inline unsigned long read_cr0(void)