summaryrefslogtreecommitdiffstats
path: root/sys/powerpc/ps3
diff options
context:
space:
mode:
authornwhitehorn <nwhitehorn@FreeBSD.org>2014-07-20 00:08:50 +0000
committernwhitehorn <nwhitehorn@FreeBSD.org>2014-07-20 00:08:50 +0000
commit8300dfbbdb0665c42de250b6d8769378a6def9aa (patch)
tree6f2b492d5e380a3e8f73329f535d3a29cc21f4a2 /sys/powerpc/ps3
parent14a8f33a0def2eff3c026fa305a3b177860560c6 (diff)
downloadFreeBSD-src-8300dfbbdb0665c42de250b6d8769378a6def9aa.zip
FreeBSD-src-8300dfbbdb0665c42de250b6d8769378a6def9aa.tar.gz
Fix allocation of 128MB extended memory region, broken since some careless
modifications in December. MFC after: 3 days
Diffstat (limited to 'sys/powerpc/ps3')
-rw-r--r--sys/powerpc/ps3/platform_ps3.c13
1 files changed, 5 insertions, 8 deletions
diff --git a/sys/powerpc/ps3/platform_ps3.c b/sys/powerpc/ps3/platform_ps3.c
index c772a8d..94df37d 100644
--- a/sys/powerpc/ps3/platform_ps3.c
+++ b/sys/powerpc/ps3/platform_ps3.c
@@ -110,14 +110,6 @@ ps3_probe(platform_t plat)
static int
ps3_attach(platform_t plat)
{
- uint64_t junk;
- int count;
- struct mem_region avail_regions[2];
-
- ps3_mem_regions(plat, NULL, NULL, avail_regions, &count);
-
- lv1_allocate_memory(avail_regions[1].mr_size, 24 /* 16 MB pages */,
- 0, 0x04 /* any address */, &avail_regions[1].mr_start, &junk);
pmap_mmu_install("mmu_ps3", BUS_PROBE_SPECIFIC);
cpu_idle_hook = ps3_cpu_idle;
@@ -152,6 +144,11 @@ ps3_mem_regions(platform_t plat, struct mem_region *phys, int *physsz,
/* Convert to maximum amount we can allocate in 16 MB pages */
avail_regions[1].mr_size -= avail_regions[0].mr_size;
avail_regions[1].mr_size -= avail_regions[1].mr_size % (16*1024*1024);
+
+ /* Allocate extended memory region */
+ lv1_allocate_memory(avail_regions[1].mr_size, 24 /* 16 MB pages */,
+ 0, 0x04 /* any address */, &avail_regions[1].mr_start, &junk);
+
*availsz = 2;
if (phys != NULL) {
OpenPOWER on IntegriCloud