Ard Biesheuvel 75e8d0d980 arm64/efi/linux: Implement LoadFile2 initrd loading protocol for Linux
Recent Linux kernels will invoke the LoadFile2 protocol installed on
a well-known vendor media path to load the initrd if it is exposed by
the firmware. Using this method is preferred for two reasons:
  - the Linux kernel is in charge of allocating the memory, and so it can
    implement any placement policy it wants (given that these tend to
    change between kernel versions),
  - it is no longer necessary to modify the device tree provided by the
    firmware.

So let's install this protocol when handling the "initrd" command if
such a recent kernel was detected (based on the PE/COFF image version),
and defer loading the initrd contents until the point where the kernel
invokes the LoadFile2 protocol.

Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Tested-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
2022-10-27 20:09:05 +02:00
..
2013-12-21 03:03:31 +01:00
2022-03-14 15:44:26 +01:00
2022-03-14 15:44:26 +01:00
2021-03-02 15:54:15 +01:00
2021-03-02 16:46:09 +01:00
2015-01-24 20:52:02 +01:00
2022-03-14 15:44:26 +01:00
2022-03-14 15:44:26 +01:00
2022-03-14 15:44:26 +01:00
2022-03-14 15:44:26 +01:00
2015-12-15 10:25:34 +03:00
2022-03-14 15:44:26 +01:00
2020-07-29 16:55:47 +02:00
2022-03-14 15:44:26 +01:00
2021-11-22 16:03:15 +01:00
2020-07-29 16:55:47 +02:00
2012-02-12 15:25:25 +01:00