Skip to content

Commit

Permalink
ppc64 iSeries: Move memory setup into iSeries device tree
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Michael Ellerman authored and Stephen Rothwell committed Sep 23, 2005
1 parent 4762713 commit 3ab4240
Showing 1 changed file with 15 additions and 5 deletions.
20 changes: 15 additions & 5 deletions arch/ppc64/kernel/iSeries_setup.c
Original file line number Diff line number Diff line change
Expand Up @@ -376,11 +376,6 @@ static void __init iSeries_init_early(void)
}
}

lmb_init();
lmb_add(0, systemcfg->physicalMemorySize);
lmb_analyze();
lmb_reserve(0, __pa(klimit));

/* Initialize machine-dependency vectors */
#ifdef CONFIG_SMP
smp_init_iSeries();
Expand Down Expand Up @@ -1039,9 +1034,24 @@ void dt_prop_empty(struct iseries_flat_dt *dt, char *name)

void build_flat_dt(struct iseries_flat_dt *dt)
{
u64 tmp[2];

dt_init(dt);

dt_start_node(dt, "");

dt_prop_u32(dt, "#address-cells", 2);
dt_prop_u32(dt, "#size-cells", 2);

/* /memory */
dt_start_node(dt, "memory@0");
dt_prop_str(dt, "name", "memory");
dt_prop_str(dt, "device_type", "memory");
tmp[0] = 0;
tmp[1] = systemcfg->physicalMemorySize;
dt_prop_u64_list(dt, "reg", tmp, 2);
dt_end_node(dt);

dt_end_node(dt);

dt_push_u32(dt, OF_DT_END);
Expand Down

0 comments on commit 3ab4240

Please sign in to comment.