hash_table_size *= 2)
continue;
+ if (num > (sizeof(pte_t) * 524288))
+ hash_table_size = hash_table_size/2; /* reduce by half above 512MB */
+
/* Scale to within any physical memory layout constraints */
do {
num = atop(mem_size); /* num now holds mem_size in pages */
pp = pmap_find_physentry(pa); /* Get the physent for this page */
if (pp == PHYS_NULL) return; /* Leave if not in physical RAM */
- mapping_purge_pmap(pp, pmap);
+ if (pmap->vflags & pmapVMhost)
+ mapping_purge(pp);
+ else
+ mapping_purge_pmap(pp, pmap);
return; /* Leave... */
}