Messages in this thread | | | Date | Fri, 28 Feb 2014 04:56:37 +0000 | From | Matthew Garrett <> | Subject | Re: [patch] x86: Introduce BOOT_EFI and BOOT_CF9 into the reboot sequence loop |
| |
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. 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.
What do the ACPI reboot vectors look like on these systems?
> - * 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.
-- Matthew Garrett | mjg59@srcf.ucam.org
| |