From owner-freebsd-current@FreeBSD.ORG Sat Aug 20 22:03:23 2011 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id F20EE106566B; Sat, 20 Aug 2011 22:03:23 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from tensor.andric.com (cl-327.ede-01.nl.sixxs.net [IPv6:2001:7b8:2ff:146::2]) by mx1.freebsd.org (Postfix) with ESMTP id B2EDF8FC0C; Sat, 20 Aug 2011 22:03:23 +0000 (UTC) Received: from [IPv6:2001:7b8:3a7:0:55e9:5579:6ddd:60ab] (unknown [IPv6:2001:7b8:3a7:0:55e9:5579:6ddd:60ab]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by tensor.andric.com (Postfix) with ESMTPSA id AA6AE5C37; Sun, 21 Aug 2011 00:03:22 +0200 (CEST) Message-ID: <4E502F2F.50209@FreeBSD.org> Date: Sun, 21 Aug 2011 00:03:27 +0200 From: Dimitry Andric Organization: The FreeBSD Project User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:6.0) Gecko/20110812 Thunderbird/6.0 MIME-Version: 1.0 To: Christoph Hoffmann References: <9B96176A-7550-4B60-8F4D-0B667EEF7A15@me.com> <201108161515.50127.jhb@freebsd.org> <23B6937F-F261-4DC4-9168-96720251C98D@me.com> In-Reply-To: <23B6937F-F261-4DC4-9168-96720251C98D@me.com> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: quoted-printable Cc: freebsd-current@freebsd.org Subject: Re: gptzfsboot error using HP Smart Array P410i Controller X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 20 Aug 2011 22:03:24 -0000 On 2011-08-18 18:30, Christoph Hoffmann wrote: =2E.. > Changing the order of execution in zfsboot.c main() function to > > [=85] > int > main(void) > { > [=85] > bios_getmem(); > > if (high_heap_size> 0) { > [=85] > bootinfo.bi_version =3D BOOTINFO_VERSION; > bootinfo.bi_size =3D sizeof(bootinfo); > bootinfo.bi_basemem =3D bios_basemem / 1024; > bootinfo.bi_extmem =3D bios_extmem / 1024; > bootinfo.bi_memsizes_valid++; > /* bootinfo.bi_bios_dev =3D dsk->drive; */ > bootinfo.bi_bios_dev =3D *(uint8_t *)PTOV(ARGS); > > dsk =3D malloc(sizeof(struct dsk)); > dsk->drive =3D *(uint8_t *)PTOV(ARGS); > dsk->type =3D dsk->drive& DRV_HARD ? TYPE_AD : TYPE_FD; > dsk->unit =3D dsk->drive& DRV_MASK; > dsk->slice =3D *(uint8_t *)PTOV(ARGS + 1) + 1; > dsk->part =3D 0; > dsk->start =3D 0; > dsk->init =3D 0; > > bootdev =3D MAKEBOOTDEV(dev_maj[dsk->type], > dsk->slice, dsk->unit, dsk->part), > [=85] > > > fixes the problem. Can you please use -save-temps to save the intermediate zfsboot.s files, both before and after you change this order, then post them here? It's easiest to just do: DEBUG_FLAGS=3D-save-temps make -C /usr/src/sys/boot/i386/gptzfsboot clean= all then save /usr/obj/usr/src/sys/boot/i386/gptzfsboot/zfsboot.s somewhere.