Skip to content

Commit

Permalink
Merge tag 'openrisc-uapi' of git://openrisc.net/jonas/linux
Browse files Browse the repository at this point in the history
Pull OpenRISC uapi disintegration from Jonas Bonn:
 "OpenRISC UAPI disintegration work from David Howells"

* tag 'openrisc-uapi' of git://openrisc.net/jonas/linux:
  UAPI: (Scripted) Disintegrate arch/openrisc/include/asm
  • Loading branch information
torvalds committed Oct 13, 2012
2 parents 09a9ad6 6257c57 commit 7c5a473
Show file tree
Hide file tree
Showing 11 changed files with 113 additions and 68 deletions.
2 changes: 0 additions & 2 deletions arch/openrisc/include/asm/Kbuild
Original file line number Diff line number Diff line change
@@ -1,6 1,4 @@
include include/asm-generic/Kbuild.asm

header-y = elf.h
header-y = ucontext.h

generic-y = atomic.h
Expand Down
51 changes: 1 addition & 50 deletions arch/openrisc/include/asm/elf.h
Original file line number Diff line number Diff line change
Expand Up @@ -15,60 15,12 @@
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*/

#ifndef __ASM_OPENRISC_ELF_H
#define __ASM_OPENRISC_ELF_H

/*
* This files is partially exported to userspace. This allows us to keep
* the ELF bits in one place which should assist in keeping the kernel and
* userspace in sync.
*/

/*
* ELF register definitions..
*/

/* for struct user_regs_struct definition */
#include <asm/ptrace.h>

/* The OR1K relocation types... not all relevant for module loader */
#define R_OR32_NONE 0
#define R_OR32_32 1
#define R_OR32_16 2
#define R_OR32_8 3
#define R_OR32_CONST 4
#define R_OR32_CONSTH 5
#define R_OR32_JUMPTARG 6
#define R_OR32_VTINHERIT 7
#define R_OR32_VTENTRY 8

typedef unsigned long elf_greg_t;

/*
* Note that NGREG is defined to ELF_NGREG in include/linux/elfcore.h, and is
* thus exposed to user-space.
*/
#define ELF_NGREG (sizeof(struct user_regs_struct) / sizeof(elf_greg_t))
typedef elf_greg_t elf_gregset_t[ELF_NGREG];

/* A placeholder; OR32 does not have fp support yes, so no fp regs for now. */
typedef unsigned long elf_fpregset_t;

/* This should be moved to include/linux/elf.h */
#define EM_OR32 0x8472
#define EM_OPENRISC 92 /* OpenRISC 32-bit embedded processor */

/*
* These are used to set parameters in the core dumps.
*/
#define ELF_ARCH EM_OR32
#define ELF_CLASS ELFCLASS32
#define ELF_DATA ELFDATA2MSB

#ifdef __KERNEL__

#include <linux/types.h>
#include <uapi/asm/elf.h>

/*
* This is used to ensure we don't load something for the wrong architecture.
Expand Down Expand Up @@ -113,5 65,4 @@ extern void dump_elf_thread(elf_greg_t *dest, struct pt_regs *pt);
#define SET_PERSONALITY(ex) \
set_personality(PER_LINUX | (current->personality & (~PER_MASK)))

#endif /* __KERNEL__ */
#endif
17 changes: 1 addition & 16 deletions arch/openrisc/include/asm/ptrace.h
Original file line number Diff line number Diff line change
Expand Up @@ -15,25 15,12 @@
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*/

#ifndef __ASM_OPENRISC_PTRACE_H
#define __ASM_OPENRISC_PTRACE_H

#ifndef __ASSEMBLY__
/*
* This is the layout of the regset returned by the GETREGSET ptrace call
*/
struct user_regs_struct {
/* GPR R0-R31... */
unsigned long gpr[32];
unsigned long pc;
unsigned long sr;
};
#endif

#ifdef __KERNEL__

#include <asm/spr_defs.h>
#include <uapi/asm/ptrace.h>

