[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1428785283-20501-10-git-send-email-richard@nod.at>
Date: Sat, 11 Apr 2015 22:47:48 +0200
From: Richard Weinberger <richard@....at>
To: linux-arch@...r.kernel.org
Cc: linux-kernel@...r.kernel.org, rth@...ddle.net,
ink@...assic.park.msu.ru, mattst88@...il.com, vgupta@...opsys.com,
linux@....linux.org.uk, catalin.marinas@....com,
will.deacon@....com, hskinnemoen@...il.com, egtvedt@...fundet.no,
realmz6@...il.com, msalter@...hat.com, a-jacquiot@...com,
starvik@...s.com, jesper.nilsson@...s.com, dhowells@...hat.com,
rkuo@...eaurora.org, tony.luck@...el.com, fenghua.yu@...el.com,
geert@...ux-m68k.org, james.hogan@...tec.com, monstr@...str.eu,
ralf@...ux-mips.org, yasutake.koichi@...panasonic.com,
lftan@...era.com, jonas@...thpole.se, jejb@...isc-linux.org,
deller@....de, benh@...nel.crashing.org, paulus@...ba.org,
mpe@...erman.id.au, schwidefsky@...ibm.com,
heiko.carstens@...ibm.com, liqin.linux@...il.com,
lennox.wu@...il.com, davem@...emloft.net, cmetcalf@...hip.com,
jdike@...toit.com, akpm@...ux-foundation.org, oleg@...hat.com,
hch@...radead.org, viro@...iv.linux.org.uk,
torvalds@...ux-foundation.org, Richard Weinberger <richard@....at>
Subject: [PATCH 09/24] m32r: Autogenerate offsets in struct thread_info
Maintaining offsets by hand is no fun.
Signed-off-by: Richard Weinberger <richard@....at>
---
arch/m32r/include/asm/asm-offsets.h | 1 +
arch/m32r/include/asm/thread_info.h | 13 +------------
arch/m32r/kernel/asm-offsets.c | 15 ++++++++++++++-
arch/m32r/kernel/entry.S | 1 +
4 files changed, 17 insertions(+), 13 deletions(-)
create mode 100644 arch/m32r/include/asm/asm-offsets.h
diff --git a/arch/m32r/include/asm/asm-offsets.h b/arch/m32r/include/asm/asm-offsets.h
new file mode 100644
index 0000000..d370ee3
--- /dev/null
+++ b/arch/m32r/include/asm/asm-offsets.h
@@ -0,0 +1 @@
+#include <generated/asm-offsets.h>
diff --git a/arch/m32r/include/asm/thread_info.h b/arch/m32r/include/asm/thread_info.h
index 32422d0..034d1ab 100644
--- a/arch/m32r/include/asm/thread_info.h
+++ b/arch/m32r/include/asm/thread_info.h
@@ -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
diff --git a/arch/m32r/kernel/asm-offsets.c b/arch/m32r/kernel/asm-offsets.c
index 9e26311..cd3d2fc 100644
--- a/arch/m32r/kernel/asm-offsets.c
+++ b/arch/m32r/kernel/asm-offsets.c
@@ -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;
+}
diff --git a/arch/m32r/kernel/entry.S b/arch/m32r/kernel/entry.S
index 7c3db99..c639bfa 100644
--- a/arch/m32r/kernel/entry.S
+++ b/arch/m32r/kernel/entry.S
@@ -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
--
1.8.4.5
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists