dtlb_prot.s

来自「自己根据lkd和情境分析」· S 代码 · 共 55 行

S
55
字号
/* $Id: dtlb_prot.S,v 1.1.1.1 2004/02/04 12:55:50 laputa Exp $ * dtlb_prot.S: DTLB protection trap strategy. *              This is included directly into the trap table. * * Copyright (C) 1996,1998 David S. Miller (davem@redhat.com) * Copyright (C) 1997,1998 Jakub Jelinek   (jj@ultra.linux.cz) *//* Ways we can get here: * * [TL == 0] 1) User stores to readonly pages. * [TL == 0] 2) Nucleus stores to user readonly pages. * [TL >  0] 3) Nucleus stores to user readonly stack frame. *//* PROT ** ICACHE line 1: User DTLB protection trap	*/	stxa		%g0, [%g1] ASI_DMMU		! Clear SFSR FaultValid bit	membar		#Sync				! Synchronize ASI stores	rdpr		%pstate, %g5			! Move into alternate globals	wrpr		%g5, PSTATE_AG|PSTATE_MG, %pstate	rdpr		%tl, %g1			! Need to do a winfixup?	cmp		%g1, 1				! Trap level >1?	mov		TLB_TAG_ACCESS, %g4		! Prepare reload of vaddr	nop/* PROT ** ICACHE line 2: More real fault processing */	bgu,pn		%xcc, winfix_trampoline		! Yes, perform winfixup	 ldxa		[%g4] ASI_DMMU, %g5		! Put tagaccess in %g5	ba,pt		%xcc, sparc64_realfault_common	! Nope, normal fault	 mov		FAULT_CODE_DTLB | FAULT_CODE_WRITE, %g4	nop	nop	nop	nop/* PROT ** ICACHE line 3: Unused...	*/	nop	nop	nop	nop	nop	nop	nop	nop/* PROT ** ICACHE line 4: Unused...	*/	nop	nop	nop	nop	nop	nop	nop	nop

⌨️ 快捷键说明

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