NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: port-i386/46808: 6.0_BETA2 install crashes on VIA VT6202 detection



The following reply was made to PR port-i386/46808; it has been noted by GNATS.

From: "jc.lynx" <jc.lynx%laposte.net@localhost>
To: Christos Zoulas <christos%zoulas.com@localhost>, 
gnats-bugs%NetBSD.org@localhost, 
        port-i386-maintainer%netbsd.org@localhost, 
gnats-admin%netbsd.org@localhost, 
        netbsd-bugs%netbsd.org@localhost
Cc: 
Subject: Re: port-i386/46808: 6.0_BETA2 install crashes on VIA VT6202
 detection
Date: Wed, 05 Sep 2012 14:55:19 +0200

 ------=_Part_14267_568834531.1346849718984
 Content-Type: text/plain; charset=UTF-8
 Content-Transfer-Encoding: quoted-printable
 
 OK, I set maxncomp to 1 since it seems to be this value on my other NetBSD =
 machine : 1 companion which has 4 ports. Anyway, better initializing not en=
 ough peripherals than trying to initialize non-existing ones, I think.
 It didn't get very far, here is the end of dmesg :
 
 maxncomp =3D 15
 EREAD4(&sc->sc, EHCI_HCSPARAMS) =3D ffffffff
 forcing maxncomp to 1
 panic : kernel diagnostic assertion "(reg & 0x3) =3D=3D 0" failed: file "/u=
 sr/sys/arch/x86/pci/pci_machdep.c", line 476
 fatal breakpoint (...)
 
 The function it crashes in is pci_conf_read(pci_chipset_tag_t pc, pcitag_t =
 tag, int reg)
 
 I haven't inspected this further yet.
 
 > Message du 26/08/12 09:19
 > De : "Christos Zoulas"
 > A : "jc.lynx" , gnats-bugs%NetBSD.org@localhost, 
 > port-i386-maintainer%netbsd.org@localhost, g=
 nats-admin%netbsd.org@localhost, netbsd-bugs%netbsd.org@localhost
 > Copie =C3=A0 :
 > Objet : Re: port-i386/46808: 6.0_BETA2 install crashes on VIA VT6202 dete=
 ction
 >
 > On Aug 25, 11:21pm, jc.lynx%laposte.net@localhost ("jc.lynx") wrote:
 > -- Subject: Re: port-i386/46808: 6.0_BETA2 install crashes on VIA VT6202 =
 dete
 >
 > | OK. I've installed NetBSD on another machine and done the following alt=
 erat=3D
 > | ions to ehci_pci.c
 > |
 > | Replaced :
 > |
 > | const u_int maxncomp =3D3D EHCI_HCS_N_CC(EREAD4(&sc->sc, EHCI_HCSPARAMS=
 ));
 > |
 > | with :
 > |
 > | const u_int vovo =3D3D EREAD4(&sc->sc, EHCI_HCSPARAMS);
 > | const u_int maxncomp =3D3D EHCI_HCS_N_CC(vovo);
 > | printf("maxncomp =3D3D %u\n", maxncomp);
 > | printf("EREAD4(&sc->sc, EHCI_HCSPARAMS) =3D3D %x, vovo);
 > |
 > | I hope I got the types right.
 > | Anyway, I burned and booted boot.iso and got this :
 > |
 > | maxncomp =3D3D 15
 > | EREAD4(&sc->sc, EHCI_HCSPARAMS) =3D3D ffffffff
 > |
 > | So, yeah, EHCI_HCS_N_CC(ffffffff), i.e. (ffffffff >> 12) & 0xf is 15, i=
 ndee=3D
 > | d greater than EHCI_COMPANION_MAX which is 8 ; but I guess that this ff=
 ffff=3D
 > | is not the data we were looking for anyway.
 > | I could not find code related to "special" VT6202 handling in other BSD=
 's c=3D
 > | ode, except an unrelated issue with EHCI polling frequency.
 > | I suppose we now have to dig into how sc was initialised, or whether ER=
 EAD4=3D
 > | (&sc->sc, EHCI_HCS_PARAMS) is the way to get what we were looking for o=
 n th=3D
 > | is particular device.
 >
 > Thsat it a good way to debug it, but you can just try to clamp it to
 > EHCI_COMPANION_MAX after you print a warning and see if it gets you
 > further. My guess is that something else is wrong and the device is
 > not mapped or initialized properly. Perhaps there is something in
 > the bios you can change?
 >
 > christos
 >=20
 
 Une messagerie gratuite, garantie =C3=A0 vie et des services en plus, =C3=
 =A7a vous tente ?
 Je cr=C3=A9e ma bo=C3=AEte mail www.laposte.net
 
 ------=_Part_14267_568834531.1346849718984
 Content-Type: text/html; charset=UTF-8
 Content-Transfer-Encoding: quoted-printable
 
 <p style=3D"margin:0;padding:0;" align=3D"left">OK, I set maxncomp to 1 sin=
 ce it seems to be this value on my other NetBSD machine : 1 companion which=
  has 4 ports. Anyway, better initializing not enough peripherals than tryin=
 g to initialize non-existing ones, I think.<br />It didn't get very far, he=
 re is the end of dmesg :<br /><br />maxncomp =3D 15<br />EREAD4(&amp;sc-&gt=
 ;sc, EHCI_HCSPARAMS) =3D ffffffff<br />forcing maxncomp to 1<br />panic : k=
 ernel diagnostic assertion &quot;(reg &amp; 0x3) =3D=3D 0&quot; failed: fil=
 e &quot;/usr/sys/arch/x86/pci/pci_machdep.c&quot;, line 476<br /></p> fatal=
  breakpoint (...)<br /><br />The function it crashes in is pci_conf_read(pc=
 i_chipset_tag_t pc, pcitag_t tag, int reg)<br /><br />I haven't inspected t=
 his further yet.<br /><br /><blockquote style=3D"padding-left: 5px; margin-=
 left: 5px; border-left: 2px solid #ff0000">&gt; Message du 26/08/12 09:19<b=
 r />&gt; De : &quot;Christos Zoulas&quot; <br />&gt; A : &quot;jc.lynx&quot=
 ; , gnats-bugs%NetBSD.org@localhost, 
port-i386-maintainer%netbsd.org@localhost, gnats-admin@net=
 bsd.org, netbsd-bugs%netbsd.org@localhost<br />&gt; Copie &agrave; : <br 
/>&gt; Objet=
  : Re: port-i386/46808: 6.0_BETA2 install crashes on VIA VT6202 detection<b=
 r />&gt;<br />&gt; On Aug 25, 11:21pm, jc.lynx%laposte.net@localhost 
(&quot;jc.lynx&q=
 uot;) wrote:<br />&gt; -- Subject: Re: port-i386/46808: 6.0_BETA2 install c=
 rashes on VIA VT6202 dete<br />&gt; <br />&gt; | OK. I've installed NetBSD =
 on another machine and done the following alterat=3D<br />&gt; | ions to eh=
 ci_pci.c<br />&gt; | <br />&gt; | Replaced :<br />&gt; | <br />&gt; | const=
  u_int maxncomp =3D3D EHCI_HCS_N_CC(EREAD4(&amp;sc-&gt;sc, EHCI_HCSPARAMS))=
 ;<br />&gt; | <br />&gt; | with :<br />&gt; | <br />&gt; | const u_int vovo=
  =3D3D EREAD4(&amp;sc-&gt;sc, EHCI_HCSPARAMS);<br />&gt; | const u_int maxn=
 comp =3D3D EHCI_HCS_N_CC(vovo);<br />&gt; | printf(&quot;maxncomp =3D3D %u\=
 n&quot;, maxncomp);<br />&gt; | printf(&quot;EREAD4(&amp;sc-&gt;sc, EHCI_HC=
 SPARAMS) =3D3D %x, vovo);<br />&gt; | <br />&gt; | I hope I got the types r=
 ight.<br />&gt; | Anyway, I burned and booted boot.iso and got this :<br />=
 &gt; | <br />&gt; | maxncomp =3D3D 15<br />&gt; | EREAD4(&amp;sc-&gt;sc, EH=
 CI_HCSPARAMS) =3D3D ffffffff<br />&gt; | <br />&gt; | So, yeah, EHCI_HCS_N_=
 CC(ffffffff), i.e. (ffffffff &gt;&gt; 12) &amp; 0xf is 15, indee=3D<br />&g=
 t; | d greater than EHCI_COMPANION_MAX which is 8 ; but I guess that this f=
 fffff=3D<br />&gt; |  is not the data we were looking for anyway.<br />&gt;=
  | I could not find code related to &quot;special&quot; VT6202 handling in =
 other BSD's c=3D<br />&gt; | ode, except an unrelated issue with EHCI polli=
 ng frequency.<br />&gt; | I suppose we now have to dig into how sc was init=
 ialised, or whether EREAD4=3D<br />&gt; | (&amp;sc-&gt;sc, EHCI_HCS_PARAMS)=
  is the way to get what we were looking for on th=3D<br />&gt; | is particu=
 lar device.<br />&gt; <br />&gt; Thsat it a good way to debug it, but you c=
 an just try to clamp it to<br />&gt; EHCI_COMPANION_MAX after you print a w=
 arning and see if it gets you<br />&gt; further. My guess is that something=
  else is wrong and the device is<br />&gt; not mapped or initialized proper=
 ly. Perhaps there is something in<br />&gt; the bios you can change?<br />&=
 gt; <br />&gt; christos<br />&gt; </blockquote><BR><BR><a target=3D_blank h=
 ref=3Dhttp://www.laposte.net/Archiver/index.jsp><img style=3D"margin: 0pt;"=
  src=3D"http://webmail-qualif-testobs.laposte.net/webmail/fr_FR/panels/imag=
 es/Pied_de_Mail_DGP.gif" alt=3D""><a>
 ------=_Part_14267_568834531.1346849718984--
 


Home | Main Index | Thread Index | Old Index