Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8d2b6b3a authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge tag 'sh-for-linus' of git://github.com/pmundt/linux-sh

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
parents 90a24a4a 0dd4d5cb
Loading
Loading
Loading
Loading
+0 −11
Original line number Original line Diff line number Diff line
include include/asm-generic/Kbuild.asm


generic-y += bitsperlong.h
generic-y += bitsperlong.h
generic-y += cputime.h
generic-y += cputime.h
@@ -34,13 +33,3 @@ generic-y += termbits.h
generic-y += termios.h
generic-y += termios.h
generic-y += ucontext.h
generic-y += ucontext.h
generic-y += xor.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
+2 −2
Original line number Original line Diff line number Diff line
#ifndef __ASM_SH_HW_BREAKPOINT_H
#ifndef __ASM_SH_HW_BREAKPOINT_H
#define __ASM_SH_HW_BREAKPOINT_H
#define __ASM_SH_HW_BREAKPOINT_H


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

#define __ARCH_HW_BREAKPOINT_H
#define __ARCH_HW_BREAKPOINT_H


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


extern struct pmu perf_ops_bp;
extern struct pmu perf_ops_bp;


#endif /* __KERNEL__ */
#endif /* __ASM_SH_HW_BREAKPOINT_H */
#endif /* __ASM_SH_HW_BREAKPOINT_H */
+0 −8
Original line number Original line Diff line number Diff line
#ifdef __KERNEL__
# ifdef CONFIG_SUPERH32
# ifdef CONFIG_SUPERH32
#  include <asm/posix_types_32.h>
#  include <asm/posix_types_32.h>
# else
# else
#  include <asm/posix_types_64.h>
#  include <asm/posix_types_64.h>
# endif
# endif
#else
# ifdef __SH5__
#  include <asm/posix_types_64.h>
# else
#  include <asm/posix_types_32.h>
# endif
#endif /* __KERNEL__ */
+3 −31
Original line number Original line Diff line number Diff line
#ifndef __ASM_SH_PTRACE_H
#define __ASM_SH_PTRACE_H

/*
/*
 * Copyright (C) 1999, 2000  Niibe Yutaka
 * 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/stringify.h>
#include <linux/stddef.h>
#include <linux/stddef.h>
#include <linux/thread_info.h>
#include <linux/thread_info.h>
#include <asm/addrspace.h>
#include <asm/addrspace.h>
#include <asm/page.h>
#include <asm/page.h>
#include <uapi/asm/ptrace.h>


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


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

#endif /* __ASM_SH_PTRACE_H */
#endif /* __ASM_SH_PTRACE_H */
+1 −74
Original line number Original line Diff line number Diff line
#ifndef __ASM_SH_PTRACE_32_H
#ifndef __ASM_SH_PTRACE_32_H
#define __ASM_SH_PTRACE_32_H
#define __ASM_SH_PTRACE_32_H


/*
#include <uapi/asm/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


#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)
#define MAX_REG_OFFSET		offsetof(struct pt_regs, tra)
static inline long regs_return_value(struct pt_regs *regs)
static inline long regs_return_value(struct pt_regs *regs)
@@ -81,6 +10,4 @@ static inline long regs_return_value(struct pt_regs *regs)
	return regs->regs[0];
	return regs->regs[0];
}
}


#endif /* __KERNEL__ */

#endif /* __ASM_SH_PTRACE_32_H */
#endif /* __ASM_SH_PTRACE_32_H */
Loading