/*
* Make kernel PTrace/register structures opaque to userspace... userspace can
Expand Down Expand Up @@ -134,6 121,4 @@ static inline long regs_return_value(struct pt_regs *regs)
#define PT_ORIG_GPR11 132
#define PT_SYSCALLNO 136

#endif /* __KERNEL__ */

#endif /* __ASM_OPENRISC_PTRACE_H */
7 changes: 7 additions & 0 deletions arch/openrisc/include/uapi/asm/Kbuild
Original file line number Diff line number Diff line change
@@ -1,3 1,10 @@
# UAPI Header export list
include include/uapi/asm-generic/Kbuild.asm

header-y = byteorder.h
header-y = elf.h
header-y = kvm_para.h
header-y = param.h
header-y = ptrace.h
header-y = sigcontext.h
header-y = unistd.h
File renamed without changes.
69 changes: 69 additions & 0 deletions arch/openrisc/include/uapi/asm/elf.h
Original file line number Diff line number Diff line change
@@ -0,0 1,69 @@
/*
* OpenRISC Linux
*
* Linux architectural port borrowing liberally from similar works of
* others. All original copyrights apply as per the original source
* declaration.
*
* OpenRISC implementation:
* Copyright (C) 2003 Matjaz Breskvar <[email protected]>
* Copyright (C) 2010-2011 Jonas Bonn <[email protected]>
* et al.
*
* 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 _UAPI__ASM_OPENRISC_ELF_H
#define _UAPI__ASM_OPENRISC_ELF_H

/*
* This files is partially exported to userspace. This allows us to keep
* the ELF bits in one place which should assist in keeping the kernel and
* userspace in sync.
*/

/*
* ELF register definitions..
*/

/* for struct user_regs_struct definition */
#include <asm/ptrace.h>

/* The OR1K relocation types... not all relevant for module loader */
#define R_OR32_NONE 0
#define R_OR32_32 1
#define R_OR32_16 2
#define R_OR32_8 3
#define R_OR32_CONST 4
#define R_OR32_CONSTH 5
#define R_OR32_JUMPTARG 6
#define R_OR32_VTINHERIT 7
#define R_OR32_VTENTRY 8

typedef unsigned long elf_greg_t;

/*
* Note that NGREG is defined to ELF_NGREG in include/linux/elfcore.h, and is
* thus exposed to user-space.
*/
#define ELF_NGREG (sizeof(struct user_regs_struct) / sizeof(elf_greg_t))
typedef elf_greg_t elf_gregset_t[ELF_NGREG];

/* A placeholder; OR32 does not have fp support yes, so no fp regs for now. */
typedef unsigned long elf_fpregset_t;

/* This should be moved to include/linux/elf.h */
#define EM_OR32 0x8472
#define EM_OPENRISC 92 /* OpenRISC 32-bit embedded processor */

/*
* These are used to set parameters in the core dumps.
*/
#define ELF_ARCH EM_OR32
#define ELF_CLASS ELFCLASS32
#define ELF_DATA ELFDATA2MSB

#endif /* _UAPI__ASM_OPENRISC_ELF_H */
File renamed without changes.
File renamed without changes.
35 changes: 35 additions & 0 deletions arch/openrisc/include/uapi/asm/ptrace.h
Original file line number Diff line number Diff line change
@@ -0,0 1,35 @@
/*
* OpenRISC Linux
*
* Linux architectural port borrowing liberally from similar works of
* others. All original copyrights apply as per the original source
* declaration.
*
* OpenRISC implementation:
* Copyright (C) 2003 Matjaz Breskvar <[email protected]>
* Copyright (C) 2010-2011 Jonas Bonn <[email protected]>
* et al.
*
* 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 _UAPI__ASM_OPENRISC_PTRACE_H
#define _UAPI__ASM_OPENRISC_PTRACE_H

#ifndef __ASSEMBLY__
/*
* This is the layout of the regset returned by the GETREGSET ptrace call
*/
struct user_regs_struct {
/* GPR R0-R31... */
unsigned long gpr[32];
unsigned long pc;
unsigned long sr;
};
#endif


#endif /* _UAPI__ASM_OPENRISC_PTRACE_H */
File renamed without changes.
File renamed without changes.

0 comments on commit 7c5a473

Please sign in to comment.