zach@vmware.com
2007-Apr-18 13:02 UTC
[PATCH 4/14] i386 / Clean up asm and volatile keywords in desc
Stop using extra underscores on asm and volatiles, that is just silly.
Also, make lgdt/lidt/sgdt/sldt explicitly "l".
Patch-base: 2.6.13-rc5-mm1
Patch-keys: i386 desc cleanup
Signed-off-by: Zachary Amsden <zach@vmware.com>
Index: linux-2.6.13/include/asm-i386/mach-default/mach_desc.h
==================================================================---
linux-2.6.13.orig/include/asm-i386/mach-default/mach_desc.h 2005-08-09
18:38:14.000000000 -0700
+++ linux-2.6.13/include/asm-i386/mach-default/mach_desc.h 2005-08-10
20:42:03.000000000 -0700
@@ -24,30 +24,30 @@
#ifndef __MACH_DESC_H
#define __MACH_DESC_H
-#define load_TR_desc() __asm__ __volatile__("ltr %w0"::"q"
(GDT_ENTRY_TSS*8))
-#define load_LDT_desc() __asm__ __volatile__("lldt
%w0"::"q" (GDT_ENTRY_LDT*8))
+#define load_TR_desc() asm volatile("ltr %w0"::"q"
(GDT_ENTRY_TSS*8))
+#define load_LDT_desc() asm volatile("lldt %w0"::"q"
(GDT_ENTRY_LDT*8))
-#define load_gdt(dtr) __asm__ __volatile("lgdt %0"::"m"
(*dtr))
-#define load_idt(dtr) __asm__ __volatile("lidt %0"::"m"
(*dtr))
-#define load_tr(tr) __asm__ __volatile("ltr %0"::"mr" (tr))
-#define load_ldt(ldt) __asm__ __volatile("lldt %0"::"mr"
(ldt))
-
-#define store_gdt(dtr) __asm__ ("sgdt %0":"=m" (*dtr))
-#define store_idt(dtr) __asm__ ("sidt %0":"=m" (*dtr))
-#define store_tr(tr) __asm__ ("str %0":"=mr" (tr))
-#define store_ldt(ldt) __asm__ ("sldt %0":"=mr" (ldt))
+#define load_gdt(dtr) asm volatile("lgdtl %0"::"m" (*dtr))
+#define load_idt(dtr) asm volatile("lidtl %0"::"m" (*dtr))
+#define load_tr(tr) asm volatile("ltr %0"::"mr" (tr))
+#define load_ldt(ldt) asm volatile("lldt %0"::"mr" (ldt))
+
+#define store_gdt(dtr) asm ("sgdtl %0":"=m" (*dtr))
+#define store_idt(dtr) asm ("sidtl %0":"=m" (*dtr))
+#define store_tr(tr) asm ("str %0":"=mr" (tr))
+#define store_ldt(ldt) asm ("sldt %0":"=mr" (ldt))
static inline unsigned int get_TR_desc(void)
{
unsigned int tr;
- __asm__ ("str %w0":"=q" (tr));
+ asm ("str %w0":"=q" (tr));
return tr;
}
static inline unsigned int get_LDT_desc(void)
{
unsigned int ldt;
- __asm__ ("sldt %w0":"=q" (ldt));
+ asm ("sldt %w0":"=q" (ldt));
return ldt;
}
Andi Kleen
2007-Apr-18 17:49 UTC
[PATCH 4/14] i386 / Clean up asm and volatile keywords in desc
On Wed, Aug 10, 2005 at 09:53:51PM -0700, zach@vmware.com wrote:> Stop using extra underscores on asm and volatiles, that is just silly.Actually the volatiles might be still useful. Or if you drop them at least add memory clobbers. I had sometimes bugs on x86-64 with the compiler moving such assembly statements with invisible side effects around too aggressively and causing weird problems. Agreed on the underscores, I hate them too :) -Andi