diff --git a/sys/pc98/i386/machdep.c b/sys/pc98/i386/machdep.c index 591503b0722b..1918878b68e5 100644 --- a/sys/pc98/i386/machdep.c +++ b/sys/pc98/i386/machdep.c @@ -1543,7 +1543,7 @@ getmemsize(int first) /* * Certain 'CPU accelerator' supports over 16MB memory on the machines * whose BIOS doesn't store true size. - * To support this, we don't trust BIOS values if Maxmem < 16MB (0x1000 + * To support this, we don't trust BIOS values if Maxmem <= 16MB (0x1000 * pages) - which is the largest amount that the OLD PC-98 can report. * * OK: PC-9801NS/R(9.6M) @@ -1551,7 +1551,7 @@ getmemsize(int first) * OK: PC-9821Ap(14.6M)+EUA-T(8M)+Cyrix 5x86-100 * NG: PC-9821Ap(14.6M)+EUA-T(8M)+AMD DX4-100 -> freeze */ - if (Maxmem < 0x1000) { + if (Maxmem <= 0x1000) { int tmp, page_bad; page_bad = FALSE; diff --git a/sys/pc98/pc98/machdep.c b/sys/pc98/pc98/machdep.c index 591503b0722b..1918878b68e5 100644 --- a/sys/pc98/pc98/machdep.c +++ b/sys/pc98/pc98/machdep.c @@ -1543,7 +1543,7 @@ getmemsize(int first) /* * Certain 'CPU accelerator' supports over 16MB memory on the machines * whose BIOS doesn't store true size. - * To support this, we don't trust BIOS values if Maxmem < 16MB (0x1000 + * To support this, we don't trust BIOS values if Maxmem <= 16MB (0x1000 * pages) - which is the largest amount that the OLD PC-98 can report. * * OK: PC-9801NS/R(9.6M) @@ -1551,7 +1551,7 @@ getmemsize(int first) * OK: PC-9821Ap(14.6M)+EUA-T(8M)+Cyrix 5x86-100 * NG: PC-9821Ap(14.6M)+EUA-T(8M)+AMD DX4-100 -> freeze */ - if (Maxmem < 0x1000) { + if (Maxmem <= 0x1000) { int tmp, page_bad; page_bad = FALSE; diff --git a/sys/pc98/pc98/pc98_machdep.c b/sys/pc98/pc98/pc98_machdep.c index e0571f75e09a..a2a0a79e9479 100644 --- a/sys/pc98/pc98/pc98_machdep.c +++ b/sys/pc98/pc98/pc98_machdep.c @@ -147,6 +147,7 @@ pc98_getmemsize(unsigned *base, unsigned *ext, unsigned *under16) if (over16 > 0) { *ext = (16 + over16) * 1024; } + *ext -= 1024; /* subtract base memory space */ } /*