summaryrefslogtreecommitdiffstats
path: root/sys/alpha
diff options
context:
space:
mode:
authorgallatin <gallatin@FreeBSD.org>2003-02-16 17:30:49 +0000
committergallatin <gallatin@FreeBSD.org>2003-02-16 17:30:49 +0000
commitdf97827e5ed312bbf008ad00c03a43ccf4bf2e18 (patch)
tree46026e4029d6664712db77415e01d88dc9bd15aa /sys/alpha
parent832e8b7f9a7422b49453b7e389ec411d3037a50f (diff)
downloadFreeBSD-src-df97827e5ed312bbf008ad00c03a43ccf4bf2e18.zip
FreeBSD-src-df97827e5ed312bbf008ad00c03a43ccf4bf2e18.tar.gz
When trimming memory to fit Maxmem, and we discard an entire cluster,
make certain to subtract its pages from physmem. Otherwise we end up running phys_avail_cnt negative, and bad stuff happens. MFC After: 1 week
Diffstat (limited to 'sys/alpha')
-rw-r--r--sys/alpha/alpha/machdep.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/alpha/alpha/machdep.c b/sys/alpha/alpha/machdep.c
index ddf67d7..2ce041b 100644
--- a/sys/alpha/alpha/machdep.c
+++ b/sys/alpha/alpha/machdep.c
@@ -827,6 +827,7 @@ alpha_init(pfn, ptb, bim, bip, biv)
if (physmem - sz > Maxmem) {
phys_avail[i] = 0;
phys_avail_cnt -= 2;
+ physmem -= sz;
} else {
nsz = sz - (physmem - Maxmem);
phys_avail[i+1] = phys_avail[i] + alpha_ptob(nsz);
OpenPOWER on IntegriCloud