diff options
Diffstat (limited to 'arch/m32r/boot/compressed/boot.h')
-rw-r--r-- | arch/m32r/boot/compressed/boot.h | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/arch/m32r/boot/compressed/boot.h b/arch/m32r/boot/compressed/boot.h new file mode 100644 index 000000000000..9272e38d1104 --- /dev/null +++ b/arch/m32r/boot/compressed/boot.h | |||
@@ -0,0 +1,59 @@ | |||
1 | /* | ||
2 | * 1. load vmlinuz | ||
3 | * | ||
4 | * CONFIG_MEMORY_START +-----------------------+ | ||
5 | * | vmlinuz | | ||
6 | * +-----------------------+ | ||
7 | * 2. decompressed | ||
8 | * | ||
9 | * CONFIG_MEMORY_START +-----------------------+ | ||
10 | * | vmlinuz | | ||
11 | * +-----------------------+ | ||
12 | * | | | ||
13 | * BOOT_RELOC_ADDR +-----------------------+ | ||
14 | * | | | ||
15 | * KERNEL_DECOMPRESS_ADDR +-----------------------+ | ||
16 | * | vmlinux | | ||
17 | * +-----------------------+ | ||
18 | * | ||
19 | * 3. relocate copy & jump code | ||
20 | * | ||
21 | * CONFIG_MEMORY_START +-----------------------+ | ||
22 | * | vmlinuz | | ||
23 | * +-----------------------+ | ||
24 | * | | | ||
25 | * BOOT_RELOC_ADDR +-----------------------+ | ||
26 | * | boot(copy&jump) | | ||
27 | * KERNEL_DECOMPRESS_ADDR +-----------------------+ | ||
28 | * | vmlinux | | ||
29 | * +-----------------------+ | ||
30 | * | ||
31 | * 4. relocate decompressed kernel | ||
32 | * | ||
33 | * CONFIG_MEMORY_START +-----------------------+ | ||
34 | * | vmlinux | | ||
35 | * +-----------------------+ | ||
36 | * | | | ||
37 | * BOOT_RELOC_ADDR +-----------------------+ | ||
38 | * | boot(copy&jump) | | ||
39 | * KERNEL_DECOMPRESS_ADDR +-----------------------+ | ||
40 | * | | | ||
41 | * +-----------------------+ | ||
42 | * | ||
43 | */ | ||
44 | #ifdef __ASSEMBLY__ | ||
45 | #define __val(x) x | ||
46 | #else | ||
47 | #define __val(x) (x) | ||
48 | #endif | ||
49 | |||
50 | #define DECOMPRESS_OFFSET_BASE __val(0x00900000) | ||
51 | #define BOOT_RELOC_SIZE __val(0x00001000) | ||
52 | |||
53 | #define KERNEL_EXEC_ADDR __val(CONFIG_MEMORY_START) | ||
54 | #define KERNEL_DECOMPRESS_ADDR __val(CONFIG_MEMORY_START + \ | ||
55 | DECOMPRESS_OFFSET_BASE + BOOT_RELOC_SIZE) | ||
56 | #define KERNEL_ENTRY __val(CONFIG_MEMORY_START + 0x1000) | ||
57 | |||
58 | #define BOOT_EXEC_ADDR __val(CONFIG_MEMORY_START) | ||
59 | #define BOOT_RELOC_ADDR __val(CONFIG_MEMORY_START + DECOMPRESS_OFFSET_BASE) | ||