123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- /*
- * 1. load vmlinuz
- *
- * CONFIG_MEMORY_START +-----------------------+
- * | vmlinuz |
- * +-----------------------+
- * 2. decompressed
- *
- * CONFIG_MEMORY_START +-----------------------+
- * | vmlinuz |
- * +-----------------------+
- * | |
- * BOOT_RELOC_ADDR +-----------------------+
- * | |
- * KERNEL_DECOMPRESS_ADDR +-----------------------+
- * | vmlinux |
- * +-----------------------+
- *
- * 3. relocate copy & jump code
- *
- * CONFIG_MEMORY_START +-----------------------+
- * | vmlinuz |
- * +-----------------------+
- * | |
- * BOOT_RELOC_ADDR +-----------------------+
- * | boot(copy&jump) |
- * KERNEL_DECOMPRESS_ADDR +-----------------------+
- * | vmlinux |
- * +-----------------------+
- *
- * 4. relocate decompressed kernel
- *
- * CONFIG_MEMORY_START +-----------------------+
- * | vmlinux |
- * +-----------------------+
- * | |
- * BOOT_RELOC_ADDR +-----------------------+
- * | boot(copy&jump) |
- * KERNEL_DECOMPRESS_ADDR +-----------------------+
- * | |
- * +-----------------------+
- *
- */
- #ifdef __ASSEMBLY__
- #define __val(x) x
- #else
- #define __val(x) (x)
- #endif
- #define DECOMPRESS_OFFSET_BASE __val(0x00900000)
- #define BOOT_RELOC_SIZE __val(0x00001000)
- #define KERNEL_EXEC_ADDR __val(CONFIG_MEMORY_START)
- #define KERNEL_DECOMPRESS_ADDR __val(CONFIG_MEMORY_START + \
- DECOMPRESS_OFFSET_BASE + BOOT_RELOC_SIZE)
- #define KERNEL_ENTRY __val(CONFIG_MEMORY_START + 0x1000)
- #define BOOT_EXEC_ADDR __val(CONFIG_MEMORY_START)
- #define BOOT_RELOC_ADDR __val(CONFIG_MEMORY_START + DECOMPRESS_OFFSET_BASE)
|