Remove registers.h and move the stack frame definition into ptrace.h to be
consistent with the other ports.

Signed-off-by: Michael Walle <mich...@walle.cc>
---
 arch/lm32/include/asm/elf.h        |   14 +++---
 arch/lm32/include/asm/ptrace.h     |   75 +++++++++++++++++++++++++------
 arch/lm32/include/asm/registers.h  |   88 ------------------------------------
 arch/lm32/include/asm/sigcontext.h |   19 ++------
 arch/lm32/kernel/entry.S           |    2 +-
 arch/lm32/kernel/ptrace.c          |    1 -
 arch/lm32/kernel/traps.c           |    1 -
 7 files changed, 75 insertions(+), 125 deletions(-)
 delete mode 100644 arch/lm32/include/asm/registers.h

diff --git a/arch/lm32/include/asm/elf.h b/arch/lm32/include/asm/elf.h
index 2fa63d5..a16d2d8 100644
--- a/arch/lm32/include/asm/elf.h
+++ b/arch/lm32/include/asm/elf.h
@@ -21,11 +21,10 @@
  * MA 02111-1307 USA
  */
 
-#ifndef _LM32_ASM_ELF_H
-#define _LM32_ASM_ELF_H
+#ifndef _ASM_LM32_ELF_H
+#define _ASM_LM32_ELF_H
 
-#include <asm/registers.h>
-#include <asm/user.h>
+#include <linux/ptrace.h>
 
 /*
  * ELF register definitions..
@@ -53,17 +52,20 @@
 #define R_LM32_GNU_VTINHERIT             9
 #define R_LM32_GNU_VTENTRY               10
 
+/* ELF register definitions */
 typedef unsigned long elf_greg_t;
 
 #define ELF_NGREG (sizeof(struct pt_regs) / sizeof(elf_greg_t))
 typedef elf_greg_t elf_gregset_t[ELF_NGREG];
 
-typedef struct fp_regs elf_fpregset_t;
+/* LM32 does not have fp regs */
+typedef unsigned long elf_fpreg_t;
+typedef elf_fpreg_t   elf_fpregset_t;
 
 /*
  * This is used to ensure we don't load something for the wrong architecture.
  */
-#define elf_check_arch(x) (((x)->e_machine == EM_LM32)||((x)->e_machine == 
EM_LM32_OLD))
+#define elf_check_arch(x) (((x)->e_machine == EM_LM32) || ((x)->e_machine == 
EM_LM32_OLD))
 #define elf_check_fdpic(x) (1)
 #define elf_check_const_displacement(x) (1)
 
diff --git a/arch/lm32/include/asm/ptrace.h b/arch/lm32/include/asm/ptrace.h
index 031e119..02a324e 100644
--- a/arch/lm32/include/asm/ptrace.h
+++ b/arch/lm32/include/asm/ptrace.h
@@ -21,11 +21,67 @@
  * MA 02111-1307 USA
  */
 
-#ifndef _LM32_ASM_PTRACE_H
-#define _LM32_ASM_PTRACE_H
+#ifndef _ASM_LM32_PTRACE_H
+#define _ASM_LM32_PTRACE_H
 
-#include <asm/registers.h>
+#define PT_MODE_KERNEL 1
+#define PT_MODE_USER   0
 
+#ifndef __ASSEMBLY__
+
+typedef unsigned long lm32_reg_t;
+
+struct pt_regs {
+       lm32_reg_t r0;
+       lm32_reg_t r1;
+       lm32_reg_t r2;
+       lm32_reg_t r3;
+       lm32_reg_t r4;
+       lm32_reg_t r5;
+       lm32_reg_t r6;
+       lm32_reg_t r7;
+       lm32_reg_t r8;
+       lm32_reg_t r9;
+       lm32_reg_t r10;
+       lm32_reg_t r11;
+       lm32_reg_t r12;
+       lm32_reg_t r13;
+       lm32_reg_t r14;
+       lm32_reg_t r15;
+       lm32_reg_t r16;
+       lm32_reg_t r17;
+       lm32_reg_t r18;
+       lm32_reg_t r19;
+       lm32_reg_t r20;
+       lm32_reg_t r21;
+       lm32_reg_t r22;
+       lm32_reg_t r23;
+       lm32_reg_t r24;
+       lm32_reg_t r25;
+       lm32_reg_t gp;
+       lm32_reg_t fp;
+       lm32_reg_t sp;
+       lm32_reg_t ra;
+       lm32_reg_t ea;
+       lm32_reg_t ba;
+       unsigned int pt_mode;
+};
+
+#ifdef __KERNEL__
+#define user_mode(regs) ((regs)->pt_mode == PT_MODE_USER)
+
+#define instruction_pointer(regs) ((regs)->ea)
+#define profile_pc(regs) instruction_pointer(regs)
+
+void show_regs(struct pt_regs *);
+
+#else /* !__KERNEL__ */
+
+/* TBD (gdbserver/ptrace) */
+
+#endif /* !__KERNEL__ */
+
+/* FIXME: remove this ? */
 /* Arbitrarily choose the same ptrace numbers as used by the Sparc code. */
 #define PTRACE_GETREGS            12
 #define PTRACE_SETREGS            13
@@ -40,15 +96,6 @@
 #define PT_TEXT_END_ADDR       51
 #define PT_DATA_ADDR   52
 
-#ifdef __KERNEL__
-#ifndef __ASSEMBLY__
-
-#define user_mode(regs) ((regs)->pt_mode == PT_MODE_USER)
-#define instruction_pointer(regs) ((regs)->ea)
-#define profile_pc(regs) instruction_pointer(regs)
-extern void show_regs(struct pt_regs *);
-
-#endif
-#endif
+#endif /* !__ASSEMBLY__ */
 
