[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] linux/x86-64: cleanup the Xen-specific macros in entry-xen.S
# HG changeset patch # User kfraser@xxxxxxxxxxxxxxxxxxxxx # Date 1175012613 -3600 # Node ID cb7d02592b965c5c3c08300e9747182f235a90d1 # Parent c1bfe329f7ffd46a69264d10b790f2998345bb7b linux/x86-64: cleanup the Xen-specific macros in entry-xen.S - SWITCH_TO_KERNEL is dead (and was broken) - comments to HYPERVISOR_IRET were somewhat outdated - updates of selecor RPLs shouldn't be done with byte size to avoid store-to-load forwarding issues Signed-off-by: Jan Beulich <jbeulich@xxxxxxxxxx> --- linux-2.6-xen-sparse/arch/x86_64/kernel/entry-xen.S | 16 +++++----------- 1 files changed, 5 insertions(+), 11 deletions(-) diff -r c1bfe329f7ff -r cb7d02592b96 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 Tue Mar 27 17:21:14 2007 +0100 +++ b/linux-2.6-xen-sparse/arch/x86_64/kernel/entry-xen.S Tue Mar 27 17:23:33 2007 +0100 @@ -148,11 +148,11 @@ NMI_MASK = 0x80000000 .endm /* - * Must be consistent with the definition in arch-x86_64.h: + * Must be consistent with the definition in arch-x86/xen-x86_64.h: * struct iret_context { * u64 rax, r11, rcx, flags, rip, cs, rflags, rsp, ss; * }; - * #define VGCF_IN_SYSCALL (1<<8) + * with rax, r11, and rcx being taken care of in the hypercall stub. */ .macro HYPERVISOR_IRET flag testb $3,1*8(%rsp) @@ -164,21 +164,15 @@ NMI_MASK = 0x80000000 jnz 1f /* Direct iret to kernel space. Correct CS and SS. */ - orb $3,1*8(%rsp) - orb $3,4*8(%rsp) + orl $3,1*8(%rsp) + orl $3,4*8(%rsp) 1: iretq 2: /* Slow iret via hypervisor. */ - andl $~NMI_MASK, 16(%rsp) + andl $~NMI_MASK, 2*8(%rsp) pushq $\flag jmp hypercall_page + (__HYPERVISOR_iret * 32) .endm - - .macro SWITCH_TO_KERNEL ssoff,adjust=0 - jc 1f - orb $1,\ssoff-\adjust+4(%rsp) -1: - .endm /* * A newly forked process directly context switches into this. _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |