From: Pavel Machek <pavel@ucw.cz>
To: matthieu castet <castet.matthieu@free.fr>
Cc: "Rafael J. Wysocki" <rjw@sisk.pl>,
linux-acpi@vger.kernel.org,
pm list <linux-pm@lists.linux-foundation.org>
Subject: Re: suspend to ram problem
Date: Thu, 7 Feb 2008 10:23:21 +0100 [thread overview]
Message-ID: <20080207092321.GC1816@elf.ucw.cz> (raw)
In-Reply-To: <47A8EB02.90502@free.fr>
Hi!
>>>> Hmm, maybe I know where problem could be. Try
>>>>
>>>> movl $(wakeup_stack - wakeup_code), %esp #
>>>> Private stack is needed for ASUS bo\
>>>>
>>>> instead of existing stack setup. That helped on one of my test-boxes
>>> Thanks, I will try that.
>>> Because clearing the flags imply pop/push in the stack it could be the
>>> problem
>> That doesn't help : it still crash in pushl $0.
>>
> All stack stuff in wakeup_code crash for me.
> I tried to change the stack position, make sure upper bit of %esp are
> clear, ... nothing work.
> What's are strange is that according to my x86 manual, in real mode the
> failure can only happen if the stack wrap which is not the case here.
> Any x86 guru advice ?
Could you try the .c wakeup? I changed it a bit, perhaps that's enough.
> If I remove stack access (remove clearing flag stuff, not call to video
> stuff) the resume works.
Actually, I see a possible problem:
_start:
cli
cld
/* Set up segments */
movw %cs,%ax
movw %ax,%ds
movw %ax,%es
movw %ax,%ss
movl $wakeup_stack_end, %esp
/* Clear the EFLAGS */
pushl $0
popfl
...if someone calls start as 0x1234:0, we are okay. But if some broken
bios calls us as 0x1:0x234, we've got a problem.
One possible hack would be to movl 0, %esp. That should put the stack
at _start, corrupting memory but hopefully helping you diagnose it.
Pavel
--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
next prev parent reply other threads:[~2008-02-07 15:19 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-02-03 13:37 suspend to ram problem matthieu castet
2008-02-03 15:31 ` matthieu castet
2008-02-03 17:39 ` Rafael J. Wysocki
2008-02-03 18:18 ` Pavel Machek
2008-02-03 18:22 ` Rafael J. Wysocki
2008-02-03 18:40 ` matthieu castet
2008-02-04 6:57 ` matthieu castet
2008-02-05 23:02 ` matthieu castet
2008-02-05 23:20 ` Rafael J. Wysocki
2008-02-06 22:40 ` matthieu castet
2008-02-06 22:43 ` Pavel Machek
2008-02-06 23:03 ` Rafael J. Wysocki
2008-02-07 20:12 ` Cacy Rodney
2008-02-06 22:43 ` Pavel Machek
2008-02-06 23:17 ` matthieu castet
2008-02-07 9:20 ` Pavel Machek
2008-02-07 19:49 ` matthieu castet
2008-02-07 20:00 ` Rafael J. Wysocki
2008-02-08 22:10 ` Pavel Machek
2008-02-07 9:23 ` Pavel Machek [this message]
2008-02-07 18:39 ` Rafael J. Wysocki
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20080207092321.GC1816@elf.ucw.cz \
--to=pavel@ucw.cz \
--cc=castet.matthieu@free.fr \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-pm@lists.linux-foundation.org \
--cc=rjw@sisk.pl \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox