Re: gptzfsboot error using HP Smart Array P410i Controller

From: John Baldwin <jhb_at_freebsd.org>
Date: Tue, 16 Aug 2011 09:48:07 -0400
On Tuesday, August 16, 2011 9:14:08 am Christoph Hoffmann wrote:
> Hello John,
> 
> Thank you very much indeed for your reply.
> 
> The pmbr.s passes the ARGS set to 0x900 to main() in zfsboot.c and
> *(uint8_t *)PTOV(ARGS)) is 0x80. 
> 
> In zfsboot.c main(), before the line
>   bootinfo.bi_version = BOOTINFO_VERSION;
> gets executed we still keep the right value of the dsk->drive and just after
> the execution, the dsk->drive is equal to zero.
> 
> Adding
>    printf("hello\n");
> before
>    dsk = malloc(sizeof(struct dsk));
> keeps the dsk->drive value assigned to 0x80 and the box will boot.
> 
> Any comments will be appreciated.

That is odd indeed.  Can you print out a few things:

1) if high_heap_size is > 0

2) the value of 'dsk' and '&bootinfo' (try this both with a printf
   before the first call to malloc() and without).

-- 
John Baldwin
Received on Tue Aug 16 2011 - 11:50:53 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:16 UTC