Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 8 Apr 2003 21:33:51 -0700 (PDT)
From:      Peter Wemm <peter@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 28607 for review
Message-ID:  <200304090433.h394Xpl5039893@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=28607

Change 28607 by peter@peter_daintree on 2003/04/08 21:33:13

	do not add empty MODINFOMD_SMAP metadata records.

Affected files ...

.. //depot/projects/hammer/sys/boot/i386/libi386/biossmap.c#2 edit

Differences ...

==== //depot/projects/hammer/sys/boot/i386/libi386/biossmap.c#2 (text+ko) ====

@@ -54,8 +54,9 @@
 {
 	int n;
 
+	n = 0;
+	smaplen = 0;
 	/* Count up segments in system memory map */
-	n = 0;
 	v86.ebx = 0;
 	do {
 		v86.ctl = V86_FLAGS;
@@ -70,11 +71,12 @@
 			break;
 		n++;
 	} while (v86.ebx != 0);
+	if (n == 0)
+		return;
 	n += 10;	/* spare room */
 	smapbase = malloc(n * sizeof(*smapbase));
 
 	/* Save system memory map */
-	smaplen = 0;
 	v86.ebx = 0;
 	do {
 		v86.ctl = V86_FLAGS;
@@ -93,7 +95,10 @@
 void
 bios_addsmapdata(struct preloaded_file *kfp)
 {
+	int len;
 
-	file_addmetadata(kfp, MODINFOMD_SMAP,
-	    smaplen * sizeof(*smapbase), smapbase);
+	if (smapbase == 0 || smaplen == 0)
+		return;
+	len = smaplen * sizeof(*smapbase);
+	file_addmetadata(kfp, MODINFOMD_SMAP, len, smapbase);
 }



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200304090433.h394Xpl5039893>