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/