mirror of
				https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
				synced 2025-10-27 17:58:22 +00:00 
			
		
		
		
	 f32ff5388d
			
		
	
	
		f32ff5388d
		
	
	
	
	
		
			
			[ Based on original patch from Christoph Lameter and Mike Travis. ] CPU startup code in head_64.S loaded address of a zero page into %gs for temporary use till pda is loaded but address to the actual pda is available at the point. Load the real address directly instead. This will help unifying percpu and pda handling later on. This patch is mostly taken from Mike Travis' "x86_64: Fold pda into per cpu area" patch. Signed-off-by: Tejun Heo <tj@kernel.org>
		
			
				
	
	
		
			30 lines
		
	
	
		
			759 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			30 lines
		
	
	
		
			759 B
		
	
	
	
		
			C
		
	
	
	
	
	
| #ifndef _ASM_X86_TRAMPOLINE_H
 | |
| #define _ASM_X86_TRAMPOLINE_H
 | |
| 
 | |
| #ifndef __ASSEMBLY__
 | |
| 
 | |
| #ifdef CONFIG_X86_TRAMPOLINE
 | |
| /*
 | |
|  * Trampoline 80x86 program as an array.
 | |
|  */
 | |
| extern const unsigned char trampoline_data [];
 | |
| extern const unsigned char trampoline_end  [];
 | |
| extern unsigned char *trampoline_base;
 | |
| 
 | |
| extern unsigned long init_rsp;
 | |
| extern unsigned long initial_code;
 | |
| extern unsigned long initial_gs;
 | |
| 
 | |
| #define TRAMPOLINE_SIZE roundup(trampoline_end - trampoline_data, PAGE_SIZE)
 | |
| #define TRAMPOLINE_BASE 0x6000
 | |
| 
 | |
| extern unsigned long setup_trampoline(void);
 | |
| extern void __init reserve_trampoline_memory(void);
 | |
| #else
 | |
| static inline void reserve_trampoline_memory(void) {};
 | |
| #endif /* CONFIG_X86_TRAMPOLINE */
 | |
| 
 | |
| #endif /* __ASSEMBLY__ */
 | |
| 
 | |
| #endif /* _ASM_X86_TRAMPOLINE_H */
 |