Date: Sun, 30 Nov 2008 22:10:52 +0200 From: Alexander Motin <mav@FreeBSD.org> To: Jung-uk Kim <jkim@freebsd.org> Cc: freebsd-acpi@freebsd.org, freebsd-amd64@freebsd.org, peter@freebsd.org Subject: Re: Semi-working patch for amd64 suspend/resume Message-ID: <4932F34C.1040804@FreeBSD.org> In-Reply-To: <1224728582.00028075.1224715806@10.7.7.3> References: <1224616985.00027652.1224606603@10.7.7.3> <1224728582.00028075.1224715806@10.7.7.3>
next in thread | previous in thread | raw e-mail | index | archive | help
Hi. Alexander Motin wrote: > Jung-uk Kim wrote: >> I was working on suspend/resume support for amd64 and this is the >> result. It works with a modified QEMU (QEMU does not support S3) but >> real boxes that I have don't seem to like it (e.g., broken BIOSes). >> If there is someone interested in finishing it off or giving it a try, >> the patch is here: >> >> http://people.freebsd.org/~jkim/amd64_suspend.diff > > I have tried it on my Acer TM6292. S1/S2 are unsupported. On S3 system > successfully got down, but on wakeup button, two seconds after power up, > even without video initialization, it shut down, reset and then started > usual boot. I have tried both original and updated BIOS, without any > difference. > > Can I give you any other help? I have spent a day investigating the problem. I was inserting empty infinite loop into the different points of wakeup process trying to find the place where system reboots. I just haven't found any other feedback channel as video is not initialized and beeper is not working for some reason. 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; - 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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4932F34C.1040804>