diff options
author | Keir Fraser <keir.fraser@citrix.com> | 2008-12-16 11:49:20 +0000 |
---|---|---|
committer | Keir Fraser <keir.fraser@citrix.com> | 2008-12-16 11:49:20 +0000 |
commit | 74d59a59e2db922adb45a427df3d77b8ff0f7aea (patch) | |
tree | a0d2e657a8ef20aaa680ea9df187b17511639d18 /xen/include/asm-x86 | |
parent | 53e5cd08efbc58937be16027b35414a3353bfc51 (diff) | |
download | xen-74d59a59e2db922adb45a427df3d77b8ff0f7aea.tar.gz xen-74d59a59e2db922adb45a427df3d77b8ff0f7aea.tar.bz2 xen-74d59a59e2db922adb45a427df3d77b8ff0f7aea.zip |
x86: Enable MTF for HVM guest single step in gdb
Signed-off-by: Edwin Zhai <edwin.zhai@intel.com>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Diffstat (limited to 'xen/include/asm-x86')
-rw-r--r-- | xen/include/asm-x86/hvm/hvm.h | 2 | ||||
-rw-r--r-- | xen/include/asm-x86/hvm/vcpu.h | 1 | ||||
-rw-r--r-- | xen/include/asm-x86/hvm/vmx/vmcs.h | 3 | ||||
-rw-r--r-- | xen/include/asm-x86/hvm/vmx/vmx.h | 1 |
4 files changed, 7 insertions, 0 deletions
diff --git a/xen/include/asm-x86/hvm/hvm.h b/xen/include/asm-x86/hvm/hvm.h index a9bee16e10..b61c566094 100644 --- a/xen/include/asm-x86/hvm/hvm.h +++ b/xen/include/asm-x86/hvm/hvm.h @@ -321,4 +321,6 @@ static inline void hvm_set_info_guest(struct vcpu *v) return hvm_funcs.set_info_guest(v); } +int hvm_debug_op(struct vcpu *v, int32_t op); + #endif /* __ASM_X86_HVM_HVM_H__ */ diff --git a/xen/include/asm-x86/hvm/vcpu.h b/xen/include/asm-x86/hvm/vcpu.h index 6eb9d67b73..faea392f92 100644 --- a/xen/include/asm-x86/hvm/vcpu.h +++ b/xen/include/asm-x86/hvm/vcpu.h @@ -59,6 +59,7 @@ struct hvm_vcpu { bool_t flag_dr_dirty; bool_t debug_state_latch; + bool_t single_step; union { struct arch_vmx_struct vmx; diff --git a/xen/include/asm-x86/hvm/vmx/vmcs.h b/xen/include/asm-x86/hvm/vmx/vmcs.h index befe36c8c0..5337ec93dd 100644 --- a/xen/include/asm-x86/hvm/vmx/vmcs.h +++ b/xen/include/asm-x86/hvm/vmx/vmcs.h @@ -142,6 +142,7 @@ void vmx_vmcs_exit(struct vcpu *v); #define CPU_BASED_MOV_DR_EXITING 0x00800000 #define CPU_BASED_UNCOND_IO_EXITING 0x01000000 #define CPU_BASED_ACTIVATE_IO_BITMAP 0x02000000 +#define CPU_BASED_MONITOR_TRAP_FLAG 0x08000000 #define CPU_BASED_ACTIVATE_MSR_BITMAP 0x10000000 #define CPU_BASED_MONITOR_EXITING 0x20000000 #define CPU_BASED_PAUSE_EXITING 0x40000000 @@ -186,6 +187,8 @@ extern bool_t cpu_has_vmx_ins_outs_instr_info; (vmx_secondary_exec_control & SECONDARY_EXEC_ENABLE_EPT) #define cpu_has_vmx_vpid \ (vmx_secondary_exec_control & SECONDARY_EXEC_ENABLE_VPID) +#define cpu_has_monitor_trap_flag \ + (vmx_cpu_based_exec_control & CPU_BASED_MONITOR_TRAP_FLAG) /* GUEST_INTERRUPTIBILITY_INFO flags. */ #define VMX_INTR_SHADOW_STI 0x00000001 diff --git a/xen/include/asm-x86/hvm/vmx/vmx.h b/xen/include/asm-x86/hvm/vmx/vmx.h index 563e8aea36..21dec48dc4 100644 --- a/xen/include/asm-x86/hvm/vmx/vmx.h +++ b/xen/include/asm-x86/hvm/vmx/vmx.h @@ -96,6 +96,7 @@ void vmx_realmode(struct cpu_user_regs *regs); #define EXIT_REASON_INVALID_GUEST_STATE 33 #define EXIT_REASON_MSR_LOADING 34 #define EXIT_REASON_MWAIT_INSTRUCTION 36 +#define EXIT_REASON_MONITOR_TRAP_FLAG 37 #define EXIT_REASON_MONITOR_INSTRUCTION 39 #define EXIT_REASON_PAUSE_INSTRUCTION 40 #define EXIT_REASON_MACHINE_CHECK 41 |