diff options
author | Michael Ellerman <michael@ellerman.id.au> | 2005-09-23 01:00:20 -0400 |
---|---|---|
committer | Stephen Rothwell <sfr@canb.auug.org.au> | 2005-09-23 01:00:20 -0400 |
commit | 3ab42407fe0628c7880b21eff057566390865319 (patch) | |
tree | 2e5f9aa35cf7603a4298f2940d9ec53b588ca6b3 /arch/ppc64 | |
parent | 4762713a93fa8706c31b0897c1340e7dc282d8fb (diff) |
ppc64 iSeries: Move memory setup into iSeries device tree
This patch adds the required nodes to the iSeries device tree to allow
early_init_devtree() to do the lmb setup for us.
Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Diffstat (limited to 'arch/ppc64')
-rw-r--r-- | arch/ppc64/kernel/iSeries_setup.c | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/arch/ppc64/kernel/iSeries_setup.c b/arch/ppc64/kernel/iSeries_setup.c index 27faf4f0967a..639f400d6b0c 100644 --- a/arch/ppc64/kernel/iSeries_setup.c +++ b/arch/ppc64/kernel/iSeries_setup.c | |||
@@ -376,11 +376,6 @@ static void __init iSeries_init_early(void) | |||
376 | } | 376 | } |
377 | } | 377 | } |
378 | 378 | ||
379 | lmb_init(); | ||
380 | lmb_add(0, systemcfg->physicalMemorySize); | ||
381 | lmb_analyze(); | ||
382 | lmb_reserve(0, __pa(klimit)); | ||
383 | |||
384 | /* Initialize machine-dependency vectors */ | 379 | /* Initialize machine-dependency vectors */ |
385 | #ifdef CONFIG_SMP | 380 | #ifdef CONFIG_SMP |
386 | smp_init_iSeries(); | 381 | smp_init_iSeries(); |
@@ -1039,9 +1034,24 @@ void dt_prop_empty(struct iseries_flat_dt *dt, char *name) | |||
1039 | 1034 | ||
1040 | void build_flat_dt(struct iseries_flat_dt *dt) | 1035 | void build_flat_dt(struct iseries_flat_dt *dt) |
1041 | { | 1036 | { |
1037 | u64 tmp[2]; | ||
1038 | |||
1042 | dt_init(dt); | 1039 | dt_init(dt); |
1043 | 1040 | ||
1044 | dt_start_node(dt, ""); | 1041 | dt_start_node(dt, ""); |
1042 | |||
1043 | dt_prop_u32(dt, "#address-cells", 2); | ||
1044 | dt_prop_u32(dt, "#size-cells", 2); | ||
1045 | |||
1046 | /* /memory */ | ||
1047 | dt_start_node(dt, "memory@0"); | ||
1048 | dt_prop_str(dt, "name", "memory"); | ||
1049 | dt_prop_str(dt, "device_type", "memory"); | ||
1050 | tmp[0] = 0; | ||
1051 | tmp[1] = systemcfg->physicalMemorySize; | ||
1052 | dt_prop_u64_list(dt, "reg", tmp, 2); | ||
1053 | dt_end_node(dt); | ||
1054 | |||
1045 | dt_end_node(dt); | 1055 | dt_end_node(dt); |
1046 | 1056 | ||
1047 | dt_push_u32(dt, OF_DT_END); | 1057 | dt_push_u32(dt, OF_DT_END); |