boot.h
来自「底层驱动开发」· C头文件 代码 · 共 60 行
H
60 行
/* * 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)
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?