]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
m32r: Autogenerate offsets in struct thread_info
authorRichard Weinberger <richard@nod.at>
Fri, 3 Apr 2015 16:20:58 +0000 (18:20 +0200)
committerRichard Weinberger <richard@nod.at>
Sun, 12 Apr 2015 18:58:24 +0000 (20:58 +0200)
Maintaining offsets by hand is no fun.

Signed-off-by: Richard Weinberger <richard@nod.at>
arch/m32r/include/asm/asm-offsets.h [new file with mode: 0644]
arch/m32r/include/asm/thread_info.h
arch/m32r/kernel/asm-offsets.c
arch/m32r/kernel/entry.S

diff --git a/arch/m32r/include/asm/asm-offsets.h b/arch/m32r/include/asm/asm-offsets.h
new file mode 100644 (file)
index 0000000..d370ee3
--- /dev/null
@@ -0,0 +1 @@
+#include <generated/asm-offsets.h>
index 32422d0211c3d50e405cb66bacc9712d44a53196..034d1ab13029959e03ff3115c8b027e57caf8575 100644 (file)
@@ -38,18 +38,7 @@ struct thread_info {
        __u8                    supervisor_stack[0];
 };
 
-#else /* !__ASSEMBLY__ */
-
-/* offsets into the thread_info struct for assembly code access */
-#define TI_TASK                0x00000000
-#define TI_EXEC_DOMAIN 0x00000004
-#define TI_FLAGS       0x00000008
-#define TI_STATUS      0x0000000C
-#define TI_CPU         0x00000010
-#define TI_PRE_COUNT   0x00000014
-#define TI_ADDR_LIMIT  0x00000018
-
-#endif
+#endif /* !__ASSEMBLY__ */
 
 #define THREAD_SIZE            (PAGE_SIZE << 1)
 #define THREAD_SIZE_ORDER      1
index 9e263112a6e2f8174a3b51002c62ec54121df146..cd3d2fc9c8df032ca9173af69e0ce0026981b333 100644 (file)
@@ -1 +1,14 @@
-/* Dummy asm-offsets.c file. Required by kbuild and ready to be used - hint! */
+#include <linux/thread_info.h>
+#include <linux/kbuild.h>
+
+int foo(void)
+{
+       OFFSET(TI_TASK, thread_info, task);
+       OFFSET(TI_FLAGS, thread_info, flags);
+       OFFSET(TI_STATUS, thread_info, status);
+       OFFSET(TI_CPU, thread_info, cpu);
+       OFFSET(TI_PRE_COUNT, thread_info, preempt_count);
+       OFFSET(TI_ADDR_LIMIT, thread_info, addr_limit);
+
+       return 0;
+}
index 7c3db9940ce1f1e1254561ff0992c3980127beeb..c639bfa32232a29fe001ec47b956a60e9bffb305 100644 (file)
@@ -65,6 +65,7 @@
 #include <asm/page.h>
 #include <asm/m32r.h>
 #include <asm/mmu_context.h>
+#include <asm/asm-offsets.h>
 
 #if !defined(CONFIG_MMU)
 #define sys_madvise            sys_ni_syscall