Re: gptzfsboot error using HP Smart Array P410i Controller

From: Christoph Hoffmann <christoph_hoffmann_at_me.com>
Date: Thu, 18 Aug 2011 18:30:24 +0200
Hello John,

Thank you very much indeed for the hints.

I am under the impression that we are facing a problem with synchronisation 
of CPU local caches. I also wasn't able to find any problem with memory 
allocation.

This box is equipped with:

1 Processor(s) detected, 4 total cores enabled, Hyperthreading is enabled       
Proc 1: Intel(R) Xeon(R) CPU E5630 _at_ 2.53GHz                                    
QPI Speed: 5.8 GT/s                                                             

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.

Any comments will be appreciated.

Best Regards,

Christoph

--
Christoph Hoffmann

On Aug 16, 2011, at 9:15 PM, John Baldwin wrote:

> On Tuesday, August 16, 2011 1:46:48 pm Christoph Hoffmann wrote:
>> Setting high_heap_size to zero ends with an error:
>> 
>> Attempting Boot From CD-ROM
>> Attempting Boot From Hard Drive (C:)
>> 474: high_heap_size=0x0; dsk=0x1a000; &bootinfo=0x8694
>> malloc failure
> 
> Hmm, I am really at a loss for what is trashing 'dsk'.  You could
> possibly try adjusting bios_getmem() to force it to use
> high_heap_size from bios_extmem (that is at the bottom of the
> function) perhaps.  However, that is mostly a bit of a guess that
> some part of your BIOS is randomly zero'ing dsk.
> 
> I'm at a loss as to how the assignments to bootinfo would trash
> 'dsk'. :(
> 
> -- 
> John Baldwin
> _______________________________________________
> freebsd-current_at_freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "freebsd-current-unsubscribe_at_freebsd.org"
Received on Thu Aug 18 2011 - 14:31:05 UTC

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