mirror of https://github.com/OpenIPC/firmware.git
				
				
				
			
		
			
				
	
	
		
			44 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Diff
		
	
	
			
		
		
	
	
			44 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Diff
		
	
	
| diff -drupN a/arch/mips/kernel/signal.c b/arch/mips/kernel/signal.c
 | |
| --- a/arch/mips/kernel/signal.c	2017-10-21 18:09:07.000000000 +0300
 | |
| +++ b/arch/mips/kernel/signal.c	2022-06-09 05:02:27.000000000 +0300
 | |
| @@ -39,6 +39,7 @@
 | |
|  #include <asm/dsp.h>
 | |
|  #include <asm/inst.h>
 | |
|  #include <asm/msa.h>
 | |
| +#include <mxu.h>
 | |
|  
 | |
|  #include "signal-common.h"
 | |
|  
 | |
| @@ -440,6 +441,15 @@ int setup_sigcontext(struct pt_regs *reg
 | |
|  	 */
 | |
|  	err |= protected_save_fp_context(sc);
 | |
|  
 | |
| +#ifdef CONFIG_MACH_XBURST
 | |
| +	if (cpu_has_mxu) {
 | |
| +		unsigned int *regs;
 | |
| +		regs = __get_mxu_regs(current);
 | |
| +		for (i = 0; i < NUM_MXU_REGS; i++){
 | |
| +			err |= __put_user(regs[i], &sc->sc_mxu[i]);
 | |
| +		}
 | |
| +	}
 | |
| +#endif
 | |
|  	return err;
 | |
|  }
 | |
|  
 | |
| @@ -513,6 +523,15 @@ int restore_sigcontext(struct pt_regs *r
 | |
|  	for (i = 1; i < 32; i++)
 | |
|  		err |= __get_user(regs->regs[i], &sc->sc_regs[i]);
 | |
|  
 | |
| +#ifdef CONFIG_MACH_XBURST
 | |
| +	if (cpu_has_mxu) {
 | |
| +		unsigned int regs[NUM_MXU_REGS];
 | |
| +		for (i = 0; i < NUM_MXU_REGS; i++){
 | |
| +			err |= __get_user(regs[i], &sc->sc_mxu[i]);
 | |
| +		}
 | |
| +		__let_mxu_regs(current,regs);
 | |
| +	}
 | |
| +#endif
 | |
|  	return err ?: protected_restore_fp_context(sc);
 | |
|  }
 | |
|  
 |