 a88b5ba8bd
			
		
	
	
	a88b5ba8bd
	
	
	
		
			
			o Move all files from sparc64/kernel/ to sparc/kernel - rename as appropriate o Update sparc/Makefile to the changes o Update sparc/kernel/Makefile to include the sparc64 files NOTE: This commit changes link order on sparc64! Link order had to change for either of sparc32 and sparc64. And assuming sparc64 see more testing than sparc32 change link order on sparc64 where issues will be caught faster. Signed-off-by: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: David S. Miller <davem@davemloft.net>
		
			
				
	
	
		
			97 lines
		
	
	
	
		
			2 KiB
			
		
	
	
	
		
			ArmAsm
		
	
	
	
	
	
			
		
		
	
	
			97 lines
		
	
	
	
		
			2 KiB
			
		
	
	
	
		
			ArmAsm
		
	
	
	
	
	
| #ifdef CONFIG_KGDB
 | |
| 	.globl		arch_kgdb_breakpoint
 | |
| 	.type		arch_kgdb_breakpoint,#function
 | |
| arch_kgdb_breakpoint:
 | |
| 	ta		0x72
 | |
| 	retl
 | |
| 	 nop
 | |
| 	.size		arch_kgdb_breakpoint,.-arch_kgdb_breakpoint
 | |
| #endif
 | |
| 
 | |
| 	.type		__do_privact,#function
 | |
| __do_privact:
 | |
| 	mov		TLB_SFSR, %g3
 | |
| 	stxa		%g0, [%g3] ASI_DMMU	! Clear FaultValid bit
 | |
| 	membar		#Sync
 | |
| 	sethi		%hi(109f), %g7
 | |
| 	ba,pt		%xcc, etrap
 | |
| 109:	or		%g7, %lo(109b), %g7
 | |
| 	call		do_privact
 | |
| 	 add		%sp, PTREGS_OFF, %o0
 | |
| 	ba,pt		%xcc, rtrap
 | |
| 	 nop
 | |
| 	.size		__do_privact,.-__do_privact
 | |
| 
 | |
| 	.type		do_mna,#function
 | |
| do_mna:
 | |
| 	rdpr		%tl, %g3
 | |
| 	cmp		%g3, 1
 | |
| 
 | |
| 	/* Setup %g4/%g5 now as they are used in the
 | |
| 	 * winfixup code.
 | |
| 	 */
 | |
| 	mov		TLB_SFSR, %g3
 | |
| 	mov		DMMU_SFAR, %g4
 | |
| 	ldxa		[%g4] ASI_DMMU, %g4
 | |
| 	ldxa		[%g3] ASI_DMMU, %g5
 | |
| 	stxa		%g0, [%g3] ASI_DMMU	! Clear FaultValid bit
 | |
| 	membar		#Sync
 | |
| 	bgu,pn		%icc, winfix_mna
 | |
| 	 rdpr		%tpc, %g3
 | |
| 
 | |
| 1:	sethi		%hi(109f), %g7
 | |
| 	ba,pt		%xcc, etrap
 | |
| 109:	 or		%g7, %lo(109b), %g7
 | |
| 	mov		%l4, %o1
 | |
| 	mov		%l5, %o2
 | |
| 	call		mem_address_unaligned
 | |
| 	 add		%sp, PTREGS_OFF, %o0
 | |
| 	ba,pt		%xcc, rtrap
 | |
| 	 nop
 | |
| 	.size		do_mna,.-do_mna
 | |
| 
 | |
| 	.type		do_lddfmna,#function
 | |
| do_lddfmna:
 | |
| 	sethi		%hi(109f), %g7
 | |
| 	mov		TLB_SFSR, %g4
 | |
| 	ldxa		[%g4] ASI_DMMU, %g5
 | |
| 	stxa		%g0, [%g4] ASI_DMMU	! Clear FaultValid bit
 | |
| 	membar		#Sync
 | |
| 	mov		DMMU_SFAR, %g4
 | |
| 	ldxa		[%g4] ASI_DMMU, %g4
 | |
| 	ba,pt		%xcc, etrap
 | |
| 109:	 or		%g7, %lo(109b), %g7
 | |
| 	mov		%l4, %o1
 | |
| 	mov		%l5, %o2
 | |
| 	call		handle_lddfmna
 | |
| 	 add		%sp, PTREGS_OFF, %o0
 | |
| 	ba,pt		%xcc, rtrap
 | |
| 	 nop
 | |
| 	.size		do_lddfmna,.-do_lddfmna
 | |
| 
 | |
| 	.type		do_stdfmna,#function
 | |
| do_stdfmna:
 | |
| 	sethi		%hi(109f), %g7
 | |
| 	mov		TLB_SFSR, %g4
 | |
| 	ldxa		[%g4] ASI_DMMU, %g5
 | |
| 	stxa		%g0, [%g4] ASI_DMMU	! Clear FaultValid bit
 | |
| 	membar		#Sync
 | |
| 	mov		DMMU_SFAR, %g4
 | |
| 	ldxa		[%g4] ASI_DMMU, %g4
 | |
| 	ba,pt		%xcc, etrap
 | |
| 109:	 or		%g7, %lo(109b), %g7
 | |
| 	mov		%l4, %o1
 | |
| 	mov		%l5, %o2
 | |
| 	call		handle_stdfmna
 | |
| 	 add		%sp, PTREGS_OFF, %o0
 | |
| 	ba,pt		%xcc, rtrap
 | |
| 	 nop
 | |
| 	.size		do_stdfmna,.-do_stdfmna
 | |
| 
 | |
| 	.type		breakpoint_trap,#function
 | |
| breakpoint_trap:
 | |
| 	call		sparc_breakpoint
 | |
| 	 add		%sp, PTREGS_OFF, %o0
 | |
| 	ba,pt		%xcc, rtrap
 | |
| 	 nop
 | |
| 	.size		breakpoint_trap,.-breakpoint_trap
 |