aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAtish Patra2019-10-09 10:34:17 -0700
committerAndes2019-10-18 09:04:19 +0800
commit70d64a4c7646aa51c0334618ccb9af0132d9d834 (patch)
tree728cc2a111d0e341e95c7332c84bb57d69dc8d66
parentb332a897993bbcaa91e4c45fbe39212c1c528be1 (diff)
RISC-V: Align boot image header with Linux
The released Linux boot image header in v5.3 is different from the one present in U-Boot. Align the header with the new version. The changes in Linux are backward compatible. Previous U-Boot releases with older header will continue to work as well. As v5.3 kernel is the first one to support image header, there is no compatibility issue between new U-Boot (with this patch) and older kernel. Signed-off-by: Atish Patra <atish.patra@wdc.com> Reviewed-by: Rick Chen <rick@andestech.com>
-rw-r--r--arch/riscv/lib/image.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/arch/riscv/lib/image.c b/arch/riscv/lib/image.c
index d063beb7dfb..7357d3b07d6 100644
--- a/arch/riscv/lib/image.c
+++ b/arch/riscv/lib/image.c
@@ -14,20 +14,21 @@
DECLARE_GLOBAL_DATA_PTR;
-/* ASCII version of "RISCV" defined in Linux kernel */
-#define LINUX_RISCV_IMAGE_MAGIC 0x5643534952
+/* ASCII version of "RSC\0x5" defined in Linux kernel */
+#define LINUX_RISCV_IMAGE_MAGIC 0x05435352
struct linux_image_h {
uint32_t code0; /* Executable code */
uint32_t code1; /* Executable code */
uint64_t text_offset; /* Image load offset */
uint64_t image_size; /* Effective Image size */
- uint64_t res1; /* reserved */
+ uint64_t flags; /* kernel flags (little endian) */
+ uint32_t version; /* version of the header */
+ uint32_t res1; /* reserved */
uint64_t res2; /* reserved */
uint64_t res3; /* reserved */
- uint64_t magic; /* Magic number */
+ uint32_t magic; /* Magic number */
uint32_t res4; /* reserved */
- uint32_t res5; /* reserved */
};
int booti_setup(ulong image, ulong *relocated_addr, ulong *size,