diff --git a/sys/kern/kern_mib.c b/sys/kern/kern_mib.c --- a/sys/kern/kern_mib.c +++ b/sys/kern/kern_mib.c @@ -199,7 +199,12 @@ { u_long val, p; - p = SIZE_T_MAX >> PAGE_SHIFT; +#ifdef SCTL_MASK32 + if ((req->flags & SCTL_MASK32) != 0) + p = UINT32_MAX >> PAGE_SHIFT; + else +#endif + p = SIZE_T_MAX >> PAGE_SHIFT; if (physmem < p) p = physmem; val = ctob(p); @@ -215,7 +220,12 @@ { u_long val, p; - p = SIZE_T_MAX >> PAGE_SHIFT; +#ifdef SCTL_MASK32 + if ((req->flags & SCTL_MASK32) != 0) + p = UINT32_MAX >> PAGE_SHIFT; + else +#endif + p = SIZE_T_MAX >> PAGE_SHIFT; if (realmem < p) p = realmem; val = ctob(p); @@ -232,7 +242,12 @@ u_long val, p, p1; p1 = physmem - vm_wire_count(); - p = SIZE_T_MAX >> PAGE_SHIFT; +#ifdef SCTL_MASK32 + if ((req->flags & SCTL_MASK32) != 0) + p = UINT32_MAX >> PAGE_SHIFT; + else +#endif + p = SIZE_T_MAX >> PAGE_SHIFT; if (p1 < p) p = p1; val = ctob(p);