diff options
author | David Daney <ddaney@avtrex.com> | 2008-09-23 03:07:16 -0400 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2008-10-11 11:18:56 -0400 |
commit | 654f57bfb467996fb730eae96dc30ea4de989fdc (patch) | |
tree | 20843169f98a37ffe4908486de587a5817653140 /arch/mips/kernel/proc.c | |
parent | 6aa3524c182c01b8b8b7c21c4da20c742a9b4d86 (diff) |
MIPS: 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>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch/mips/kernel/proc.c')
-rw-r--r-- | arch/mips/kernel/proc.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/arch/mips/kernel/proc.c b/arch/mips/kernel/proc.c index 36f065398243..75bb1300dd7a 100644 --- a/arch/mips/kernel/proc.c +++ b/arch/mips/kernel/proc.c | |||
@@ -23,6 +23,7 @@ static int show_cpuinfo(struct seq_file *m, void *v) | |||
23 | unsigned int version = cpu_data[n].processor_id; | 23 | unsigned int version = cpu_data[n].processor_id; |
24 | unsigned int fp_vers = cpu_data[n].fpu_id; | 24 | unsigned int fp_vers = cpu_data[n].fpu_id; |
25 | char fmt [64]; | 25 | char fmt [64]; |
26 | int i; | ||
26 | 27 | ||
27 | #ifdef CONFIG_SMP | 28 | #ifdef CONFIG_SMP |
28 | if (!cpu_isset(n, cpu_online_map)) | 29 | if (!cpu_isset(n, cpu_online_map)) |
@@ -50,8 +51,16 @@ static int show_cpuinfo(struct seq_file *m, void *v) | |||
50 | seq_printf(m, "tlb_entries\t\t: %d\n", cpu_data[n].tlbsize); | 51 | seq_printf(m, "tlb_entries\t\t: %d\n", cpu_data[n].tlbsize); |
51 | seq_printf(m, "extra interrupt vector\t: %s\n", | 52 | seq_printf(m, "extra interrupt vector\t: %s\n", |
52 | cpu_has_divec ? "yes" : "no"); | 53 | cpu_has_divec ? "yes" : "no"); |
53 | seq_printf(m, "hardware watchpoint\t: %s\n", | 54 | seq_printf(m, "hardware watchpoint\t: %s", |
54 | cpu_has_watch ? "yes" : "no"); | 55 | cpu_has_watch ? "yes, " : "no\n"); |
56 | if (cpu_has_watch) { | ||
57 | seq_printf(m, "count: %d, address/irw mask: [", | ||
58 | cpu_data[n].watch_reg_count); | ||
59 | for (i = 0; i < cpu_data[n].watch_reg_count; i++) | ||
60 | seq_printf(m, "%s0x%04x", i ? ", " : "" , | ||
61 | cpu_data[n].watch_reg_masks[i]); | ||
62 | seq_printf(m, "]\n"); | ||
63 | } | ||
55 | seq_printf(m, "ASEs implemented\t:%s%s%s%s%s%s\n", | 64 | seq_printf(m, "ASEs implemented\t:%s%s%s%s%s%s\n", |
56 | cpu_has_mips16 ? " mips16" : "", | 65 | cpu_has_mips16 ? " mips16" : "", |
57 | cpu_has_mdmx ? " mdmx" : "", | 66 | cpu_has_mdmx ? " mdmx" : "", |