From 38be1b3221b1e85cac1af8a67c733752265425d7 Mon Sep 17 00:00:00 2001 From: PA4WDH Date: Wed, 25 Aug 2021 12:02:32 +0200 Subject: Add sys-boot/grub-2.06-r1 --- .../grub-2.06-006-riscv-update-image-header.patch | 81 ++++++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 sys-boot/grub/files/grub-2.06-006-riscv-update-image-header.patch (limited to 'sys-boot/grub/files/grub-2.06-006-riscv-update-image-header.patch') diff --git a/sys-boot/grub/files/grub-2.06-006-riscv-update-image-header.patch b/sys-boot/grub/files/grub-2.06-006-riscv-update-image-header.patch new file mode 100644 index 0000000..5ebd4f2 --- /dev/null +++ b/sys-boot/grub/files/grub-2.06-006-riscv-update-image-header.patch @@ -0,0 +1,81 @@ +Update the RISC-V Linux kernel image headers as per the current header. + +Reference: +/Documentation/riscv/boot-image-header.rst + +Signed-off-by: Atish Patra +--- + include/grub/riscv32/linux.h | 15 ++++++++------- + include/grub/riscv64/linux.h | 15 ++++++++------- + 2 files changed, 16 insertions(+), 14 deletions(-) + +diff --git a/include/grub/riscv32/linux.h b/include/grub/riscv32/linux.h +index 512b777c8..de0dbdcd1 100644 +--- a/include/grub/riscv32/linux.h ++++ b/include/grub/riscv32/linux.h +@@ -19,20 +19,21 @@ + #ifndef GRUB_RISCV32_LINUX_HEADER + #define GRUB_RISCV32_LINUX_HEADER 1 + +-#define GRUB_LINUX_RISCV_MAGIC_SIGNATURE 0x52534356 /* 'RSCV' */ ++#define GRUB_LINUX_RISCV_MAGIC_SIGNATURE 0x05435352 /* 'RSC\0x5' */ + +-/* From linux/Documentation/riscv/booting.txt */ ++/* From linux/Documentation/riscv/boot-image-header.rst */ + struct linux_riscv_kernel_header + { + grub_uint32_t code0; /* Executable code */ + grub_uint32_t code1; /* Executable code */ +- grub_uint64_t text_offset; /* Image load offset */ +- grub_uint64_t res0; /* reserved */ +- grub_uint64_t res1; /* reserved */ ++ grub_uint64_t text_offset; /* Image load offset, little endian */ ++ grub_uint64_t image_size; /* Effective Image size, little endian */ ++ grub_uint64_t flags; /* kernel flags, little endian */ ++ grub_uint32_t version; /* Version of this header */ ++ grub_uint32_t res1; /* reserved */ + grub_uint64_t res2; /* reserved */ + grub_uint64_t res3; /* reserved */ +- grub_uint64_t res4; /* reserved */ +- grub_uint32_t magic; /* Magic number, little endian, "RSCV" */ ++ grub_uint32_t magic; /* Magic number, little endian, "RSC\x05" */ + grub_uint32_t hdr_offset; /* Offset of PE/COFF header */ + }; + +diff --git a/include/grub/riscv64/linux.h b/include/grub/riscv64/linux.h +index 3630c30fb..7c28bc922 100644 +--- a/include/grub/riscv64/linux.h ++++ b/include/grub/riscv64/linux.h +@@ -19,22 +19,23 @@ + #ifndef GRUB_RISCV64_LINUX_HEADER + #define GRUB_RISCV64_LINUX_HEADER 1 + +-#define GRUB_LINUX_RISCV_MAGIC_SIGNATURE 0x52534356 /* 'RSCV' */ ++#define GRUB_LINUX_RISCV_MAGIC_SIGNATURE 0x05435352 /* 'RSC\0x5' */ + + #define GRUB_EFI_PE_MAGIC 0x5A4D + +-/* From linux/Documentation/riscv/booting.txt */ ++/* From linux/Documentation/riscv/boot-image-header.rst */ + struct linux_riscv_kernel_header + { + grub_uint32_t code0; /* Executable code */ + grub_uint32_t code1; /* Executable code */ +- grub_uint64_t text_offset; /* Image load offset */ +- grub_uint64_t res0; /* reserved */ +- grub_uint64_t res1; /* reserved */ ++ grub_uint64_t text_offset; /* Image load offset, little endian */ ++ grub_uint64_t image_size; /* Effective Image size, little endian */ ++ grub_uint64_t flags; /* kernel flags, little endian */ ++ grub_uint32_t version; /* Version of this header */ ++ grub_uint32_t res1; /* reserved */ + grub_uint64_t res2; /* reserved */ + grub_uint64_t res3; /* reserved */ +- grub_uint64_t res4; /* reserved */ +- grub_uint32_t magic; /* Magic number, little endian, "RSCV" */ ++ grub_uint32_t magic; /* Magic number, little endian, "RSC\x05" */ + grub_uint32_t hdr_offset; /* Offset of PE/COFF header */ + }; + +-- +2.29.3 -- cgit v1.2.3