Message ID | 111d4120936d23e6023619660778444eb226a22f.1678785672.git.baskov@ispras.ru |
---|---|
State | New |
Headers | show |
Series | x86_64: Improvements at compressed kernel stage | expand |
diff --git a/arch/x86/boot/tools/build.c b/arch/x86/boot/tools/build.c index 476ef05f16fb..5ac4f08ed923 100644 --- a/arch/x86/boot/tools/build.c +++ b/arch/x86/boot/tools/build.c @@ -588,6 +588,8 @@ int main(int argc, char **argv) memcpy(output + setup_size + efi_boot_params + SETUP_HEADER_OFFSET, setup_header, 0x290 - SETUP_HEADER_OFFSET /* == max possible sizeof(struct setup_header) */); + /* Set type_of_loader to the one that EFISTUB uses for the local copy */ + output[setup_size + efi_boot_params + SETUP_HEADER_OFFSET + 0x1F] = 0x21; #endif /* Calculate and write kernel checksum. */
After switching to the local copy of boot_params, EFISTUB stopped setting type_of_loader, using the default value of 0. Restore that behavior by assigning the right value at the build time. Signed-off-by: Evgeniy Baskov <baskov@ispras.ru> --- arch/x86/boot/tools/build.c | 2 ++ 1 file changed, 2 insertions(+)