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 BaldwinReceived 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