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 enough peripherals than trying to initialize non-existing ones, I think.
It didn't get very far, here is the end of dmesg :
maxncomp = 15
EREAD4(&sc->sc, EHCI_HCSPARAMS) = ffffffff
forcing maxncomp to 1
panic : kernel diagnostic assertion "(reg & 0x3) == 0" failed: file "/usr/sys/arch/x86/pci/pci_machdep.c", line 476
> Message du 26/08/12 09:19
> De : "Christos Zoulas"
> A : "jc.lynx" , gnats-bugs%NetBSD.org@localhost, port-i386-maintainer%netbsd.org@localhost, gnats-admin%netbsd.org@localhost, netbsd-bugs%netbsd.org@localhost
> Copie à :
> Objet : Re: port-i386/46808: 6.0_BETA2 install crashes on VIA VT6202 detection
> 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 alterat=
> | ions to ehci_pci.c
> | Replaced :
> | const u_int maxncomp =3D EHCI_HCS_N_CC(EREAD4(&sc->sc, EHCI_HCSPARAMS));
> | with :
> | const u_int vovo =3D EREAD4(&sc->sc, EHCI_HCSPARAMS);
> | const u_int maxncomp =3D EHCI_HCS_N_CC(vovo);
> | printf("maxncomp =3D %u\n", maxncomp);
> | printf("EREAD4(&sc->sc, EHCI_HCSPARAMS) =3D %x, vovo);
> | I hope I got the types right.
> | Anyway, I burned and booted boot.iso and got this :
> | maxncomp =3D 15
> | EREAD4(&sc->sc, EHCI_HCSPARAMS) =3D ffffffff
> | So, yeah, EHCI_HCS_N_CC(ffffffff), i.e. (ffffffff >> 12) & 0xf is 15, indee=
> | d greater than EHCI_COMPANION_MAX which is 8 ; but I guess that this ffffff=
> | is not the data we were looking for anyway.
> | I could not find code related to "special" VT6202 handling in other BSD's c=
> | ode, except an unrelated issue with EHCI polling frequency.
> | I suppose we now have to dig into how sc was initialised, or whether EREAD4=
> | (&sc->sc, EHCI_HCS_PARAMS) is the way to get what we were looking for on th=
> | 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?