diff options
-rw-r--r-- | xen/arch/x86/x86_32/entry.S | 13 | ||||
-rw-r--r-- | xen/arch/x86/x86_64/entry.S | 10 |
2 files changed, 10 insertions, 13 deletions
diff --git a/xen/arch/x86/x86_32/entry.S b/xen/arch/x86/x86_32/entry.S index 2d7901fa17..c36a9939e1 100644 --- a/xen/arch/x86/x86_32/entry.S +++ b/xen/arch/x86/x86_32/entry.S @@ -426,9 +426,8 @@ ENTRY(ret_from_intr) jnz test_all_events jmp restore_all_xen -ENTRY(divide_error) - pushl $TRAP_divide_error<<16 - ALIGN +ENTRY(page_fault) + movw $TRAP_page_fault,2(%esp) handle_exception: FIXUP_RING0_GUEST_STACK SAVE_ALL(1f,2f) @@ -501,6 +500,10 @@ ENTRY(device_not_available) pushl $TRAP_no_device<<16 jmp handle_exception +ENTRY(divide_error) + pushl $TRAP_divide_error<<16 + jmp handle_exception + ENTRY(debug) pushl $TRAP_debug<<16 jmp handle_exception @@ -545,10 +548,6 @@ ENTRY(alignment_check) movw $TRAP_alignment_check,2(%esp) jmp handle_exception -ENTRY(page_fault) - movw $TRAP_page_fault,2(%esp) - jmp handle_exception - ENTRY(spurious_interrupt_bug) pushl $TRAP_spurious_int<<16 jmp handle_exception diff --git a/xen/arch/x86/x86_64/entry.S b/xen/arch/x86/x86_64/entry.S index 4d49c4331c..fa51287a87 100644 --- a/xen/arch/x86/x86_64/entry.S +++ b/xen/arch/x86/x86_64/entry.S @@ -461,9 +461,11 @@ ENTRY(ret_from_intr) jz test_all_events jmp compat_test_all_events - ALIGN +ENTRY(page_fault) + movl $TRAP_page_fault,4(%rsp) /* No special register assumptions. */ -ENTRY(handle_exception) + .globl handle_exception +handle_exception: SAVE_ALL handle_exception_saved: testb $X86_EFLAGS_IF>>8,UREGS_eflags+1(%rsp) @@ -585,10 +587,6 @@ ENTRY(alignment_check) movl $TRAP_alignment_check,4(%rsp) jmp handle_exception -ENTRY(page_fault) - movl $TRAP_page_fault,4(%rsp) - jmp handle_exception - ENTRY(spurious_interrupt_bug) pushq $0 movl $TRAP_spurious_int,4(%rsp) |