patch-2.4.19 linux-2.4.19/arch/s390x/kernel/asm-offsets.c

Next file: linux-2.4.19/arch/s390x/kernel/debug.c
Previous file: linux-2.4.19/arch/s390x/kernel/Makefile
Back to the patch index
Back to the overall index

diff -urN linux-2.4.18/arch/s390x/kernel/asm-offsets.c linux-2.4.19/arch/s390x/kernel/asm-offsets.c
@@ -0,0 +1,32 @@
+/*
+ * Generate definitions needed by assembly language modules.
+ * This code generates raw asm output which is post-processed to extract
+ * and format the required data.
+ */
+
+#include <linux/config.h>
+#include <linux/sched.h>
+
+/* Use marker if you need to separate the values later */
+
+#define DEFINE(sym, val, marker) \
+	asm volatile("\n->" #sym " %0 " #val " " #marker : : "i" (val))
+
+#define BLANK() asm volatile("\n->" : : )
+
+int main(void)
+{
+	DEFINE(__THREAD_ar2, offsetof(struct task_struct, thread.ar2),);
+	DEFINE(__THREAD_ar4, offsetof(struct task_struct, thread.ar4),);
+	DEFINE(__THREAD_ksp, offsetof(struct task_struct, thread.ksp),);
+	DEFINE(__THREAD_per, offsetof(struct task_struct, thread.per_info),);
+	BLANK();
+	DEFINE(__TASK_state, offsetof(struct task_struct, state),);
+	DEFINE(__TASK_sigpending, offsetof(struct task_struct, sigpending),);
+	DEFINE(__TASK_need_resched,
+	       offsetof(struct task_struct, need_resched),);
+	DEFINE(__TASK_ptrace, offsetof(struct task_struct, ptrace),);
+	DEFINE(__TASK_processor, offsetof(struct task_struct, processor),);
+
+	return 0;
+}

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)