ia64/xen-unstable

changeset 8988:49c02a7a92dd

Remove TBF_SLOW_IRET hack from x86/64 Xen return-to-guest
path. Guest should set up flags for itself in its own
NMI handler.

Signed-off-by: Keir Fraser <keir@xensource.com>
author kaf24@firebug.cl.cam.ac.uk
date Thu Feb 23 18:30:43 2006 +0100 (2006-02-23)
parents 436c4c83a200
children c646586d1065
files xen/arch/x86/x86_64/entry.S xen/include/asm-x86/processor.h
line diff
     1.1 --- a/xen/arch/x86/x86_64/entry.S	Thu Feb 23 18:27:18 2006 +0100
     1.2 +++ b/xen/arch/x86/x86_64/entry.S	Thu Feb 23 18:30:43 2006 +0100
     1.3 @@ -206,7 +206,7 @@ process_nmi:
     1.4          sti
     1.5          leaq VCPU_trap_bounce(%rbx),%rdx
     1.6          movq %rax,TRAPBOUNCE_eip(%rdx)
     1.7 -        movw $(TBF_INTERRUPT|TBF_SLOW_IRET),TRAPBOUNCE_flags(%rdx)
     1.8 +        movw $TBF_INTERRUPT,TRAPBOUNCE_flags(%rdx)
     1.9          call create_bounce_frame
    1.10          jmp  test_all_events
    1.11  1:      bts  $_VCPUF_nmi_pending,VCPU_flags(%rbx)
    1.12 @@ -229,9 +229,6 @@ create_bounce_frame:
    1.13  1:      /* In kernel context already: push new frame at existing %rsp. */
    1.14          movq  UREGS_rsp+8(%rsp),%rsi
    1.15          andb  $0xfc,UREGS_cs+8(%rsp)    # Indicate kernel context to guest.
    1.16 -	testw $(TBF_SLOW_IRET),TRAPBOUNCE_flags(%rdx)
    1.17 -	jz    2f
    1.18 -	orb   $0x01,UREGS_cs+8(%rsp)
    1.19  2:      andq  $~0xf,%rsi                # Stack frames are 16-byte aligned.
    1.20          movq  $HYPERVISOR_VIRT_START,%rax
    1.21          cmpq  %rax,%rsi
     2.1 --- a/xen/include/asm-x86/processor.h	Thu Feb 23 18:27:18 2006 +0100
     2.2 +++ b/xen/include/asm-x86/processor.h	Thu Feb 23 18:30:43 2006 +0100
     2.3 @@ -124,7 +124,6 @@
     2.4  #define TBF_EXCEPTION_ERRCODE  2
     2.5  #define TBF_INTERRUPT          8
     2.6  #define TBF_FAILSAFE          16
     2.7 -#define TBF_SLOW_IRET         32
     2.8  
     2.9  /* 'arch_vcpu' flags values */
    2.10  #define _TF_kernel_mode        0