From: Ingo Molnar <mingo@kernel.org>
To: Steven Rostedt <rostedt@goodmis.org>
Cc: "H. Peter Anvin" <hpa@zytor.com>,
"Li, Aubrey" <aubrey.li@linux.intel.com>,
Linus Torvalds <torvalds@linux-foundation.org>,
LKML <linux-kernel@vger.kernel.org>,
Thomas Gleixner <tglx@linutronix.de>,
Matthew Garrett <mjg59@srcf.ucam.org>
Subject: [PATCH] x86: Don't do the BIOS and PCI 0xCF9 reboot methods by default
Date: Fri, 4 Apr 2014 09:53:50 +0200 [thread overview]
Message-ID: <20140404075350.GA7136@gmail.com> (raw)
In-Reply-To: <20140404064120.GB11877@gmail.com>
* Ingo Molnar <mingo@kernel.org> wrote:
> Alternatively we could just use the following reboot order:
>
> * 1) If the FADT has the ACPI reboot register flag set, try it
> * 2) If still alive, write to the keyboard controller
> * 3) If still alive, write to the ACPI reboot register again
> * 4) If still alive, write to the keyboard controller again
> * 5) If still alive, call the EFI runtime service to reboot
> * 6) If still alive, force a triple fault
>
> I.e. eliminate the 'PCI' and 'BIOS' methods from our default
> sequence, as both are documented as being able to hang some boxes.
The patch below, on top of my first patch, does that.
Only lightly tested.
My expectation would be that Steve's box reboots fine by default with
the first patch already, and that it would still reboot fine with the
second patch applied as well.
Thanks,
Ingo
Signed-off-by: Ingo Molnar <mingo@kernel.org>
---
diff --git a/arch/x86/kernel/reboot.c b/arch/x86/kernel/reboot.c
index 527dbcb..bd9b0ef 100644
--- a/arch/x86/kernel/reboot.c
+++ b/arch/x86/kernel/reboot.c
@@ -470,10 +470,10 @@ void __attribute__((weak)) mach_reboot_fixups(void)
*
* If the machine is still alive at this stage, it gives up.
*
- * We default to following the same pattern, except that we try
- * (7) [BIOS] before (6) [PCI], and we add 8): try to force a
- * triple fault and then cycle between hitting the keyboard
- * controller and doing that.
+ * We default to following the same pattern, except that after
+ * the 5) EFI reboot step we go straight to Linux specific
+ * step 8): try to force a triple fault and then cycle between
+ * hitting the keyboard controller and doing that.
*
* This means that this function can never return, it can misbehave
* by not rebooting properly and hanging.
@@ -525,7 +525,7 @@ static void native_machine_emergency_restart(void)
EFI_RESET_WARM :
EFI_RESET_COLD,
EFI_SUCCESS, 0, NULL);
- reboot_type = BOOT_BIOS;
+ reboot_type = BOOT_TRIPLE;
break;
case BOOT_BIOS:
next prev parent reply other threads:[~2014-04-04 7:53 UTC|newest]
Thread overview: 72+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-04-03 6:14 [BUG] x86: reboot doesn't reboot Steven Rostedt
[not found] ` <070BEF4AC20468458C22969097656CD91163106C@shsmsx102.ccr.corp.intel.com>
2014-04-03 6:30 ` FW: " Li, Aubrey
2014-04-03 12:09 ` Steven Rostedt
2014-04-03 13:41 ` Steven Rostedt
2014-04-03 13:45 ` Matthew Garrett
2014-04-03 14:10 ` H. Peter Anvin
2014-04-03 14:47 ` Steven Rostedt
2014-04-03 14:50 ` Matthew Garrett
2014-04-03 15:14 ` Steven Rostedt
2014-04-03 15:17 ` Steven Rostedt
2014-04-03 15:20 ` H. Peter Anvin
2014-04-03 15:21 ` H. Peter Anvin
2014-04-03 15:39 ` Steven Rostedt
2014-04-03 15:58 ` H. Peter Anvin
2014-04-03 16:13 ` Steven Rostedt
2014-04-03 23:23 ` Li, Aubrey
2014-04-03 23:40 ` Steven Rostedt
2014-04-03 23:52 ` Li, Aubrey
2014-04-04 0:12 ` H. Peter Anvin
2014-04-04 1:27 ` Li, Aubrey
2014-04-04 1:40 ` H. Peter Anvin
2014-04-04 6:13 ` Ingo Molnar
2014-04-04 12:34 ` H. Peter Anvin
2014-04-04 15:12 ` Matthew Garrett
2014-04-04 15:13 ` H. Peter Anvin
2014-04-04 15:36 ` Matthew Garrett
2014-04-04 15:39 ` H. Peter Anvin
2014-04-04 15:46 ` Matthew Garrett
2014-04-04 16:01 ` Steven Rostedt
2014-04-04 17:34 ` Ingo Molnar
2014-04-04 17:37 ` H. Peter Anvin
2014-04-04 17:44 ` Ingo Molnar
2014-04-04 18:00 ` Matthew Garrett
2014-04-04 15:38 ` Linus Torvalds
2014-04-04 15:45 ` Matthew Garrett
2014-04-04 15:54 ` Tobias Klausmann
2014-04-04 16:09 ` Linus Torvalds
2014-04-04 16:21 ` Matthew Garrett
2014-04-04 18:19 ` Linus Torvalds
2014-04-28 6:02 ` Yuhong Bao
2014-04-04 16:31 ` H. Peter Anvin
[not found] ` <cbb97256-9323-4d67-8523-061972e07ecc@email.android.com>
2014-04-04 17:01 ` H. Peter Anvin
2014-04-04 17:40 ` Ingo Molnar
2014-04-04 18:26 ` Linus Torvalds
2014-04-04 2:16 ` Steven Rostedt
2014-04-04 2:43 ` Li, Aubrey
2014-04-03 15:35 ` Steven Rostedt
2014-04-04 6:41 ` [PATCH] x86: Try the BIOS reboot method before the PCI reboot method Ingo Molnar
2014-04-04 7:53 ` Ingo Molnar [this message]
2014-04-04 7:54 ` [tip:x86/reboot] " tip-bot for Ingo Molnar
2014-04-04 8:00 ` Ingo Molnar
2014-04-04 12:37 ` H. Peter Anvin
2014-04-04 13:30 ` Steven Rostedt
2014-04-04 13:38 ` Li, Aubrey
2014-04-04 15:09 ` Adam Williamson
2014-04-04 15:13 ` Matthew Garrett
2014-04-04 15:28 ` H. Peter Anvin
2014-04-06 17:40 ` One Thousand Gnomes
2014-04-06 18:40 ` H. Peter Anvin
2014-04-07 8:00 ` Li, Aubrey
2014-04-07 21:03 ` H. Peter Anvin
2014-04-07 22:04 ` Adam Williamson
2014-04-07 22:09 ` H. Peter Anvin
2014-04-07 23:12 ` Adam Williamson
2014-04-09 20:50 ` H. Peter Anvin
2014-04-04 17:48 ` Ingo Molnar
2014-04-04 19:12 ` Linus Torvalds
2014-04-07 15:42 ` Steven Rostedt
2014-04-14 11:22 ` [tip:x86/urgent] " tip-bot for Ingo Molnar
2014-04-14 11:27 ` Ingo Molnar
2014-04-14 16:04 ` Steven Rostedt
2014-04-16 7:40 ` [tip:x86/urgent] x86: Remove the PCI reboot method from the default chain tip-bot for Ingo Molnar
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=20140404075350.GA7136@gmail.com \
--to=mingo@kernel.org \
--cc=aubrey.li@linux.intel.com \
--cc=hpa@zytor.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mjg59@srcf.ucam.org \
--cc=rostedt@goodmis.org \
--cc=tglx@linutronix.de \
--cc=torvalds@linux-foundation.org \
/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;
as well as URLs for NNTP newsgroup(s).