mirror of https://gitee.com/openkylin/linux.git
x86, debugctlmsr: add _on_cpu variants to debugctlmsr functions
Add functions to get and set the debugctlmsr on different cpus. Signed-off-by: Markus Metzger <markus.t.metzger@intel.com> Cc: roland@redhat.com Cc: eranian@googlemail.com Cc: oleg@redhat.com Cc: juan.villacis@intel.com Cc: ak@linux.jf.intel.com LKML-Reference: <20090403144554.738772000@intel.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
parent
15879d0421
commit
35bb7600c1
|
@ -785,6 +785,21 @@ static inline unsigned long get_debugctlmsr(void)
|
||||||
return debugctlmsr;
|
return debugctlmsr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static inline unsigned long get_debugctlmsr_on_cpu(int cpu)
|
||||||
|
{
|
||||||
|
u64 debugctlmsr = 0;
|
||||||
|
u32 val1, val2;
|
||||||
|
|
||||||
|
#ifndef CONFIG_X86_DEBUGCTLMSR
|
||||||
|
if (boot_cpu_data.x86 < 6)
|
||||||
|
return 0;
|
||||||
|
#endif
|
||||||
|
rdmsr_on_cpu(cpu, MSR_IA32_DEBUGCTLMSR, &val1, &val2);
|
||||||
|
debugctlmsr = val1 | ((u64)val2 << 32);
|
||||||
|
|
||||||
|
return debugctlmsr;
|
||||||
|
}
|
||||||
|
|
||||||
static inline void update_debugctlmsr(unsigned long debugctlmsr)
|
static inline void update_debugctlmsr(unsigned long debugctlmsr)
|
||||||
{
|
{
|
||||||
#ifndef CONFIG_X86_DEBUGCTLMSR
|
#ifndef CONFIG_X86_DEBUGCTLMSR
|
||||||
|
@ -794,6 +809,18 @@ static inline void update_debugctlmsr(unsigned long debugctlmsr)
|
||||||
wrmsrl(MSR_IA32_DEBUGCTLMSR, debugctlmsr);
|
wrmsrl(MSR_IA32_DEBUGCTLMSR, debugctlmsr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static inline void update_debugctlmsr_on_cpu(int cpu,
|
||||||
|
unsigned long debugctlmsr)
|
||||||
|
{
|
||||||
|
#ifndef CONFIG_X86_DEBUGCTLMSR
|
||||||
|
if (boot_cpu_data.x86 < 6)
|
||||||
|
return;
|
||||||
|
#endif
|
||||||
|
wrmsr_on_cpu(cpu, MSR_IA32_DEBUGCTLMSR,
|
||||||
|
(u32)((u64)debugctlmsr),
|
||||||
|
(u32)((u64)debugctlmsr >> 32));
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* from system description table in BIOS. Mostly for MCA use, but
|
* from system description table in BIOS. Mostly for MCA use, but
|
||||||
* others may find it useful:
|
* others may find it useful:
|
||||||
|
|
Loading…
Reference in New Issue