|
@@ -1,3 +1,12 @@
|
|
|
|
+/*
|
|
|
|
+ * arch/sh/kernel/topology.c
|
|
|
|
+ *
|
|
|
|
+ * Copyright (C) 2007 Paul Mundt
|
|
|
|
+ *
|
|
|
|
+ * This file is subject to the terms and conditions of the GNU General Public
|
|
|
|
+ * License. See the file "COPYING" in the main directory of this archive
|
|
|
|
+ * for more details.
|
|
|
|
+ */
|
|
#include <linux/cpu.h>
|
|
#include <linux/cpu.h>
|
|
#include <linux/cpumask.h>
|
|
#include <linux/cpumask.h>
|
|
#include <linux/init.h>
|
|
#include <linux/init.h>
|
|
@@ -23,6 +32,18 @@ static int __init topology_init(void)
|
|
__FUNCTION__, i, ret);
|
|
__FUNCTION__, i, ret);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+#if defined(CONFIG_NUMA) && !defined(CONFIG_SMP)
|
|
|
|
+ /*
|
|
|
|
+ * In the UP case, make sure the CPU association is still
|
|
|
|
+ * registered under each node. Without this, sysfs fails
|
|
|
|
+ * to make the connection between nodes other than node0
|
|
|
|
+ * and cpu0.
|
|
|
|
+ */
|
|
|
|
+ for_each_online_node(i)
|
|
|
|
+ if (i != numa_node_id())
|
|
|
|
+ register_cpu_under_node(raw_smp_processor_id(), i);
|
|
|
|
+#endif
|
|
|
|
+
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
subsys_initcall(topology_init);
|
|
subsys_initcall(topology_init);
|