On Thu, May 03, 2012 at 02:46:18PM -0400, John Baldwin wrote:
> On Thursday, May 03, 2012 11:35:19 am Anton Shterenlikht wrote:
> > On Tue, May 01, 2012 at 12:35:26PM +0100, Anton Shterenlikht wrote:
> > > On Mon, Apr 30, 2012 at 08:43:14AM -0400, John Baldwin wrote:
> > > > > 
> > > > > I also see:
> > > > > 
> > > > > ata0: stat0=0x00 err=0x01 lsb=0x14 msb=0exb
> > > > > ata0: stat1=0x00 err=0x00 lsb=0x00 msb=0x00
> > > > > ata0: reset tp2 stat0=00 stat1=00 devices=0x10000
> > > > 
> > > > Hmmm, I don't know how to grok these lines, but does your disk work at 
> all now 
> > > > with any kernel?  It may be that your disk has died (or a cable, etc.) 
> and it
> > > > just happened to coincide with your upgrade?
> > > 
> > > I reverted back to r231158, built world and generic
> > > kernel (minus all modules, i.e. "option MODULES_OVERRIDE=").
> > > This works, see the verbose boot dmesg at the end.
> > > 
> > > I think I'll just do a binary search.
> > 
> > I traced it to r233677.
> > The only change from 233676 to 233677 is
> > in /sys/dev/pci/pci.c
> > 
> > My kernel is GENERIC with no modules
> > and with various bits removed, e.g. all raid devices
> > and PCI network devices, which I definitely
> > haven't got on this laptop.
> > 
> > Below is the verbose boot with r233676.
> > Apparently at the beginning there's also
> > the previous unsuccessful boot with r233677.
> > Is this a new feature? I didn't know the
> > previous dmesg is preserved after a reboot.
> > Anyway, you can see clearly the error with r233677.
> > 
> > I guess this is something to do with
> > ata -> ada change?
> 
> I don't think so.
> 
> Please try just this change:
> 
> Index: pci.c
> ===================================================================
> --- pci.c     (revision 234928)
> +++ pci.c     (working copy)
> @@ -2822,10 +2822,14 @@ pci_add_map(device_t bus, device_t dev, int reg, s
>                * from the parent.
>                */
>               resource_list_delete(rl, type, reg);
> -     } else {
> +             start = 0;
> +             device_printf(bus,
> +                 "pci%d:%d:%d:%d bar %#x failed to allocate",
> +                 pci_get_domain(dev), pci_get_bus(dev), pci_get_slot(dev),
> +                 pci_get_function(dev), reg);
> +     } else
>               start = rman_get_start(res);
> -             pci_write_bar(dev, pm, start);
> -     }
> +     pci_write_bar(dev, pm, start);
>       return (barlen);
>  }
>  

That helped, thank you.

-- 
Anton Shterenlikht
Room 2.6, Queen's Building
Mech Eng Dept
Bristol University
University Walk, Bristol BS8 1TR, UK
Tel: +44 (0)117 331 5944
Fax: +44 (0)117 929 4423
_______________________________________________
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"

Reply via email to