From owner-p4-projects@FreeBSD.ORG Tue Apr 8 21:33:53 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3182D37B404; Tue, 8 Apr 2003 21:33:53 -0700 (PDT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id C452937B401 for ; Tue, 8 Apr 2003 21:33:52 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6127643F85 for ; Tue, 8 Apr 2003 21:33:52 -0700 (PDT) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.6/8.12.6) with ESMTP id h394Xq0U039898 for ; Tue, 8 Apr 2003 21:33:52 -0700 (PDT) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id h394Xpl5039893 for perforce@freebsd.org; Tue, 8 Apr 2003 21:33:51 -0700 (PDT) Date: Tue, 8 Apr 2003 21:33:51 -0700 (PDT) Message-Id: <200304090433.h394Xpl5039893@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 28607 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Apr 2003 04:33:54 -0000 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); }