Re: [2.6 patch] asm/ptrace.h userspace headers cleanup

2008-06-27 Thread Roland McGrath
That all looks fine to me, though I won't claim to have paid close
attention to the nits in the various odd archs' files.

Thanks,
Roland
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Re: [2.6 patch] asm/ptrace.h userspace headers cleanup

2008-06-25 Thread Russell King
On Mon, Jun 23, 2008 at 08:48:09PM +0300, Adrian Bunk wrote:
 diff --git a/include/asm-arm/ptrace.h b/include/asm-arm/ptrace.h
 index 7aaa206..8382b75 100644
 --- a/include/asm-arm/ptrace.h
 +++ b/include/asm-arm/ptrace.h
 @@ -139,8 +139,6 @@ static inline int valid_user_regs(struct pt_regs *regs)
   return 0;
  }
  
 -#endif   /* __KERNEL__ */
 -
  #define pc_pointer(v) \
   ((v)  ~PCMASK)
  
 @@ -153,10 +151,10 @@ extern unsigned long profile_pc(struct pt_regs *regs);
  #define profile_pc(regs) instruction_pointer(regs)
  #endif
  
 -#ifdef __KERNEL__
  #define predicate(x) ((x)  0xf000)
  #define PREDICATE_ALWAYS 0xe000
 -#endif
 +
 +#endif /* __KERNEL__ */
  
  #endif /* __ASSEMBLY__ */
  

Acked-by: Russell King [EMAIL PROTECTED]

-- 
Russell King
 Linux kernel2.6 ARM Linux   - http://www.arm.linux.org.uk/
 maintainer of:
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Re: [2.6 patch] asm/ptrace.h userspace headers cleanup

2008-06-24 Thread David Howells
Adrian Bunk [EMAIL PROTECTED] wrote:

 This patch contains the following cleanups for the asm/ptrace.h 
 userspace headers:
 - include/asm-generic/Kbuild.asm already lists ptrace.h, remove
   the superfluous listings in the Kbuild files of the following
   architectures:
 ...
   - frv
 ...
 - don't expose function prototypes and macros to userspace:
 ...
   - mn10300

Acked-by: David Howells [EMAIL PROTECTED] (FRV and MN10300)
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Re: [2.6 patch] asm/ptrace.h userspace headers cleanup

2008-06-24 Thread Chris Zankel

Adrian Bunk wrote:
This patch contains the following cleanups for the asm/ptrace.h 
userspace headers:

- xtensa: cosmetical change to remove empty
#ifndef __ASSEMBLY__ #else #endif
  from the userspace headers

Signed-off-by: Adrian Bunk [EMAIL PROTECTED]


The Xtensa part also looks ok.

Acked-by: Chris Zankel [EMAIL PROTECTED]


Regards,
-Chris
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Re: [2.6 patch] asm/ptrace.h userspace headers cleanup

2008-06-24 Thread Jesper Nilsson
Hi,

On Mon, Jun 23, 2008 at 07:48:09PM +0200, Adrian Bunk wrote:
 This patch contains the following cleanups for the asm/ptrace.h
 userspace headers:
 - include/asm-generic/Kbuild.asm already lists ptrace.h, remove
   the superfluous listings in the Kbuild files of the following
   architectures:
   - cris
   - frv
   - powerpc
   - x86
 - don't expose function prototypes and macros to userspace:
   - arm
   - blackfin
   - cris
   - mn10300
   - parisc
 - remove #ifdef CONFIG_'s around #define's:
   - blackfin
   - m68knommu
 - sh: AFAIK __SH5__ should work in both kernel and userspace,
   no need to leak CONFIG_SUPERH64 to userspace
 - xtensa: cosmetical change to remove empty
 #ifndef __ASSEMBLY__ #else #endif
   from the userspace headers
 
 Signed-off-by: Adrian Bunk [EMAIL PROTECTED]

The CRIS parts look ok.

Acked-by: Jesper Nilsson [EMAIL PROTECTED]

/^JN - Jesper Nilsson
-- 
   Jesper Nilsson -- [EMAIL PROTECTED]
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Re: [2.6 patch] asm/ptrace.h userspace headers cleanup

