--- a/usr/src/uts/i86pc/os/startup.c Thu Aug 25 15:15:05 2005 -0700
+++ b/usr/src/uts/i86pc/os/startup.c Thu Aug 25 15:27:55 2005 -0700
@@ -1431,6 +1431,9 @@
extern void hat_kern_setup(void);
pgcnt_t pages_left;
+ extern int exec_lpg_disable, use_brk_lpg, use_stk_lpg, use_zmap_lpg;
+ extern pgcnt_t auto_lpg_min_physmem;
+
PRM_POINT("startup_vm() starting...");
/*
@@ -1716,6 +1719,14 @@
cmn_err(CE_CONT, "?mem = %luK (0x%lx)\n",
physinstalled << (MMU_PAGESHIFT - 10), ptob(physinstalled));
+ /* For small memory systems disable automatic large pages. */
+ if (physmem < auto_lpg_min_physmem) {
+ exec_lpg_disable = 1;
+ use_brk_lpg = 0;
+ use_stk_lpg = 0;
+ use_zmap_lpg = 0;
+ }
+
PRM_POINT("Calling hat_init_finish()...");
hat_init_finish();
PRM_POINT("hat_init_finish() done");