Date: Sun, 18 Jan 1998 12:11:03 -0700 From: Nate Williams <nate@mt.sri.com> To: Ugo Paternostro <paterno@dsi.unifi.it> Cc: Nate Williams <nate@mt.sri.com>, freebsd-mobile@FreeBSD.ORG Subject: Re: Cirrus Logic PD6729 Message-ID: <199801181911.MAA00697@mt.sri.com> In-Reply-To: <XFMail.980118172429.paterno@dsi.unifi.it> References: <199801172040.NAA26567@mt.sri.com> <XFMail.980118172429.paterno@dsi.unifi.it>
next in thread | previous in thread | raw e-mail | index | archive | help
> Yes, you're right: I was missing a bit in the command mask: I did enable the IO > but didn't enable the memory. Now I enable both 'em and, guess it, it works. > Well, it almost works... :-( > > What I mean is that the kernel boots fine from a cold boot, but if I reboot > with "shutdown -r now" it panics just after printing "Intel Pentium F00F > detected, installing workaround", where it would normally print "Card inserted, > slot 0". I get a "Fatal trap 12: page fault while in kernel mode" and, when I > reboot, it boots ok once more, and so on (all the even boots end with a panic, > but the odd ones work perfectly). Interesting. Any chance of getting a crash dump to see exactly where the fault is occurring? > It is obviously a driver configuration problem, so I tried to disable > interrupts in the init routine, and just moved the panic just below the "apm: > found APM BIOS version 1.2" message, where it would normally print "PC-Card > Cirrus Logic PD672X (5 mem & 2 I/O windows)". Once more, I get a trap 12, but > this time when I reboot the machine does not see the HD any more: I have to > power cycle it. It's possible that the 'poll' is causing the panic. Try disabling the poll of the PCCARD controller in /sys/pccard/pcic.c. A cut-paste uni-diff is appended below (don't apply it, it won't work). [ Patch deleted ] I'll wait until everything is done until I submi this patch, OK? Nate ---------- Index: pcic.c =================================================================== RCS file: /home/CVS/src/sys/pccard/pcic.c,v retrieving revision 1.23.2.5 diff -u -r1.23.2.5 pcic.c --- pcic.c 1997/11/15 14:11:34 1.23.2.5 +++ pcic.c 1998/01/18 19:08:57 @@ -794,8 +794,8 @@ pcic98_probe_end: } #endif /* PC98 */ - if (validslots) - timeout(pcictimeout,0,hz/2); + if (validslots && pcic_irq == 0) + timeout(pcictimeout, 0, hz/2); return(validslots); }
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199801181911.MAA00697>