2008-06-24 Thread Paul Mackerras
Adrian Bunk writes:

 This patch contains the following cleanups for the asm/ptrace.h 
 userspace headers:

Acked-by: Paul Mackerras [EMAIL PROTECTED]
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


[2.6 patch] asm/ptrace.h userspace headers cleanup

2008-06-23 Thread Adrian Bunk
This patch contains the following cleanups for the asm/ptrace.h 
userspace headers:
- include/asm-generic/Kbuild.asm already lists ptrace.h, remove
  the superfluous listings in the Kbuild files of the following
  architectures:
  - cris
  - frv
  - powerpc
  - x86
- don't expose function prototypes and macros to userspace:
  - arm
  - blackfin
  - cris
  - mn10300
  - parisc
- remove #ifdef CONFIG_'s around #define's:
  - blackfin
  - m68knommu
- sh: AFAIK __SH5__ should work in both kernel and userspace,
  no need to leak CONFIG_SUPERH64 to userspace
- xtensa: cosmetical change to remove empty
#ifndef __ASSEMBLY__ #else #endif
  from the userspace headers

Signed-off-by: Adrian Bunk [EMAIL PROTECTED]

---

Not changed by this patch is the fact that the following architectures 
have a different struct pt_regs depending on CONFIG_ variables:
- h8300
- m68knommu
- mips

This does not work in userspace.


 include/asm-arm/ptrace.h   |6 ++
 include/asm-blackfin/ptrace.h  |6 --
 include/asm-cris/arch-v10/Kbuild   |1 -
 include/asm-cris/arch-v10/ptrace.h |4 
 include/asm-cris/arch-v32/Kbuild   |1 -
 include/asm-cris/arch-v32/ptrace.h |4 
 include/asm-cris/ptrace.h  |4 +++-
 include/asm-frv/Kbuild |1 -
 include/asm-m68knommu/ptrace.h |2 --
 include/asm-mn10300/ptrace.h   |8 ++--
 include/asm-parisc/ptrace.h|4 +++-
 include/asm-powerpc/Kbuild |1 -
 include/asm-sh/ptrace.h|2 +-
 include/asm-x86/Kbuild |1 -
 include/asm-xtensa/ptrace.h|   10 +-
 15 files changed, 32 insertions(+), 23 deletions(-)

fc14755b77cff7af5ff00e938a4c493a669e25cd diff --git a/include/asm-arm/ptrace.h 
b/include/asm-arm/ptrace.h
index 7aaa206..8382b75 100644
--- a/include/asm-arm/ptrace.h
+++ b/include/asm-arm/ptrace.h
@@ -139,8 +139,6 @@ static inline int valid_user_regs(struct pt_regs *regs)
return 0;
 }
 
-#endif /* __KERNEL__ */
-
 #define pc_pointer(v) \
((v)  ~PCMASK)
 
@@ -153,10 +151,10 @@ extern unsigned long profile_pc(struct pt_regs *regs);
 #define profile_pc(regs) instruction_pointer(regs)
 #endif
 
-#ifdef __KERNEL__
 #define predicate(x)   ((x)  0xf000)
 #define PREDICATE_ALWAYS   0xe000
-#endif
+
+#endif /* __KERNEL__ */
 
 #endif /* __ASSEMBLY__ */
 
