mirror of
				https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
				synced 2025-10-31 20:42:39 +00:00 
			
		
		
		
	 9e3f544d79
			
		
	
	
		9e3f544d79
		
	
	
	
	
		
			
			When using the Java Extension Module hardware, a Java stack underflow or overflow trap may cause the system to enter an infinite exception loop. Although there's no kernel support for the Java hardware yet, we need to be able to recover from this situation and keep the system running. This patch adds code to detect and fixup this situation in the critical exception handler and terminate the faulting process. We may have to rethink how to handle this more gracefully when the necessary kernel support for hardware-accelerated Java is added. Reported-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Haavard Skinnemoen <haavard.skinnemoen@atmel.com>
		
			
				
	
	
		
			27 lines
		
	
	
		
			766 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			27 lines
		
	
	
		
			766 B
		
	
	
	
		
			C
		
	
	
	
	
	
| /*
 | |
|  * Generate definitions needed by assembly language modules.
 | |
|  * This code generates raw asm output which is post-processed
 | |
|  * to extract and format the required data.
 | |
|  */
 | |
| 
 | |
| #include <linux/mm.h>
 | |
| #include <linux/sched.h>
 | |
| #include <linux/thread_info.h>
 | |
| #include <linux/kbuild.h>
 | |
| 
 | |
| void foo(void)
 | |
| {
 | |
| 	OFFSET(TI_task, thread_info, task);
 | |
| 	OFFSET(TI_exec_domain, thread_info, exec_domain);
 | |
| 	OFFSET(TI_flags, thread_info, flags);
 | |
| 	OFFSET(TI_cpu, thread_info, cpu);
 | |
| 	OFFSET(TI_preempt_count, thread_info, preempt_count);
 | |
| 	OFFSET(TI_rar_saved, thread_info, rar_saved);
 | |
| 	OFFSET(TI_rsr_saved, thread_info, rsr_saved);
 | |
| 	OFFSET(TI_restart_block, thread_info, restart_block);
 | |
| 	BLANK();
 | |
| 	OFFSET(TSK_active_mm, task_struct, active_mm);
 | |
| 	BLANK();
 | |
| 	OFFSET(MM_pgd, mm_struct, pgd);
 | |
| }
 |