Semi-working patch for amd64 suspend/resume

Alexander Motin mav at
Sun Nov 30 17:42:45 PST 2008

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.

>  - 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.

Alexander Motin

More information about the freebsd-amd64 mailing list