aboutsummaryrefslogtreecommitdiffstats
path: root/arch/m32r/boot/compressed/boot.h
diff options
context:
space:
mode:
Diffstat (limited to 'arch/m32r/boot/compressed/boot.h')
-rw-r--r--arch/m32r/boot/compressed/boot.h59
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 00000000000..9272e38d110
--- /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)