From owner-p4-projects@FreeBSD.ORG Tue Apr 8 20:33:36 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2BC2C37B405; Tue, 8 Apr 2003 20:33:36 -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 BD83737B401 for ; Tue, 8 Apr 2003 20:33:35 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2D97543FBD for ; Tue, 8 Apr 2003 20:33:35 -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 h393XZ0U029957 for ; Tue, 8 Apr 2003 20:33:35 -0700 (PDT) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id h393XYdY029954 for perforce@freebsd.org; Tue, 8 Apr 2003 20:33:34 -0700 (PDT) Date: Tue, 8 Apr 2003 20:33:34 -0700 (PDT) Message-Id: <200304090333.h393XYdY029954@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 28602 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 03:33:37 -0000 http://perforce.freebsd.org/chv.cgi?CH=28602 Change 28602 by peter@peter_daintree on 2003/04/08 20:32:50 find the preload metadata for bios_smap Affected files ... .. //depot/projects/hammer/sys/x86_64/x86_64/machdep.c#57 edit Differences ... ==== //depot/projects/hammer/sys/x86_64/x86_64/machdep.c#57 (text+ko) ==== @@ -735,16 +735,13 @@ * "Consumer may safely assume that size value precedes data." * ie: an int32_t immediately precedes smap. */ - smapbase = MD_FETCH(kmdp, MODINFOMD_SMAP, struct bios_smap *) + KERNBASE; + smapbase = (struct bios_smap *)preload_search_info(kmdp, MODINFO_METADATA | MODINFOMD_SMAP); if (smapbase == 0) { - printf("No BIOS smap info from loader!\n"); + panic("No BIOS smap info from loader!"); goto deep_shit; } -printf("smapbase: %p\n", smapbase); - smapsize = ((u_int32_t *)smapbase)[-1]; -printf("smaplen = 0x%x\n", smapsize); + smapsize = *((u_int32_t *)smapbase - 1); smapend = (struct bios_smap *)((uintptr_t)smapbase + smapsize); -printf("smapend: %p\n", smapend); for (smap = smapbase; smap < smapend; smap++) { if (boothowto & RB_VERBOSE)