|
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/efd6f2d4-547c-1378-1faa-53c044dbd297@gmail.com/) |
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