[PATCH v7 04/17] ARM64 / ACPI: Introduce early_param for "acpi" and pass acpi=force to enable ACPI

Catalin Marinas
2015-01-21T15:42:43Z

On Wed, Jan 21, 2015 at 03:29:52PM +0000, Jon Masters wrote:
> On 01/21/2015 10:23 AM, Catalin Marinas wrote:
> > I have some questions for the ACPI and EFI folk:
> >
> > 1. When booting with ACPI, are the EFI run-time services required for
> > anything? If yes, Xen may have a bigger problem
>
> Yes. At least for some things. For example, installing an Operating
> System would require that you make runtime services calls to set the
> BootOrder/BootNext variables, and so on. Further, we use the GetTime
> service and EFI based reboot to avoid having special drivers. I had
> those added to SBBR as requirements for that reason.

So what would a kexec'ed kernel do here? Or we usually expect it to be
short lived and doesn't need reboot, nor GetTime.

Xen is slightly more problematic but I wonder whether it could run a
(paravirtualised) UEFI.

> > 2. Could a boot loader (either kernel doing kexec or Xen) emulate the
> > EFI system/config tables and still make them useful to the kernel but
> > without EFI_BOOT or EFI_RUNTIME_SERVICES?
>
> Yes. But again, without the other required pieces (including the
> services function pointers in the systab which are required) you'd crash
> soon after boot trying to make those calls.

My point was whether you can still pass information like RSDP address
via EFI tables but explicitly disable runtime services so that the
kernel won't try to make such calls (and crash).

--
Catalin