Index: xen-4.0.3-testing/xen/arch/x86/x86_32/entry.S
===================================================================
--- xen-4.0.3-testing.orig/xen/arch/x86/x86_32/entry.S
+++ xen-4.0.3-testing/xen/arch/x86/x86_32/entry.S
@@ -405,21 +405,33 @@ ring1:  /* obtain ss/esp from oldss/olde
         movl %eax,UREGS_eip+4(%esp)
         ret
 .section __ex_table,"a"
-        .long  .Lft6,domain_crash_synchronous ,  .Lft7,domain_crash_synchronous
-        .long  .Lft8,domain_crash_synchronous ,  .Lft9,domain_crash_synchronous
-        .long .Lft10,domain_crash_synchronous , .Lft11,domain_crash_synchronous
-        .long .Lft12,domain_crash_synchronous , .Lft13,domain_crash_synchronous
-        .long .Lft14,domain_crash_synchronous , .Lft15,domain_crash_synchronous
-        .long .Lft16,domain_crash_synchronous , .Lft17,domain_crash_synchronous
-        .long .Lft18,domain_crash_synchronous , .Lft19,domain_crash_synchronous
-        .long .Lft20,domain_crash_synchronous , .Lft21,domain_crash_synchronous
-        .long .Lft22,domain_crash_synchronous , .Lft23,domain_crash_synchronous
-        .long .Lft24,domain_crash_synchronous , .Lft25,domain_crash_synchronous
+        .long  .Lft6,domain_crash_synchronous  ,  .Lft7,domain_crash_page_fault
+        .long  .Lft8,domain_crash_page_fault_4 ,  .Lft9,domain_crash_page_fault_8
+        .long .Lft10,domain_crash_page_fault_12, .Lft11,domain_crash_page_fault
+        .long .Lft12,domain_crash_page_fault_4 , .Lft13,domain_crash_synchronous
+        .long .Lft14,domain_crash_page_fault   , .Lft15,domain_crash_page_fault_4
+        .long .Lft16,domain_crash_page_fault_8 , .Lft17,domain_crash_page_fault
+        .long .Lft18,domain_crash_page_fault   , .Lft19,domain_crash_page_fault_4
+        .long .Lft20,domain_crash_page_fault_8 , .Lft21,domain_crash_page_fault_12
+        .long .Lft22,domain_crash_page_fault   , .Lft23,domain_crash_page_fault_4
+        .long .Lft24,domain_crash_page_fault_8 , .Lft25,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: xen-4.0.3-testing/xen/arch/x86/x86_64/entry.S
===================================================================
--- xen-4.0.3-testing.orig/xen/arch/x86/x86_64/entry.S
+++ xen-4.0.3-testing/xen/arch/x86/x86_64/entry.S
@@ -461,17 +461,30 @@ create_bounce_frame:
         movq  %rax,UREGS_rip+8(%rsp)
         ret
 .section __ex_table,"a"
-        .quad  .Lft2,domain_crash_synchronous ,  .Lft3,domain_crash_synchronous
-        .quad  .Lft4,domain_crash_synchronous ,  .Lft5,domain_crash_synchronous
-        .quad  .Lft6,domain_crash_synchronous ,  .Lft7,domain_crash_synchronous
-        .quad  .Lft8,domain_crash_synchronous ,  .Lft9,domain_crash_synchronous
-        .quad .Lft10,domain_crash_synchronous , .Lft11,domain_crash_synchronous
-        .quad .Lft12,domain_crash_synchronous , .Lft13,domain_crash_synchronous
+        .quad  .Lft2,domain_crash_page_fault_32,  .Lft3,domain_crash_page_fault_24
+        .quad  .Lft4,domain_crash_page_fault_8 ,  .Lft5,domain_crash_page_fault_16
+        .quad  .Lft6,domain_crash_page_fault   ,  .Lft7,domain_crash_page_fault
+        .quad  .Lft8,domain_crash_page_fault_24,  .Lft9,domain_crash_page_fault_16
+        .quad .Lft10,domain_crash_page_fault_8 , .Lft11,domain_crash_page_fault
+        .quad .Lft12,domain_crash_page_fault_8 , .Lft13,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
 ENTRY(domain_crash_synchronous)
         # Get out of the guest-save area of the stack.
         GET_GUEST_REGS(%rax)