diff --git a/include/asm-blackfin/ptrace.h b/include/asm-blackfin/ptrace.h
index b8346cd..a45a80e 100644
--- a/include/asm-blackfin/ptrace.h
+++ b/include/asm-blackfin/ptrace.h
@@ -83,14 +83,14 @@ struct pt_regs {
 #define PTRACE_GETREGS12
 #define PTRACE_SETREGS13   /* ptrace signal  */
 
-#ifdef CONFIG_BINFMT_ELF_FDPIC
 #define PTRACE_GETFDPIC   31
 #define PTRACE_GETFDPIC_EXEC  0
 #define PTRACE_GETFDPIC_INTERP1
-#endif
 
 #define PS_S  (0x0002)
 
+#ifdef __KERNEL__
+
 /* user_mode returns true if only one bit is set in IPEND, other than the
master interrupt enable.  */
 #define user_mode(regs) (!(((regs)-ipend  ~0x10)  (((regs)-ipend  ~0x10) 
- 1)))
@@ -98,6 +98,8 @@ struct pt_regs {
 #define profile_pc(regs) instruction_pointer(regs)
 extern void show_regs(struct pt_regs *);
 
+#endif  /*  __KERNEL__  */
+
 #endif /* __ASSEMBLY__ */
 
 /*
diff --git a/include/asm-cris/arch-v10/Kbuild b/include/asm-cris/arch-v10/Kbuild
index 60e7e1b..7a192e1 100644
--- a/include/asm-cris/arch-v10/Kbuild
+++ b/include/asm-cris/arch-v10/Kbuild
@@ -1,4 +1,3 @@
-header-y += ptrace.h
 header-y += user.h
 header-y += svinto.h
 header-y += sv_addr_ag.h
diff --git a/include/asm-cris/arch-v10/ptrace.h 
b/include/asm-cris/arch-v10/ptrace.h
index fb14c5e..2f464ea 100644
--- a/include/asm-cris/arch-v10/ptrace.h
+++ b/include/asm-cris/arch-v10/ptrace.h
@@ -106,10 +106,14 @@ struct switch_stack {
unsigned long return_ip; /* ip that _resume will return to */
 };
 
+#ifdef __KERNEL__
+
 /* bit 8 is user-mode flag */
 #define user_mode(regs) (((regs)-dccr  0x100) != 0)
 #define instruction_pointer(regs) ((regs)-irp)
 #define profile_pc(regs) instruction_pointer(regs)
 extern void show_regs(struct pt_regs *);
 
+#endif  /*  __KERNEL__  */
+
 #endif
diff --git a/include/asm-cris/arch-v32/Kbuild b/include/asm-cris/arch-v32/Kbuild
index a0ec545..35f2fc4 100644
--- a/include/asm-cris/arch-v32/Kbuild
+++ b/include/asm-cris/arch-v32/Kbuild
@@ -1,3 +1,2 @@
-header-y += ptrace.h
 header-y += user.h
 header-y += cryptocop.h
diff --git a/include/asm-cris/arch-v32/ptrace.h 
b/include/asm-cris/arch-v32/ptrace.h
index 516cc70..41f4e86 100644
--- a/include/asm-cris/arch-v32/ptrace.h
+++ b/include/asm-cris/arch-v32/ptrace.h
@@ -106,9 +106,13 @@ struct switch_stack {
unsigned long return_ip; /* ip that _resume will return to */
 };
 
+#ifdef __KERNEL__
+
 #define user_mode(regs) (((regs)-ccs  (1  (U_CCS_BITNR + CCS_SHIFT))) != 0)
 #define instruction_pointer(regs) ((regs)-erp)
 extern void show_regs(struct pt_regs 

Re: [2.6 patch] asm/ptrace.h userspace headers cleanup

2008-06-23 Thread Greg Ungerer

Hi Adrian,

Adrian Bunk wrote:
This patch contains the following cleanups for the asm/ptrace.h 
userspace headers:

- include/asm-generic/Kbuild.asm already lists ptrace.h, remove
  the superfluous listings in the Kbuild files of the following
  architectures:
  - cris
  - frv
  - powerpc
  - x86
- don't expose function prototypes and macros to userspace:
  - arm
  - blackfin
  - cris
  - mn10300
  - parisc
- remove #ifdef CONFIG_'s around #define's:
  - blackfin
  - m68knommu
- sh: AFAIK __SH5__ should work in both kernel and userspace,
  no need to leak CONFIG_SUPERH64 to userspace
- xtensa: cosmetical change to remove empty
#ifndef __ASSEMBLY__ #else #endif
  from the userspace headers

Signed-off-by: Adrian Bunk [EMAIL PROTECTED]


The m68knommu looks ok.

Acked-by: Greg Ungerer [EMAIL PROTECTED]



---

Not changed by this patch is the fact that the following architectures 
have a different struct pt_regs depending on CONFIG_ variables:

- h8300
- m68knommu
- mips

This does not work in userspace.


Let me do something about that for m68knommu.

Regards
Greg




 include/asm-arm/ptrace.h   |6 ++
 include/asm-blackfin/ptrace.h  |6 --
 include/asm-cris/arch-v10/Kbuild   |1 -
 include/asm-cris/arch-v10/ptrace.h |4 
 include/asm-cris/arch-v32/Kbuild   |1 -
 include/asm-cris/arch-v32/ptrace.h |4 
 include/asm-cris/ptrace.h  |4 +++-
 include/asm-frv/Kbuild |1 -
 include/asm-m68knommu/ptrace.h |2 --
 include/asm-mn10300/ptrace.h   |8 ++--
 include/asm-parisc/ptrace.h|4 +++-
 include/asm-powerpc/Kbuild |1 -
 include/asm-sh/ptrace.h|2 +-
 include/asm-x86/Kbuild |1 -
 include/asm-xtensa/ptrace.h|   10 +-
 15 files changed, 32 insertions(+), 23 deletions(-)

fc14755b77cff7af5ff00e938a4c493a669e25cd diff --git a/include/asm-arm/ptrace.h 
b/include/asm-arm/ptrace.h
index 7aaa206..8382b75 100644
--- a/include/asm-arm/ptrace.h
+++ b/include/asm-arm/ptrace.h
@@ -139,8 +139,6 @@ static inline int valid_user_regs(struct pt_regs *regs)
return 0;
 }
 
