⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 init.s

📁 Linux内核源代码 为压缩文件 是<<Linux内核>>一书中的源代码
💻 S
字号:
/* *  linux/arch/arm/boot/bootp/init.S * *  Copyright (C) 2000 Russell King * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. * *  Header file for splitting kernel + initrd.  Note that we pass *  r0 through to r3 straight through. */		.section .start,#alloc,#execinstr		.type	_entry, #function_entry:kernel_addr:	adr	r10, initdata		ldmia	r10, {r11, r12}		sub	r11, r10, r11		@ work out exec offset		add	r12, r12, r11		@ correct "splitify"		mov	pc, r12			@ jump to splitify		.size	_entry,. - _entry		.type	initdata, #objectinitdata:	.word	initdata		@ compiled address of this		.word	splitify		.size	initdata,. - initdata		.textsplitify:	adr	r13, data		ldmia	r13!, {r4-r6}		@ move the kernel		add	r4, r4, r11		@ correction		mov	r12, r5		bl	move		ldmia	r13!, {r4-r6}		@ then the initrd		add	r4, r4, r11		@ correction		bl	move		ldmib	r13, {r5,r6,r7}		@ get size and addr of initrd		add	r7, r7, #16*4		@ offset of initrd_start in param_struct		stmia	r7, {r5,r6}		@ save in param_struct		mov	pc, r12			@ call kernelmove:		ldmia	r4!, {r7 - r10}		@ move 32-bytes at a time		stmia	r5!, {r7 - r10}		ldmia	r4!, {r7 - r10}		stmia	r5!, {r7 - r10}		subs	r6, r6, #8 * 4		bcs	move		mov	pc, lrdata:		.word	kernel_start		.word	kernel_addr		.word	kernel_len		.word	initrd_start		.word	initrd_addr		.word	initrd_len		.word	initrd_virt		.word	initrd_len		.word	params		.type	kernel_start,#object		.type	initrd_start,#object

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -