Date: Sun, 21 Aug 2011 00:03:27 +0200 From: Dimitry Andric <dim@FreeBSD.org> To: Christoph Hoffmann <christoph_hoffmann@me.com> Cc: freebsd-current@freebsd.org Subject: Re: gptzfsboot error using HP Smart Array P410i Controller Message-ID: <4E502F2F.50209@FreeBSD.org> In-Reply-To: <23B6937F-F261-4DC4-9168-96720251C98D@me.com> References: <E040B3A9-9B62-4545-ADC9-5CE3A9217024@me.com> <DA5CE78B-5AAB-4DFC-B9EE-BFCF45AFC16F@me.com> <9B96176A-7550-4B60-8F4D-0B667EEF7A15@me.com> <201108161515.50127.jhb@freebsd.org> <23B6937F-F261-4DC4-9168-96720251C98D@me.com>
next in thread | previous in thread | raw e-mail | index | archive | help
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.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4E502F2F.50209>