WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

[Xen-devel] [PATCH] x86_64 trap table fixup

To: Keir.Fraser@xxxxxxxxxxxx
Subject: [Xen-devel] [PATCH] x86_64 trap table fixup
From: Chris Wright <chrisw@xxxxxxxx>
Date: Sun, 3 Jul 2005 21:27:27 -0700
Cc: xen-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Mon, 04 Jul 2005 04:26:24 +0000
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mutt/1.5.6i
Recent header file cleanup (cset 2b6c1a8098078f7e53de7cf72227fddf01f0b2b6)
broke x86_64.  The cleanup removed a padding field in trap_info_t, so the 
trap table set the address for each trap handler to zero.

Signed-off-by: Chris Wright <chrisw@xxxxxxxx>
---

diff -r f8acd354e129 linux-2.6.11-xen-sparse/arch/xen/x86_64/kernel/traps.c
--- a/linux-2.6.11-xen-sparse/arch/xen/x86_64/kernel/traps.c    Sat Jul  2 
08:41:48 2005
+++ b/linux-2.6.11-xen-sparse/arch/xen/x86_64/kernel/traps.c    Sun Jul  3 
23:18:10 2005
@@ -910,31 +910,31 @@
 
 
 static trap_info_t trap_table[] = {
-        {  0, 0, (__KERNEL_CS|0x3), 0, (unsigned long)divide_error             
  },
-        {  1, 0, (__KERNEL_CS|0x3), 0, (unsigned long)debug                    
  },
-        {  3, 3, (__KERNEL_CS|0x3), 0, (unsigned long)int3                     
  },
-        {  4, 3, (__KERNEL_CS|0x3), 0, (unsigned long)overflow                 
  },
-        {  5, 3, (__KERNEL_CS|0x3), 0, (unsigned long)bounds                   
  },
-        {  6, 0, (__KERNEL_CS|0x3), 0, (unsigned long)invalid_op               
  },
-        {  7, 0, (__KERNEL_CS|0x3), 0, (unsigned long)device_not_available     
  },
-        {  9, 0, (__KERNEL_CS|0x3), 0, (unsigned 
long)coprocessor_segment_overrun},
-        { 10, 0, (__KERNEL_CS|0x3), 0, (unsigned long)invalid_TSS              
  },
-        { 11, 0, (__KERNEL_CS|0x3), 0, (unsigned long)segment_not_present      
  },
-        { 12, 0, (__KERNEL_CS|0x3), 0, (unsigned long)stack_segment            
  },
-        { 13, 0, (__KERNEL_CS|0x3), 0, (unsigned long)general_protection       
  },
-        { 14, 0, (__KERNEL_CS|0x3), 0, (unsigned long)page_fault               
  },
-        { 15, 0, (__KERNEL_CS|0x3), 0, (unsigned long)spurious_interrupt_bug   
  },
-        { 16, 0, (__KERNEL_CS|0x3), 0, (unsigned long)coprocessor_error        
  },
-        { 17, 0, (__KERNEL_CS|0x3), 0, (unsigned long)alignment_check          
  },
+        {  0, 0, (__KERNEL_CS|0x3), (unsigned long)divide_error               
},
+        {  1, 0, (__KERNEL_CS|0x3), (unsigned long)debug                      
},
+        {  3, 3, (__KERNEL_CS|0x3), (unsigned long)int3                       
},
+        {  4, 3, (__KERNEL_CS|0x3), (unsigned long)overflow                   
},
+        {  5, 3, (__KERNEL_CS|0x3), (unsigned long)bounds                     
},
+        {  6, 0, (__KERNEL_CS|0x3), (unsigned long)invalid_op                 
},
+        {  7, 0, (__KERNEL_CS|0x3), (unsigned long)device_not_available       
},
+        {  9, 0, (__KERNEL_CS|0x3), (unsigned 
long)coprocessor_segment_overrun},
+        { 10, 0, (__KERNEL_CS|0x3), (unsigned long)invalid_TSS                
},
+        { 11, 0, (__KERNEL_CS|0x3), (unsigned long)segment_not_present        
},
+        { 12, 0, (__KERNEL_CS|0x3), (unsigned long)stack_segment              
},
+        { 13, 0, (__KERNEL_CS|0x3), (unsigned long)general_protection         
},
+        { 14, 0, (__KERNEL_CS|0x3), (unsigned long)page_fault                 
},
+        { 15, 0, (__KERNEL_CS|0x3), (unsigned long)spurious_interrupt_bug     
},
+        { 16, 0, (__KERNEL_CS|0x3), (unsigned long)coprocessor_error          
},
+        { 17, 0, (__KERNEL_CS|0x3), (unsigned long)alignment_check            
},
 #ifdef CONFIG_X86_MCE
-        { 18, 0, (__KERNEL_CS|0x3), 0, (unsigned long)machine_check            
  },
-#endif
-        { 19, 0, (__KERNEL_CS|0x3), 0, (unsigned long)simd_coprocessor_error   
  },
-        { SYSCALL_VECTOR,  3, (__KERNEL_CS|0x3), 0, (unsigned long)system_call 
  },
+        { 18, 0, (__KERNEL_CS|0x3), (unsigned long)machine_check              
},
+#endif
+        { 19, 0, (__KERNEL_CS|0x3), (unsigned long)simd_coprocessor_error     
},
+        { SYSCALL_VECTOR, 3, (__KERNEL_CS|0x3), (unsigned long)system_call   },
 #ifdef CONFIG_IA32_EMULATION
-       { IA32_SYSCALL_VECTOR, 3, (__KERNEL_CS|0x3), 0, (unsigned 
long)ia32_syscall},
-#endif
-        {  0, 0,           0, 0,  0                                            
  }
+       { IA32_SYSCALL_VECTOR, 3, (__KERNEL_CS|0x3), (unsigned 
long)ia32_syscall},
+#endif
+        {  0, 0,           0, 0                                              }
 };
 
 void __init trap_init(void)

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

<Prev in Thread] Current Thread [Next in Thread>