From: Pavel Machek <pavel@ucw.cz>
To: Jordan Crouse <jordan.crouse@amd.com>
Cc: linux-acpi@vger.kernel.org, linux-kernel@vger.kernel.org,
william.morrow@amd.com
Subject: Re: [RFC/PATCH] ACPI: Correctly recover from a failed S3 attempt
Date: Thu, 17 Aug 2006 15:48:06 +0000 [thread overview]
Message-ID: <20060817154805.GA6450@ucw.cz> (raw)
In-Reply-To: <20060808200434.GJ14539@cosmic.amd.com>
Hi!
> We have a poorly behaving BIOS that simply returns from its suspend
> procedure, rather then jumping to the restart routine indicated by
> the FACS. This appears to Linux as a failed S3 attempt.
>
> This would normally succeed, but the sysenter msrs are not
> restored and the restart fails. It is not clear if this is the only
> omission, but if the sysenter msrs are manually entered in the debugger,
> the OS resumes.
>
> The attached patch would invoke the register restore function on failure.
> This has absolutely no effect on correct systems, and, "does the right thing"
> for failed or stupid BIOSes, at least as far as I am concerned.
Can we get fixed bios, too?
What machines are affected?
> --- a/arch/i386/kernel/acpi/wakeup.S
> +++ b/arch/i386/kernel/acpi/wakeup.S
> @@ -292,7 +292,10 @@ ENTRY(do_suspend_lowlevel)
> pushl $3
> call acpi_enter_sleep_state
> addl $4, %esp
> - ret
> +
> +# In case of S3 failure, we'll emerge here. Jump
> +# to ret_point to recover
> + jmp ret_point
> .p2align 4,,7
%esp manipulation is now unneccessary?
Can we somehow propagate the error condition?
Why jmp when ret_point is next instruction?
> ret_point:
> call restore_registers
--
Thanks for all the (sleeping) penguins.
prev parent reply other threads:[~2006-08-17 15:48 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-08-08 20:04 [RFC/PATCH] ACPI: Correctly recover from a failed S3 attempt Jordan Crouse
2006-08-17 15:48 ` Pavel Machek [this message]
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=20060817154805.GA6450@ucw.cz \
--to=pavel@ucw.cz \
--cc=jordan.crouse@amd.com \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=william.morrow@amd.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.