Skip to content

Commit

Permalink
Merge tag 'sh-for-linus' of git://github.com/pmundt/linux-sh
Browse files Browse the repository at this point in the history
Pull SuperH updates from Paul Mundt.

The bulk of this is the UAPI disintegration for SH.

* tag 'sh-for-linus' of git://github.com/pmundt/linux-sh:
  sh: Fix up more fallout from pointless ARM __iomem churn.
  sh: Wire up kcmp syscall.
  UAPI: (Scripted) Disintegrate arch/sh/include/asm
  • Loading branch information
torvalds committed Oct 17, 2012
2 parents 90a24a4 + 0dd4d5c commit 8d2b6b3
Show file tree
Hide file tree
Showing 37 changed files with 210 additions and 176 deletions.
11 changes: 0 additions & 11 deletions arch/sh/include/asm/Kbuild
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
include include/asm-generic/Kbuild.asm

generic-y += bitsperlong.h
generic-y += cputime.h
Expand Down Expand Up @@ -34,13 +33,3 @@ generic-y += termbits.h
generic-y += termios.h
generic-y += ucontext.h
generic-y += xor.h

header-y += cachectl.h
header-y += cpu-features.h
header-y += hw_breakpoint.h
header-y += posix_types_32.h
header-y += posix_types_64.h
header-y += ptrace_32.h
header-y += ptrace_64.h
header-y += unistd_32.h
header-y += unistd_64.h
4 changes: 2 additions & 2 deletions arch/sh/include/asm/hw_breakpoint.h
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
#ifndef __ASM_SH_HW_BREAKPOINT_H
#define __ASM_SH_HW_BREAKPOINT_H

#ifdef __KERNEL__
#include <uapi/asm/hw_breakpoint.h>

#define __ARCH_HW_BREAKPOINT_H

#include <linux/kdebug.h>
Expand Down Expand Up @@ -66,5 +67,4 @@ extern int register_sh_ubc(struct sh_ubc *);

extern struct pmu perf_ops_bp;

#endif /* __KERNEL__ */
#endif /* __ASM_SH_HW_BREAKPOINT_H */
8 changes: 0 additions & 8 deletions arch/sh/include/asm/posix_types.h
Original file line number Diff line number Diff line change
@@ -1,13 +1,5 @@
#ifdef __KERNEL__
# ifdef CONFIG_SUPERH32
# include <asm/posix_types_32.h>
# else
# include <asm/posix_types_64.h>
# endif
#else
# ifdef __SH5__
# include <asm/posix_types_64.h>
# else
# include <asm/posix_types_32.h>
# endif
#endif /* __KERNEL__ */
34 changes: 3 additions & 31 deletions arch/sh/include/asm/ptrace.h
Original file line number Diff line number Diff line change
@@ -1,42 +1,16 @@
#ifndef __ASM_SH_PTRACE_H
#define __ASM_SH_PTRACE_H

/*
* Copyright (C) 1999, 2000 Niibe Yutaka
*/
#ifndef __ASM_SH_PTRACE_H
#define __ASM_SH_PTRACE_H

#define PTRACE_GETREGS 12 /* General registers */
#define PTRACE_SETREGS 13

#define PTRACE_GETFPREGS 14 /* FPU registers */
#define PTRACE_SETFPREGS 15

#define PTRACE_GETFDPIC 31 /* get the ELF fdpic loadmap address */

#define PTRACE_GETFDPIC_EXEC 0 /* [addr] request the executable loadmap */
#define PTRACE_GETFDPIC_INTERP 1 /* [addr] request the interpreter loadmap */

#define PTRACE_GETDSPREGS 55 /* DSP registers */
#define PTRACE_SETDSPREGS 56

#define PT_TEXT_END_ADDR 240
#define PT_TEXT_ADDR 244 /* &(struct user)->start_code */
#define PT_DATA_ADDR 248 /* &(struct user)->start_data */
#define PT_TEXT_LEN 252

#if defined(__SH5__) || defined(CONFIG_CPU_SH5)
#include <asm/ptrace_64.h>
#else
#include <asm/ptrace_32.h>
#endif

#ifdef __KERNEL__

