Thanks to Ed Lyle Karrels <karrels@stanford.edu> for reporting the
problem.
{
int error_code;
asm ("movl $1f, %0; movb %b2, %1; 1:"
- : "=&a" (error_code), "=m" (*udst) : "r" (byte));
+ : "=&a" (error_code), "=m" (*udst) : "q" (byte));
return error_code != -1;
}
@end verbatim
6.2.4 "Task Register". */
gdtr_operand = make_gdtr_operand (sizeof gdt - 1, gdt);
asm volatile ("lgdt %0" : : "m" (gdtr_operand));
- asm volatile ("ltr %w0" : : "r" (SEL_TSS));
+ asm volatile ("ltr %w0" : : "q" (SEL_TSS));
}
\f
/* System segment or code/data segment? */