Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | #ifndef __ARCH_S390_PERCPU__ |
| 2 | #define __ARCH_S390_PERCPU__ |
| 3 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 4 | /* |
| 5 | * s390 uses its own implementation for per cpu data, the offset of |
| 6 | * the cpu local data area is cached in the cpu's lowcore memory. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 7 | */ |
travis@sgi.com | f034347 | 2008-01-30 23:27:58 +0100 | [diff] [blame] | 8 | #define __my_cpu_offset S390_lowcore.percpu_offset |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 9 | |
Tejun Heo | 9a0ef29 | 2009-06-24 15:13:53 +0900 | [diff] [blame] | 10 | /* |
| 11 | * For 64 bit module code, the module may be more than 4G above the |
| 12 | * per cpu area, use weak definitions to force the compiler to |
| 13 | * generate external references. |
| 14 | */ |
| 15 | #if defined(CONFIG_SMP) && defined(__s390x__) && defined(MODULE) |
| 16 | #define ARCH_NEEDS_WEAK_PER_CPU |
| 17 | #endif |
| 18 | |
travis@sgi.com | f034347 | 2008-01-30 23:27:58 +0100 | [diff] [blame] | 19 | #include <asm-generic/percpu.h> |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 20 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 21 | #endif /* __ARCH_S390_PERCPU__ */ |