D not forget our memmap changes, ok mickey@
authorniklas <niklas@openbsd.org>
Sun, 5 Mar 2000 18:40:59 +0000 (18:40 +0000)
committerniklas <niklas@openbsd.org>
Sun, 5 Mar 2000 18:40:59 +0000 (18:40 +0000)
sys/arch/i386/stand/libsa/exec_i386.c
sys/arch/i386/stand/libsa/libsa.h
sys/arch/i386/stand/libsa/memprobe.c

index afa6ae6..c56a613 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: exec_i386.c,v 1.25 2000/02/18 17:10:10 mickey Exp $   */
+/*     $OpenBSD: exec_i386.c,v 1.26 2000/03/05 18:40:59 niklas Exp $   */
 
 /*
  * Copyright (c) 1997-1998 Michael Shalayeff
@@ -66,6 +66,9 @@ machdep_exec(xp, howto, loadaddr)
        cd.conspeed = com_speed;
        addbootarg(BOOTARG_CONSDEV, sizeof(cd), &cd);
 
+       /* Pass memory map to the kernel */
+       mem_pass();
+
        makebootargs(av, &ac);
 
 #ifdef EXEC_DEBUG
index 29064a0..6fb8ce1 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: libsa.h,v 1.29 1999/08/25 00:54:19 mickey Exp $       */
+/*     $OpenBSD: libsa.h,v 1.30 2000/03/05 18:40:59 niklas Exp $       */
 
 /*
  * Copyright (c) 1996-1999 Michael Shalayeff
@@ -47,8 +47,9 @@ void apmprobe __P((void));
 void apmcheck __P((void));
 void pciprobe __P((void));
 void dump_biosmem __P((bios_memmap_t *));
-int mem_delete __P((long, long));
 int mem_add __P((long, long));
+int mem_delete __P((long, long));
+void mem_pass __P((void));
 
 void devboot __P((dev_t, char *));
 void machdep __P((void));
index 6c00ef0..7f2dba4 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: memprobe.c,v 1.33 1999/09/30 06:29:57 downsj Exp $    */
+/*     $OpenBSD: memprobe.c,v 1.34 2000/03/05 18:40:59 niklas Exp $    */
 
 /*
  * Copyright (c) 1997-1999 Michael Shalayeff
@@ -312,10 +312,6 @@ memprobe()
 
        apmcheck();
 
-       /* Register in global var */
-       addbootarg(BOOTARG_MEMMAP, 
-               (pm - bios_memmap + 1) * sizeof(*bios_memmap), bios_memmap);
-
 #ifdef DEBUG
        printf(")[");
 #endif
@@ -457,3 +453,13 @@ mem_add(sa, ea)
        return 0;
 }
 
+void
+mem_pass()
+{
+       bios_memmap_t *p;
+
+       for (p = bios_memmap; p->type != BIOS_MAP_END; p++)
+               ;
+       addbootarg(BOOTARG_MEMMAP, (p - bios_memmap + 1) * sizeof *bios_memmap,
+               bios_memmap);
+}