diff options
author | nwhitehorn <nwhitehorn@FreeBSD.org> | 2014-07-20 00:08:50 +0000 |
---|---|---|
committer | nwhitehorn <nwhitehorn@FreeBSD.org> | 2014-07-20 00:08:50 +0000 |
commit | 8300dfbbdb0665c42de250b6d8769378a6def9aa (patch) | |
tree | 6f2b492d5e380a3e8f73329f535d3a29cc21f4a2 /sys/powerpc/ps3 | |
parent | 14a8f33a0def2eff3c026fa305a3b177860560c6 (diff) | |
download | FreeBSD-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.c | 13 |
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) { |