Semi-working patch for amd64 suspend/resume

Ian Smith smithi at nimnet.asn.au
Sun Nov 30 20:51:51 PST 2008


On Mon, 1 Dec 2008, Alexander Motin wrote:
 > Alexander Motin wrote:
 > > As result, I have found, that if I am inserting:
 > > qqq:
 > >         jmp     qqq
 > > lines before line 98 of acpi_switch.S:
 > >     movl    $MSR_MTRRdefType, %ecx
 > >         movl    WAKEUP_CTX(mtrr), %eax
 > >         wrmsr
 > > system hangs, but if I insert it just after them - system reboots.
 > > 
 > > With just commenting this three lines I was able to get successful
 > > suspend/resume with UP amd64 kernel!!!
 > > 
 > > Here is problems I still have now:
 > >  - SMP kernel resume is not working, system reboots while doing
 > > acpi_wakeup_cpus();
 > >  - SATA controller does not resumes correctly, it dies for some reason,
 > > reporting timeouts on any request;
 > 
 > This one is not a problem anymore. Seems to be fixed.

Progress!

 > >  - text mode video does not restores on resume, while Xorg graphic one
 > > does. hw.acpi.reset_video=1 does not help, it just hanging resume process.

Longshot: hw.syscons.sc_no_suspend_vtswitch=1 fixes similar symptoms on 
two (older, i386 and UP) laptops here.  Some folks have reported needing 
to have VESA loaded to get text mode video back up.  Maybe worth a try?

cheers, Ian


More information about the freebsd-amd64 mailing list