On Wed, 17 Apr 2019 at 08:16, <hpa@xxxxxxxxx> wrote: > > On April 17, 2019 5:38:41 AM PDT, Daniel Drake <drake@xxxxxxxxxxxx> wrote: > >On Wed, Apr 17, 2019 at 2:16 PM Ingo Molnar <mingo@xxxxxxxxxx> wrote: > >> Ok, so acpi_gbl_reduced_hardware is set when the ... 'reduced > >hardware' > >> bit is set: > >> > >> acpi_gbl_reduced_hardware = FALSE; > >> if (acpi_gbl_FADT.flags & ACPI_FADT_HW_REDUCED) { > >> acpi_gbl_reduced_hardware = TRUE; > >> } > >> > >> > >> which is described as: > >> > >> #define ACPI_FADT_HW_REDUCED (1<<20) /* 20: [V5] ACPI > >hardware is not implemented (ACPI 5.0) */ > >> > >> That seems counter-intuitive to me: if no full ACPI hardware is > >> implemented then we should assume reduced ACPI functionality, i.e. if > >the > >> EFI runtime is otherwise available we should default to it. > > > >It's a bit confusing, but my loose understanding is that previous > >versions of the ACPI spec required system implementors to implement > >the whole thing; but that's increasingly impractical today, e.g. with > >ARM systems coming along, which do not gel well with some of the > >historical x86-rooted design aspects that spilled over into ACPI. The > >V5 spec introduces reduced mode as an opt-in new feature, but for > >compatibility with pre-V5 implementations it needs to consider "full > >hardware" mode as the default. > > > >> Feel free to send a patch that makes EFI reboot the default one under > >> these circumstances, > > > >Just to check, you mean: EFI reboot (and shutdown) become the default > >methods when the machine is booted in EFI mode, and EFI stuff has not > >been disabled with a kernel parameter? > >Even when running in full hardware ACPI mode. > > > >Thanks > >Daniel > > This, I believe, is known to not work. It definitely used to be the case that EFI reboot was unreliable, but I don't know the details. I have added Sai to cc, he may be able to provide a bit more context here, since he added the code to deal with page faults during EFI runtime service invocations (which was inspired by a EFI reboot issue IIRC). That feature may have improved the situation, but I am not confident at all that it fixes all systems.