Date: Wed, 17 Jul 1996 10:35:51 -0600 (MDT) From: Nate Williams <nate@mt.sri.com> To: dave edmondson <davided@sco.com> Cc: Nate Williams <nate@mt.sri.com>, mobile@freebsd.org, bde@freebsd.org, davidg@freebsd.org Subject: re: Possible fix for APM_DSVALUE_BUG Message-ID: <199607171635.KAA00491@rocky.mt.sri.com> In-Reply-To: <199607171527.QAA00438@zero-gravity.netlab.london.sco.com> References: <199607161832.MAA25236@rocky.mt.sri.com> <199607171527.QAA00438@zero-gravity.netlab.london.sco.com>
next in thread | previous in thread | raw e-mail | index | archive | help
dave edmondson writes: > nate, thanks for the fix. things have improved (in some respects). > > with this latest fix my tp760 will now boot, apm 1.1 is detected and > apm mostly works (*). > * - there are some error messages when i resume after suspend, which > i'm looking into, but they don't seem to be related to the above > problem. Try doing this without any cards installed. It appears that the generic PCCARD suspend/resume code doesn't always work right. I want to get to it next, but I wanted to get the APM code working on everything first. > unfortunately, the ep driver doesn't work with > my 3c589 any more. with the `standard' pccard.conf card configuration > fails. setting the interrupt to 10 (or various other values) in > pccard.conf solves this, and the card is recognised and configuration > proceeds. Do you have IRQ 3 available in /etc/pccard.conf? If so, remove it since it's probably being used by the PCIC controller. Also, if you have a built-in sound-card then remove IRQ 5 as well. > during configuration, a single page of kernel text gets > filled with zero's. this happens during the call to dev_attach() from > ep_isa_registerdev() from ep_pccard_init() from allocate_driver(). Just for grins, comment out the call to ep_isa_registerdev() and see if that does anything. The function isn't essential to the working of the driver and used for statistics. > the page that gets zero'd is always the same - that surrounding the > kdc_npx structure in i386/isa/npx.c. the instruction that causes it > to happen is a movl which corresponds to: > kdc->kdc_next->kdc_rlink = &kdc->kdc_next > in dev_attach(). i guess it's always the same page because npx is > always first on my dc_list. Hmm.... *Shot in the dark* In the patch I sent out, I had some code that rounded it down to the correct page that was ifdef'd out with 'unsure_if_needed' or somesuch. Try enabling that code and disabling the code below and see if helps. Also, does using the option APM_DSVALUE_BUG work on your box at all? > stopping the kernel (using the debugger) before the offending > instruction and writing to the same location myself doesn't cause the > same behaviour. i presume that something is messing up the page > descriptor for this page and the vm system is demand filling it with > zero's (will it do that whilst i'm single stepping in the debugger ?). Bruce would be able to answer that better. > this page being zero filled causes a panic on the next exec, because > npxinit() gets called (and now starts with addb %al, 0(%eax) where > %eax has some completely useless value (0x8zzzzzzz something). > > at this point i'm stumped - vm stuff always does have me banging my > head. > > as an aside, my usrobotics xj2288 modem works just fine ! Great! Let me know if any of the above suggestions work. Nate
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199607171635.KAA00491>