90 lines
4.3 KiB
Diff
90 lines
4.3 KiB
Diff
|
Index: 2006-12-05/xen/arch/x86/x86_32/entry.S
|
||
|
===================================================================
|
||
|
--- 2006-12-05.orig/xen/arch/x86/x86_32/entry.S 2006-12-01 10:44:36.000000000 +0100
|
||
|
+++ 2006-12-05/xen/arch/x86/x86_32/entry.S 2006-12-08 14:24:54.000000000 +0100
|
||
|
@@ -382,21 +382,33 @@ nvm86_3:/* Rewrite our stack frame and r
|
||
|
movb $0,TRAPBOUNCE_flags(%edx)
|
||
|
ret
|
||
|
.section __ex_table,"a"
|
||
|
- .long FLT6,domain_crash_synchronous , FLT7,domain_crash_synchronous
|
||
|
- .long FLT8,domain_crash_synchronous , FLT9,domain_crash_synchronous
|
||
|
- .long FLT10,domain_crash_synchronous , FLT11,domain_crash_synchronous
|
||
|
- .long FLT12,domain_crash_synchronous , FLT13,domain_crash_synchronous
|
||
|
- .long FLT14,domain_crash_synchronous , FLT15,domain_crash_synchronous
|
||
|
- .long FLT16,domain_crash_synchronous , FLT17,domain_crash_synchronous
|
||
|
- .long FLT18,domain_crash_synchronous , FLT19,domain_crash_synchronous
|
||
|
- .long FLT20,domain_crash_synchronous , FLT21,domain_crash_synchronous
|
||
|
- .long FLT22,domain_crash_synchronous , FLT23,domain_crash_synchronous
|
||
|
- .long FLT24,domain_crash_synchronous , FLT25,domain_crash_synchronous
|
||
|
+ .long FLT6,domain_crash_synchronous , FLT7,domain_crash_page_fault
|
||
|
+ .long FLT8,domain_crash_page_fault_4 , FLT9,domain_crash_page_fault_8
|
||
|
+ .long FLT10,domain_crash_page_fault_12, FLT11,domain_crash_page_fault
|
||
|
+ .long FLT12,domain_crash_page_fault_4 , FLT13,domain_crash_synchronous
|
||
|
+ .long FLT14,domain_crash_page_fault , FLT15,domain_crash_page_fault_4
|
||
|
+ .long FLT16,domain_crash_page_fault_8 , FLT17,domain_crash_page_fault
|
||
|
+ .long FLT18,domain_crash_page_fault , FLT19,domain_crash_page_fault_4
|
||
|
+ .long FLT20,domain_crash_page_fault_8 , FLT21,domain_crash_page_fault_12
|
||
|
+ .long FLT22,domain_crash_page_fault , FLT23,domain_crash_page_fault_4
|
||
|
+ .long FLT24,domain_crash_page_fault_8 , FLT25,domain_crash_page_fault_12
|
||
|
.previous
|
||
|
|
||
|
+.section .rodata,"a"
|
||
|
domain_crash_synchronous_string:
|
||
|
.asciz "domain_crash_sync called from entry.S (%lx)\n"
|
||
|
+.previous
|
||
|
|
||
|
+domain_crash_page_fault_12:
|
||
|
+ addl $4,%esi
|
||
|
+domain_crash_page_fault_8:
|
||
|
+ addl $4,%esi
|
||
|
+domain_crash_page_fault_4:
|
||
|
+ addl $4,%esi
|
||
|
+domain_crash_page_fault:
|
||
|
+ pushl %esi
|
||
|
+ call show_page_walk
|
||
|
+ addl $4,%esp
|
||
|
domain_crash_synchronous:
|
||
|
pushl $domain_crash_synchronous_string
|
||
|
call printk
|
||
|
Index: 2006-12-05/xen/arch/x86/x86_64/entry.S
|
||
|
===================================================================
|
||
|
--- 2006-12-05.orig/xen/arch/x86/x86_64/entry.S 2006-12-01 10:44:36.000000000 +0100
|
||
|
+++ 2006-12-05/xen/arch/x86/x86_64/entry.S 2006-12-08 14:24:54.000000000 +0100
|
||
|
@@ -308,17 +308,30 @@ FLT13: movq %rax,(%rsi)
|
||
|
movb $0,TRAPBOUNCE_flags(%rdx)
|
||
|
ret
|
||
|
.section __ex_table,"a"
|
||
|
- .quad FLT2,domain_crash_synchronous , FLT3,domain_crash_synchronous
|
||
|
- .quad FLT4,domain_crash_synchronous , FLT5,domain_crash_synchronous
|
||
|
- .quad FLT6,domain_crash_synchronous , FLT7,domain_crash_synchronous
|
||
|
- .quad FLT8,domain_crash_synchronous , FLT9,domain_crash_synchronous
|
||
|
- .quad FLT10,domain_crash_synchronous , FLT11,domain_crash_synchronous
|
||
|
- .quad FLT12,domain_crash_synchronous , FLT13,domain_crash_synchronous
|
||
|
+ .quad FLT2,domain_crash_page_fault_32, FLT3,domain_crash_page_fault_24
|
||
|
+ .quad FLT4,domain_crash_page_fault_8 , FLT5,domain_crash_page_fault_16
|
||
|
+ .quad FLT6,domain_crash_page_fault , FLT7,domain_crash_page_fault
|
||
|
+ .quad FLT8,domain_crash_page_fault_24, FLT9,domain_crash_page_fault_16
|
||
|
+ .quad FLT10,domain_crash_page_fault_8 , FLT11,domain_crash_page_fault
|
||
|
+ .quad FLT12,domain_crash_page_fault_8 , FLT13,domain_crash_page_fault
|
||
|
.previous
|
||
|
|
||
|
+.section .rodata,"a"
|
||
|
domain_crash_synchronous_string:
|
||
|
.asciz "domain_crash_sync called from entry.S\n"
|
||
|
+.previous
|
||
|
|
||
|
+domain_crash_page_fault_32:
|
||
|
+ addq $8,%rsi
|
||
|
+domain_crash_page_fault_24:
|
||
|
+ addq $8,%rsi
|
||
|
+domain_crash_page_fault_16:
|
||
|
+ addq $8,%rsi
|
||
|
+domain_crash_page_fault_8:
|
||
|
+ addq $8,%rsi
|
||
|
+domain_crash_page_fault:
|
||
|
+ movq %rsi,%rdi
|
||
|
+ call show_page_walk
|
||
|
domain_crash_synchronous:
|
||
|
# Get out of the guest-save area of the stack.
|
||
|
GET_GUEST_REGS(%rax)
|