lkml.org 
[lkml]   [2009]   [May]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[tip:tracing/core] x86, debugctlmsr: add _on_cpu variants to debugctlmsr functions
    Commit-ID:  35bb7600c17762bb129588c1877d2717fe325289
    Gitweb: http://git.kernel.org/tip/35bb7600c17762bb129588c1877d2717fe325289
    Author: Markus Metzger <markus.t.metzger@intel.com>
    AuthorDate: Fri, 3 Apr 2009 16:43:39 +0200
    Committer: Ingo Molnar <mingo@elte.hu>
    CommitDate: Tue, 7 Apr 2009 13:36:19 +0200

    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>


    ---
    arch/x86/include/asm/processor.h | 27 +++++++++++++++++++++++++++
    1 files changed, 27 insertions(+), 0 deletions(-)

    diff --git a/arch/x86/include/asm/processor.h b/arch/x86/include/asm/processor.h
    index 2483807..1efeb49 100644
    --- a/arch/x86/include/asm/processor.h
    +++ b/arch/x86/include/asm/processor.h
    @@ -785,6 +785,21 @@ static inline unsigned long get_debugctlmsr(void)
    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)
    {
    #ifndef CONFIG_X86_DEBUGCTLMSR
    @@ -794,6 +809,18 @@ static inline void update_debugctlmsr(unsigned long 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
    * others may find it useful:

    \
     
     \ /
      Last update: 2009-05-07 11:27    [W:0.047 / U:29.616 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site