-#endif	/* __KERNEL__ */

-
 #define pc_pointer(v) \
((v)  ~PCMASK)
 
@@ -153,10 +151,10 @@ extern unsigned long profile_pc(struct pt_regs *regs);

 #define profile_pc(regs) instruction_pointer(regs)
 #endif
 
-#ifdef __KERNEL__

 #define predicate(x)   ((x)  0xf000)
 #define PREDICATE_ALWAYS   0xe000
-#endif
+
+#endif /* __KERNEL__ */
 
 #endif /* __ASSEMBLY__ */
 
diff --git a/include/asm-blackfin/ptrace.h b/include/asm-blackfin/ptrace.h

index b8346cd..a45a80e 100644
--- a/include/asm-blackfin/ptrace.h
+++ b/include/asm-blackfin/ptrace.h
@@ -83,14 +83,14 @@ struct pt_regs {
 #define PTRACE_GETREGS12
 #define PTRACE_SETREGS13   /* ptrace signal  */
 
-#ifdef CONFIG_BINFMT_ELF_FDPIC

 #define PTRACE_GETFDPIC   31
 #define PTRACE_GETFDPIC_EXEC  0
 #define PTRACE_GETFDPIC_INTERP1
-#endif
 
 #define PS_S  (0x0002)
 
+#ifdef __KERNEL__

+
 /* user_mode returns true if only one bit is set in IPEND, other than the
master interrupt enable.  */
 #define user_mode(regs) (!(((regs)-ipend  ~0x10)  (((regs)-ipend  ~0x10) 
- 1)))
@@ -98,6 +98,8 @@ struct pt_regs {
 #define profile_pc(regs) instruction_pointer(regs)
 extern void show_regs(struct pt_regs *);
 
+#endif  /*  __KERNEL__  */

+
 #endif /* __ASSEMBLY__ */
 
 /*

diff --git a/include/asm-cris/arch-v10/Kbuild b/include/asm-cris/arch-v10/Kbuild
index 60e7e1b..7a192e1 100644
--- a/include/asm-cris/arch-v10/Kbuild
+++ b/include/asm-cris/arch-v10/Kbuild
@@ -1,4 +1,3 @@
-header-y += ptrace.h
 header-y += user.h
 header-y += svinto.h
 header-y += sv_addr_ag.h
diff --git a/include/asm-cris/arch-v10/ptrace.h 
b/include/asm-cris/arch-v10/ptrace.h
index fb14c5e..2f464ea 100644
--- a/include/asm-cris/arch-v10/ptrace.h
+++ b/include/asm-cris/arch-v10/ptrace.h
@@ -106,10 +106,14 @@ struct switch_stack {
unsigned long return_ip; /* ip that _resume will return to */
 };
 
+#ifdef __KERNEL__

