[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] [LINUX][ Fix x86/64 entry.S to use paravirtualized sti/cli properly.
# HG changeset patch # User kfraser@xxxxxxxxxxxxxxxxxxxxx # Node ID 6b6bfa60707e3411cfdf0c78675ecbd9f2f01a3c # Parent 1b85fbc8c013c76a5f66d2dcb95f0a02fed202be [LINUX][ Fix x86/64 entry.S to use paravirtualized sti/cli properly. This fixes - one instance of using XEN_BLOCK_EVENTS where XEN_UNBLOCK_EVENTS was meant - four instances of left-over cli-s that should have been replaced with XEN_BLOCK_EVENTS - one instance of slightly wrong placement (without resulting in ill behavior, but needlessly making the diff to native more complex) Signed-off-by: Jan Beulich <jbeulich@xxxxxxxxxx> --- linux-2.6-xen-sparse/arch/x86_64/kernel/entry-xen.S | 12 ++++++------ 1 files changed, 6 insertions(+), 6 deletions(-) diff -r 1b85fbc8c013 -r 6b6bfa60707e linux-2.6-xen-sparse/arch/x86_64/kernel/entry-xen.S --- a/linux-2.6-xen-sparse/arch/x86_64/kernel/entry-xen.S Mon Aug 14 15:17:42 2006 +0100 +++ b/linux-2.6-xen-sparse/arch/x86_64/kernel/entry-xen.S Mon Aug 14 15:24:59 2006 +0100 @@ -271,7 +271,7 @@ sysret_careful: CFI_RESTORE_STATE bt $TIF_NEED_RESCHED,%edx jnc sysret_signal - XEN_BLOCK_EVENTS(%rsi) + XEN_UNBLOCK_EVENTS(%rsi) pushq %rdi CFI_ADJUST_CFA_OFFSET 8 call schedule @@ -295,7 +295,7 @@ 1: movl $_TIF_NEED_RESCHED,%edi 1: movl $_TIF_NEED_RESCHED,%edi /* Use IRET because user could have changed frame. This works because ptregscall_common has called FIXUP_TOP_OF_STACK. */ - cli + XEN_BLOCK_EVENTS(%rsi) jmp int_with_check badsys: @@ -377,7 +377,7 @@ int_careful: call schedule popq %rdi CFI_ADJUST_CFA_OFFSET -8 - cli + XEN_BLOCK_EVENTS(%rsi) jmp int_with_check /* handle signals and tracing -- both require a full stack frame */ @@ -395,7 +395,7 @@ int_very_careful: popq %rdi CFI_ADJUST_CFA_OFFSET -8 andl $~(_TIF_SYSCALL_TRACE|_TIF_SYSCALL_AUDIT|_TIF_SINGLESTEP),%edi - cli + XEN_BLOCK_EVENTS(%rsi) jmp int_restore_rest int_signal: @@ -407,7 +407,7 @@ 1: movl $_TIF_NEED_RESCHED,%edi 1: movl $_TIF_NEED_RESCHED,%edi int_restore_rest: RESTORE_REST - cli + XEN_BLOCK_EVENTS(%rsi) jmp int_with_check CFI_ENDPROC @@ -535,8 +535,8 @@ retint_careful: call schedule popq %rdi CFI_ADJUST_CFA_OFFSET -8 + GET_THREAD_INFO(%rcx) XEN_BLOCK_EVENTS(%rsi) - GET_THREAD_INFO(%rcx) /* cli */ jmp retint_check _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |