mirror of
				https://github.com/AetherDroid/android_kernel_samsung_on5xelte.git
				synced 2025-10-31 08:08:51 +01:00 
			
		
		
		
	Fixed MTP to work with TWRP
This commit is contained in:
		
						commit
						f6dfaef42e
					
				
					 50820 changed files with 20846062 additions and 0 deletions
				
			
		
							
								
								
									
										51
									
								
								arch/sparc/kernel/ivec.S
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										51
									
								
								arch/sparc/kernel/ivec.S
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,51 @@ | |||
| 	/* The registers for cross calls will be: | ||||
| 	 * | ||||
| 	 * DATA 0: [low 32-bits]  Address of function to call, jmp to this | ||||
| 	 *         [high 32-bits] MMU Context Argument 0, place in %g5 | ||||
| 	 * DATA 1: Address Argument 1, place in %g1 | ||||
| 	 * DATA 2: Address Argument 2, place in %g7 | ||||
| 	 * | ||||
| 	 * With this method we can do most of the cross-call tlb/cache | ||||
| 	 * flushing very quickly. | ||||
| 	 */ | ||||
| 	.align		32
 | ||||
| 	.globl		do_ivec
 | ||||
| 	.type		do_ivec,#function | ||||
| do_ivec: | ||||
| 	mov		0x40, %g3 | ||||
| 	ldxa		[%g3 + %g0] ASI_INTR_R, %g3 | ||||
| 	sethi		%hi(KERNBASE), %g4 | ||||
| 	cmp		%g3, %g4 | ||||
| 	bgeu,pn		%xcc, do_ivec_xcall | ||||
| 	 srlx		%g3, 32, %g5 | ||||
| 	stxa		%g0, [%g0] ASI_INTR_RECEIVE | ||||
| 	membar		#Sync | ||||
| 
 | ||||
| 	sethi		%hi(ivector_table_pa), %g2 | ||||
| 	ldx		[%g2 + %lo(ivector_table_pa)], %g2 | ||||
| 	sllx		%g3, 4, %g3 | ||||
| 	add		%g2, %g3, %g3 | ||||
| 
 | ||||
| 	TRAP_LOAD_IRQ_WORK_PA(%g6, %g1) | ||||
| 
 | ||||
| 	ldx		[%g6], %g5 | ||||
| 	stxa		%g5, [%g3] ASI_PHYS_USE_EC | ||||
| 	stx		%g3, [%g6] | ||||
| 	wr		%g0, 1 << PIL_DEVICE_IRQ, %set_softint | ||||
| 	retry | ||||
| do_ivec_xcall: | ||||
| 	mov		0x50, %g1 | ||||
| 	ldxa		[%g1 + %g0] ASI_INTR_R, %g1 | ||||
| 	srl		%g3, 0, %g3 | ||||
| 
 | ||||
| 	mov		0x60, %g7 | ||||
| 	ldxa		[%g7 + %g0] ASI_INTR_R, %g7 | ||||
| 	stxa		%g0, [%g0] ASI_INTR_RECEIVE | ||||
| 	membar		#Sync | ||||
| 	ba,pt		%xcc, 1f | ||||
| 	 nop | ||||
| 
 | ||||
| 	.align		32
 | ||||
| 1:	jmpl		%g3, %g0 | ||||
| 	 nop | ||||
| 	.size		do_ivec,.-do_ivec | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 awab228
						awab228