On 2011-08-18 18:30, Christoph Hoffmann wrote: ... > Changing the order of execution in zfsboot.c main() function to > > […] > int > main(void) > { > […] > bios_getmem(); > > if (high_heap_size> 0) { > […] > bootinfo.bi_version = BOOTINFO_VERSION; > bootinfo.bi_size = sizeof(bootinfo); > bootinfo.bi_basemem = bios_basemem / 1024; > bootinfo.bi_extmem = bios_extmem / 1024; > bootinfo.bi_memsizes_valid++; > /* bootinfo.bi_bios_dev = dsk->drive; */ > bootinfo.bi_bios_dev = *(uint8_t *)PTOV(ARGS); > > dsk = malloc(sizeof(struct dsk)); > dsk->drive = *(uint8_t *)PTOV(ARGS); > dsk->type = dsk->drive& DRV_HARD ? TYPE_AD : TYPE_FD; > dsk->unit = dsk->drive& DRV_MASK; > dsk->slice = *(uint8_t *)PTOV(ARGS + 1) + 1; > dsk->part = 0; > dsk->start = 0; > dsk->init = 0; > > bootdev = MAKEBOOTDEV(dev_maj[dsk->type], > dsk->slice, dsk->unit, dsk->part), > […] > > > 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=-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.Received on Sat Aug 20 2011 - 20:03:23 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:16 UTC