Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 18 Jun 2012 10:26:20 -0400
From:      John Baldwin <jhb@freebsd.org>
To:        Andrey Zonov <andrey@zonov.org>
Cc:        freebsd-stable <freebsd-stable@freebsd.org>, Marius Strobl <marius@alchemy.franken.de>
Subject:   Re: mpt: Unable to memory map registers
Message-ID:  <201206181026.20857.jhb@freebsd.org>
In-Reply-To: <4FDC5BA7.4040702@zonov.org>
References:  <4FD0ECB7.8040908@zonov.org> <201206151324.58103.jhb@freebsd.org> <4FDC5BA7.4040702@zonov.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Saturday, June 16, 2012 6:10:47 am Andrey Zonov wrote:
> On 6/15/12 9:24 PM, John Baldwin wrote:
> > On Friday, June 15, 2012 2:12:06 am Andrey Zonov wrote:
> >> On 6/13/12 7:10 PM, John Baldwin wrote:
> >>> On Tuesday, June 12, 2012 5:57:34 pm Andrey Zonov wrote:
> >>>> On 6/13/12 12:51 AM, John Baldwin wrote:
> >>>>> On Tuesday, June 12, 2012 3:53:09 pm Andrey Zonov wrote:
> >>>>>> On 6/12/12 10:06 PM, John Baldwin wrote:
> >>>>>>>
> >>>>>> [snip]
> >>>>>>> Ok, I've added some more debugging.  The patch is a bit larger now and
> > you
> >>>>> can
> >>>>>>> fetch it from www.freebsd.org/~jhb/patches/pcib_debug.patch
> >>>>>>>
> >>>>>>
> >>>>>> New dmesg is in attach.
> >>>>>
> >>>>> Sheesh, found another bug (wasn't masking 'front' properly).
> >>>>>
> >>>>> Try updated patch (same URL).
> >>>>>
> >>>>
> >>>> Great!  It works!
> >>>
> >>> Excellent.  I've committed the 2 bugs needed to fix your box.  However,
> >>> there is another bug that this exposed that I'd like you to test.  Can you
> >>> update to the latest HEAD, apply the updated pcib_debug.patch, and boot
> >>> with 'hw.pci.pcib_clear=1' set from the loader?  That should exercise the
> >>> bug I'm worried about and see if my fixes for that (recursively growing
> >>> windows) works correctly.
> >>>
> >>
> >> Attached.
> >
> > Hmm, it doesn't seem like hw.pci.pcib_clear was set (the pcibX devices still
> > tried to allocate their initial windows).
> >
> 
> Ooops.

Thanks.  Unfortunately, this didn't actually exercise what I wanted, but that
is ok.  However, this did uncover another bug it seems:

pcib7: <ACPI PCI-PCI bridge> at device 0.3 on pci5
pci6: <ACPI PCI bus> on pcib7
pci6: domain=0, physical bus=6
found-> vendor=0x1000, dev=0x0054, revid=0x02
pcib3: attempting to grow I/O port window for (0xd000-0xdfff,0x1000)
        front candidate range: 0xd000-0xdfff
pcib3: bus_adjust_resource(0xc000, 0xefff)
pci0: bus_adjust_resource(pcib3, 0x1c, 0xc000, 0xefff)
pcib0: bus_adjust_resource(pcib3, 0x1c, 0xc000, 0xefff)
acpi0: bus_adjust_resource(pcib3, 0x1c, 0xc000, 0xefff)
nexus0: bus_adjust_resource(pcib3, 0x1c, 0xc000, 0xefff)
pcib3: grew I/O port window to 0xc000-0xefff
pcib3: allocated I/O port range (0xd000-0xdfff) for rid 1c of pcib7
pcib7: allocated initial I/O port window of 0xd000-0xdfff

This grew the range too large resulting in this failure later on:

pcib9: failed to allocate initial I/O port window (0xc000-0xcfff,0x1000)

Can you try the updated pcib_debug.patch?  It has some more printf's for
this case.

-- 
John Baldwin



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201206181026.20857.jhb>