|
11 | 11 | #include <linux/types.h>
|
12 | 12 |
|
13 | 13 | /*
|
14 |
| - * Linux EFI stub v1.0 adds the following functionality: |
15 |
| - * - Loading initrd from the LINUX_EFI_INITRD_MEDIA_GUID device path, |
16 |
| - * - Loading/starting the kernel from firmware that targets a different |
17 |
| - * machine type, via the entrypoint exposed in the .compat PE/COFF section. |
| 14 | + * Starting from version v3.0, the major version field should be interpreted as |
| 15 | + * a bit mask of features supported by the kernel's EFI stub: |
| 16 | + * - 0x1: initrd loading from the LINUX_EFI_INITRD_MEDIA_GUID device path, |
| 17 | + * - 0x2: initrd loading using the initrd= command line option, where the file |
| 18 | + * may be specified using device path notation, and is not required to |
| 19 | + * reside on the same volume as the loaded kernel image. |
18 | 20 | *
|
19 | 21 | * The recommended way of loading and starting v1.0 or later kernels is to use
|
20 | 22 | * the LoadImage() and StartImage() EFI boot services, and expose the initrd
|
21 | 23 | * via the LINUX_EFI_INITRD_MEDIA_GUID device path.
|
22 | 24 | *
|
23 |
| - * Versions older than v1.0 support initrd loading via the image load options |
24 |
| - * (using initrd=, limited to the volume from which the kernel itself was |
25 |
| - * loaded), or via arch specific means (bootparams, DT, etc). |
| 25 | + * Versions older than v1.0 may support initrd loading via the image load |
| 26 | + * options (using initrd=, limited to the volume from which the kernel itself |
| 27 | + * was loaded), or only via arch specific means (bootparams, DT, etc). |
26 | 28 | *
|
27 |
| - * On x86, LoadImage() and StartImage() can be omitted if the EFI handover |
28 |
| - * protocol is implemented, which can be inferred from the version, |
29 |
| - * handover_offset and xloadflags fields in the bootparams structure. |
| 29 | + * The minor version field must remain 0x0. |
| 30 | + * (https://lore.kernel.org/all/[email protected]/) |
30 | 31 | */
|
31 |
| -#define LINUX_EFISTUB_MAJOR_VERSION 0x1 |
32 |
| -#define LINUX_EFISTUB_MINOR_VERSION 0x1 |
| 32 | +#define LINUX_EFISTUB_MAJOR_VERSION 0x3 |
| 33 | +#define LINUX_EFISTUB_MINOR_VERSION 0x0 |
33 | 34 |
|
34 | 35 | /*
|
35 | 36 | * LINUX_PE_MAGIC appears at offset 0x38 into the MS-DOS header of EFI bootable
|
|
0 commit comments