#include <linux/stringify.h>
#include <linux/stddef.h>
#include <linux/thread_info.h>
#include <asm/addrspace.h>
#include <asm/page.h>
#include <uapi/asm/ptrace.h>

#define user_mode(regs) (((regs)->sr & 0x40000000)==0)
#define kernel_stack_pointer(_regs) ((unsigned long)(_regs)->regs[15])
Expand Down Expand Up @@ -140,6 +114,4 @@ static inline unsigned long profile_pc(struct pt_regs *regs)
#define profile_pc profile_pc

#include <asm-generic/ptrace.h>
#endif /* __KERNEL__ */

#endif /* __ASM_SH_PTRACE_H */
75 changes: 1 addition & 74 deletions arch/sh/include/asm/ptrace_32.h
Original file line number Diff line number Diff line change
@@ -1,86 +1,13 @@
#ifndef __ASM_SH_PTRACE_32_H
#define __ASM_SH_PTRACE_32_H

/*
* GCC defines register number like this:
* -----------------------------
* 0 - 15 are integer registers
* 17 - 22 are control/special registers
* 24 - 39 fp registers
* 40 - 47 xd registers
* 48 - fpscr register
* -----------------------------
*
* We follows above, except:
* 16 --- program counter (PC)
* 22 --- syscall #
* 23 --- floating point communication register
*/
#define REG_REG0 0
#define REG_REG15 15
#include <uapi/asm/ptrace_32.h>

#define REG_PC 16

#define REG_PR 17
#define REG_SR 18
#define REG_GBR 19
#define REG_MACH 20
#define REG_MACL 21

#define REG_SYSCALL 22

#define REG_FPREG0 23
#define REG_FPREG15 38
#define REG_XFREG0 39
#define REG_XFREG15 54

#define REG_FPSCR 55
#define REG_FPUL 56

/*
* This struct defines the way the registers are stored on the
* kernel stack during a system call or other kernel entry.
*/
struct pt_regs {
unsigned long regs[16];
unsigned long pc;
unsigned long pr;
unsigned long sr;
unsigned long gbr;
unsigned long mach;
unsigned long macl;
long tra;
};

/*
* This struct defines the way the DSP registers are stored on the
* kernel stack during a system call or other kernel entry.
*/
struct pt_dspregs {
unsigned long a1;
unsigned long a0g;
unsigned long a1g;
unsigned long m0;
unsigned long m1;
unsigned long a0;
unsigned long x0;
unsigned long x1;
unsigned long y0;
unsigned long y1;
unsigned long dsr;
unsigned long rs;
unsigned long re;
unsigned long mod;
};

#ifdef __KERNEL__

#define MAX_REG_OFFSET offsetof(struct pt_regs, tra)
static inline long regs_return_value(struct pt_regs *regs)
{
return regs->regs[0];
}

#endif /* __KERNEL__ */

#endif /* __ASM_SH_PTRACE_32_H */
12 changes: 1 addition & 11 deletions arch/sh/include/asm/ptrace_64.h
Original file line number Diff line number Diff line change
@@ -1,23 +1,13 @@
#ifndef __ASM_SH_PTRACE_64_H
#define __ASM_SH_PTRACE_64_H

struct pt_regs {
unsigned long long pc;
unsigned long long sr;
long long syscall_nr;
unsigned long long regs[63];
unsigned long long tregs[8];
unsigned long long pad[2];
};
#include <uapi/asm/ptrace_64.h>

#ifdef __KERNEL__

#define MAX_REG_OFFSET offsetof(struct pt_regs, tregs[7])
static inline long regs_return_value(struct pt_regs *regs)
{
return regs->regs[3];
}

#endif /* __KERNEL__ */

#endif /* __ASM_SH_PTRACE_64_H */
5 changes: 1 addition & 4 deletions arch/sh/include/asm/setup.h
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
#ifndef _SH_SETUP_H
#define _SH_SETUP_H

#include <asm-generic/setup.h>
#include <uapi/asm/setup.h>

#ifdef __KERNEL__
/*
* This is set up by the setup-routine at boot-time
*/
Expand All @@ -22,6 +21,4 @@ void sh_mv_setup(void);
void check_for_initrd(void);
void per_cpu_trap_init(void);

