Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 7 May 2012 22:25:02 +0100
From:      Anton Shterenlikht <mexas@bristol.ac.uk>
To:        John Baldwin <jhb@freebsd.org>
Cc:        freebsd-current@freebsd.org, Anton Shterenlikht <mexas@bristol.ac.uk>
Subject:   Re: updating from r231158 to 234465: mounting from ufs:/dev/ad4s1a failed with error 19
Message-ID:  <20120507212502.GA8936@mech-cluster241.men.bris.ac.uk>
In-Reply-To: <201205071039.51737.jhb@freebsd.org>
References:  <20120426224215.GA79891@mech-cluster241.men.bris.ac.uk> <201205041108.00016.jhb@freebsd.org> <20120504200724.GA30502@mech-cluster241.men.bris.ac.uk> <201205071039.51737.jhb@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, May 07, 2012 at 10:39:51AM -0400, John Baldwin wrote:
> On Friday, May 04, 2012 4:07:24 pm Anton Shterenlikht wrote:
> > On Fri, May 04, 2012 at 11:07:59AM -0400, John Baldwin wrote:
> > > On Friday, May 04, 2012 7:51:33 am Anton Shterenlikht wrote:
> > > > 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.
> > > 
> > > Bizarre, can you get a regular dmesg with that change applied?
> > 
> 
> Hmm, I missed a newline at the end. :)  Looks like this happened twice.
> I've added the relevant verbose boot messages from your earlier kernel
> below each one:
> 
> > pci0: <ACPI PCI bus> on pcib0
> > pci0: pci0:0:20:2 bar 0x10 failed to allocate
> > pcib1: <ACPI PCI-PCI bridge> at device 1.0 on pci0
> 
> found-> vendor=0x1002, dev=0x4383, revid=0x00
>         domain=0, bus=0, slot=20, func=2
>         class=04-03-00, hdrtype=0x00, mfdev=0
>         cmdreg=0x0006, statreg=0x0410, cachelnsz=16 (dwords)
>         lattimer=0x40 (1920 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
>         intpin=a, irq=10
>         powerspec 2  supports D0 D3  current D0
>         map[10]: type Memory, range 64, base 0xcc408000, size 14, enabled
> pcib0: matched entry for 0.20.INTA
> pcib0: slot 20 INTA hardwired to IRQ 16
> 
> > pcib4: <ACPI PCI-PCI bridge> at device 20.4 on pci0
> > pcib4: failed to allocate initial memory window: 0xcc100000-0xcc1fffff
> > pci2: <ACPI PCI bus> on pcib4
> > pci2: pci0:2:4:0 bar 0x10 failed to allocate
> > cbb0: <RF5C476 PCI-CardBus Bridge> irq 20 at device 4.0 on pci2
> 
> found-> vendor=0x1180, dev=0x0476, revid=0xb6
>         domain=0, bus=2, slot=4, func=0
>         class=06-07-00, hdrtype=0x02, mfdev=1
>         cmdreg=0x0007, statreg=0x0210, cachelnsz=0 (dwords)
>         lattimer=0x40 (1920 ns), mingnt=0x80 (32000 ns), maxlat=0x07 (1750 ns)
>         intpin=a, irq=10
>         powerspec 2  supports D0 D1 D2 D3  current D0
>         map[10]: type Memory, range 32, base 0xcc100000, size 12, enabled
> pcib4: failed to allocate initial memory window (0xcc100000-0xcc1fffff,0x100000)
> pcib4: matched entry for 2.4.INTA
> pcib4: slot 4 INTA hardwired to IRQ 20
> cbb0: <RF5C476 PCI-CardBus Bridge> irq 20 at device 4.0 on pci2
> pcib0: allocated type 3 (0xcc500000-0xcc5fffff) for rid 20 of pcib4
> pcib4: allocated initial memory window of 0xcc500000-0xcc5fffff
> pcib4: allocated memory range (0xcc500000-0xcc500fff) for rid 10 of cbb0
> cbb0: Lazy allocation of 0x1000 bytes rid 0x10 type 3 at 0xcc500000
> 
> So the second case actually recovers and allocates a different range.
> 
> Can you try booting with 'debug.acpi.disabled=sysres' set in the loader?

You mean without the patch?

> Also, can you get the output of 'devinfo -rv' from a working kernel?

# devinfo -rv
nexus0
  apic0
      I/O memory addresses:
          0xfec00000-0xfec0001f
          0xfee00000-0xfee003ff
  ram0
      I/O memory addresses:
          0x0-0x9fbff
          0x100000-0xb7faffff
  acpi0
      Interrupt request lines:
          9
      I/O ports:
          0x10-0x1f
          0x22-0x23
          0x2e-0x2f
          0x4e-0x4f
          0x92
          0x40b
          0x4d0-0x4d1
          0x4d6
          0x500-0x53f
          0xc00-0xc01
          0xc14
          0xc50-0xc51
          0xc52
          0xc6c
          0xc6f
          0xcd0-0xcdf
          0x8000-0x802f
          0x8100-0x811f
      I/O memory addresses:
          0xcd400-0xcffff
          0xd2a00-0xd2fff
          0xe0000-0xfffff
    cpu0 pnpinfo _HID=none _UID=0 at handle=\_PR_.C000
      acpi_perf0
      acpi_throttle0
          ACPI I/O ports:
              0x8010-0x8013
      powernow0
      cpufreq0
    cpu1 pnpinfo _HID=none _UID=0 at handle=\_PR_.C001
      acpi_perf1
      acpi_throttle1
      powernow1
      cpufreq1
    acpi_sysresource0 pnpinfo _HID=PNP0C01 _UID=0 at handle=\_SB_.C011
    pcib0 pnpinfo _HID=PNP0A03 _UID=0 at handle=\_SB_.C08B
        I/O ports:
            0xcf8-0xcff
      pci0
        hostb0 pnpinfo vendor=0x1002 device=0x7910 subvendor=0x103c subdevice=0x30c2 class=0x060000 at slot=0 function=0
        pcib1 pnpinfo vendor=0x1002 device=0x7912 subvendor=0x103c subdevice=0x30c2 class=0x060400 at slot=1 function=0 handle=\_SB_.C08B.C08C
            I/O ports:
                0x4000-0x4fff
            I/O memory addresses:
                0xc0000000-0xc7ffffff
                0xcc200000-0xcc3fffff
          pci1
            vgapci0 pnpinfo vendor=0x1002 device=0x791f subvendor=0x103c subdevice=0x30c2 class=0x030000 at slot=5 function=0 handle=\_SB_.C08B.C08C.C08D
                pcib1 I/O port window:
                    0x4000-0x40ff
                pcib1 memory window:
                    0xcc200000-0xcc20ffff
                    0xcc300000-0xcc3fffff
                pcib1 prefetch window:
                    0xc0000000-0xc7ffffff
              vgapm0
              drm0
        pcib2 pnpinfo vendor=0x1002 device=0x7914 subvendor=0x103c subdevice=0x30c2 class=0x060400 at slot=4 function=0 handle=\_SB_.C08B.C24F
            I/O memory addresses:
                0xcc000000-0xcc0fffff
          pci16
            bge0 pnpinfo vendor=0x14e4 device=0x1713 subvendor=0x103c subdevice=0x30c2 class=0x020000 at slot=0 function=0 handle=\_SB_.C08B.C24F.C250
                Interrupt request lines:
                    256
                pcib2 memory window:
                    0xcc000000-0xcc00ffff
              miibus0
                brgphy0 pnpinfo oui=0x50ef model=0x4 rev=0x0 at phyno=1
        pcib3 pnpinfo vendor=0x1002 device=0x7915 subvendor=0x103c subdevice=0x30c2 class=0x060400 at slot=5 function=0 handle=\_SB_.C08B.C254
            I/O ports:
                0x2000-0x3fff
            I/O memory addresses:
                0xc8000000-0xcbffffff
          pci32
        ahci0 pnpinfo vendor=0x1002 device=0x4380 subvendor=0x1002 subdevice=0x4380 class=0x01018f at slot=18 function=0 handle=\_SB_.C08B.C275
            Interrupt request lines:
                16
            I/O ports:
                0x5018-0x501b
                0x5020-0x502f
                0x9000-0x9007
                0x9008-0x900b
                0x9010-0x9017
            I/O memory addresses:
                0xcc409000-0xcc4093ff
          ahcich0 at channel=0
              I/O memory addresses:
                  0xcc409100-0xcc40917f
          ahcich1 at channel=1
          ahcich2 at channel=2
          ahcich3 at channel=3
        ohci0 pnpinfo vendor=0x1002 device=0x4387 subvendor=0x103c subdevice=0x30c2 class=0x0c0310 at slot=19 function=0 handle=\_SB_.C08B.C12D
            Interrupt request lines:
                23
            I/O memory addresses:
                0xcc401000-0xcc401fff
          usbus0
            uhub0
        ohci1 pnpinfo vendor=0x1002 device=0x4388 subvendor=0x103c subdevice=0x30c2 class=0x0c0310 at slot=19 function=1 handle=\_SB_.C08B.C131
            Interrupt request lines:
                17
            I/O memory addresses:
                0xcc402000-0xcc402fff
          usbus1
            uhub1
        ohci2 pnpinfo vendor=0x1002 device=0x4389 subvendor=0x103c subdevice=0x30c2 class=0x0c0310 at slot=19 function=2 handle=\_SB_.C08B.C134
            Interrupt request lines:
                17
            I/O memory addresses:
                0xcc403000-0xcc403fff
          usbus2
            uhub2
        ohci3 pnpinfo vendor=0x1002 device=0x438a subvendor=0x103c subdevice=0x30c2 class=0x0c0310 at slot=19 function=3 handle=\_SB_.C08B.C137
            Interrupt request lines:
                17
            I/O memory addresses:
                0xcc404000-0xcc404fff
          usbus3
            uhub3
        ohci4 pnpinfo vendor=0x1002 device=0x438b subvendor=0x103c subdevice=0x30c2 class=0x0c0310 at slot=19 function=4 handle=\_SB_.C08B.C13A
            Interrupt request lines:
                17
            I/O memory addresses:
                0xcc405000-0xcc405fff
          usbus4
            uhub4
        ehci0 pnpinfo vendor=0x1002 device=0x4386 subvendor=0x103c subdevice=0x30c2 class=0x0c0320 at slot=19 function=5 handle=\_SB_.C08B.C13D
            Interrupt request lines:
                23
            I/O memory addresses:
                0xcc406000-0xcc4060ff
          usbus5
            uhub5
        unknown pnpinfo vendor=0x1002 device=0x4385 subvendor=0x103c subdevice=0x30c2 class=0x0c0500 at slot=20 function=0 handle=\_SB_.C08B.C09F
            I/O ports:
                0x8200-0x820f
        atapci0 pnpinfo vendor=0x1002 device=0x438c subvendor=0x103c subdevice=0x30c2 class=0x010182 at slot=20 function=1 handle=\_SB_.C08B.C10B
            I/O ports:
                0x170-0x177
                0x1f0-0x1f7
                0x376
                0x3f6
                0x5040-0x504f
          ata0 at channel=0
              Interrupt request lines:
                  14
        hdac0 pnpinfo vendor=0x1002 device=0x4383 subvendor=0x103c subdevice=0x30c2 class=0x040300 at slot=20 function=2 handle=\_SB_.C08B.C0FD
            Interrupt request lines:
                16
            I/O memory addresses:
                0xcc100000-0xcc103fff
          hdacc0 pnpinfo vendor=0x11d4 device=0x1981 revision=0x02 stepping=0x00 at cad=0
            hdaa0 pnpinfo type=0x01 subsystem=0x103c30c2 at nid=1
              pcm0 at nid=5,6,8,9
          hdacc1 pnpinfo vendor=0x11c1 device=0x1040 revision=0x02 stepping=0x00 at cad=1
            unknown pnpinfo type=0x02 subsystem=0x103c1378 at nid=1
        isab0 pnpinfo vendor=0x1002 device=0x438d subvendor=0x103c subdevice=0x30c2 class=0x060100 at slot=20 function=3 handle=\_SB_.C08B.C0FE
          isa0
            sc0
            vga0
                I/O ports:
                    0x3c0-0x3df
                I/O memory addresses:
                    0xa0000-0xbffff
            orm0
                I/O memory addresses:
                    0xd0000-0xd0fff
            fdc0
            ppc0
            uart0
            uart1
            wbwd0
        pcib4 pnpinfo vendor=0x1002 device=0x4384 subvendor=0x0000 subdevice=0x0000 class=0x060401 at slot=20 function=4 handle=\_SB_.C08B.C0FC
            I/O memory addresses:
                0xcc500000-0xcc5fffff
          pci2
            cbb0 pnpinfo vendor=0x1180 device=0x0476 subvendor=0x103c subdevice=0x30c2 class=0x060700 at slot=4 function=0
                Interrupt request lines:
                    20
                pcib4 memory window:
                    0xcc500000-0xcc500fff
              cardbus0
                siba_bwn0 pnpinfo vendor=0x14e4 device=0x4318 subvendor=0x16ec subdevice=0x0119 class=0x028000 at slot=0 function=0
                    Interrupt request lines:
                        20
                    pcib4 memory window:
                        0xcc502000-0xcc503fff
                  unknown
                  bwn0
                  unknown
                  unknown
              pccard0
        hostb1 pnpinfo vendor=0x1022 device=0x1100 subvendor=0x0000 subdevice=0x0000 class=0x060000 at slot=24 function=0
        hostb2 pnpinfo vendor=0x1022 device=0x1101 subvendor=0x0000 subdevice=0x0000 class=0x060000 at slot=24 function=1
        hostb3 pnpinfo vendor=0x1022 device=0x1102 subvendor=0x0000 subdevice=0x0000 class=0x060000 at slot=24 function=2
        hostb4 pnpinfo vendor=0x1022 device=0x1103 subvendor=0x0000 subdevice=0x0000 class=0x060000 at slot=24 function=3
    unknown pnpinfo _HID=none _UID=0 at handle=\_SB_.C08B.C0FD.C171
    acpi_ec0 pnpinfo _HID=PNP0C09 _UID=0 at handle=\_SB_.C08B.C0FE.C172
        I/O ports:
            0x62
            0x66
    unknown pnpinfo _HID=PNP0A06 _UID=0 at handle=\_SB_.C08B.C0FE.C1F1
    unknown pnpinfo _HID=PNP0501 _UID=0 at handle=\_SB_.C08B.C0FE.C1F1.C21F
    unknown pnpinfo _HID=none _UID=0 at handle=\_SB_.C08B.C0FE.C1F1.C21F.C223
    unknown pnpinfo _HID=PNP0400 _UID=0 at handle=\_SB_.C08B.C0FE.C1F1.C224
    unknown pnpinfo _HID=none _UID=0 at handle=\_SB_.C08B.C0FE.C1F1.C224.C230
    unknown pnpinfo _HID=IFX0102 _UID=0 at handle=\_SB_.C08B.C0FE.C231
    fpupnp0 pnpinfo _HID=PNP0C04 _UID=0 at handle=\_SB_.C08B.C0FE.C241
        I/O ports:
            0xf0-0xff
    attimer0 pnpinfo _HID=PNP0100 _UID=0 at handle=\_SB_.C08B.C0FE.C242
        Interrupt request lines:
            0
        I/O ports:
            0x40-0x43
    atdma0 pnpinfo _HID=PNP0200 _UID=0 at handle=\_SB_.C08B.C0FE.C229
        DMA request lines:
            4
        I/O ports:
            0x0-0xf
            0x80-0x8f
            0xc0-0xdf
    unknown pnpinfo _HID=PNP0800 _UID=0 at handle=\_SB_.C08B.C0FE.C243
        I/O ports:
            0x61
    atrtc0 pnpinfo _HID=PNP0B00 _UID=0 at handle=\_SB_.C08B.C0FE.C244
        Interrupt request lines:
            8
        I/O ports:
            0x70-0x71
            0x72-0x73
    unknown pnpinfo _HID=PNP0103 _UID=0 at handle=\_SB_.C08B.C0FE.C245
    atkbdc0 pnpinfo _HID=PNP0303 _UID=0 at handle=\_SB_.C08B.C0FE.C249
        Interrupt request lines:
            1
        I/O ports:
            0x60
            0x64
      atkbd0
      psm0
          Interrupt request lines:
              12
    psmcpnp0 pnpinfo _HID=SYN0131 _UID=0 at handle=\_SB_.C08B.C0FE.C24A
    unknown pnpinfo _HID=none _UID=0 at handle=\_SB_.C08B.C0FE.C24A.C24C
    unknown pnpinfo _HID=PNP0000 _UID=0 at handle=\_SB_.C08B.C0FE.C24E
        I/O ports:
            0x20-0x21
            0xa0-0xa1
    acpi_sysresource1 pnpinfo _HID=PNP0C02 _UID=2 at handle=\_SB_.C08B.C0FE.C37A
    pci_link0 pnpinfo _HID=PNP0C0F _UID=96 at handle=\_SB_.C08B.C145
    pci_link1 pnpinfo _HID=PNP0C0F _UID=97 at handle=\_SB_.C08B.C146
    pci_link2 pnpinfo _HID=PNP0C0F _UID=98 at handle=\_SB_.C08B.C147
    pci_link3 pnpinfo _HID=PNP0C0F _UID=99 at handle=\_SB_.C08B.C148
    pci_link4 pnpinfo _HID=PNP0C0F _UID=104 at handle=\_SB_.C08B.C149
    pci_link5 pnpinfo _HID=PNP0C0F _UID=105 at handle=\_SB_.C08B.C14A
    pci_link6 pnpinfo _HID=PNP0C0F _UID=106 at handle=\_SB_.C08B.C14B
    pci_link7 pnpinfo _HID=PNP0C0F _UID=107 at handle=\_SB_.C08B.C14C
    unknown pnpinfo _HID=HPQ0004 _UID=0 at handle=\_SB_.C08B.ACEL
    acpi_sysresource2 pnpinfo _HID=PNP0C02 _UID=1 at handle=\_SB_.C08B.C378
    unknown pnpinfo _HID=HPQ0006 _UID=0 at handle=\_SB_.C24D
    battery0 pnpinfo _HID=PNP0C0A _UID=1 at handle=\_SB_.C1ED
    battery1 pnpinfo _HID=PNP0C0A _UID=2 at handle=\_SB_.C1EC
    acpi_acad0 pnpinfo _HID=ACPI0003 _UID=0 at handle=\_SB_.C1EB
    acpi_button0 pnpinfo _HID=PNP0C0E _UID=0 at handle=\_SB_.C28D
    acpi_lid0 pnpinfo _HID=PNP0C0D _UID=0 at handle=\_SB_.C265
    unknown pnpinfo _HID=PNP0C32 _UID=1 at handle=\_SB_.C1EE
    unknown pnpinfo _HID=PNP0C14 _UID=0 at handle=\_SB_.C28A
    acpi_sysresource3 pnpinfo _HID=PNP0C02 _UID=0 at handle=\_SB_.C35F
    unknown pnpinfo _HID=none _UID=0 at handle=\_TZ_.C395
    unknown pnpinfo _HID=none _UID=0 at handle=\_TZ_.C396
    unknown pnpinfo _HID=none _UID=0 at handle=\_TZ_.C397
    unknown pnpinfo _HID=none _UID=0 at handle=\_TZ_.C398
    unknown pnpinfo _HID=PNP0C0B _UID=0 at handle=\_TZ_.C399
    unknown pnpinfo _HID=PNP0C0B _UID=1 at handle=\_TZ_.C39A
    unknown pnpinfo _HID=PNP0C0B _UID=2 at handle=\_TZ_.C39B
    unknown pnpinfo _HID=PNP0C0B _UID=3 at handle=\_TZ_.C39C
    acpi_tz0 pnpinfo _HID=none _UID=0 at handle=\_TZ_.TZ1_
    acpi_timer0 pnpinfo unknown at unknown
        ACPI I/O ports:
            0x8008-0x800b

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



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