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

OK. I've installed NetBSD on another machine and done the following alterations to ehci_pci.c

Replaced :

const u_int maxncomp = EHCI_HCS_N_CC(EREAD4(&sc->sc, EHCI_HCSPARAMS));

with :

const u_int vovo = EREAD4(&sc->sc, EHCI_HCSPARAMS);
const u_int maxncomp = EHCI_HCS_N_CC(vovo);
printf("maxncomp = %u\n", maxncomp);
printf("EREAD4(&sc->sc, EHCI_HCSPARAMS) = %x, vovo);

I hope I got the types right.
Anyway, I burned and booted boot.iso and got this :

maxncomp = 15
EREAD4(&sc->sc, EHCI_HCSPARAMS) = ffffffff

So, yeah, EHCI_HCS_N_CC(ffffffff), i.e. (ffffffff >> 12) & 0xf is 15, indeed 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 code, 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 this particular device.

Home | Main Index | Thread Index | Old Index