summaryrefslogtreecommitdiff
path: root/sys/arch/i386/stand/libsa/memprobe.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/arch/i386/stand/libsa/memprobe.c')
-rw-r--r--sys/arch/i386/stand/libsa/memprobe.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/sys/arch/i386/stand/libsa/memprobe.c b/sys/arch/i386/stand/libsa/memprobe.c
index 287ebba51a8..6c00ef0f519 100644
--- a/sys/arch/i386/stand/libsa/memprobe.c
+++ b/sys/arch/i386/stand/libsa/memprobe.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: memprobe.c,v 1.32 1999/08/25 00:54:19 mickey Exp $ */
+/* $OpenBSD: memprobe.c,v 1.33 1999/09/30 06:29:57 downsj Exp $ */
/*
* Copyright (c) 1997-1999 Michael Shalayeff
@@ -291,6 +291,7 @@ memprobe()
#else
printf(" mem[");
#endif
+
if(!(pm = bios_E820(bios_memmap))) {
im = bios_int12(bios_memmap);
#if 0
@@ -322,7 +323,7 @@ memprobe()
/* XXX - Compatibility, remove later (smpprobe() relies on it) */
extmem = cnvmem = 0;
for(im = bios_memmap; im->type != BIOS_MAP_END; im++) {
- /* Count only "good" memory chunks 4K and up in size */
+ /* Count only "good" memory chunks 12K and up in size */
if ((im->type == BIOS_MAP_FREE) && (im->size >= 12*1024)) {
if (im->size > 1024 * 1024)
printf("%uM ", (u_int)im->size / (1024 * 1024));
@@ -341,8 +342,8 @@ memprobe()
*/
if(im->addr < IOM_BEGIN)
cnvmem = max(cnvmem, im->addr + im->size);
- if(im->addr == IOM_END)
- extmem = im->size;
+ if(im->addr >= IOM_END)
+ extmem += im->size;
}
}
cnvmem /= 1024;