Also, would anyone be kind enough to tell me what some of this means? I'm
aware that these are the functions on the stack, an inkling that the
problem is in apm_set_var in param.c. Is this right? I've had precious
little ddb experience. What would I do next? Whoever figures this out,
can I walk through your head and see how you troubleshoot this? I have
had C experience, just nothing with the debuggers.
Thanks,
Erich Enke
Wheaton College Science Department
apm0 at mainbus0: uvm_fault(0c0386180, 0xd000, 0, 1) -> 1
kernel: page fault trap, code=0
Stopped in swapper at trap+0x207: movzbl 0(%eax),%eax
db> t
trap() at trap+0x207
--- trap (number 4) ---
param.c(e,c03f4dbc) at 0xd701
apm_set_ver(c0688400,0,c0348054, c0688400,c03f4e10) at apm_set_ver+0x26
apmattach(c0674fc0,c0688400,c03f4ed4,c0688400,c03f4ed4) at apmattach+0x477
config_attach(c0674fc0,c0347dd0,c03f4ed4,c02918b4,c0674fc0) at
config_attach+0x306
config_found_sm(c0674fc0,c03f4ed4,c02918b4,0,0) at config_found_sm+0x29
mainbus_attach(0,c0674fc0,0,c0674fc0,0) at mainbus_attach+0xfd
config_attach(0,c0347a18,0,0,c03886d4) at config_attach+0x306
config_rootfound(c0320380,0) at config_rootfound+0x37
cpu_configure(bfeff000,c03f4fa8,c013ebd7,c03f2010,3f2000) at
cpu_configure+0x19
main(0,0,0,0,0) at main+0x36b
Can you include the following in your kernel?
options APMDEBUG
options APMDEBUG_VALUE 0xff
> apm0 at mainbus0: uvm_fault(0c0386180, 0xd000, 0, 1) -> 1
> kernel: page fault trap, code=0
> Stopped in swapper at trap+0x207: movzbl 0(%eax),%eax
Anyhow, I was seeing the same effect when the APM BIOS used a data segment
outside the expected range. The following kernel option is used
specifically to address this problem:
options APM_ALLOW_BOGUS_SEGMENTS
-- Gregory McGarry <g.mc...@ieee.org>
Shouldn't this case be detectable rather than pagefaulting?
--jhawk
You would think so. When details become available I'll look at it.
But have you ever seen a file with so many XXXs?
-- Gregory McGarry <g.mc...@ieee.org>
> Can you include the following in your kernel?
>
> options APMDEBUG
> options APMDEBUG_VALUE 0xff
The former, yes. The latter config complained about and wasn't to be
found in apm(4). I left it out. Result? Same output, nothing changed.
> The following kernel option is used
> specifically to address this problem:
>
> options APM_ALLOW_BOGUS_SEGMENTS
I suppose I shall try this as a workaround and see how it does...
Erich
Never mind. That doesn't even work. apm still hangs the kernel
Erich