From 913c230200ceea66dda3fda325af8365b3fdc670 Mon Sep 17 00:00:00 2001 From: David Howells Date: Tue, 9 Oct 2012 09:47:18 +0100 Subject: [PATCH] UAPI: (Scripted) Disintegrate arch/openrisc/include/asm Signed-off-by: David Howells Acked-by: Arnd Bergmann Acked-by: Thomas Gleixner Acked-by: Michael Kerrisk Acked-by: Paul E. McKenney Acked-by: Dave Jones --- arch/openrisc/include/asm/Kbuild | 2 - arch/openrisc/include/asm/elf.h | 51 +------------- arch/openrisc/include/asm/ptrace.h | 17 +---- arch/openrisc/include/uapi/asm/Kbuild | 7 ++ .../include/{ => uapi}/asm/byteorder.h | 0 arch/openrisc/include/uapi/asm/elf.h | 69 +++++++++++++++++++ .../include/{ => uapi}/asm/kvm_para.h | 0 arch/openrisc/include/{ => uapi}/asm/param.h | 0 arch/openrisc/include/uapi/asm/ptrace.h | 35 ++++++++++ .../include/{ => uapi}/asm/sigcontext.h | 0 arch/openrisc/include/{ => uapi}/asm/unistd.h | 0 11 files changed, 113 insertions(+), 68 deletions(-) rename arch/openrisc/include/{ => uapi}/asm/byteorder.h (100%) create mode 100644 arch/openrisc/include/uapi/asm/elf.h rename arch/openrisc/include/{ => uapi}/asm/kvm_para.h (100%) rename arch/openrisc/include/{ => uapi}/asm/param.h (100%) create mode 100644 arch/openrisc/include/uapi/asm/ptrace.h rename arch/openrisc/include/{ => uapi}/asm/sigcontext.h (100%) rename arch/openrisc/include/{ => uapi}/asm/unistd.h (100%) diff --git a/arch/openrisc/include/asm/Kbuild b/arch/openrisc/include/asm/Kbuild index 7140b6b2644..78de6805268 100644 --- a/arch/openrisc/include/asm/Kbuild +++ b/arch/openrisc/include/asm/Kbuild @@ -1,6 +1,4 @@ -include include/asm-generic/Kbuild.asm -header-y += elf.h header-y += ucontext.h generic-y += atomic.h diff --git a/arch/openrisc/include/asm/elf.h b/arch/openrisc/include/asm/elf.h index 225a7ff320a..f4aa8a542a2 100644 --- a/arch/openrisc/include/asm/elf.h +++ b/arch/openrisc/include/asm/elf.h @@ -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 - -/* 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 +#include /* * This is used to ensure we don't load something for the wrong architecture. @@ -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 diff --git a/arch/openrisc/include/asm/ptrace.h b/arch/openrisc/include/asm/ptrace.h index 8555c0c3d4d..6ca17264c39 100644 --- a/arch/openrisc/include/asm/ptrace.h +++ b/arch/openrisc/include/asm/ptrace.h @@ -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 +#include /* * Make kernel PTrace/register structures opaque to userspace... userspace can @@ -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 */ diff --git a/arch/openrisc/include/uapi/asm/Kbuild b/arch/openrisc/include/uapi/asm/Kbuild index baebb3da1d4..80761eb82b5 100644 --- a/arch/openrisc/include/uapi/asm/Kbuild +++ b/arch/openrisc/include/uapi/asm/Kbuild @@ -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 diff --git a/arch/openrisc/include/asm/byteorder.h b/arch/openrisc/include/uapi/asm/byteorder.h similarity index 100% rename from arch/openrisc/include/asm/byteorder.h rename to arch/openrisc/include/uapi/asm/byteorder.h diff --git a/arch/openrisc/include/uapi/asm/elf.h b/arch/openrisc/include/uapi/asm/elf.h new file mode 100644 index 00000000000..f02ea583042 --- /dev/null +++ b/arch/openrisc/include/uapi/asm/elf.h @@ -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 + * Copyright (C) 2010-2011 Jonas Bonn + * 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 + +/* 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 */ diff --git a/arch/openrisc/include/asm/kvm_para.h b/arch/openrisc/include/uapi/asm/kvm_para.h similarity index 100% rename from arch/openrisc/include/asm/kvm_para.h rename to arch/openrisc/include/uapi/asm/kvm_para.h diff --git a/arch/openrisc/include/asm/param.h b/arch/openrisc/include/uapi/asm/param.h similarity index 100% rename from arch/openrisc/include/asm/param.h rename to arch/openrisc/include/uapi/asm/param.h diff --git a/arch/openrisc/include/uapi/asm/ptrace.h b/arch/openrisc/include/uapi/asm/ptrace.h new file mode 100644 index 00000000000..9760bd17fbc --- /dev/null +++ b/arch/openrisc/include/uapi/asm/ptrace.h @@ -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 + * Copyright (C) 2010-2011 Jonas Bonn + * 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 */ diff --git a/arch/openrisc/include/asm/sigcontext.h b/arch/openrisc/include/uapi/asm/sigcontext.h similarity index 100% rename from arch/openrisc/include/asm/sigcontext.h rename to arch/openrisc/include/uapi/asm/sigcontext.h diff --git a/arch/openrisc/include/asm/unistd.h b/arch/openrisc/include/uapi/asm/unistd.h similarity index 100% rename from arch/openrisc/include/asm/unistd.h rename to arch/openrisc/include/uapi/asm/unistd.h -- 2.20.1