MIPS: MT: proc: Add support for printing VPE and TC ids
And there are more CPUs or configurations that want to provide special per-CPU information in /proc/cpuinfo. So I think there needs to be a hook mechanism, such as a notifier. This is a first cut only; I need to think about what sort of looking the notifier needs to have. But I'd appreciate testing on MT hardware! Signed-off-by: Ralf Baechle <ralf@linux-mips.org> Cc: Markos Chandras <markos.chandras@imgtec.com> Cc: linux-mips@linux-mips.org Patchwork: https://patchwork.linux-mips.org/patch/6066/
This commit is contained in:
@@ -17,8 +17,24 @@
|
||||
|
||||
unsigned int vced_count, vcei_count;
|
||||
|
||||
/*
|
||||
* * No lock; only written during early bootup by CPU 0.
|
||||
* */
|
||||
static RAW_NOTIFIER_HEAD(proc_cpuinfo_chain);
|
||||
|
||||
int __ref register_proc_cpuinfo_notifier(struct notifier_block *nb)
|
||||
{
|
||||
return raw_notifier_chain_register(&proc_cpuinfo_chain, nb);
|
||||
}
|
||||
|
||||
int proc_cpuinfo_notifier_call_chain(unsigned long val, void *v)
|
||||
{
|
||||
return raw_notifier_call_chain(&proc_cpuinfo_chain, val, v);
|
||||
}
|
||||
|
||||
static int show_cpuinfo(struct seq_file *m, void *v)
|
||||
{
|
||||
struct proc_cpuinfo_notifier_args proc_cpuinfo_notifier_args;
|
||||
unsigned long n = (unsigned long) v - 1;
|
||||
unsigned int version = cpu_data[n].processor_id;
|
||||
unsigned int fp_vers = cpu_data[n].fpu_id;
|
||||
@@ -120,6 +136,13 @@ static int show_cpuinfo(struct seq_file *m, void *v)
|
||||
cpu_has_vce ? "%u" : "not available");
|
||||
seq_printf(m, fmt, 'D', vced_count);
|
||||
seq_printf(m, fmt, 'I', vcei_count);
|
||||
|
||||
proc_cpuinfo_notifier_args.m = m;
|
||||
proc_cpuinfo_notifier_args.n = n;
|
||||
|
||||
raw_notifier_call_chain(&proc_cpuinfo_chain, 0,
|
||||
&proc_cpuinfo_notifier_args);
|
||||
|
||||
seq_printf(m, "\n");
|
||||
|
||||
return 0;
|
||||
|
Reference in New Issue
Block a user