Re: [patch] x86: Introduce BOOT_EFI and BOOT_CF9 into the reboot sequence loop
From: Li, Aubrey
Date: Fri Feb 28 2014 - 00:22:47 EST
On 2014/2/28 12:56, Matthew Garrett wrote:
> On Fri, Feb 28, 2014 at 12:11:57PM +0800, Li, Aubrey wrote:
>> This patch is to introduce BOOT_EFI and BOOT_CF9 in the reboot sequence
>> loop, to fix the reboot problem on the known Intel Bay Trail-T based
>> platform, for example, ASUS-T100 and Dell Venue 8/11 Pro. These
>> platforms don't support ACPI reboot, we expect to call EFI runtime
>> service to handle this case, and CF9 is an alternate after EFI.
>
> 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.
> 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?
>
> What do the ACPI reboot vectors look like on these systems?
Reset register address: 0xCF9
Value to cause reset: 0x6
>
>> - * 3) If still alive, write to the ACPI reboot register again
>> - * 4) If still alive, write to the keyboard controller again
>> + * 3) If still alive, call EFI runtime service
>> + * 4) If still alive, write to the PCI IO port 0xCF9
>
> 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?
Thanks,
-Aubrey
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/