-#endif /* _LM32_PTRACE_H */
+#endif /* _ASM_LM32_PTRACE_H */
diff --git a/arch/lm32/include/asm/registers.h 
b/arch/lm32/include/asm/registers.h
deleted file mode 100644
index 8f52e8c..0000000
--- a/arch/lm32/include/asm/registers.h
+++ /dev/null
@@ -1,88 +0,0 @@
-
-/* registers.h: register frame declarations
- *
- * Copyright (C) 2003 Red Hat, Inc. All Rights Reserved.
- * Written by David Howells (dhowe...@redhat.com)
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version
- * 2 of the License, or (at your option) any later version.
- */
-
-#ifndef _ASM_REGISTERS_H
-#define _ASM_REGISTERS_H
-
-#define PT_MODE_KERNEL 1
-#define PT_MODE_USER 0
-
-#ifndef __ASSEMBLY__
-
-/* this struct defines the way the registers are stored on the
-   stack during a system call. */
-struct pt_regs {
-  long     r0;
-  long     r1;
-  long     r2;
-  long     r3;
-  long     r4;
-  long     r5;
-  long     r6;
-  long     r7;
-  long     r8;
-  long     r9;
-  long     r10;
-  long     r11;
-  long     r12;
-  long     r13;
-  long     r14;
-  long     r15;
-  long     r16;
-  long     r17;
-  long     r18;
-  long     r19;
-  long     r20;
-  long     r21;
-  long     r22;
-  long     r23;
-  long     r24;
-  long     r25;
-  long     gp;
-  long     fp;
-  long     sp;
-  long     ra;
-  long     ea;
-  long     ba;
-  unsigned int pt_mode;
-};
-
-/* this defines the registers stored during an interrupt */
-struct int_regs {
-  long     r1;
-  long     r2;
-  long     r3;
-  long     r4;
-  long     r5;
-  long     r6;
-  long     r7;
-  long     r8;
-  long     r9;
-  long     r10;
-  long     ra;
-  long     ea;
-};
-
-/* no fp_regs but the kernel likes to have them */
-struct fp_regs
-{
-};
-
-struct user_context
-{
-       struct pt_regs regs;
-       struct fp_regs fpregs;
-} __attribute__((aligned(4)));
-
-#endif /* __ASSEMBLY__ */
-
-#endif
diff --git a/arch/lm32/include/asm/sigcontext.h 
b/arch/lm32/include/asm/sigcontext.h
index 80489bc..8e469a5 100644
--- a/arch/lm32/include/asm/sigcontext.h
+++ b/arch/lm32/include/asm/sigcontext.h
@@ -21,10 +21,11 @@
  * MA 02111-1307 USA
  */
 
-#ifndef __ASM_LM32_SIGCONTEXT_H
-#define __ASM_LM32_SIGCONTEXT_H
+#ifndef _ASM_LM32_SIGCONTEXT_H
+#define _ASM_LM32_SIGCONTEXT_H
 
-#include <asm/registers.h>
+/* FIXME should be linux/ptrace.h */
+#include <asm/ptrace.h>
 
 /*
  * Signal context structure - contains all info to do with the state
@@ -34,16 +35,6 @@
 struct sigcontext {
        struct pt_regs regs;
        unsigned long oldmask;
-       /* TODO
-  unsigned long exception_no;
-  unsigned long sc_pc;
-  unsigned long sc_regs[32];
-  unsigned long sc_EBA;
-  unsigned long sc_DEBA;
-  unsigned long sc_IM;
-  unsigned long sc_IP;
-       */
 };
 
-
-#endif
+#endif /* _ASM_LM32_SIGCONTEXT_H */
diff --git a/arch/lm32/kernel/entry.S b/arch/lm32/kernel/entry.S
index 24c1740..f957def 100644
--- a/arch/lm32/kernel/entry.S
+++ b/arch/lm32/kernel/entry.S
@@ -7,7 +7,7 @@
 #include <asm/setup.h>
 #include <asm/segment.h>
 #include <asm/asm-offsets.h>
-#include <asm/registers.h>
+#include <asm/ptrace.h>
 
 /* 
  * Exception vector table (see "LatticeMico32 Processor Reference Manual")
diff --git a/arch/lm32/kernel/ptrace.c b/arch/lm32/kernel/ptrace.c
index d963d66..7a91417 100644
--- a/arch/lm32/kernel/ptrace.c
+++ b/arch/lm32/kernel/ptrace.c
@@ -29,7 +29,6 @@
 #include <linux/user.h>
 #include <linux/signal.h>
 
-#include <asm/registers.h>
 #include <asm/uaccess.h>
 
 void ptrace_disable(struct task_struct *child)
diff --git a/arch/lm32/kernel/traps.c b/arch/lm32/kernel/traps.c
index 503339b..33b4022 100644
--- a/arch/lm32/kernel/traps.c
+++ b/arch/lm32/kernel/traps.c
@@ -35,7 +35,6 @@
 #include <linux/module.h>
 
 #include <asm/system.h>
-#include <asm/registers.h>
 #include <asm/traps.h>
 
 extern unsigned long  reset_handler;
-- 
1.7.2.3

_______________________________________________
http://lists.milkymist.org/listinfo.cgi/devel-milkymist.org
IRC: #milkymist@Freenode
Twitter: www.twitter.com/milkymistvj
Ideas? http://milkymist.uservoice.com

Reply via email to