diff options
author | Dietmar Hahn <dietmar.hahn@ts.fujitsu.com> | 2012-02-01 16:45:54 +0100 |
---|---|---|
committer | Dietmar Hahn <dietmar.hahn@ts.fujitsu.com> | 2012-02-01 16:45:54 +0100 |
commit | e2b1084603c2c514ada85e448d15a6e70c7f9ca2 (patch) | |
tree | 53ec41a43a792d2fc61ac56d470ed85a63dbec72 /xen | |
parent | ee65792d9386e7eb538dd09674c1c275f2691abb (diff) | |
download | xen-e2b1084603c2c514ada85e448d15a6e70c7f9ca2.tar.gz xen-e2b1084603c2c514ada85e448d15a6e70c7f9ca2.tar.bz2 xen-e2b1084603c2c514ada85e448d15a6e70c7f9ca2.zip |
x86: Use defines for bits of MSR_IA32_DEBUGCTLMSR instead of numbers
Signed-off-by: Dietmar Hahn <dietmar.hahn@ts.fujitsu.com>
Committed-by: Jan Beulich <jbeulich@suse.com>
Diffstat (limited to 'xen')
-rw-r--r-- | xen/arch/x86/hvm/vmx/vmx.c | 5 | ||||
-rw-r--r-- | xen/arch/x86/traps.c | 4 | ||||
-rw-r--r-- | xen/include/asm-x86/msr-index.h | 5 |
3 files changed, 9 insertions, 5 deletions
diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c index 1e20863098..935b25b681 100644 --- a/xen/arch/x86/hvm/vmx/vmx.c +++ b/xen/arch/x86/hvm/vmx/vmx.c @@ -1944,11 +1944,12 @@ static int vmx_msr_write_intercept(unsigned int msr, uint64_t msr_content) break; case MSR_IA32_DEBUGCTLMSR: { int i, rc = 0; + uint64_t supported = IA32_DEBUGCTLMSR_LBR | IA32_DEBUGCTLMSR_BTF; - if ( !msr_content || (msr_content & ~3) ) + if ( !msr_content || (msr_content & ~supported) ) break; - if ( msr_content & 1 ) + if ( msr_content & IA32_DEBUGCTLMSR_LBR ) { const struct lbr_info *lbr = last_branch_msr_get(); if ( lbr == NULL ) diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c index b6f7b9ac40..2057ac5c2e 100644 --- a/xen/arch/x86/traps.c +++ b/xen/arch/x86/traps.c @@ -3376,12 +3376,12 @@ void write_efer(u64 val) static void ler_enable(void) { u64 debugctl; - + if ( !this_cpu(ler_msr) ) return; rdmsrl(MSR_IA32_DEBUGCTLMSR, debugctl); - wrmsrl(MSR_IA32_DEBUGCTLMSR, debugctl | 1); + wrmsrl(MSR_IA32_DEBUGCTLMSR, debugctl | IA32_DEBUGCTLMSR_LBR); } void do_debug(struct cpu_user_regs *regs) diff --git a/xen/include/asm-x86/msr-index.h b/xen/include/asm-x86/msr-index.h index 2f78a24266..4c773741e8 100644 --- a/xen/include/asm-x86/msr-index.h +++ b/xen/include/asm-x86/msr-index.h @@ -65,11 +65,14 @@ #define MSR_MTRRdefType 0x000002ff #define MSR_IA32_DEBUGCTLMSR 0x000001d9 +#define IA32_DEBUGCTLMSR_LBR (1<<0) /* Last Branch Record */ +#define IA32_DEBUGCTLMSR_BTF (1<<1) /* Single Step on Branches */ + #define MSR_IA32_LASTBRANCHFROMIP 0x000001db #define MSR_IA32_LASTBRANCHTOIP 0x000001dc #define MSR_IA32_LASTINTFROMIP 0x000001dd #define MSR_IA32_LASTINTTOIP 0x000001de - + #define MSR_IA32_MTRR_PHYSBASE0 0x00000200 #define MSR_IA32_MTRR_PHYSMASK0 0x00000201 #define MSR_IA32_MTRR_PHYSBASE1 0x00000202 |