lkml.org 
[lkml]   [2008]   [Apr]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[PATCH 3/6] Probe watch registers and report configuration.
    Probe watch registers and report configuration.

    Probe for watch register characteristics, and report them in /proc/cpuinfo.

    Signed-off-by: David Daney <ddaney@avtrex.com>
    ---
    arch/mips/kernel/cpu-probe.c | 4 ++++
    arch/mips/kernel/proc.c | 10 ++++++++++
    2 files changed, 14 insertions(+), 0 deletions(-)

    diff --git a/arch/mips/kernel/cpu-probe.c b/arch/mips/kernel/cpu-probe.c
    index 89c3304..1563049 100644
    --- a/arch/mips/kernel/cpu-probe.c
    +++ b/arch/mips/kernel/cpu-probe.c
    @@ -21,6 +21,7 @@
    #include <asm/fpu.h>
    #include <asm/mipsregs.h>
    #include <asm/system.h>
    +#include <asm/watch.h>

    /*
    * Not all of the MIPS CPUs have the "wait" instruction available. Moreover,
    @@ -678,6 +679,9 @@ static void __cpuinit decode_configs(struct cpuinfo_mips *c)
    static inline void cpu_probe_mips(struct cpuinfo_mips *c)
    {
    decode_configs(c);
    +#if defined(CONFIG_HARDWARE_WATCHPOINTS)
    + mips_probe_watch_registers(c);
    +#endif
    switch (c->processor_id & 0xff00) {
    case PRID_IMP_4KC:
    c->cputype = CPU_4KC;
    diff --git a/arch/mips/kernel/proc.c b/arch/mips/kernel/proc.c
    index 36f0653..e2f716c 100644
    --- a/arch/mips/kernel/proc.c
    +++ b/arch/mips/kernel/proc.c
    @@ -50,8 +50,18 @@ static int show_cpuinfo(struct seq_file *m, void *v)
    seq_printf(m, "tlb_entries\t\t: %d\n", cpu_data[n].tlbsize);
    seq_printf(m, "extra interrupt vector\t: %s\n",
    cpu_has_divec ? "yes" : "no");
    +#ifdef CONFIG_HARDWARE_WATCHPOINTS
    + seq_printf(m, "hardware watchpoint\t: %s",
    + cpu_has_watch ? "yes" : "no\n");
    + if (cpu_has_watch)
    + seq_printf(m, ", count: %d, address mask: 0x%04x, irw mask 0x%02x\n",
    + cpu_data[n].watch_reg_count,
    + cpu_data[n].watch_reg_mask,
    + cpu_data[n].watch_reg_irw);
    +#else
    seq_printf(m, "hardware watchpoint\t: %s\n",
    cpu_has_watch ? "yes" : "no");
    +#endif
    seq_printf(m, "ASEs implemented\t:%s%s%s%s%s%s\n",
    cpu_has_mips16 ? " mips16" : "",
    cpu_has_mdmx ? " mdmx" : "",
    --
    1.5.5


    \
     
     \ /
      Last update: 2008-04-29 03:35    [W:0.040 / U:30.244 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site