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

📄 sun3-head.s

📁 linux-2.6.15.6
💻 S
字号:
#include <linux/linkage.h>#include <asm/entry.h>#include <asm/page.h>#include <asm/contregs.h>#include <asm/sun3-head.h>PSL_HIGHIPL     = 0x2700NBSG            = 0x20000ICACHE_ONLY	= 0x00000009CACHES_OFF	= 0x00000008	| actually a clear and disable --m#define MAS_STACK INT_STACKROOT_TABLE_SIZE = 128PAGESIZE	= 8192SUN3_INVALID_PMEG = 255.globl bootup_user_stack.globl bootup_kernel_stack.globl pg0.globl swapper_pg_dir.globl kernel_pmd_table.globl availmem.global m68k_pgtable_cachemode.global kpt| todo: all these should be in bss!swapper_pg_dir:                .skip 0x2000pg0:                           .skip 0x2000kernel_pmd_table:              .skip 0x2000.globl kernel_pg_dir.equ    kernel_pg_dir,kernel_pmd_table	.section .headENTRY(_stext)ENTRY(_start)/* Firstly, disable interrupts and set up function codes. */	movew	#PSL_HIGHIPL, %sr	moveq	#FC_CONTROL, %d0	movec	%d0, %sfc	movec	%d0, %dfc/* Make sure we're in context zero. */	moveq	#0, %d0	movsb	%d0, AC_CONTEXT/* map everything the bootloader left us into high memory, clean up the   excess later */	lea	(AC_SEGMAP+0),%a0	lea	(AC_SEGMAP+KERNBASE),%a11:	movsb	%a0@, %d1	movsb	%d1, %a1@	cmpib	#SUN3_INVALID_PMEG, %d1	beq	2f	addl	#NBSG,%a0	addl	#NBSG,%a1	jmp	1b2:/* Disable caches and jump to high code. */	moveq	#ICACHE_ONLY,%d0	| Cache disabled until we're ready to enable it	movc	%d0, %cacr	|   is this the right value? (yes --m)	jmp	1f:l/* Following code executes at high addresses (0xE000xxx). */1:	lea	init_task,%curptr			| get initial thread...	lea	init_thread_union+THREAD_SIZE,%sp	| ...and its stack./* copy bootinfo records from the loader to _end */	lea	_end, %a1	lea	BI_START, %a0	/* number of longs to copy */	movel	%a0@, %d01:	addl	#4, %a0	movel   %a0@, %a1@	addl	#4, %a1	dbf	%d0, 1b/* Point MSP at an invalid page to trap if it's used. --m */	movl	#(PAGESIZE),%d0	movc	%d0,%msp	moveq	#-1,%d0	movsb	%d0,(AC_SEGMAP+0x0)	jbsr	sun3_init	jbsr	base_trap_init        jbsr    start_kernel	trap	#15        .data        .evenkpt:        .long 0availmem:        .long 0| todo: remove next two. --mis_medusa:        .long 0m68k_pgtable_cachemode:        .long 0

⌨️ 快捷键说明

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