diff options
Diffstat (limited to 'arch/openrisc/include')
| -rw-r--r-- | arch/openrisc/include/asm/Kbuild | 2 | ||||
| -rw-r--r-- | arch/openrisc/include/asm/elf.h | 51 | ||||
| -rw-r--r-- | arch/openrisc/include/asm/processor.h | 2 | ||||
| -rw-r--r-- | arch/openrisc/include/asm/ptrace.h | 17 | ||||
| -rw-r--r-- | arch/openrisc/include/asm/thread_info.h | 3 | ||||
| -rw-r--r-- | arch/openrisc/include/uapi/asm/Kbuild | 7 | ||||
| -rw-r--r-- | arch/openrisc/include/uapi/asm/byteorder.h (renamed from arch/openrisc/include/asm/byteorder.h) | 0 | ||||
| -rw-r--r-- | arch/openrisc/include/uapi/asm/elf.h | 69 | ||||
| -rw-r--r-- | arch/openrisc/include/uapi/asm/kvm_para.h (renamed from arch/openrisc/include/asm/kvm_para.h) | 0 | ||||
| -rw-r--r-- | arch/openrisc/include/uapi/asm/param.h (renamed from arch/openrisc/include/asm/param.h) | 0 | ||||
| -rw-r--r-- | arch/openrisc/include/uapi/asm/ptrace.h | 35 | ||||
| -rw-r--r-- | arch/openrisc/include/uapi/asm/sigcontext.h (renamed from arch/openrisc/include/asm/sigcontext.h) | 0 | ||||
| -rw-r--r-- | arch/openrisc/include/uapi/asm/unistd.h (renamed from arch/openrisc/include/asm/unistd.h) | 0 | 
13 files changed, 116 insertions, 70 deletions
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 <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. @@ -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/processor.h b/arch/openrisc/include/asm/processor.h index 30462f1fe95..43decdbdb2e 100644 --- a/arch/openrisc/include/asm/processor.h +++ b/arch/openrisc/include/asm/processor.h @@ -103,7 +103,7 @@ extern unsigned long thread_saved_pc(struct task_struct *t);  #define init_stack      (init_thread_union.stack) -#define cpu_relax()     do { } while (0) +#define cpu_relax()     barrier()  #endif /* __ASSEMBLY__ */  #endif /* __ASM_OPENRISC_PROCESSOR_H */ 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 <asm/spr_defs.h> +#include <uapi/asm/ptrace.h>  /*   * 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/asm/thread_info.h b/arch/openrisc/include/asm/thread_info.h index 07a8bc080ef..07f3212422a 100644 --- a/arch/openrisc/include/asm/thread_info.h +++ b/arch/openrisc/include/asm/thread_info.h @@ -121,7 +121,6 @@ register struct thread_info *current_thread_info_reg asm("r10");  #define _TIF_SIGPENDING		(1<<TIF_SIGPENDING)  #define _TIF_NEED_RESCHED	(1<<TIF_NEED_RESCHED)  #define _TIF_SINGLESTEP		(1<<TIF_SINGLESTEP) -#define _TIF_RESTORE_SIGMASK     (1<<TIF_RESTORE_SIGMASK)  #define _TIF_POLLING_NRFLAG	(1<<TIF_POLLING_NRFLAG) @@ -129,6 +128,8 @@ register struct thread_info *current_thread_info_reg asm("r10");  /* For OpenRISC, this is anything in the LSW other than syscall trace */  #define _TIF_WORK_MASK (0xff & ~(_TIF_SYSCALL_TRACE|_TIF_SINGLESTEP)) +#define tsk_is_polling(t) test_tsk_thread_flag(t, TIF_POLLING_NRFLAG) +  #endif /* __KERNEL__ */  #endif /* _ASM_THREAD_INFO_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 index 60d14f7e14e..60d14f7e14e 100644 --- a/arch/openrisc/include/asm/byteorder.h +++ b/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 <phoenix@bsemi.com> + * Copyright (C) 2010-2011 Jonas Bonn <jonas@southpole.se> + * 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 */ diff --git a/arch/openrisc/include/asm/kvm_para.h b/arch/openrisc/include/uapi/asm/kvm_para.h index 14fab8f0b95..14fab8f0b95 100644 --- a/arch/openrisc/include/asm/kvm_para.h +++ b/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 index c39a336610e..c39a336610e 100644 --- a/arch/openrisc/include/asm/param.h +++ b/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 <phoenix@bsemi.com> + * Copyright (C) 2010-2011 Jonas Bonn <jonas@southpole.se> + * 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 index b79c2b19afb..b79c2b19afb 100644 --- a/arch/openrisc/include/asm/sigcontext.h +++ b/arch/openrisc/include/uapi/asm/sigcontext.h diff --git a/arch/openrisc/include/asm/unistd.h b/arch/openrisc/include/uapi/asm/unistd.h index 437bdbb61b1..437bdbb61b1 100644 --- a/arch/openrisc/include/asm/unistd.h +++ b/arch/openrisc/include/uapi/asm/unistd.h  |