kernelvec only needs to save caller-saved registers
This commit is contained in:
		
							parent
							
								
									74c1eba516
								
							
						
					
					
						commit
						0c32c04b29
					
				
					 1 changed files with 2 additions and 26 deletions
				
			
		| 
						 | 
				
			
			@ -3,7 +3,7 @@
 | 
			
		|||
        # mode come here.
 | 
			
		||||
        #
 | 
			
		||||
        # the current stack is a kernel stack.
 | 
			
		||||
        # push all registers, call kerneltrap().
 | 
			
		||||
        # push registers, call kerneltrap().
 | 
			
		||||
        # when kerneltrap() returns, restore registers, return.
 | 
			
		||||
        #
 | 
			
		||||
.globl kerneltrap
 | 
			
		||||
| 
						 | 
				
			
			@ -13,7 +13,7 @@ kernelvec:
 | 
			
		|||
        # make room to save registers.
 | 
			
		||||
        addi sp, sp, -256
 | 
			
		||||
 | 
			
		||||
        # save the registers.
 | 
			
		||||
        # save caller-saved registers.
 | 
			
		||||
        sd ra, 0(sp)
 | 
			
		||||
        sd sp, 8(sp)
 | 
			
		||||
        sd gp, 16(sp)
 | 
			
		||||
| 
						 | 
				
			
			@ -21,8 +21,6 @@ kernelvec:
 | 
			
		|||
        sd t0, 32(sp)
 | 
			
		||||
        sd t1, 40(sp)
 | 
			
		||||
        sd t2, 48(sp)
 | 
			
		||||
        sd s0, 56(sp)
 | 
			
		||||
        sd s1, 64(sp)
 | 
			
		||||
        sd a0, 72(sp)
 | 
			
		||||
        sd a1, 80(sp)
 | 
			
		||||
        sd a2, 88(sp)
 | 
			
		||||
| 
						 | 
				
			
			@ -31,16 +29,6 @@ kernelvec:
 | 
			
		|||
        sd a5, 112(sp)
 | 
			
		||||
        sd a6, 120(sp)
 | 
			
		||||
        sd a7, 128(sp)
 | 
			
		||||
        sd s2, 136(sp)
 | 
			
		||||
        sd s3, 144(sp)
 | 
			
		||||
        sd s4, 152(sp)
 | 
			
		||||
        sd s5, 160(sp)
 | 
			
		||||
        sd s6, 168(sp)
 | 
			
		||||
        sd s7, 176(sp)
 | 
			
		||||
        sd s8, 184(sp)
 | 
			
		||||
        sd s9, 192(sp)
 | 
			
		||||
        sd s10, 200(sp)
 | 
			
		||||
        sd s11, 208(sp)
 | 
			
		||||
        sd t3, 216(sp)
 | 
			
		||||
        sd t4, 224(sp)
 | 
			
		||||
        sd t5, 232(sp)
 | 
			
		||||
| 
						 | 
				
			
			@ -57,8 +45,6 @@ kernelvec:
 | 
			
		|||
        ld t0, 32(sp)
 | 
			
		||||
        ld t1, 40(sp)
 | 
			
		||||
        ld t2, 48(sp)
 | 
			
		||||
        ld s0, 56(sp)
 | 
			
		||||
        ld s1, 64(sp)
 | 
			
		||||
        ld a0, 72(sp)
 | 
			
		||||
        ld a1, 80(sp)
 | 
			
		||||
        ld a2, 88(sp)
 | 
			
		||||
| 
						 | 
				
			
			@ -67,16 +53,6 @@ kernelvec:
 | 
			
		|||
        ld a5, 112(sp)
 | 
			
		||||
        ld a6, 120(sp)
 | 
			
		||||
        ld a7, 128(sp)
 | 
			
		||||
        ld s2, 136(sp)
 | 
			
		||||
        ld s3, 144(sp)
 | 
			
		||||
        ld s4, 152(sp)
 | 
			
		||||
        ld s5, 160(sp)
 | 
			
		||||
        ld s6, 168(sp)
 | 
			
		||||
        ld s7, 176(sp)
 | 
			
		||||
        ld s8, 184(sp)
 | 
			
		||||
        ld s9, 192(sp)
 | 
			
		||||
        ld s10, 200(sp)
 | 
			
		||||
        ld s11, 208(sp)
 | 
			
		||||
        ld t3, 216(sp)
 | 
			
		||||
        ld t4, 224(sp)
 | 
			
		||||
        ld t5, 232(sp)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		
		Reference in a new issue