]>
Commit | Line | Data |
---|---|---|
83d290c5 | 1 | // SPDX-License-Identifier: GPL-2.0+ |
431889d6 LM |
2 | /* |
3 | * Copyright (C) 2016 | |
4 | * Ladislav Michl <ladis@linux-mips.org> | |
5 | * | |
6 | * bootz code: | |
7 | * Copyright (C) 2012 Marek Vasut <marek.vasut@gmail.com> | |
431889d6 | 8 | */ |
d678a59d | 9 | #include <common.h> |
4d72caa5 | 10 | #include <image.h> |
431889d6 LM |
11 | |
12 | #define LINUX_ARM_ZIMAGE_MAGIC 0x016f2818 | |
02c038dd | 13 | #define BAREBOX_IMAGE_MAGIC 0x00786f62 |
431889d6 LM |
14 | |
15 | struct arm_z_header { | |
16 | uint32_t code[9]; | |
17 | uint32_t zi_magic; | |
18 | uint32_t zi_start; | |
19 | uint32_t zi_end; | |
20 | } __attribute__ ((__packed__)); | |
21 | ||
22 | int bootz_setup(ulong image, ulong *start, ulong *end) | |
23 | { | |
24 | struct arm_z_header *zi = (struct arm_z_header *)image; | |
25 | ||
02c038dd CF |
26 | if (zi->zi_magic != LINUX_ARM_ZIMAGE_MAGIC && |
27 | zi->zi_magic != BAREBOX_IMAGE_MAGIC) { | |
c2343695 SH |
28 | if (!IS_ENABLED(CONFIG_SPL_BUILD)) |
29 | puts("zimage: Bad magic!\n"); | |
431889d6 LM |
30 | return 1; |
31 | } | |
32 | ||
33 | *start = zi->zi_start; | |
34 | *end = zi->zi_end; | |
c2343695 SH |
35 | if (!IS_ENABLED(CONFIG_SPL_BUILD)) |
36 | printf("Kernel image @ %#08lx [ %#08lx - %#08lx ]\n", | |
37 | image, *start, *end); | |
431889d6 LM |
38 | |
39 | return 0; | |
40 | } |