UAPI Disintegration 2012-10-09
-----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.12 (GNU/Linux) iQIVAwUAUHPmWxOxKuMESys7AQJQaA/7BJgO3UmyKn5+X6nX3UYe7w3Tr0dd4Mf6 jiBGVcwtW3TVADACQua4GMHBDoaeV+IIkARnnSj+tF6lI/qYQ3a9k0NQmEupPpe5 v5z4pncp8iMs+wkZPPCYA5JHKkWQ6bqObCSV5s5p3J3sGwO1s3/K9zPuh9wAdEtO q1Eb4cJso4wnfvr29Pzr0E8+auQFEcbpwXVSWXY55N5pLC0IPnmWrDEnY9ZFdYm2 1lpTx6SZz8FP47enen/BNxvbjZhFWaeN/bNxxqaRZvNCYiKYjUY6H4wJy+VIsSRx spwaiSgdwPF329EzVsIrYsseioqpENZUk3RjSBy+qB0MiBET+Fanl5jJHmotvI6x Chvnl6IoKEFp+b/5dImsAv7CFYbg99NtR4/BT9tTuMq+g3CorzCf/VhmszRCsOMU OCvYJcYcZzd0gWzubIVijgStGuqsGTtsvE9yms9iXiOztV8Cfkio9hDdB1bSl+ZU WyeAF3+U7a4+FycYn5N13JJcF3seScZehjBy+AfUJOfPRzfM2nu9V4pIIOFSAajV u3OLuIRtvk2qwHe+/olhcaPDt8kTNBVNigUHqu8pZ9ZQNmXAyUaBgbqT/bEqHJMg vCXIwYKRrf3xDRyJv1Ks7VTuMDuVIsxZIJ1eD/UCnRJ4syo6qDz2jMRWFOXf12I9 KQB3k6S4q+Q= =rI1w -----END PGP SIGNATURE----- Merge tag 'disintegrate-openrisc-20121009' of git://git.infradead.org/users/dhowells/linux-headers UAPI Disintegration 2012-10-09 * tag 'disintegrate-openrisc-20121009' of git://git.infradead.org/users/dhowells/linux-headers: UAPI: (Scripted) Disintegrate arch/openrisc/include/asm
This commit is contained in:
Коммит
6257c5740e
|
@ -1,6 +1,4 @@
|
||||||
include include/asm-generic/Kbuild.asm
|
|
||||||
|
|
||||||
header-y += elf.h
|
|
||||||
header-y += ucontext.h
|
header-y += ucontext.h
|
||||||
|
|
||||||
generic-y += atomic.h
|
generic-y += atomic.h
|
||||||
|
|
|
@ -15,60 +15,12 @@
|
||||||
* the Free Software Foundation; either version 2 of the License, or
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
* (at your option) any later version.
|
* (at your option) any later version.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __ASM_OPENRISC_ELF_H
|
#ifndef __ASM_OPENRISC_ELF_H
|
||||||
#define __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 <linux/types.h>
|
||||||
|
#include <uapi/asm/elf.h>
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* This is used to ensure we don't load something for the wrong architecture.
|
* 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) \
|
#define SET_PERSONALITY(ex) \
|
||||||
set_personality(PER_LINUX | (current->personality & (~PER_MASK)))
|
set_personality(PER_LINUX | (current->personality & (~PER_MASK)))
|
||||||
|
|
||||||
#endif /* __KERNEL__ */
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -15,25 +15,12 @@
|
||||||
* the Free Software Foundation; either version 2 of the License, or
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
* (at your option) any later version.
|
* (at your option) any later version.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __ASM_OPENRISC_PTRACE_H
|
#ifndef __ASM_OPENRISC_PTRACE_H
|
||||||
#define __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 <asm/spr_defs.h>
|
||||||
|
#include <uapi/asm/ptrace.h>
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Make kernel PTrace/register structures opaque to userspace... userspace can
|
* 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_ORIG_GPR11 132
|
||||||
#define PT_SYSCALLNO 136
|
#define PT_SYSCALLNO 136
|
||||||
|
|
||||||
#endif /* __KERNEL__ */
|
|
||||||
|
|
||||||
#endif /* __ASM_OPENRISC_PTRACE_H */
|
#endif /* __ASM_OPENRISC_PTRACE_H */
|
||||||
|
|
|
@ -1,3 +1,10 @@
|
||||||
# UAPI Header export list
|
# UAPI Header export list
|
||||||
include include/uapi/asm-generic/Kbuild.asm
|
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
|
||||||
|
|
|
@ -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 */
|
|
@ -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 */
|
Загрузка…
Ссылка в новой задаче