Date: Fri, 15 Sep 1995 16:02:02 -0400 (EDT) From: Mark Hittinger <bugs@ns1.win.net> To: current@freebsd.org Subject: re: more EISA pci probe hang info Message-ID: <199509152002.QAA13126@ns1.win.net>
next in thread | raw e-mail | index | archive | help
More info on pci probe hang on pure EISA box:
It doesn't do it every time. Starting out with a powered off/then on
sequence seems to increase the probability of a hang. If you reboot
without powering off the hang doesn't occur as often. This is with
several iterations. I have an ep0 at 0x2000 and an ahc1 at 0x4000.
I've seen the ep0 device act weird with FreeBSD probes before.
I put in printfs and got "past probe 2" every time but on a hang did
not see the "past conf1_enable_res2" printf. So the hang is somewhere
in the code below.
Strangely enough when I put printf's between the inl/outl instructions
I cannot cause a hang. I have run out of time today to fool with this
but I wanted to pass the information along in case it narrows the scope
of the problem down. I will be able to play with this more tommorrow.
Stefan sent me some patches I will try those tommorrow also.
pcibus.c:
printf("Past probe 2\n") ;
/*-----------------------------------------------------
** Well, is it Configuration mode 1, after all ?
**-----------------------------------------------------
*/
oldval = inl (CONF1_ADDR_PORT);
outl (CONF1_ADDR_PORT, CONF1_ENABLE_CHK2);
result = inl (CONF1_ADDR_PORT);
outl (CONF1_ADDR_PORT, oldval);
if (result == CONF1_ENABLE_RES2) {
pci_mechanism = 1;
pci_maxdevice = 32;
if (pcibus_check())
{
return;
}
}
printf("Past CONF1_ENABLE_RES2\n") ;
Regards,
Mark Hittinger
Internet Manager
WinNET Communications, Inc.
bugs@win.net
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199509152002.QAA13126>
