From 23176fc833f5cc477dee670b173b0033cdf5ddb3 Mon Sep 17 00:00:00 2001 From: David du Colombier <0intro@gmail.com> Date: Mon, 15 Aug 1994 00:00:00 +0000 Subject: [PATCH] Plan 9 from Bell Labs 1994-08-15 --- pc/main.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/pc/main.c b/pc/main.c index e99b2f1e9c2a62c2a7c11c5611d3200e2928718d..33c8e7b2e84d80af2c339029c66e6b1bf4abef1b 100644 --- a/pc/main.c +++ b/pc/main.c @@ -284,7 +284,7 @@ getconf(char *name) * zero memory to set ECC. * do a quick memory test also. * - * if any part of a meg is missing/broken, drop the whole meg. + * if any part of a meg is missing/broken, return -1. */ int memclrtest(int meg, int len, long seed) @@ -311,7 +311,7 @@ memclrtest(int meg, int len, long seed) for(n = 0; n < BY2PG/BY2WD; n++) if(lp[n] != ~(seed + (n^((BY2PG/BY2WD)-1)))) return -1; - memset(lp, 0, BY2PG); + memset(lp, '!', BY2PG); } return 0; } @@ -383,8 +383,9 @@ confinit(void) /* * check for correct value */ - if(*mapaddr(KZERO|(i*MB)) == x && *mapaddr(KZERO|((i+1)*MB-BY2WD)) == x) - mmap[i] = 'x'; + if(*mapaddr(KZERO|(i*MB)) == x) + if(*mapaddr(KZERO|((i+1)*MB-BY2WD)) == x) + mmap[i] = 'x'; x += 0x3141526; } @@ -398,9 +399,9 @@ confinit(void) continue; j = MB; if(crasharea == 0){ - crasharea = i*MB - CRASHSIZE; + crasharea = (i+1)*MB - PGROUND(CRASHSIZE); crashend = crasharea + CRASHSIZE; - j = MB - CRASHSIZE; + j = MB - PGROUND(CRASHSIZE); } if(memclrtest(i, j, x) < 0) mmap[i] = ' ';