#endif /* __KERNEL__ */

#endif /* _SH_SETUP_H */
5 changes: 1 addition & 4 deletions arch/sh/include/asm/types.h
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
#ifndef __ASM_SH_TYPES_H
#define __ASM_SH_TYPES_H

#include <asm-generic/types.h>
#include <uapi/asm/types.h>

/*
* These aren't exported outside the kernel to avoid name space clashes
*/
#ifdef __KERNEL__
#ifndef __ASSEMBLY__

#ifdef CONFIG_SUPERH32
Expand All @@ -18,6 +17,4 @@ typedef u64 reg_size_t;
#endif

#endif /* __ASSEMBLY__ */
#endif /* __KERNEL__ */

#endif /* __ASM_SH_TYPES_H */
9 changes: 1 addition & 8 deletions arch/sh/include/asm/unistd.h
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
#ifdef __KERNEL__
# ifdef CONFIG_SUPERH32
# include <asm/unistd_32.h>
# else
Expand Down Expand Up @@ -38,10 +37,4 @@
*/
# define cond_syscall(x) asm(".weak\t" #x "\n\t.set\t" #x ",sys_ni_syscall")

#else
# ifdef __SH5__
# include <asm/unistd_64.h>
# else
# include <asm/unistd_32.h>
# endif
#endif
#include <uapi/asm/unistd.h>
22 changes: 22 additions & 0 deletions arch/sh/include/uapi/asm/Kbuild
Original file line number Diff line number Diff line change
@@ -1,3 +1,25 @@
# UAPI Header export list
include include/uapi/asm-generic/Kbuild.asm

header-y += auxvec.h
header-y += byteorder.h
header-y += cachectl.h
header-y += cpu-features.h
header-y += hw_breakpoint.h
header-y += ioctls.h
header-y += posix_types.h
header-y += posix_types_32.h
header-y += posix_types_64.h
header-y += ptrace.h
header-y += ptrace_32.h
header-y += ptrace_64.h
header-y += setup.h
header-y += sigcontext.h
header-y += signal.h
header-y += sockios.h
header-y += stat.h
header-y += swab.h
header-y += types.h
header-y += unistd.h
header-y += unistd_32.h
header-y += unistd_64.h
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Empty file.
File renamed without changes.
7 changes: 7 additions & 0 deletions arch/sh/include/uapi/asm/posix_types.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
#ifndef __KERNEL__
# ifdef __SH5__
# include <asm/posix_types_64.h>
# else
# include <asm/posix_types_32.h>
# endif
#endif /* __KERNEL__ */
File renamed without changes.
File renamed without changes.
34 changes: 34 additions & 0 deletions arch/sh/include/uapi/asm/ptrace.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
/*
* Copyright (C) 1999, 2000 Niibe Yutaka
*/
#ifndef _UAPI__ASM_SH_PTRACE_H
#define _UAPI__ASM_SH_PTRACE_H


#define PTRACE_GETREGS 12 /* General registers */
#define PTRACE_SETREGS 13

#define PTRACE_GETFPREGS 14 /* FPU registers */
#define PTRACE_SETFPREGS 15

#define PTRACE_GETFDPIC 31 /* get the ELF fdpic loadmap address */

#define PTRACE_GETFDPIC_EXEC 0 /* [addr] request the executable loadmap */
#define PTRACE_GETFDPIC_INTERP 1 /* [addr] request the interpreter loadmap */

#define PTRACE_GETDSPREGS 55 /* DSP registers */
#define PTRACE_SETDSPREGS 56

#define PT_TEXT_END_ADDR 240
#define PT_TEXT_ADDR 244 /* &(struct user)->start_code */
#define PT_DATA_ADDR 248 /* &(struct user)->start_data */
#define PT_TEXT_LEN 252

#if defined(__SH5__) || defined(CONFIG_CPU_SH5)
#include <asm/ptrace_64.h>
#else
#include <asm/ptrace_32.h>
#endif


#endif /* _UAPI__ASM_SH_PTRACE_H */
Loading

0 comments on commit 8d2b6b3

Please sign in to comment.