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 + -
显示快捷键?