[MIPS] Do topology_init even on uniprocessor kernels.
Otherwise CPU 0 doesn't show up in sysfs which breaks some software. Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
This commit is contained in:
@@ -6,7 +6,7 @@ extra-y := head.o init_task.o vmlinux.lds
|
|||||||
|
|
||||||
obj-y += cpu-probe.o branch.o entry.o genex.o irq.o process.o \
|
obj-y += cpu-probe.o branch.o entry.o genex.o irq.o process.o \
|
||||||
ptrace.o reset.o semaphore.o setup.o signal.o syscall.o \
|
ptrace.o reset.o semaphore.o setup.o signal.o syscall.o \
|
||||||
time.o traps.o unaligned.o
|
time.o topology.o traps.o unaligned.o
|
||||||
|
|
||||||
binfmt_irix-objs := irixelf.o irixinv.o irixioctl.o irixsig.o \
|
binfmt_irix-objs := irixelf.o irixinv.o irixioctl.o irixsig.o \
|
||||||
irix5sys.o sysirix.o
|
irix5sys.o sysirix.o
|
||||||
|
@@ -463,28 +463,5 @@ void flush_tlb_one(unsigned long vaddr)
|
|||||||
smp_on_each_tlb(flush_tlb_one_ipi, (void *) vaddr);
|
smp_on_each_tlb(flush_tlb_one_ipi, (void *) vaddr);
|
||||||
}
|
}
|
||||||
|
|
||||||
static DEFINE_PER_CPU(struct cpu, cpu_devices);
|
|
||||||
|
|
||||||
static int __init topology_init(void)
|
|
||||||
{
|
|
||||||
int i, ret;
|
|
||||||
|
|
||||||
#ifdef CONFIG_NUMA
|
|
||||||
for_each_online_node(i)
|
|
||||||
register_one_node(i);
|
|
||||||
#endif /* CONFIG_NUMA */
|
|
||||||
|
|
||||||
for_each_present_cpu(i) {
|
|
||||||
ret = register_cpu(&per_cpu(cpu_devices, i), i);
|
|
||||||
if (ret)
|
|
||||||
printk(KERN_WARNING "topology_init: register_cpu %d "
|
|
||||||
"failed (%d)\n", i, ret);
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
subsys_initcall(topology_init);
|
|
||||||
|
|
||||||
EXPORT_SYMBOL(flush_tlb_page);
|
EXPORT_SYMBOL(flush_tlb_page);
|
||||||
EXPORT_SYMBOL(flush_tlb_one);
|
EXPORT_SYMBOL(flush_tlb_one);
|
||||||
|
29
arch/mips/kernel/topology.c
Normal file
29
arch/mips/kernel/topology.c
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
#include <linux/cpu.h>
|
||||||
|
#include <linux/cpumask.h>
|
||||||
|
#include <linux/init.h>
|
||||||
|
#include <linux/node.h>
|
||||||
|
#include <linux/nodemask.h>
|
||||||
|
#include <linux/percpu.h>
|
||||||
|
|
||||||
|
static DEFINE_PER_CPU(struct cpu, cpu_devices);
|
||||||
|
|
||||||
|
static int __init topology_init(void)
|
||||||
|
{
|
||||||
|
int i, ret;
|
||||||
|
|
||||||
|
#ifdef CONFIG_NUMA
|
||||||
|
for_each_online_node(i)
|
||||||
|
register_one_node(i);
|
||||||
|
#endif /* CONFIG_NUMA */
|
||||||
|
|
||||||
|
for_each_present_cpu(i) {
|
||||||
|
ret = register_cpu(&per_cpu(cpu_devices, i), i);
|
||||||
|
if (ret)
|
||||||
|
printk(KERN_WARNING "topology_init: register_cpu %d "
|
||||||
|
"failed (%d)\n", i, ret);
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
subsys_initcall(topology_init);
|
Reference in New Issue
Block a user