Skip to contentSkip to conversation

x86: make set_task_gate() x86-32-only

PATCH New Jan Beulich 1 participant 1 message Nov 22, 2007

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 x86: make set_task_gate() x86-32-only

.. since x86-64 doesn't have task gates.

xen/arch/x86/traps.c +0 -6
Index: 2007-11-13/xen/arch/x86/traps.c
===================================================================
@@ -2581,12 +2581,6 @@ void set_system_gate(unsigned int n, voi
     _set_gate(idt_table+n,14,3,addr);
 }
 
-void set_task_gate(unsigned int n, unsigned int sel)
-{
-    idt_table[n].a = sel << 16;
-    idt_table[n].b = 0x8500;
-}
-
 void set_tss_desc(unsigned int n, void *addr)
 {
     _set_tssldt_desc(
xen/arch/x86/x86_32/traps.c +6 -0
Index: 2007-11-13/xen/arch/x86/x86_32/traps.c
===================================================================
@@ -258,6 +258,12 @@ unsigned long do_iret(void)
     return 0;
 }
 
+static void set_task_gate(unsigned int n, unsigned int sel)
+{
+    idt_table[n].a = sel << 16;
+    idt_table[n].b = 0x8500;
+}
+
 void __devinit subarch_percpu_traps_init(void)
 {
     struct tss_struct *tss = &doublefault_tss;
xen/include/asm-x86/desc.h +0 -1
Index: 2007-11-13/xen/include/asm-x86/desc.h
===================================================================
@@ -205,7 +205,6 @@ extern struct desc_struct compat_gdt_tab
 
 extern void set_intr_gate(unsigned int irq, void * addr);
 extern void set_system_gate(unsigned int n, void *addr);
-extern void set_task_gate(unsigned int n, unsigned int sel);
 extern void set_tss_desc(unsigned int n, void *addr);
 
 #endif /* !__ASSEMBLY__ */