mirror of
https://github.com/xen-project/xen.git
synced 2026-10-29 18:50:05 +01:00
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>
This commit is contained in:
1 parent
9925f4a7dc
commit
3eaf2dff37
2 files changed
+1
-5
No files matched your search
@@ -206,7 +206,7 @@ process_nmi:
|
||||
sti
|
||||
leaq VCPU_trap_bounce(%rbx),%rdx
|
||||
movq %rax,TRAPBOUNCE_eip(%rdx)
|
||||
movw $(TBF_INTERRUPT|TBF_SLOW_IRET),TRAPBOUNCE_flags(%rdx)
|
||||
movw $TBF_INTERRUPT,TRAPBOUNCE_flags(%rdx)
|
||||
call create_bounce_frame
|
||||
jmp test_all_events
|
||||
1: bts $_VCPUF_nmi_pending,VCPU_flags(%rbx)
|
||||
@@ -229,9 +229,6 @@ create_bounce_frame:
|
||||
1: /* In kernel context already: push new frame at existing %rsp. */
|
||||
movq UREGS_rsp+8(%rsp),%rsi
|
||||
andb $0xfc,UREGS_cs+8(%rsp) # Indicate kernel context to guest.
|
||||
testw $(TBF_SLOW_IRET),TRAPBOUNCE_flags(%rdx)
|
||||
jz 2f
|
||||
orb $0x01,UREGS_cs+8(%rsp)
|
||||
2: andq $~0xf,%rsi # Stack frames are 16-byte aligned.
|
||||
movq $HYPERVISOR_VIRT_START,%rax
|
||||
cmpq %rax,%rsi
|
||||
|
||||
@@ -124,7 +124,6 @@
|
||||
#define TBF_EXCEPTION_ERRCODE 2
|
||||
#define TBF_INTERRUPT 8
|
||||
#define TBF_FAILSAFE 16
|
||||
#define TBF_SLOW_IRET 32
|
||||
|
||||
/* 'arch_vcpu' flags values */
|
||||
#define _TF_kernel_mode 0
|
||||
|
||||