Semi-working patch for amd64 suspend/resume

Nate Lawson nate at root.org
Sat Dec 13 13:04:55 PST 2008


Alex Keda wrote:
>> Dec 13 22:40:52 acer savecore: reboot after panic: page fault
>> Dec 13 22:40:52 acer savecore: writing core to vmcore.9
>> =============
>> acer$ uname -a
>> FreeBSD acer.lissyara.int.otradno.ru 8.0-CURRENT FreeBSD 8.0-CURRENT
>> #0: Sat Dec 13 22:29:48 MSK 2008
>> lissyara at acer.lissyara.int.otradno.ru:/usr/obj/usr/src/sys/color-console
>>  amd64
> 
> may be it useful...
> 
> acer# kgdb -q /boot/kernel/kernel vmcore.9
> Reading symbols from /boot/kernel/sound.ko...Reading symbols from
> /boot/kernel/sound.ko.symbols...done.
> done.
> ... skip ....
> Loaded symbols for /boot/kernel/radeon.ko
> Reading symbols from /boot/kernel/drm.ko...Reading symbols from
> /boot/kernel/drm.ko.symbols...done.
> done.
> Loaded symbols for /boot/kernel/drm.ko
> #0  doadump () at pcpu.h:196
> 196     pcpu.h: No such file or directory.
>         in pcpu.h
> (kgdb) bt
> #0  doadump () at pcpu.h:196
> #1  0xffffffff80528008 in boot (howto=260) at
> /usr/src/sys/kern/kern_shutdown.c:420
> #2  0xffffffff8052844c in panic (fmt=0xffffffff808a4cbc "%s") at
> /usr/src/sys/kern/kern_shutdown.c:576
> #3  0xffffffff807e4ca8 in trap_fatal (frame=0xffffff0001345720,
> eva=Variable "eva" is not available.
> ) at /usr/src/sys/amd64/amd64/trap.c:759
> #4  0xffffffff807e5074 in trap_pfault (frame=0xfffffffe4005ba20,
> usermode=0) at /usr/src/sys/amd64/amd64/trap.c:675
> #5  0xffffffff807e5970 in trap (frame=0xfffffffe4005ba20) at
> /usr/src/sys/amd64/amd64/trap.c:444
> #6  0xffffffff807c80ae in calltrap () at
> /usr/src/sys/amd64/amd64/exception.S:217
> #7  0xffffffff80551631 in device_attach (dev=0xffffff000772fb00) at
> bus_if.h:46
> #8  0xffffffff805529ea in bus_generic_attach (dev=Variable "dev" is not
> available.
> ) at /usr/src/sys/kern/subr_bus.c:2953
> #9  0xffffffff8024c2f7 in ata_identify (dev=0xffffff0001559a00) at
> /usr/src/sys/dev/ata/ata-all.c:713
> #10 0xffffffff80254d22 in ata_sata_phy_event (context=Variable "context"
> is not available.
> ) at /usr/src/sys/dev/ata/ata-sata.c:69
> #11 0xffffffff8056155a in taskqueue_run (queue=0xffffff0001499780) at
> /usr/src/sys/kern/subr_taskqueue.c:282
> #12 0xffffffff80561802 in taskqueue_thread_loop (arg=Variable "arg" is
> not available.
> ) at /usr/src/sys/kern/subr_taskqueue.c:403
> #13 0xffffffff805069c8 in fork_exit (callout=0xffffffff80561790
> <taskqueue_thread_loop>, arg=0xffffffff80b6b250, frame=0xfffffffe4005bc90)
>     at /usr/src/sys/kern/kern_fork.c:821
> #14 0xffffffff807c84be in fork_trampoline () at
> /usr/src/sys/amd64/amd64/exception.S:521
> #15 0x0000000000000000 in ?? ()

> acer# dmesg | grep ata
> atapci0: <ATI IXP600 SATA300 controller> port
> 0x9000-0x9007,0x9008-0x900b,0x9010-0x9017,0x5018-0x501b,0x5020-0x502f
> mem 0xd0409000-0xd04093ff irq 16 at device 18.0 on pci0
> atapci0: [ITHREAD]
> atapci0: AHCI Version 01.10 controller with 4 ports PM not supported
> ata2: <ATA channel 0> on atapci0
> ata2: [ITHREAD]
> ata3: <ATA channel 1> on atapci0
> ata3: port not implemented
> ata3: [ITHREAD]
> ata4: <ATA channel 2> on atapci0
> ata4: port not implemented
> ata4: [ITHREAD]
> ata5: <ATA channel 3> on atapci0
> ata5: port not implemented
> ata5: [ITHREAD]
> atapci1: <ATI IXP600 UDMA133 controller> port
> 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0x5040-0x504f irq 16 at device 20.1
> on pci0
> ata0: <ATA channel 0> on atapci1
> ata0: [ITHREAD]
> acd0: DVDR <HL-DT-ST DVDRAM GSA-T20L/NC08> at ata0-master PIO4
> ad4: 152627MB <TOSHIBA MK1646GSX LB114C> at ata2-master SATA300
> cd0 at ata0 bus 0 target 0 lun 0

ATA should be disabling its SATA PHY task during suspend, then
re-enabling it after resume. Looks like it doesn't do this.

-- 
Nate


More information about the freebsd-amd64 mailing list