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

📄 head.s

📁 arm平台上的uclinux系统全部源代码
💻 S
字号:
/* * linux/arch/arm/boot/compressed/head.S * * Copyright (C) 1996 Russell King */		.text/* * sort out different calling conventions */start:		teq	r0, #0		beq	newparams		mov	r4, #0x02000000		add	r4, r4, #0x7C000		mov	r3, #0x4000		sub	r3, r3, #41:		ldmia	r0!, {r5 - r12}		stmia	r4!, {r5 - r12}		subs	r3, r3, #32		bpl	1bnewparams:	adr	r2, LC0		ldmia	r2, {r2, r3, r4, r5, r6, sp}		adr	r7, start		sub	r6, r7, r6/* * Relocate pointers */		add	r2, r2, r6		add	r3, r3, r6		add	r5, r5, r6		add	sp, sp, r6/* * Clear zero-init */		mov	r6, #01:		str	r6, [r2], #4		cmp	r2, r3		blt	1b		str	r1, [r5]		@ save architecture/* * Uncompress the kernel */		mov	r1, #0x8000		add	r2, r2, r1, lsl #1	@ Add 64k for malloc		sub	r1, r1, #1		add	r2, r2, r1		bic	r5, r2, r1		@ decompress kernel to after end of the compressed		mov	r0, r5		bl	_decompress_kernel		add	r0, r0, #7		bic	r2, r0, #7/* * Now move the kernel to the correct location (r5 -> r4, len r0) */		mov	r0, r4			@ r0 = start of real kernel		mov	r1, r5			@ r1 = start of kernel image		add	r3, r5, r2		@ r3 = end of kernel		adr	r4, movecode		adr	r5, movecodeend1:		ldmia	r4!, {r6 - r12, lr}		stmia	r3!, {r6 - r12, lr}		cmp	r4, r5		blt	1b		mrc	p15, 0, r5, c0, c0		eor	r5, r5, #0x44 << 24		eor	r5, r5, #0x01 << 16		eor	r5, r5, #0xa1 << 8		movs	r5, r5, lsr #4		mov	r5, #0		mcreq	p15, 0, r5, c7, c5, 0	@ flush I cache		ldr	r5, LC0 + 12		@ get architecture		ldr	r5, [r5]		add	pc, r1, r2		@ Call move code/* * r0 = length, r1 = to, r2 = from */movecode:	add	r3, r1, r2		mov	r4, r01:		ldmia	r1!, {r6 - r12, lr}		stmia	r0!, {r6 - r12, lr}		cmp	r1, r3		blt	1b		mrc	p15, 0, r0, c0, c0		eor	r0, r0, #0x44 << 24		eor	r0, r0, #0x01 << 16		eor	r0, r0, #0xa1 << 8		movs	r0, r0, lsr #4		mov	r0, #0		mcreq	p15, 0, r0, c7, c5, 0	@ flush I cache		mov	r1, r5			@ call kernel correctly		add	pc, r4, #0x20		@ call via EXEC entrymovecodeend:LC0:		.word	__edata		.word	__end		.word	LOADADDR		.word	_architecture		.word	start		.word	_user_stack+4096		.bss_architecture:	.word	0

⌨️ 快捷键说明

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