git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge to Fedora kernel-2.6.18-1.2224_FC5 patched with stable patch-2.6.18.1-vs2.0...
[linux-2.6.git]
/
arch
/
sparc64
/
kernel
/
smp.c
diff --git
a/arch/sparc64/kernel/smp.c
b/arch/sparc64/kernel/smp.c
index
f03d52d
..
f62bf3a
100644
(file)
--- a/
arch/sparc64/kernel/smp.c
+++ b/
arch/sparc64/kernel/smp.c
@@
-39,6
+39,7
@@
#include <asm/starfire.h>
#include <asm/tlb.h>
#include <asm/sections.h>
#include <asm/starfire.h>
#include <asm/tlb.h>
#include <asm/sections.h>
+#include <asm/prom.h>
extern void calibrate_delay(void);
extern void calibrate_delay(void);
@@
-76,41
+77,42
@@
void smp_bogo(struct seq_file *m)
void __init smp_store_cpu_info(int id)
{
void __init smp_store_cpu_info(int id)
{
- int cpu_node, def;
+ struct device_node *dp;
+ int def;
/* multiplier and counter set by
smp_setup_percpu_timer() */
cpu_data(id).udelay_val = loops_per_jiffy;
/* multiplier and counter set by
smp_setup_percpu_timer() */
cpu_data(id).udelay_val = loops_per_jiffy;
- cpu_find_by_mid(id, &
cpu_node
);
- cpu_data(id).clock_tick =
prom_getintdefault(cpu_node,
-
"clock-frequency", 0);
+ cpu_find_by_mid(id, &
dp
);
+ cpu_data(id).clock_tick =
+
of_getintprop_default(dp,
"clock-frequency", 0);
def = ((tlb_type == hypervisor) ? (8 * 1024) : (16 * 1024));
def = ((tlb_type == hypervisor) ? (8 * 1024) : (16 * 1024));
- cpu_data(id).dcache_size =
prom_getintdefault(cpu_node, "dcache-size",
-
def);
+ cpu_data(id).dcache_size =
+
of_getintprop_default(dp, "dcache-size",
def);
def = 32;
cpu_data(id).dcache_line_size =
def = 32;
cpu_data(id).dcache_line_size =
-
prom_getintdefault(cpu_node
, "dcache-line-size", def);
+
of_getintprop_default(dp
, "dcache-line-size", def);
def = 16 * 1024;
def = 16 * 1024;
- cpu_data(id).icache_size =
prom_getintdefault(cpu_node, "icache-size",
-
def);
+ cpu_data(id).icache_size =
+
of_getintprop_default(dp, "icache-size",
def);
def = 32;
cpu_data(id).icache_line_size =
def = 32;
cpu_data(id).icache_line_size =
-
prom_getintdefault(cpu_node
, "icache-line-size", def);
+
of_getintprop_default(dp
, "icache-line-size", def);
def = ((tlb_type == hypervisor) ?
(3 * 1024 * 1024) :
(4 * 1024 * 1024));
def = ((tlb_type == hypervisor) ?
(3 * 1024 * 1024) :
(4 * 1024 * 1024));
- cpu_data(id).ecache_size =
prom_getintdefault(cpu_node, "ecache-size",
-
def);
+ cpu_data(id).ecache_size =
+
of_getintprop_default(dp, "ecache-size",
def);
def = 64;
cpu_data(id).ecache_line_size =
def = 64;
cpu_data(id).ecache_line_size =
-
prom_getintdefault(cpu_node
, "ecache-line-size", def);
+
of_getintprop_default(dp
, "ecache-line-size", def);
printk("CPU[%d]: Caches "
"D[sz(%d):line_sz(%d)] "
printk("CPU[%d]: Caches "
"D[sz(%d):line_sz(%d)] "
@@
-342,10
+344,10
@@
static int __devinit smp_boot_one_cpu(unsigned int cpu)
prom_startcpu_cpuid(cpu, entry, cookie);
} else {
prom_startcpu_cpuid(cpu, entry, cookie);
} else {
-
int cpu_node
;
+
struct device_node *dp
;
- cpu_find_by_mid(cpu, &
cpu_node
);
- prom_startcpu(
cpu_
node, entry, cookie);
+ cpu_find_by_mid(cpu, &
dp
);
+ prom_startcpu(
dp->
node, entry, cookie);
}
for (timeout = 0; timeout < 5000000; timeout++) {
}
for (timeout = 0; timeout < 5000000; timeout++) {
@@
-1289,7
+1291,8
@@
int setup_profiling_timer(unsigned int multiplier)
static void __init smp_tune_scheduling(void)
{
static void __init smp_tune_scheduling(void)
{
- int instance, node;
+ struct device_node *dp;
+ int instance;
unsigned int def, smallest = ~0U;
def = ((tlb_type == hypervisor) ?
unsigned int def, smallest = ~0U;
def = ((tlb_type == hypervisor) ?
@@
-1297,10
+1300,10
@@
static void __init smp_tune_scheduling(void)
(4 * 1024 * 1024));
instance = 0;
(4 * 1024 * 1024));
instance = 0;
- while (!cpu_find_by_instance(instance, &
node
, NULL)) {
+ while (!cpu_find_by_instance(instance, &
dp
, NULL)) {
unsigned int val;
unsigned int val;
- val =
prom_getintdefault(node
, "ecache-size", def);
+ val =
of_getintprop_default(dp
, "ecache-size", def);
if (val < smallest)
smallest = val;
if (val < smallest)
smallest = val;