9fd34708c1
guest 21971-pod-accounting.patch - bnc#584204 - xm usb-list broken usb-list.patch - bnc#625520 - TP-L3: NMI cannot be triggered for xen kernel 21926-x86-pv-NMI-inject.patch - bnc#613529 - TP-L3: kdump kernel hangs when crash was initiated from xen kernel 21886-kexec-shutdown.patch - Upstream Intel patches to improve X2APIC handling. 21716-iommu-alloc.patch 21717-ir-qi.patch 21718-x2apic-logic.patch 21933-vtd-ioapic-write.patch 21953-msi-enable.patch OBS-URL: https://build.opensuse.org/package/show/Virtualization/xen?expand=0&rev=71
86 lines
4.0 KiB
Diff
86 lines
4.0 KiB
Diff
--- a/xen/arch/x86/x86_32/entry.S
|
|
+++ b/xen/arch/x86/x86_32/entry.S
|
|
@@ -403,21 +403,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
|
|
--- a/xen/arch/x86/x86_64/entry.S
|
|
+++ b/xen/arch/x86/x86_64/entry.S
|
|
@@ -421,17 +421,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)
|