1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef _ASM_S390_ABS_LOWCORE_H
3 #define _ASM_S390_ABS_LOWCORE_H
6 #include <asm/lowcore.h>
8 #define ABS_LOWCORE_MAP_SIZE (NR_CPUS * sizeof(struct lowcore))
10 extern unsigned long __abs_lowcore;
12 int abs_lowcore_map(int cpu, struct lowcore *lc, bool alloc);
13 void abs_lowcore_unmap(int cpu);
15 static inline struct lowcore *get_abs_lowcore(void)
20 return ((struct lowcore *)__abs_lowcore) + cpu;
23 static inline void put_abs_lowcore(struct lowcore *lc)
28 extern int relocate_lowcore;
30 static inline int have_relocated_lowcore(void)
32 return relocate_lowcore;
35 #endif /* _ASM_S390_ABS_LOWCORE_H */