Trouble with APM suspend in 5.3-R
Andrew Belashov
bel at orel.ru
Thu Jan 20 22:39:32 PST 2005
Добрый день!
Dave Walton wrote:
> Gleb Smirnoff wrote:
>
>> On Wed, Jan 19, 2005 at 11:42:57PM -0800, Dave Walton wrote:
>> D> I've been unable to get APM suspend/resume to work with 5.3-R on my
>> D> Thinkpad 770Z. As released, 'apm -z' causes a lockup (it worked
>> fine in D> 4.x). Revision 1.233 of ata-all.c fixes that, and 'apm -z'
>> now causes D> the system to properly suspend to disk, as it had
>> before. However, when D> the system resumes, it spits out three
>> errors regarding pir0, then D> panics. This happens with or without
>> your patch applied to ata-all.c.
>>
>> pir0? What's that?
>
>
> Based on dmesg output, it's PCI Interrupt Routing Table. Whatever that is.
>
>> Anyway this should be another issue, then ATA. Can you pls show exact
>> errors?
>>
>
> Andrew Belashov posted a patch that removes the pir0 errors, but didn't
> fix the panic. Here is what now appears on the screen when I resume. I
> hope it makes more sense to you than it does to me.
>
> ----------------------------------------------------------------------
> kernel trap 12 with interrupts disabled
>
>
> fatal trap 12: page fault while in kernel mode
> fault virtual address = 0x8
> fault code = supervisor read, page not present
> instruction pointer = 0x8:0xc061ed2e
> stack pointer = 0x10:0xcde52ac8
> frame pointer = 0x10:0xcde52ac8
> code segment = base 0x8, limit 0xfffff, type 0x1b
> = DPL 0, pres 1, def32 1, gran 1
> processor eflags = resume, IOPL = 0
> current process = 28 (swi5: clock sio)
> trap number = 12
> panic: page fault
> Uptime: 1m30s
> Cannot dump. No dump device defined.
> Automatic reboot in 15 seconds - press a key on the console to abort
> --> Press a key on the console to reboot.
> --> or switch of the system now.
> ----------------------------------------------------------------------
First, show following:
$ addr2line -f -e /boot/kernel/kernel.debug 0xc061ed2e
If /boot/kernel/kernel.debug does not exist, use /boot/kernel/kernel.
To make a debug kernel, add the following line to your kernel configuration:
makeoptions DEBUG=-g
This doesn't actually install a kernel with full debugging symbols as
/boot/kernel/kernel. The /boot/kernel/kernel that gets installed is the
stripped down regular kernel, but a separate kernel.debug file is in
/usr/src/sys/compile/Your_Kernel_Name/kernel.debug.
If your kernel panics and leaves behind a core file, the kernel.debug file
is used to get the debugging symbols when you actually do the debug.
For more about Kernel Debugging, see FreeBSD Developers' Handbook:
<http://www.freebsd.org/doc/en_US.ISO8859-1/books/developers-handbook/kerneldebug.html>
With Best Regards,
Andrew Belashov.
More information about the freebsd-mobile
mailing list