+
 /* bit 8 is user-mode flag */
 #define user_mode(regs) (((regs)-dccr  0x100) != 0)
 #define instruction_pointer(regs) ((regs)-irp)
 #define profile_pc(regs) instruction_pointer(regs)
 extern void show_regs(struct pt_regs *);
 
+#endif  /*  __KERNEL__  */

+
 #endif
diff --git a/include/asm-cris/arch-v32/Kbuild b/include/asm-cris/arch-v32/Kbuild
index a0ec545..35f2fc4 100644
--- a/include/asm-cris/arch-v32/Kbuild
+++ b/include/asm-cris/arch-v32/Kbuild
@@ -1,3 +1,2 @@
-header-y += ptrace.h
 header-y += user.h
 header-y += cryptocop.h
diff --git a/include/asm-cris/arch-v32/ptrace.h 
b/include/asm-cris/arch-v32/ptrace.h
index 516cc70..41f4e86 100644
--- a/include/asm-cris/arch-v32/ptrace.h
+++ b/include/asm-cris/arch-v32/ptrace.h
@@ -106,9 +106,13 @@ struct switch_stack {
unsigned long return_ip; /* ip that _resume will return to */
 };
 

Re: [2.6 patch] asm/ptrace.h userspace headers cleanup

2008-06-23 Thread Paul Mundt
On Mon, Jun 23, 2008 at 08:48:09PM +0300, Adrian Bunk wrote:
 This patch contains the following cleanups for the asm/ptrace.h 
 userspace headers:
 - include/asm-generic/Kbuild.asm already lists ptrace.h, remove
   the superfluous listings in the Kbuild files of the following
   architectures:
   - cris
   - frv
   - powerpc
   - x86
 - don't expose function prototypes and macros to userspace:
   - arm
   - blackfin
   - cris
   - mn10300
   - parisc
 - remove #ifdef CONFIG_'s around #define's:
   - blackfin
   - m68knommu
 - sh: AFAIK __SH5__ should work in both kernel and userspace,
   no need to leak CONFIG_SUPERH64 to userspace

Yes, that's fine. We've generally avoided relying entirely on the gcc
builtin definitions due to the rampant stupidity surrounding
__SH4_NOFPU__, but it is true that __SH5__ is always defined at least.

Acked-by: Paul Mundt [EMAIL PROTECTED]
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Re: [2.6 patch] asm/ptrace.h userspace headers cleanup

2008-06-23 Thread Grant Grundler
On Mon, Jun 23, 2008 at 08:48:09PM +0300, Adrian Bunk wrote:
 This patch contains the following cleanups for the asm/ptrace.h 
 userspace headers:
 - include/asm-generic/Kbuild.asm already lists ptrace.h, remove
   the superfluous listings in the Kbuild files of the following
   architectures:
   - cris
   - frv
   - powerpc
   - x86
 - don't expose function prototypes and macros to userspace:
   - arm
   - blackfin
   - cris
   - mn10300
   - parisc
...
 diff --git a/include/asm-parisc/ptrace.h b/include/asm-parisc/ptrace.h
 index 93f990e..3e94c5d 100644
 --- a/include/asm-parisc/ptrace.h
 +++ b/include/asm-parisc/ptrace.h
 @@ -33,7 +33,6 @@ struct pt_regs {
   unsigned long ipsw; /* CR22 */
  };
  
 -#define task_regs(task) ((struct pt_regs *) ((char *)(task) + TASK_REGS))
  /*
   * The numbers chosen here are somewhat arbitrary but absolutely MUST
   * not overlap with any of the number assigned in linux/ptrace.h.
 @@ -43,8 +42,11 @@ struct pt_regs {
   * since we have taken branch traps too)
   */
  #define PTRACE_SINGLEBLOCK   12  /* resume execution until next branch */
 +
  #ifdef __KERNEL__
  
 +#define task_regs(task) ((struct pt_regs *) ((char *)(task) + TASK_REGS))
 +
  /* XXX should we use iaoq[1] or iaoq[0] ? */
  #define user_mode(regs)  (((regs)-iaoq[0]  3) ? 1 : 0)
  #define user_space(regs) (((regs)-iasq[1] != 0) ? 1 : 0)

Looks fine to me.
Acked-by: Grant Grundler [EMAIL PROTECTED]
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev