28 lines
		
	
	
		
			572 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			28 lines
		
	
	
		
			572 B
		
	
	
	
		
			C
		
	
	
	
	
	
/* SPDX-License-Identifier: GPL-2.0 */
 | 
						|
#ifndef _ASM_S390_ABS_LOWCORE_H
 | 
						|
#define _ASM_S390_ABS_LOWCORE_H
 | 
						|
 | 
						|
#include <asm/lowcore.h>
 | 
						|
 | 
						|
#define ABS_LOWCORE_MAP_SIZE	(NR_CPUS * sizeof(struct lowcore))
 | 
						|
 | 
						|
extern unsigned long __abs_lowcore;
 | 
						|
 | 
						|
int abs_lowcore_map(int cpu, struct lowcore *lc, bool alloc);
 | 
						|
void abs_lowcore_unmap(int cpu);
 | 
						|
 | 
						|
static inline struct lowcore *get_abs_lowcore(void)
 | 
						|
{
 | 
						|
	int cpu;
 | 
						|
 | 
						|
	cpu = get_cpu();
 | 
						|
	return ((struct lowcore *)__abs_lowcore) + cpu;
 | 
						|
}
 | 
						|
 | 
						|
static inline void put_abs_lowcore(struct lowcore *lc)
 | 
						|
{
 | 
						|
	put_cpu();
 | 
						|
}
 | 
						|
 | 
						|
#endif /* _ASM_S390_ABS_LOWCORE_H */
 |