From 05e1c598cce5ec5629418e9f0c46f93a40930ab9 Mon Sep 17 00:00:00 2001 From: Andreas Tobler Date: Thu, 5 Dec 2013 21:34:33 +0000 Subject: [PATCH] Increase PHYS_AVAIL_SZ because on pSeries machines we can have many logical regions which represent the total amount of memory. The size of these regions is not the physical size of the chip but it is a logical one and it is given by the OpenFirmware, it is selectable at boot time and varies between 16MB and 256MB in my case. There is an 'automatic' option which would select the size as 64MB in case you have around 16GB of RAM. To make sure we can allocate RAM with the automatic option bump this value of PHYS_AVAIL_SZ to 256. --- sys/powerpc/include/pmap.h | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/sys/powerpc/include/pmap.h b/sys/powerpc/include/pmap.h index f73e8c8a05f5..2c9c786d1176 100644 --- a/sys/powerpc/include/pmap.h +++ b/sys/powerpc/include/pmap.h @@ -240,7 +240,11 @@ boolean_t pmap_mmu_install(char *name, int prio); #define vtophys(va) pmap_kextract((vm_offset_t)(va)) -#define PHYS_AVAIL_SZ 128 +#define PHYS_AVAIL_SZ 256 /* Allows up to 16GB Ram on pSeries with + * logical memory block size of 64MB. + * For more Ram increase the lmb or this value. + */ + extern vm_offset_t phys_avail[PHYS_AVAIL_SZ]; extern vm_offset_t virtual_avail; extern vm_offset_t virtual_end;