From: "Li, Aubrey" <aubrey.li@linux.intel.com>
To: Matthew Garrett <mjg59@srcf.ucam.org>
Cc: "alan@linux.intel.com" <alan@linux.intel.com>,
linux-kernel@vger.kernel.org,
"H. Peter Anvin" <hpa@linux.intel.com>,
Len.Brown@intel.com, Adam Williamson <awilliam@redhat.com>
Subject: Re: [patch] x86: Introduce BOOT_EFI and BOOT_CF9 into the reboot sequence loop
Date: Fri, 28 Feb 2014 14:07:58 +0800 [thread overview]
Message-ID: <531027BE.2010807@linux.intel.com> (raw)
In-Reply-To: <20140228055629.GA847@srcf.ucam.org>
On 2014/2/28 13:56, Matthew Garrett wrote:
> On Fri, Feb 28, 2014 at 01:22:37PM +0800, Li, Aubrey wrote:
>> On 2014/2/28 12:56, Matthew Garrett wrote:
>>> EFI reboot is still somewhat unreliable - it may be safe after the
>>> recent patches to provide a 1:1 mapping.
>>
>> So it's acceptable to put EFI in the default list.
>
> Probably, once we've got those patches landed (I've lost track of
> whether they're in 3.13 or aimed at 3.14)
You didn't look the reference I quoted in the patch.
It's stable if 32/64 bit linux call the corresponding 32/64bit EFI
runtime service. Matt Fleming's mixed mode is aiming at 3.15:
http://git.kernel.org/cgit/linux/kernel/git/mfleming/efi.git/log/?h=mixed-mode
>
>>> CF9 is, as far as I know, not part of any spec, so it seems like a bad
>>> idea to put it in the default list.
>>
>> Any hurt known if put it in the default list?
>
> Mm. Not all x86 platforms support cf8/cf9 (Moorestown, for instance) and
> so it's theoretically possible that they'd put some different hardware
> there instead. But then, Moorestown probably has its own reboot code, so
> that may not matter?
Yes, Moorestown has its own machine_ops. Instead of the system hanging
after issue "reboot" command, I think and suggest CF9 is worth to have a
try.
>
>>>
>>> What do the ACPI reboot vectors look like on these systems?
>>
>> Reset register address: 0xCF9
>> Value to cause reset: 0x6
>
> Huh. But that's almost exactly what the PCI reboot code would do. Why
> does the PCI method work but the ACPI one fail? Does it really depend on
> ORing the original value with the reset value? Or is the timing just
> somehow marginal?
reboot returns at:
if (!(acpi_gbl_FADT.flags & ACPI_FADT_RESET_REGISTER))
return;
This is a ACPI bug or intention, who knows.
>
>>> This is definitely incorrect. The ACPI write *must* occur twice in order
>>> to be effective on various systems. EFI shouldn't be attempted until
>>> after the second ACPI write.
>>>
>>
>> Do we have any spec mentioned that?
>
> Nope. This is entirely unspecified, it's just how things work - several
> vendors use cf9 for the ACPI reboot vector, and there have to be two
> writes to cf9 to trigger the reboot. Windows attempts the write twice,
> and as a result things work.
>
Thanks to clarify this, I'll refine the patch, including CF9 if you
don't have more concern.
-Aubrey
next prev parent reply other threads:[~2014-02-28 6:08 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-02-28 4:11 [patch] x86: Introduce BOOT_EFI and BOOT_CF9 into the reboot sequence loop Li, Aubrey
2014-02-28 4:56 ` Matthew Garrett
2014-02-28 5:22 ` Li, Aubrey
2014-02-28 5:56 ` Matthew Garrett
2014-02-28 6:07 ` Li, Aubrey [this message]
2014-02-28 6:12 ` Matthew Garrett
2014-02-28 6:20 ` Li, Aubrey
2014-02-28 6:23 ` Matthew Garrett
2014-02-28 6:39 ` Li, Aubrey
2014-02-28 6:44 ` Matthew Garrett
2014-02-28 6:54 ` Li, Aubrey
2014-02-28 17:47 ` H. Peter Anvin
2014-02-28 22:11 ` Li, Aubrey
2014-02-28 22:16 ` Adam Williamson
2014-03-01 17:10 ` Li, Aubrey
2014-03-01 17:22 ` Matthew Garrett
2014-03-01 17:31 ` Li, Aubrey
2014-03-01 18:19 ` Matthew Garrett
2014-03-01 19:01 ` Matthew Garrett
2014-03-02 0:15 ` Li, Aubrey
2014-03-01 20:06 ` H. Peter Anvin
2014-03-01 20:21 ` Matthew Garrett
2014-03-01 20:26 ` H. Peter Anvin
2014-03-02 0:26 ` Li, Aubrey
2014-03-02 0:33 ` H. Peter Anvin
2014-03-02 1:47 ` Li, Aubrey
2014-03-02 2:07 ` H. Peter Anvin
2014-03-02 2:20 ` Li, Aubrey
2014-03-02 2:23 ` Matthew Garrett
2014-03-02 2:35 ` H. Peter Anvin
2014-03-02 10:39 ` Li, Aubrey
2014-03-02 16:52 ` H. Peter Anvin
2014-03-02 22:13 ` Li, Aubrey
2014-03-02 22:26 ` Matthew Garrett
2014-03-02 22:45 ` Li, Aubrey
2014-03-02 23:11 ` Matthew Garrett
2014-03-02 23:23 ` Li, Aubrey
2014-03-03 0:07 ` Matthew Garrett
2014-03-03 0:18 ` H. Peter Anvin
2014-03-03 1:36 ` Li, Aubrey
2014-03-03 1:47 ` H. Peter Anvin
2014-03-03 1:49 ` Li, Aubrey
2014-03-03 22:11 ` Li, Aubrey
2014-03-02 23:57 ` H. Peter Anvin
2014-03-05 23:39 ` [tip:x86/reboot] x86, reboot: Add EFI and CF9 reboot methods into the default list tip-bot for Li, Aubrey
2014-03-05 23:45 ` [tip:x86/reboot] x86, reboot: Only use CF9_COND automatically, not CF9 tip-bot for H. Peter Anvin
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=531027BE.2010807@linux.intel.com \
--to=aubrey.li@linux.intel.com \
--cc=Len.Brown@intel.com \
--cc=alan@linux.intel.com \
--cc=awilliam@redhat.com \
--cc=hpa@linux.intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mjg59@srcf.ucam.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 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.