OpenCores
URL https://opencores.org/ocsvn/or1k_soc_on_altera_embedded_dev_kit/or1k_soc_on_altera_embedded_dev_kit/trunk

Subversion Repositories or1k_soc_on_altera_embedded_dev_kit

[/] [or1k_soc_on_altera_embedded_dev_kit/] [trunk/] [linux-2.6/] [linux-2.6.24/] [arch/] [x86/] [kernel/] [topology.c] - Blame information for rev 3

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 3 xianfeng
/*
2
 * Populate sysfs with topology information
3
 *
4
 * Written by: Matthew Dobson, IBM Corporation
5
 * Original Code: Paul Dorwin, IBM Corporation, Patrick Mochel, OSDL
6
 *
7
 * Copyright (C) 2002, IBM Corp.
8
 *
9
 * All rights reserved.
10
 *
11
 * This program is free software; you can redistribute it and/or modify
12
 * it under the terms of the GNU General Public License as published by
13
 * the Free Software Foundation; either version 2 of the License, or
14
 * (at your option) any later version.
15
 *
16
 * This program is distributed in the hope that it will be useful, but
17
 * WITHOUT ANY WARRANTY; without even the implied warranty of
18
 * MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, GOOD TITLE or
19
 * NON INFRINGEMENT.  See the GNU General Public License for more
20
 * details.
21
 *
22
 * You should have received a copy of the GNU General Public License
23
 * along with this program; if not, write to the Free Software
24
 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
25
 *
26
 * Send feedback to <colpatch@us.ibm.com>
27
 */
28
#include <linux/init.h>
29
#include <linux/smp.h>
30
#include <linux/nodemask.h>
31
#include <linux/mmzone.h>
32
#include <asm/cpu.h>
33
 
34
static struct i386_cpu cpu_devices[NR_CPUS];
35
 
36
int __cpuinit arch_register_cpu(int num)
37
{
38
        /*
39
         * CPU0 cannot be offlined due to several
40
         * restrictions and assumptions in kernel. This basically
41
         * doesnt add a control file, one cannot attempt to offline
42
         * BSP.
43
         *
44
         * Also certain PCI quirks require not to enable hotplug control
45
         * for all CPU's.
46
         */
47
#ifdef CONFIG_HOTPLUG_CPU
48
        if (num)
49
                cpu_devices[num].cpu.hotpluggable = 1;
50
#endif
51
 
52
        return register_cpu(&cpu_devices[num].cpu, num);
53
}
54
 
55
#ifdef CONFIG_HOTPLUG_CPU
56
void arch_unregister_cpu(int num)
57
{
58
        return unregister_cpu(&cpu_devices[num].cpu);
59
}
60
EXPORT_SYMBOL(arch_register_cpu);
61
EXPORT_SYMBOL(arch_unregister_cpu);
62
#endif /*CONFIG_HOTPLUG_CPU*/
63
 
64
static int __init topology_init(void)
65
{
66
        int i;
67
 
68
#ifdef CONFIG_NUMA
69
        for_each_online_node(i)
70
                register_one_node(i);
71
#endif /* CONFIG_NUMA */
72
 
73
        for_each_present_cpu(i)
74
                arch_register_cpu(i);
75
        return 0;
76
}
77
 
78
subsys_initcall(topology_init);

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.