Date: Mon, 1 Sep 2008 22:13:20 +0100 (WEST) From: Miguel Lopes Santos Ramos <miguel@anjos.strangled.net> To: takawata@init-main.com Cc: freebsd-acpi@freebsd.org Subject: Re: Suspend/Resume on AMD64 Message-ID: <200809012113.m81LDK1R024104@satan.anjos.strangled.net> In-Reply-To: <200808301838.m7UIc4hE018292@sana.init-main.com>
next in thread | previous in thread | raw e-mail | index | archive | help
This is pretty scary... There's much more to be done than I thought. Well, I'm editing code without paying attention to consequences. It can't hurt anyone until it runs... I'm starting with the easyest part: adding the extra registers (r8-r15, cool!, I wish I had these back in my days of assembly programming). I am also taking a look at amd64/amd64/mpboot.S, which contains protected mode and 64-bit mode initialization, needed for wakeup. It is too early to need help. I'm still learning about AMD64 and refreshing my memory of control registers. I will contact you again in a week or so, if it's ok. Miguel > From takawata@init-main.com Sat Aug 30 20:10:23 2008 > > In message <200808301751.m7UHprcc023311@satan.anjos.strangled.net>, Miguel Lope > s Santos Ramos wrote: > > > >Hi, > > > >I'm running amd64 on my laptop since early 2005. > >Had a bunch of problems, ehci, radeon, etc, but most were fixed by someone sin > >ce then. > >One thing I still miss though is ACPI suspend/resume. > >Browsing through dev/acpica I found out that this feature set is simply disabl > >ed outside i386 > >(several #ifndef __i386__) and figured that maybe that's just because no one a > >ppeared to test it. > > The code is in i386/acpica/acpi_wakeup.c, i386/acpica/acpi_wakecode.S > > > >Well, I hereby volunteer to test this. > >I have already removed the ifndefs and achieved a machine hang when tried to s > >uspend. > > > >I have some experience with 80386 initialization (almost obsolete), > >I am a capable programmer (able to keep the indentation of an existing source > >file), > >and may be able to develop some new code if someone points me to the right > >documents at Intel or AMD. > >I am partially available on weekends. > > > >Will someone involved with suspend/resume on i386 help me on this? > > You called me? :-) > > >Would it be necessary to move to -CURRENT? > >Where should I start? > > Copy the code to amd64/acpica/ then try to run as it is. > In amd64, you have to preserve many registers than i386, so > the code should be more ABI aware. > http://2008.asiabsdcon.org/papers/P9A-paper.pdf > > To debug lowest part of resume code, you may want to use > BEEP debug. > > I wrote incomplete SMP suspend/resume code 3 months ago. > http://lists.freebsd.org/pipermail/freebsd-acpi/2008-May/004879.html > > Indeed, I reserve 10GB partition to my primary laptop > to develop amd64 suspend/resume.But I don't even install it yet. > So if you implement it, I'm willing to test it :-P.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200809012113.m81LDK1R024104>