Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris...
[pandora-kernel.git] / include / asm-s390 / percpu.h
index 495ad99..545857e 100644 (file)
@@ -16,7 +16,7 @@
 #if defined(__s390x__) && defined(MODULE)
 
 #define __reloc_hide(var,offset) (*({                  \
-       extern int simple_indentifier_##var(void);      \
+       extern int simple_identifier_##var(void);       \
        unsigned long *__ptr;                           \
        asm ( "larl %0,per_cpu__"#var"@GOTENT"          \
            : "=a" (__ptr) : "X" (per_cpu__##var) );    \
@@ -25,7 +25,7 @@
 #else
 
 #define __reloc_hide(var, offset) (*({                         \
-       extern int simple_indentifier_##var(void);              \
+       extern int simple_identifier_##var(void);               \
        unsigned long __ptr;                                    \
        asm ( "" : "=a" (__ptr) : "0" (&per_cpu__##var) );      \
        (typeof(&per_cpu__##var)) (__ptr + (offset)); }))
@@ -41,6 +41,11 @@ extern unsigned long __per_cpu_offset[NR_CPUS];
     __attribute__((__section__(".data.percpu"))) \
     __typeof__(type) per_cpu__##name
 
+#define DEFINE_PER_CPU_SHARED_ALIGNED(type, name)              \
+    __attribute__((__section__(".data.percpu.shared_aligned"))) \
+    __typeof__(type) per_cpu__##name                           \
+    ____cacheline_aligned_in_smp
+
 #define __get_cpu_var(var) __reloc_hide(var,S390_lowcore.percpu_offset)
 #define __raw_get_cpu_var(var) __reloc_hide(var,S390_lowcore.percpu_offset)
 #define per_cpu(var,cpu) __reloc_hide(var,__per_cpu_offset[cpu])
@@ -59,6 +64,8 @@ do {                                                          \
 
 #define DEFINE_PER_CPU(type, name) \
     __typeof__(type) per_cpu__##name
+#define DEFINE_PER_CPU_SHARED_ALIGNED(type, name)      \
+    DEFINE_PER_CPU(type, name)
 
 #define __get_cpu_var(var) __reloc_hide(var,0)
 #define __raw_get_cpu_var(var) __reloc_hide(var,0)