Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
cloud-kernel
提交
fd3bc66f
cloud-kernel
项目概览
openanolis
/
cloud-kernel
12 个月 前同步成功
通知
150
Star
36
Fork
7
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
10
列表
看板
标记
里程碑
合并请求
2
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
cloud-kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
10
Issue
10
列表
看板
标记
里程碑
合并请求
2
合并请求
2
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
fd3bc66f
编写于
10月 10, 2012
作者:
B
Benjamin Herrenschmidt
浏览文件
操作
浏览文件
下载
差异文件
Merge tag 'disintegrate-powerpc-20121009' into merge
UAPI Disintegration 2012-10-09
上级
547b1e81
c3617f72
变更
56
隐藏空白更改
内联
并排
Showing
56 changed file
with
1705 addition
and
1528 deletion
+1705
-1528
arch/powerpc/include/asm/Kbuild
arch/powerpc/include/asm/Kbuild
+0
-35
arch/powerpc/include/asm/bootx.h
arch/powerpc/include/asm/bootx.h
+1
-122
arch/powerpc/include/asm/cputable.h
arch/powerpc/include/asm/cputable.h
+1
-34
arch/powerpc/include/asm/elf.h
arch/powerpc/include/asm/elf.h
+6
-305
arch/powerpc/include/asm/kvm_para.h
arch/powerpc/include/asm/kvm_para.h
+1
-69
arch/powerpc/include/asm/mman.h
arch/powerpc/include/asm/mman.h
+3
-24
arch/powerpc/include/asm/nvram.h
arch/powerpc/include/asm/nvram.h
+1
-54
arch/powerpc/include/asm/ptrace.h
arch/powerpc/include/asm/ptrace.h
+3
-239
arch/powerpc/include/asm/signal.h
arch/powerpc/include/asm/signal.h
+1
-142
arch/powerpc/include/asm/spu_info.h
arch/powerpc/include/asm/spu_info.h
+1
-28
arch/powerpc/include/asm/swab.h
arch/powerpc/include/asm/swab.h
+3
-12
arch/powerpc/include/asm/termios.h
arch/powerpc/include/asm/termios.h
+3
-66
arch/powerpc/include/asm/types.h
arch/powerpc/include/asm/types.h
+3
-27
arch/powerpc/include/asm/unistd.h
arch/powerpc/include/asm/unistd.h
+3
-371
arch/powerpc/include/uapi/asm/Kbuild
arch/powerpc/include/uapi/asm/Kbuild
+41
-0
arch/powerpc/include/uapi/asm/auxvec.h
arch/powerpc/include/uapi/asm/auxvec.h
+0
-0
arch/powerpc/include/uapi/asm/bitsperlong.h
arch/powerpc/include/uapi/asm/bitsperlong.h
+0
-0
arch/powerpc/include/uapi/asm/bootx.h
arch/powerpc/include/uapi/asm/bootx.h
+132
-0
arch/powerpc/include/uapi/asm/byteorder.h
arch/powerpc/include/uapi/asm/byteorder.h
+0
-0
arch/powerpc/include/uapi/asm/cputable.h
arch/powerpc/include/uapi/asm/cputable.h
+36
-0
arch/powerpc/include/uapi/asm/elf.h
arch/powerpc/include/uapi/asm/elf.h
+307
-0
arch/powerpc/include/uapi/asm/errno.h
arch/powerpc/include/uapi/asm/errno.h
+0
-0
arch/powerpc/include/uapi/asm/fcntl.h
arch/powerpc/include/uapi/asm/fcntl.h
+0
-0
arch/powerpc/include/uapi/asm/ioctl.h
arch/powerpc/include/uapi/asm/ioctl.h
+0
-0
arch/powerpc/include/uapi/asm/ioctls.h
arch/powerpc/include/uapi/asm/ioctls.h
+0
-0
arch/powerpc/include/uapi/asm/ipcbuf.h
arch/powerpc/include/uapi/asm/ipcbuf.h
+0
-0
arch/powerpc/include/uapi/asm/kvm.h
arch/powerpc/include/uapi/asm/kvm.h
+0
-0
arch/powerpc/include/uapi/asm/kvm_para.h
arch/powerpc/include/uapi/asm/kvm_para.h
+90
-0
arch/powerpc/include/uapi/asm/linkage.h
arch/powerpc/include/uapi/asm/linkage.h
+0
-0
arch/powerpc/include/uapi/asm/mman.h
arch/powerpc/include/uapi/asm/mman.h
+31
-0
arch/powerpc/include/uapi/asm/msgbuf.h
arch/powerpc/include/uapi/asm/msgbuf.h
+0
-0
arch/powerpc/include/uapi/asm/nvram.h
arch/powerpc/include/uapi/asm/nvram.h
+62
-0
arch/powerpc/include/uapi/asm/param.h
arch/powerpc/include/uapi/asm/param.h
+0
-0
arch/powerpc/include/uapi/asm/poll.h
arch/powerpc/include/uapi/asm/poll.h
+0
-0
arch/powerpc/include/uapi/asm/posix_types.h
arch/powerpc/include/uapi/asm/posix_types.h
+0
-0
arch/powerpc/include/uapi/asm/ps3fb.h
arch/powerpc/include/uapi/asm/ps3fb.h
+0
-0
arch/powerpc/include/uapi/asm/ptrace.h
arch/powerpc/include/uapi/asm/ptrace.h
+259
-0
arch/powerpc/include/uapi/asm/resource.h
arch/powerpc/include/uapi/asm/resource.h
+0
-0
arch/powerpc/include/uapi/asm/seccomp.h
arch/powerpc/include/uapi/asm/seccomp.h
+0
-0
arch/powerpc/include/uapi/asm/sembuf.h
arch/powerpc/include/uapi/asm/sembuf.h
+0
-0
arch/powerpc/include/uapi/asm/setup.h
arch/powerpc/include/uapi/asm/setup.h
+0
-0
arch/powerpc/include/uapi/asm/shmbuf.h
arch/powerpc/include/uapi/asm/shmbuf.h
+0
-0
arch/powerpc/include/uapi/asm/sigcontext.h
arch/powerpc/include/uapi/asm/sigcontext.h
+0
-0
arch/powerpc/include/uapi/asm/siginfo.h
arch/powerpc/include/uapi/asm/siginfo.h
+0
-0
arch/powerpc/include/uapi/asm/signal.h
arch/powerpc/include/uapi/asm/signal.h
+145
-0
arch/powerpc/include/uapi/asm/socket.h
arch/powerpc/include/uapi/asm/socket.h
+0
-0
arch/powerpc/include/uapi/asm/sockios.h
arch/powerpc/include/uapi/asm/sockios.h
+0
-0
arch/powerpc/include/uapi/asm/spu_info.h
arch/powerpc/include/uapi/asm/spu_info.h
+53
-0
arch/powerpc/include/uapi/asm/stat.h
arch/powerpc/include/uapi/asm/stat.h
+0
-0
arch/powerpc/include/uapi/asm/statfs.h
arch/powerpc/include/uapi/asm/statfs.h
+0
-0
arch/powerpc/include/uapi/asm/swab.h
arch/powerpc/include/uapi/asm/swab.h
+23
-0
arch/powerpc/include/uapi/asm/termbits.h
arch/powerpc/include/uapi/asm/termbits.h
+0
-0
arch/powerpc/include/uapi/asm/termios.h
arch/powerpc/include/uapi/asm/termios.h
+76
-0
arch/powerpc/include/uapi/asm/types.h
arch/powerpc/include/uapi/asm/types.h
+40
-0
arch/powerpc/include/uapi/asm/ucontext.h
arch/powerpc/include/uapi/asm/ucontext.h
+0
-0
arch/powerpc/include/uapi/asm/unistd.h
arch/powerpc/include/uapi/asm/unistd.h
+380
-0
未找到文件。
arch/powerpc/include/asm/Kbuild
浏览文件 @
fd3bc66f
include include/asm-generic/Kbuild.asm
header-y += auxvec.h
header-y += bootx.h
header-y += byteorder.h
header-y += cputable.h
header-y += elf.h
header-y += errno.h
header-y += fcntl.h
header-y += ioctl.h
header-y += ioctls.h
header-y += ipcbuf.h
header-y += linkage.h
header-y += msgbuf.h
header-y += nvram.h
header-y += param.h
header-y += poll.h
header-y += posix_types.h
header-y += ps3fb.h
header-y += resource.h
header-y += seccomp.h
header-y += sembuf.h
header-y += shmbuf.h
header-y += sigcontext.h
header-y += siginfo.h
header-y += signal.h
header-y += socket.h
header-y += sockios.h
header-y += spu_info.h
header-y += stat.h
header-y += statfs.h
header-y += termbits.h
header-y += termios.h
header-y += types.h
header-y += ucontext.h
header-y += unistd.h
generic-y += clkdev.h
generic-y += rwsem.h
arch/powerpc/include/asm/bootx.h
浏览文件 @
fd3bc66f
...
...
@@ -5,126 +5,11 @@
* Written by Benjamin Herrenschmidt.
*/
#ifndef __ASM_BOOTX_H__
#define __ASM_BOOTX_H__
#include <linux/types.h>
#ifdef macintosh
#include <Types.h>
#include "linux_type_defs.h"
#endif
#ifdef macintosh
/* All this requires PowerPC alignment */
#pragma options align=power
#endif
/* On kernel entry:
*
* r3 = 0x426f6f58 ('BooX')
* r4 = pointer to boot_infos
* r5 = NULL
*
* Data and instruction translation disabled, interrupts
* disabled, kernel loaded at physical 0x00000000 on PCI
* machines (will be different on NuBus).
*/
#define BOOT_INFO_VERSION 5
#define BOOT_INFO_COMPATIBLE_VERSION 1
/* Bit in the architecture flag mask. More to be defined in
future versions. Note that either BOOT_ARCH_PCI or
BOOT_ARCH_NUBUS is set. The other BOOT_ARCH_NUBUS_xxx are
set additionally when BOOT_ARCH_NUBUS is set.
*/
#define BOOT_ARCH_PCI 0x00000001UL
#define BOOT_ARCH_NUBUS 0x00000002UL
#define BOOT_ARCH_NUBUS_PDM 0x00000010UL
#define BOOT_ARCH_NUBUS_PERFORMA 0x00000020UL
#define BOOT_ARCH_NUBUS_POWERBOOK 0x00000040UL
/* Maximum number of ranges in phys memory map */
#define MAX_MEM_MAP_SIZE 26
/* This is the format of an element in the physical memory map. Note that
the map is optional and current BootX will only build it for pre-PCI
machines */
typedef
struct
boot_info_map_entry
{
__u32
physAddr
;
/* Physical starting address */
__u32
size
;
/* Size in bytes */
}
boot_info_map_entry_t
;
/* Here are the boot informations that are passed to the bootstrap
* Note that the kernel arguments and the device tree are appended
* at the end of this structure. */
typedef
struct
boot_infos
{
/* Version of this structure */
__u32
version
;
/* backward compatible down to version: */
__u32
compatible_version
;
/* NEW (vers. 2) this holds the current _logical_ base addr of
the frame buffer (for use by early boot message) */
__u8
*
logicalDisplayBase
;
#include <uapi/asm/bootx.h>
/* NEW (vers. 4) Apple's machine identification */
__u32
machineID
;
/* NEW (vers. 4) Detected hw architecture */
__u32
architecture
;
/* The device tree (internal addresses relative to the beginning of the tree,
* device tree offset relative to the beginning of this structure).
* On pre-PCI macintosh (BOOT_ARCH_PCI bit set to 0 in architecture), this
* field is 0.
*/
__u32
deviceTreeOffset
;
/* Device tree offset */
__u32
deviceTreeSize
;
/* Size of the device tree */
/* Some infos about the current MacOS display */
__u32
dispDeviceRect
[
4
];
/* left,top,right,bottom */
__u32
dispDeviceDepth
;
/* (8, 16 or 32) */
__u8
*
dispDeviceBase
;
/* base address (physical) */
__u32
dispDeviceRowBytes
;
/* rowbytes (in bytes) */
__u32
dispDeviceColorsOffset
;
/* Colormap (8 bits only) or 0 (*) */
/* Optional offset in the registry to the current
* MacOS display. (Can be 0 when not detected) */
__u32
dispDeviceRegEntryOffset
;
/* Optional pointer to boot ramdisk (offset from this structure) */
__u32
ramDisk
;
__u32
ramDiskSize
;
/* size of ramdisk image */
/* Kernel command line arguments (offset from this structure) */
__u32
kernelParamsOffset
;
/* ALL BELOW NEW (vers. 4) */
/* This defines the physical memory. Valid with BOOT_ARCH_NUBUS flag
(non-PCI) only. On PCI, memory is contiguous and it's size is in the
device-tree. */
boot_info_map_entry_t
physMemoryMap
[
MAX_MEM_MAP_SIZE
];
/* Where the phys memory is */
__u32
physMemoryMapSize
;
/* How many entries in map */
/* The framebuffer size (optional, currently 0) */
__u32
frameBufferSize
;
/* Represents a max size, can be 0. */
/* NEW (vers. 5) */
/* Total params size (args + colormap + device tree + ramdisk) */
__u32
totalParamsSize
;
}
boot_infos_t
;
#ifdef __KERNEL__
/* (*) The format of the colormap is 256 * 3 * 2 bytes. Each color index
* is represented by 3 short words containing a 16 bits (unsigned) color
* component. Later versions may contain the gamma table for direct-color
...
...
@@ -162,10 +47,4 @@ struct bootx_dt_node {
extern
void
bootx_init
(
unsigned
long
r4
,
unsigned
long
phys
);
#endif
/* __KERNEL__ */
#ifdef macintosh
#pragma options align=reset
#endif
#endif
arch/powerpc/include/asm/cputable.h
浏览文件 @
fd3bc66f
#ifndef __ASM_POWERPC_CPUTABLE_H
#define __ASM_POWERPC_CPUTABLE_H
#define PPC_FEATURE_32 0x80000000
#define PPC_FEATURE_64 0x40000000
#define PPC_FEATURE_601_INSTR 0x20000000
#define PPC_FEATURE_HAS_ALTIVEC 0x10000000
#define PPC_FEATURE_HAS_FPU 0x08000000
#define PPC_FEATURE_HAS_MMU 0x04000000
#define PPC_FEATURE_HAS_4xxMAC 0x02000000
#define PPC_FEATURE_UNIFIED_CACHE 0x01000000
#define PPC_FEATURE_HAS_SPE 0x00800000
#define PPC_FEATURE_HAS_EFP_SINGLE 0x00400000
#define PPC_FEATURE_HAS_EFP_DOUBLE 0x00200000
#define PPC_FEATURE_NO_TB 0x00100000
#define PPC_FEATURE_POWER4 0x00080000
#define PPC_FEATURE_POWER5 0x00040000
#define PPC_FEATURE_POWER5_PLUS 0x00020000
#define PPC_FEATURE_CELL 0x00010000
#define PPC_FEATURE_BOOKE 0x00008000
#define PPC_FEATURE_SMT 0x00004000
#define PPC_FEATURE_ICACHE_SNOOP 0x00002000
#define PPC_FEATURE_ARCH_2_05 0x00001000
#define PPC_FEATURE_PA6T 0x00000800
#define PPC_FEATURE_HAS_DFP 0x00000400
#define PPC_FEATURE_POWER6_EXT 0x00000200
#define PPC_FEATURE_ARCH_2_06 0x00000100
#define PPC_FEATURE_HAS_VSX 0x00000080
#define PPC_FEATURE_PSERIES_PERFMON_COMPAT \
0x00000040
#define PPC_FEATURE_TRUE_LE 0x00000002
#define PPC_FEATURE_PPC_LE 0x00000001
#ifdef __KERNEL__
#include <asm/asm-compat.h>
#include <asm/feature-fixups.h>
#include <uapi/asm/cputable.h>
#ifndef __ASSEMBLY__
...
...
@@ -557,5 +525,4 @@ static inline int cpu_has_feature(unsigned long feature)
#endif
/* !__ASSEMBLY__ */
#endif
/* __KERNEL__ */
#endif
/* __ASM_POWERPC_CPUTABLE_H */
arch/powerpc/include/asm/elf.h
浏览文件 @
fd3bc66f
#ifndef _ASM_POWERPC_ELF_H
#define _ASM_POWERPC_ELF_H
#ifdef __KERNEL__
#include <linux/sched.h>
/* for task_struct */
#include <asm/page.h>
#include <asm/string.h>
#endif
#include <linux/types.h>
#include <asm/ptrace.h>
#include <asm/cputable.h>
#include <asm/auxvec.h>
/* PowerPC relocations defined by the ABIs */
#define R_PPC_NONE 0
#define R_PPC_ADDR32 1
/* 32bit absolute address */
#define R_PPC_ADDR24 2
/* 26bit address, 2 bits ignored. */
#define R_PPC_ADDR16 3
/* 16bit absolute address */
#define R_PPC_ADDR16_LO 4
/* lower 16bit of absolute address */
#define R_PPC_ADDR16_HI 5
/* high 16bit of absolute address */
#define R_PPC_ADDR16_HA 6
/* adjusted high 16bit */
#define R_PPC_ADDR14 7
/* 16bit address, 2 bits ignored */
#define R_PPC_ADDR14_BRTAKEN 8
#define R_PPC_ADDR14_BRNTAKEN 9
#define R_PPC_REL24 10
/* PC relative 26 bit */
#define R_PPC_REL14 11
/* PC relative 16 bit */
#define R_PPC_REL14_BRTAKEN 12
#define R_PPC_REL14_BRNTAKEN 13
#define R_PPC_GOT16 14
#define R_PPC_GOT16_LO 15
#define R_PPC_GOT16_HI 16
#define R_PPC_GOT16_HA 17
#define R_PPC_PLTREL24 18
#define R_PPC_COPY 19
#define R_PPC_GLOB_DAT 20
#define R_PPC_JMP_SLOT 21
#define R_PPC_RELATIVE 22
#define R_PPC_LOCAL24PC 23
#define R_PPC_UADDR32 24
#define R_PPC_UADDR16 25
#define R_PPC_REL32 26
#define R_PPC_PLT32 27
#define R_PPC_PLTREL32 28
#define R_PPC_PLT16_LO 29
#define R_PPC_PLT16_HI 30
#define R_PPC_PLT16_HA 31
#define R_PPC_SDAREL16 32
#define R_PPC_SECTOFF 33
#define R_PPC_SECTOFF_LO 34
#define R_PPC_SECTOFF_HI 35
#define R_PPC_SECTOFF_HA 36
/* PowerPC relocations defined for the TLS access ABI. */
#define R_PPC_TLS 67
/* none (sym+add)@tls */
#define R_PPC_DTPMOD32 68
/* word32 (sym+add)@dtpmod */
#define R_PPC_TPREL16 69
/* half16* (sym+add)@tprel */
#define R_PPC_TPREL16_LO 70
/* half16 (sym+add)@tprel@l */
#define R_PPC_TPREL16_HI 71
/* half16 (sym+add)@tprel@h */
#define R_PPC_TPREL16_HA 72
/* half16 (sym+add)@tprel@ha */
#define R_PPC_TPREL32 73
/* word32 (sym+add)@tprel */
#define R_PPC_DTPREL16 74
/* half16* (sym+add)@dtprel */
#define R_PPC_DTPREL16_LO 75
/* half16 (sym+add)@dtprel@l */
#define R_PPC_DTPREL16_HI 76
/* half16 (sym+add)@dtprel@h */
#define R_PPC_DTPREL16_HA 77
/* half16 (sym+add)@dtprel@ha */
#define R_PPC_DTPREL32 78
/* word32 (sym+add)@dtprel */
#define R_PPC_GOT_TLSGD16 79
/* half16* (sym+add)@got@tlsgd */
#define R_PPC_GOT_TLSGD16_LO 80
/* half16 (sym+add)@got@tlsgd@l */
#define R_PPC_GOT_TLSGD16_HI 81
/* half16 (sym+add)@got@tlsgd@h */
#define R_PPC_GOT_TLSGD16_HA 82
/* half16 (sym+add)@got@tlsgd@ha */
#define R_PPC_GOT_TLSLD16 83
/* half16* (sym+add)@got@tlsld */
#define R_PPC_GOT_TLSLD16_LO 84
/* half16 (sym+add)@got@tlsld@l */
#define R_PPC_GOT_TLSLD16_HI 85
/* half16 (sym+add)@got@tlsld@h */
#define R_PPC_GOT_TLSLD16_HA 86
/* half16 (sym+add)@got@tlsld@ha */
#define R_PPC_GOT_TPREL16 87
/* half16* (sym+add)@got@tprel */
#define R_PPC_GOT_TPREL16_LO 88
/* half16 (sym+add)@got@tprel@l */
#define R_PPC_GOT_TPREL16_HI 89
/* half16 (sym+add)@got@tprel@h */
#define R_PPC_GOT_TPREL16_HA 90
/* half16 (sym+add)@got@tprel@ha */
#define R_PPC_GOT_DTPREL16 91
/* half16* (sym+add)@got@dtprel */
#define R_PPC_GOT_DTPREL16_LO 92
/* half16* (sym+add)@got@dtprel@l */
#define R_PPC_GOT_DTPREL16_HI 93
/* half16* (sym+add)@got@dtprel@h */
#define R_PPC_GOT_DTPREL16_HA 94
/* half16* (sym+add)@got@dtprel@ha */
/* keep this the last entry. */
#define R_PPC_NUM 95
/*
* ELF register definitions..
*
...
...
@@ -93,77 +6,14 @@
* as published by the Free Software Foundation; either version
* 2 of the License, or (at your option) any later version.
*/
#ifndef _ASM_POWERPC_ELF_H
#define _ASM_POWERPC_ELF_H
#define ELF_NGREG 48
/* includes nip, msr, lr, etc. */
#define ELF_NFPREG 33
/* includes fpscr */
typedef
unsigned
long
elf_greg_t64
;
typedef
elf_greg_t64
elf_gregset_t64
[
ELF_NGREG
];
typedef
unsigned
int
elf_greg_t32
;
typedef
elf_greg_t32
elf_gregset_t32
[
ELF_NGREG
];
typedef
elf_gregset_t32
compat_elf_gregset_t
;
/*
* ELF_ARCH, CLASS, and DATA are used to set parameters in the core dumps.
*/
#ifdef __powerpc64__
# define ELF_NVRREG32 33
/* includes vscr & vrsave stuffed together */
# define ELF_NVRREG 34
/* includes vscr & vrsave in split vectors */
# define ELF_NVSRHALFREG 32
/* Half the vsx registers */
# define ELF_GREG_TYPE elf_greg_t64
#else
# define ELF_NEVRREG 34
/* includes acc (as 2) */
# define ELF_NVRREG 33
/* includes vscr */
# define ELF_GREG_TYPE elf_greg_t32
# define ELF_ARCH EM_PPC
# define ELF_CLASS ELFCLASS32
# define ELF_DATA ELFDATA2MSB
#endif
/* __powerpc64__ */
#ifndef ELF_ARCH
# define ELF_ARCH EM_PPC64
# define ELF_CLASS ELFCLASS64
# define ELF_DATA ELFDATA2MSB
typedef
elf_greg_t64
elf_greg_t
;
typedef
elf_gregset_t64
elf_gregset_t
;
#else
/* Assumption: ELF_ARCH == EM_PPC and ELF_CLASS == ELFCLASS32 */
typedef
elf_greg_t32
elf_greg_t
;
typedef
elf_gregset_t32
elf_gregset_t
;
#endif
/* ELF_ARCH */
/* Floating point registers */
typedef
double
elf_fpreg_t
;
typedef
elf_fpreg_t
elf_fpregset_t
[
ELF_NFPREG
];
/* Altivec registers */
/*
* The entries with indexes 0-31 contain the corresponding vector registers.
* The entry with index 32 contains the vscr as the last word (offset 12)
* within the quadword. This allows the vscr to be stored as either a
* quadword (since it must be copied via a vector register to/from storage)
* or as a word.
*
* 64-bit kernel notes: The entry at index 33 contains the vrsave as the first
* word (offset 0) within the quadword.
*
* This definition of the VMX state is compatible with the current PPC32
* ptrace interface. This allows signal handling and ptrace to use the same
* structures. This also simplifies the implementation of a bi-arch
* (combined (32- and 64-bit) gdb.
*
* Note that it's _not_ compatible with 32 bits ucontext which stuffs the
* vrsave along with vscr and so only uses 33 vectors for the register set
*/
typedef
__vector128
elf_vrreg_t
;
typedef
elf_vrreg_t
elf_vrregset_t
[
ELF_NVRREG
];
#ifdef __powerpc64__
typedef
elf_vrreg_t
elf_vrregset_t32
[
ELF_NVRREG32
];
typedef
elf_fpreg_t
elf_vsrreghalf_t32
[
ELF_NVSRHALFREG
];
#endif
#include <linux/sched.h>
/* for task_struct */
#include <asm/page.h>
#include <asm/string.h>
#include <uapi/asm/elf.h>
#ifdef __KERNEL__
/*
* This is used to ensure we don't load something for the wrong architecture.
*/
...
...
@@ -277,153 +127,6 @@ extern int arch_setup_additional_pages(struct linux_binprm *bprm,
extern
unsigned
long
arch_randomize_brk
(
struct
mm_struct
*
mm
);
#define arch_randomize_brk arch_randomize_brk
#endif
/* __KERNEL__ */
/*
* The requirements here are:
* - keep the final alignment of sp (sp & 0xf)
* - make sure the 32-bit value at the first 16 byte aligned position of
* AUXV is greater than 16 for glibc compatibility.
* AT_IGNOREPPC is used for that.
* - for compatibility with glibc ARCH_DLINFO must always be defined on PPC,
* even if DLINFO_ARCH_ITEMS goes to zero or is undefined.
* update AT_VECTOR_SIZE_ARCH if the number of NEW_AUX_ENT entries changes
*/
#define ARCH_DLINFO \
do { \
/* Handle glibc compatibility. */
\
NEW_AUX_ENT(AT_IGNOREPPC, AT_IGNOREPPC); \
NEW_AUX_ENT(AT_IGNOREPPC, AT_IGNOREPPC); \
/* Cache size items */
\
NEW_AUX_ENT(AT_DCACHEBSIZE, dcache_bsize); \
NEW_AUX_ENT(AT_ICACHEBSIZE, icache_bsize); \
NEW_AUX_ENT(AT_UCACHEBSIZE, ucache_bsize); \
VDSO_AUX_ENT(AT_SYSINFO_EHDR, current->mm->context.vdso_base); \
} while (0)
/* PowerPC64 relocations defined by the ABIs */
#define R_PPC64_NONE R_PPC_NONE
#define R_PPC64_ADDR32 R_PPC_ADDR32
/* 32bit absolute address. */
#define R_PPC64_ADDR24 R_PPC_ADDR24
/* 26bit address, word aligned. */
#define R_PPC64_ADDR16 R_PPC_ADDR16
/* 16bit absolute address. */
#define R_PPC64_ADDR16_LO R_PPC_ADDR16_LO
/* lower 16bits of abs. address. */
#define R_PPC64_ADDR16_HI R_PPC_ADDR16_HI
/* high 16bits of abs. address. */
#define R_PPC64_ADDR16_HA R_PPC_ADDR16_HA
/* adjusted high 16bits. */
#define R_PPC64_ADDR14 R_PPC_ADDR14
/* 16bit address, word aligned. */
#define R_PPC64_ADDR14_BRTAKEN R_PPC_ADDR14_BRTAKEN
#define R_PPC64_ADDR14_BRNTAKEN R_PPC_ADDR14_BRNTAKEN
#define R_PPC64_REL24 R_PPC_REL24
/* PC relative 26 bit, word aligned. */
#define R_PPC64_REL14 R_PPC_REL14
/* PC relative 16 bit. */
#define R_PPC64_REL14_BRTAKEN R_PPC_REL14_BRTAKEN
#define R_PPC64_REL14_BRNTAKEN R_PPC_REL14_BRNTAKEN
#define R_PPC64_GOT16 R_PPC_GOT16
#define R_PPC64_GOT16_LO R_PPC_GOT16_LO
#define R_PPC64_GOT16_HI R_PPC_GOT16_HI
#define R_PPC64_GOT16_HA R_PPC_GOT16_HA
#define R_PPC64_COPY R_PPC_COPY
#define R_PPC64_GLOB_DAT R_PPC_GLOB_DAT
#define R_PPC64_JMP_SLOT R_PPC_JMP_SLOT
#define R_PPC64_RELATIVE R_PPC_RELATIVE
#define R_PPC64_UADDR32 R_PPC_UADDR32
#define R_PPC64_UADDR16 R_PPC_UADDR16
#define R_PPC64_REL32 R_PPC_REL32
#define R_PPC64_PLT32 R_PPC_PLT32
#define R_PPC64_PLTREL32 R_PPC_PLTREL32
#define R_PPC64_PLT16_LO R_PPC_PLT16_LO
#define R_PPC64_PLT16_HI R_PPC_PLT16_HI
#define R_PPC64_PLT16_HA R_PPC_PLT16_HA
#define R_PPC64_SECTOFF R_PPC_SECTOFF
#define R_PPC64_SECTOFF_LO R_PPC_SECTOFF_LO
#define R_PPC64_SECTOFF_HI R_PPC_SECTOFF_HI
#define R_PPC64_SECTOFF_HA R_PPC_SECTOFF_HA
#define R_PPC64_ADDR30 37
/* word30 (S + A - P) >> 2. */
#define R_PPC64_ADDR64 38
/* doubleword64 S + A. */
#define R_PPC64_ADDR16_HIGHER 39
/* half16 #higher(S + A). */
#define R_PPC64_ADDR16_HIGHERA 40
/* half16 #highera(S + A). */
#define R_PPC64_ADDR16_HIGHEST 41
/* half16 #highest(S + A). */
#define R_PPC64_ADDR16_HIGHESTA 42
/* half16 #highesta(S + A). */
#define R_PPC64_UADDR64 43
/* doubleword64 S + A. */
#define R_PPC64_REL64 44
/* doubleword64 S + A - P. */
#define R_PPC64_PLT64 45
/* doubleword64 L + A. */
#define R_PPC64_PLTREL64 46
/* doubleword64 L + A - P. */
#define R_PPC64_TOC16 47
/* half16* S + A - .TOC. */
#define R_PPC64_TOC16_LO 48
/* half16 #lo(S + A - .TOC.). */
#define R_PPC64_TOC16_HI 49
/* half16 #hi(S + A - .TOC.). */
#define R_PPC64_TOC16_HA 50
/* half16 #ha(S + A - .TOC.). */
#define R_PPC64_TOC 51
/* doubleword64 .TOC. */
#define R_PPC64_PLTGOT16 52
/* half16* M + A. */
#define R_PPC64_PLTGOT16_LO 53
/* half16 #lo(M + A). */
#define R_PPC64_PLTGOT16_HI 54
/* half16 #hi(M + A). */
#define R_PPC64_PLTGOT16_HA 55
/* half16 #ha(M + A). */
#define R_PPC64_ADDR16_DS 56
/* half16ds* (S + A) >> 2. */
#define R_PPC64_ADDR16_LO_DS 57
/* half16ds #lo(S + A) >> 2. */
#define R_PPC64_GOT16_DS 58
/* half16ds* (G + A) >> 2. */
#define R_PPC64_GOT16_LO_DS 59
/* half16ds #lo(G + A) >> 2. */
#define R_PPC64_PLT16_LO_DS 60
/* half16ds #lo(L + A) >> 2. */
#define R_PPC64_SECTOFF_DS 61
/* half16ds* (R + A) >> 2. */
#define R_PPC64_SECTOFF_LO_DS 62
/* half16ds #lo(R + A) >> 2. */
#define R_PPC64_TOC16_DS 63
/* half16ds* (S + A - .TOC.) >> 2. */
#define R_PPC64_TOC16_LO_DS 64
/* half16ds #lo(S + A - .TOC.) >> 2. */
#define R_PPC64_PLTGOT16_DS 65
/* half16ds* (M + A) >> 2. */
#define R_PPC64_PLTGOT16_LO_DS 66
/* half16ds #lo(M + A) >> 2. */
/* PowerPC64 relocations defined for the TLS access ABI. */
#define R_PPC64_TLS 67
/* none (sym+add)@tls */
#define R_PPC64_DTPMOD64 68
/* doubleword64 (sym+add)@dtpmod */
#define R_PPC64_TPREL16 69
/* half16* (sym+add)@tprel */
#define R_PPC64_TPREL16_LO 70
/* half16 (sym+add)@tprel@l */
#define R_PPC64_TPREL16_HI 71
/* half16 (sym+add)@tprel@h */
#define R_PPC64_TPREL16_HA 72
/* half16 (sym+add)@tprel@ha */
#define R_PPC64_TPREL64 73
/* doubleword64 (sym+add)@tprel */
#define R_PPC64_DTPREL16 74
/* half16* (sym+add)@dtprel */
#define R_PPC64_DTPREL16_LO 75
/* half16 (sym+add)@dtprel@l */
#define R_PPC64_DTPREL16_HI 76
/* half16 (sym+add)@dtprel@h */
#define R_PPC64_DTPREL16_HA 77
/* half16 (sym+add)@dtprel@ha */
#define R_PPC64_DTPREL64 78
/* doubleword64 (sym+add)@dtprel */
#define R_PPC64_GOT_TLSGD16 79
/* half16* (sym+add)@got@tlsgd */
#define R_PPC64_GOT_TLSGD16_LO 80
/* half16 (sym+add)@got@tlsgd@l */
#define R_PPC64_GOT_TLSGD16_HI 81
/* half16 (sym+add)@got@tlsgd@h */
#define R_PPC64_GOT_TLSGD16_HA 82
/* half16 (sym+add)@got@tlsgd@ha */
#define R_PPC64_GOT_TLSLD16 83
/* half16* (sym+add)@got@tlsld */
#define R_PPC64_GOT_TLSLD16_LO 84
/* half16 (sym+add)@got@tlsld@l */
#define R_PPC64_GOT_TLSLD16_HI 85
/* half16 (sym+add)@got@tlsld@h */
#define R_PPC64_GOT_TLSLD16_HA 86
/* half16 (sym+add)@got@tlsld@ha */
#define R_PPC64_GOT_TPREL16_DS 87
/* half16ds* (sym+add)@got@tprel */
#define R_PPC64_GOT_TPREL16_LO_DS 88
/* half16ds (sym+add)@got@tprel@l */
#define R_PPC64_GOT_TPREL16_HI 89
/* half16 (sym+add)@got@tprel@h */
#define R_PPC64_GOT_TPREL16_HA 90
/* half16 (sym+add)@got@tprel@ha */
#define R_PPC64_GOT_DTPREL16_DS 91
/* half16ds* (sym+add)@got@dtprel */
#define R_PPC64_GOT_DTPREL16_LO_DS 92
/* half16ds (sym+add)@got@dtprel@l */
#define R_PPC64_GOT_DTPREL16_HI 93
/* half16 (sym+add)@got@dtprel@h */
#define R_PPC64_GOT_DTPREL16_HA 94
/* half16 (sym+add)@got@dtprel@ha */
#define R_PPC64_TPREL16_DS 95
/* half16ds* (sym+add)@tprel */
#define R_PPC64_TPREL16_LO_DS 96
/* half16ds (sym+add)@tprel@l */
#define R_PPC64_TPREL16_HIGHER 97
/* half16 (sym+add)@tprel@higher */
#define R_PPC64_TPREL16_HIGHERA 98
/* half16 (sym+add)@tprel@highera */
#define R_PPC64_TPREL16_HIGHEST 99
/* half16 (sym+add)@tprel@highest */
#define R_PPC64_TPREL16_HIGHESTA 100
/* half16 (sym+add)@tprel@highesta */
#define R_PPC64_DTPREL16_DS 101
/* half16ds* (sym+add)@dtprel */
#define R_PPC64_DTPREL16_LO_DS 102
/* half16ds (sym+add)@dtprel@l */
#define R_PPC64_DTPREL16_HIGHER 103
/* half16 (sym+add)@dtprel@higher */
#define R_PPC64_DTPREL16_HIGHERA 104
/* half16 (sym+add)@dtprel@highera */
#define R_PPC64_DTPREL16_HIGHEST 105
/* half16 (sym+add)@dtprel@highest */
#define R_PPC64_DTPREL16_HIGHESTA 106
/* half16 (sym+add)@dtprel@highesta */
/* Keep this the last entry. */
#define R_PPC64_NUM 107
/* There's actually a third entry here, but it's unused */
struct
ppc64_opd_entry
{
unsigned
long
funcaddr
;
unsigned
long
r2
;
};
#ifdef __KERNEL__
#ifdef CONFIG_SPU_BASE
/* Notes used in ET_CORE. Note name is "SPU/<fd>/<filename>". */
...
...
@@ -433,6 +136,4 @@ struct ppc64_opd_entry
#endif
/* CONFIG_SPU_BASE */
#endif
/* __KERNEL */
#endif
/* _ASM_POWERPC_ELF_H */
arch/powerpc/include/asm/kvm_para.h
浏览文件 @
fd3bc66f
...
...
@@ -16,77 +16,11 @@
*
* Authors: Hollis Blanchard <hollisb@us.ibm.com>
*/
#ifndef __POWERPC_KVM_PARA_H__
#define __POWERPC_KVM_PARA_H__
#include <
linux/types
.h>
#include <
uapi/asm/kvm_para
.h>
/*
* Additions to this struct must only occur at the end, and should be
* accompanied by a KVM_MAGIC_FEAT flag to advertise that they are present
* (albeit not necessarily relevant to the current target hardware platform).
*
* Struct fields are always 32 or 64 bit aligned, depending on them being 32
* or 64 bit wide respectively.
*
* See Documentation/virtual/kvm/ppc-pv.txt
*/
struct
kvm_vcpu_arch_shared
{
__u64
scratch1
;
__u64
scratch2
;
__u64
scratch3
;
__u64
critical
;
/* Guest may not get interrupts if == r1 */
__u64
sprg0
;
__u64
sprg1
;
__u64
sprg2
;
__u64
sprg3
;
__u64
srr0
;
__u64
srr1
;
__u64
dar
;
/* dear on BookE */
__u64
msr
;
__u32
dsisr
;
__u32
int_pending
;
/* Tells the guest if we have an interrupt */
__u32
sr
[
16
];
__u32
mas0
;
__u32
mas1
;
__u64
mas7_3
;
__u64
mas2
;
__u32
mas4
;
__u32
mas6
;
__u32
esr
;
__u32
pir
;
/*
* SPRG4-7 are user-readable, so we can only keep these consistent
* between the shared area and the real registers when there's an
* intervening exit to KVM. This also applies to SPRG3 on some
* chips.
*
* This suffices for access by guest userspace, since in PR-mode
* KVM, an exit must occur when changing the guest's MSR[PR].
* If the guest kernel writes to SPRG3-7 via the shared area, it
* must also use the shared area for reading while in kernel space.
*/
__u64
sprg4
;
__u64
sprg5
;
__u64
sprg6
;
__u64
sprg7
;
};
#define KVM_SC_MAGIC_R0 0x4b564d21
/* "KVM!" */
#define HC_VENDOR_KVM (42 << 16)
#define HC_EV_SUCCESS 0
#define HC_EV_UNIMPLEMENTED 12
#define KVM_FEATURE_MAGIC_PAGE 1
#define KVM_MAGIC_FEAT_SR (1 << 0)
/* MASn, ESR, PIR, and high SPRGs */
#define KVM_MAGIC_FEAT_MAS0_TO_SPRG7 (1 << 1)
#ifdef __KERNEL__
#ifdef CONFIG_KVM_GUEST
...
...
@@ -211,6 +145,4 @@ static inline bool kvm_check_and_clear_guest_paused(void)
return
false
;
}
#endif
/* __KERNEL__ */
#endif
/* __POWERPC_KVM_PARA_H__ */
arch/powerpc/include/asm/mman.h
浏览文件 @
fd3bc66f
#ifndef _ASM_POWERPC_MMAN_H
#define _ASM_POWERPC_MMAN_H
#include <asm-generic/mman-common.h>
/*
* 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 _ASM_POWERPC_MMAN_H
#define _ASM_POWERPC_MMAN_H
#define PROT_SAO 0x10
/* Strong Access Ordering */
#define MAP_RENAME MAP_ANONYMOUS
/* In SunOS terminology */
#define MAP_NORESERVE 0x40
/* don't reserve swap pages */
#define MAP_LOCKED 0x80
#define MAP_GROWSDOWN 0x0100
/* stack-like segment */
#define MAP_DENYWRITE 0x0800
/* ETXTBSY */
#define MAP_EXECUTABLE 0x1000
/* mark it as an executable */
#define MCL_CURRENT 0x2000
/* lock all currently mapped pages */
#define MCL_FUTURE 0x4000
/* lock all additions to address space */
#define MAP_POPULATE 0x8000
/* populate (prefault) pagetables */
#define MAP_NONBLOCK 0x10000
/* do not block on IO */
#define MAP_STACK 0x20000
/* give out an address that is best suited for process/thread stacks */
#define MAP_HUGETLB 0x40000
/* create a huge page mapping */
#include <uapi/asm/mman.h>
#ifdef __KERNEL__
#ifdef CONFIG_PPC64
#include <asm/cputable.h>
...
...
@@ -61,5 +41,4 @@ static inline int arch_validate_prot(unsigned long prot)
#define arch_validate_prot(prot) arch_validate_prot(prot)
#endif
/* CONFIG_PPC64 */
#endif
/* __KERNEL__ */
#endif
/* _ASM_POWERPC_MMAN_H */
arch/powerpc/include/asm/nvram.h
浏览文件 @
fd3bc66f
...
...
@@ -6,29 +6,13 @@
* as published by the Free Software Foundation; either version
* 2 of the License, or (at your option) any later version.
*/
#ifndef _ASM_POWERPC_NVRAM_H
#define _ASM_POWERPC_NVRAM_H
/* Signatures for nvram partitions */
#define NVRAM_SIG_SP 0x02
/* support processor */
#define NVRAM_SIG_OF 0x50
/* open firmware config */
#define NVRAM_SIG_FW 0x51
/* general firmware */
#define NVRAM_SIG_HW 0x52
/* hardware (VPD) */
#define NVRAM_SIG_FLIP 0x5a
/* Apple flip/flop header */
#define NVRAM_SIG_APPL 0x5f
/* Apple "system" (???) */
#define NVRAM_SIG_SYS 0x70
/* system env vars */
#define NVRAM_SIG_CFG 0x71
/* config data */
#define NVRAM_SIG_ELOG 0x72
/* error log */
#define NVRAM_SIG_VEND 0x7e
/* vendor defined */
#define NVRAM_SIG_FREE 0x7f
/* Free space */
#define NVRAM_SIG_OS 0xa0
/* OS defined */
#define NVRAM_SIG_PANIC 0xa1
/* Apple OSX "panic" */
#ifdef __KERNEL__
#include <linux/errno.h>
#include <linux/list.h>
#include <uapi/asm/nvram.h>
#ifdef CONFIG_PPC_PSERIES
extern
int
nvram_write_error_log
(
char
*
buff
,
int
length
,
...
...
@@ -56,17 +40,6 @@ extern int nvram_remove_partition(const char *name, int sig,
extern
int
nvram_get_partition_size
(
loff_t
data_index
);
extern
loff_t
nvram_find_partition
(
const
char
*
name
,
int
sig
,
int
*
out_size
);
#endif
/* __KERNEL__ */
/* PowerMac specific nvram stuffs */
enum
{
pmac_nvram_OF
,
/* Open Firmware partition */
pmac_nvram_XPRAM
,
/* MacOS XPRAM partition */
pmac_nvram_NR
/* MacOS Name Registry partition */
};
#ifdef __KERNEL__
/* Return partition offset in nvram */
extern
int
pmac_get_partition
(
int
partition
);
...
...
@@ -83,30 +56,4 @@ extern ssize_t nvram_get_size(void);
/* Normal access to NVRAM */
extern
unsigned
char
nvram_read_byte
(
int
i
);
extern
void
nvram_write_byte
(
unsigned
char
c
,
int
i
);
#endif
/* Some offsets in XPRAM */
#define PMAC_XPRAM_MACHINE_LOC 0xe4
#define PMAC_XPRAM_SOUND_VOLUME 0x08
/* Machine location structure in PowerMac XPRAM */
struct
pmac_machine_location
{
unsigned
int
latitude
;
/* 2+30 bit Fractional number */
unsigned
int
longitude
;
/* 2+30 bit Fractional number */
unsigned
int
delta
;
/* mix of GMT delta and DLS */
};
/*
* /dev/nvram ioctls
*
* Note that PMAC_NVRAM_GET_OFFSET is still supported, but is
* definitely obsolete. Do not use it if you can avoid it
*/
#define OBSOLETE_PMAC_NVRAM_GET_OFFSET \
_IOWR('p', 0x40, int)
#define IOC_NVRAM_GET_OFFSET _IOWR('p', 0x42, int)
/* Get NVRAM partition offset */
#define IOC_NVRAM_SYNC _IO('p', 0x43)
/* Sync NVRAM image */
#endif
/* _ASM_POWERPC_NVRAM_H */
arch/powerpc/include/asm/ptrace.h
浏览文件 @
fd3bc66f
#ifndef _ASM_POWERPC_PTRACE_H
#define _ASM_POWERPC_PTRACE_H
/*
* Copyright (C) 2001 PPC64 Team, IBM Corp
*
...
...
@@ -23,37 +20,11 @@
* as published by the Free Software Foundation; either version
* 2 of the License, or (at your option) any later version.
*/
#ifndef _ASM_POWERPC_PTRACE_H
#define _ASM_POWERPC_PTRACE_H
#include <linux/types.h>
#ifndef __ASSEMBLY__
struct
pt_regs
{
unsigned
long
gpr
[
32
];
unsigned
long
nip
;
unsigned
long
msr
;
unsigned
long
orig_gpr3
;
/* Used for restarting system calls */
unsigned
long
ctr
;
unsigned
long
link
;
unsigned
long
xer
;
unsigned
long
ccr
;
#ifdef __powerpc64__
unsigned
long
softe
;
/* Soft enabled/disabled */
#else
unsigned
long
mq
;
/* 601 only (not used at present) */
/* Used on APUS to hold IPL value. */
#endif
unsigned
long
trap
;
/* Reason for being here */
/* N.B. for critical exceptions on 4xx, the dar and dsisr
fields are overloaded to hold srr0 and srr1. */
unsigned
long
dar
;
/* Fault registers */
unsigned
long
dsisr
;
/* on 4xx/Book-E used for ESR */
unsigned
long
result
;
/* Result of a system call */
};
#endif
/* __ASSEMBLY__ */
#include <uapi/asm/ptrace.h>
#ifdef __KERNEL__
#ifdef __powerpc64__
...
...
@@ -220,219 +191,12 @@ static inline unsigned long regs_get_kernel_stack_nth(struct pt_regs *regs,
#endif
/* __ASSEMBLY__ */
#endif
/* __KERNEL__ */
/*
* Offsets used by 'ptrace' system call interface.
* These can't be changed without breaking binary compatibility
* with MkLinux, etc.
*/
#define PT_R0 0
#define PT_R1 1
#define PT_R2 2
#define PT_R3 3
#define PT_R4 4
#define PT_R5 5
#define PT_R6 6
#define PT_R7 7
#define PT_R8 8
#define PT_R9 9
#define PT_R10 10
#define PT_R11 11
#define PT_R12 12
#define PT_R13 13
#define PT_R14 14
#define PT_R15 15
#define PT_R16 16
#define PT_R17 17
#define PT_R18 18
#define PT_R19 19
#define PT_R20 20
#define PT_R21 21
#define PT_R22 22
#define PT_R23 23
#define PT_R24 24
#define PT_R25 25
#define PT_R26 26
#define PT_R27 27
#define PT_R28 28
#define PT_R29 29
#define PT_R30 30
#define PT_R31 31
#define PT_NIP 32
#define PT_MSR 33
#define PT_ORIG_R3 34
#define PT_CTR 35
#define PT_LNK 36
#define PT_XER 37
#define PT_CCR 38
#ifndef __powerpc64__
#define PT_MQ 39
#else
#define PT_SOFTE 39
#endif
#define PT_TRAP 40
#define PT_DAR 41
#define PT_DSISR 42
#define PT_RESULT 43
#define PT_REGS_COUNT 44
#define PT_FPR0 48
/* each FP reg occupies 2 slots in this space */
#ifndef __powerpc64__
#define PT_FPR31 (PT_FPR0 + 2*31)
#define PT_FPSCR (PT_FPR0 + 2*32 + 1)
#else
/* __powerpc64__ */
#define PT_FPSCR (PT_FPR0 + 32)
/* each FP reg occupies 1 slot in 64-bit space */
#ifdef __KERNEL__
#define PT_FPSCR32 (PT_FPR0 + 2*32 + 1)
/* each FP reg occupies 2 32-bit userspace slots */
#endif
#define PT_VR0 82
/* each Vector reg occupies 2 slots in 64-bit */
#define PT_VSCR (PT_VR0 + 32*2 + 1)
#define PT_VRSAVE (PT_VR0 + 33*2)
#ifdef __KERNEL__
#define PT_VR0_32 164
/* each Vector reg occupies 4 slots in 32-bit */
#define PT_VSCR_32 (PT_VR0 + 32*4 + 3)
#define PT_VRSAVE_32 (PT_VR0 + 33*4)
#endif
/*
* Only store first 32 VSRs here. The second 32 VSRs in VR0-31
*/
#define PT_VSR0 150
/* each VSR reg occupies 2 slots in 64-bit */
#define PT_VSR31 (PT_VSR0 + 2*31)
#ifdef __KERNEL__
#define PT_VSR0_32 300
/* each VSR reg occupies 4 slots in 32-bit */
#endif
#endif
/* __powerpc64__ */
/*
* Get/set all the altivec registers vr0..vr31, vscr, vrsave, in one go.
* The transfer totals 34 quadword. Quadwords 0-31 contain the
* corresponding vector registers. Quadword 32 contains the vscr as the
* last word (offset 12) within that quadword. Quadword 33 contains the
* vrsave as the first word (offset 0) within the quadword.
*
* This definition of the VMX state is compatible with the current PPC32
* ptrace interface. This allows signal handling and ptrace to use the same
* structures. This also simplifies the implementation of a bi-arch
* (combined (32- and 64-bit) gdb.
*/
#define PTRACE_GETVRREGS 18
#define PTRACE_SETVRREGS 19
/* Get/set all the upper 32-bits of the SPE registers, accumulator, and
* spefscr, in one go */
#define PTRACE_GETEVRREGS 20
#define PTRACE_SETEVRREGS 21
/* Get the first 32 128bit VSX registers */
#define PTRACE_GETVSRREGS 27
#define PTRACE_SETVSRREGS 28
/*
* Get or set a debug register. The first 16 are DABR registers and the
* second 16 are IABR registers.
*/
#define PTRACE_GET_DEBUGREG 25
#define PTRACE_SET_DEBUGREG 26
/* (new) PTRACE requests using the same numbers as x86 and the same
* argument ordering. Additionally, they support more registers too
*/
#define PTRACE_GETREGS 12
#define PTRACE_SETREGS 13
#define PTRACE_GETFPREGS 14
#define PTRACE_SETFPREGS 15
#define PTRACE_GETREGS64 22
#define PTRACE_SETREGS64 23
/* Calls to trace a 64bit program from a 32bit program */
#define PPC_PTRACE_PEEKTEXT_3264 0x95
#define PPC_PTRACE_PEEKDATA_3264 0x94
#define PPC_PTRACE_POKETEXT_3264 0x93
#define PPC_PTRACE_POKEDATA_3264 0x92
#define PPC_PTRACE_PEEKUSR_3264 0x91
#define PPC_PTRACE_POKEUSR_3264 0x90
#define PTRACE_SINGLEBLOCK 0x100
/* resume execution until next branch */
#define PPC_PTRACE_GETHWDBGINFO 0x89
#define PPC_PTRACE_SETHWDEBUG 0x88
#define PPC_PTRACE_DELHWDEBUG 0x87
#ifndef __ASSEMBLY__
struct
ppc_debug_info
{
__u32
version
;
/* Only version 1 exists to date */
__u32
num_instruction_bps
;
__u32
num_data_bps
;
__u32
num_condition_regs
;
__u32
data_bp_alignment
;
__u32
sizeof_condition
;
/* size of the DVC register */
__u64
features
;
};
#endif
/* __ASSEMBLY__ */
/*
* features will have bits indication whether there is support for:
*/
#define PPC_DEBUG_FEATURE_INSN_BP_RANGE 0x0000000000000001
#define PPC_DEBUG_FEATURE_INSN_BP_MASK 0x0000000000000002
#define PPC_DEBUG_FEATURE_DATA_BP_RANGE 0x0000000000000004
#define PPC_DEBUG_FEATURE_DATA_BP_MASK 0x0000000000000008
#ifndef __ASSEMBLY__
struct
ppc_hw_breakpoint
{
__u32
version
;
/* currently, version must be 1 */
__u32
trigger_type
;
/* only some combinations allowed */
__u32
addr_mode
;
/* address match mode */
__u32
condition_mode
;
/* break/watchpoint condition flags */
__u64
addr
;
/* break/watchpoint address */
__u64
addr2
;
/* range end or mask */
__u64
condition_value
;
/* contents of the DVC register */
};
#endif
/* __ASSEMBLY__ */
/*
* Trigger Type
*/
#define PPC_BREAKPOINT_TRIGGER_EXECUTE 0x00000001
#define PPC_BREAKPOINT_TRIGGER_READ 0x00000002
#define PPC_BREAKPOINT_TRIGGER_WRITE 0x00000004
#define PPC_BREAKPOINT_TRIGGER_RW \
(PPC_BREAKPOINT_TRIGGER_READ | PPC_BREAKPOINT_TRIGGER_WRITE)
/*
* Address Mode
*/
#define PPC_BREAKPOINT_MODE_EXACT 0x00000000
#define PPC_BREAKPOINT_MODE_RANGE_INCLUSIVE 0x00000001
#define PPC_BREAKPOINT_MODE_RANGE_EXCLUSIVE 0x00000002
#define PPC_BREAKPOINT_MODE_MASK 0x00000003
/*
* Condition Mode
*/
#define PPC_BREAKPOINT_CONDITION_MODE 0x00000003
#define PPC_BREAKPOINT_CONDITION_NONE 0x00000000
#define PPC_BREAKPOINT_CONDITION_AND 0x00000001
#define PPC_BREAKPOINT_CONDITION_EXACT PPC_BREAKPOINT_CONDITION_AND
#define PPC_BREAKPOINT_CONDITION_OR 0x00000002
#define PPC_BREAKPOINT_CONDITION_AND_OR 0x00000003
#define PPC_BREAKPOINT_CONDITION_BE_ALL 0x00ff0000
#define PPC_BREAKPOINT_CONDITION_BE_SHIFT 16
#define PPC_BREAKPOINT_CONDITION_BE(n) \
(1<<((n)+PPC_BREAKPOINT_CONDITION_BE_SHIFT))
#endif
/* _ASM_POWERPC_PTRACE_H */
arch/powerpc/include/asm/signal.h
浏览文件 @
fd3bc66f
#ifndef _ASM_POWERPC_SIGNAL_H
#define _ASM_POWERPC_SIGNAL_H
#include <
linux/types
.h>
#include <
uapi/asm/signal
.h>
#define _NSIG 64
#ifdef __powerpc64__
#define _NSIG_BPW 64
#else
#define _NSIG_BPW 32
#endif
#define _NSIG_WORDS (_NSIG / _NSIG_BPW)
typedef
unsigned
long
old_sigset_t
;
/* at least 32 bits */
typedef
struct
{
unsigned
long
sig
[
_NSIG_WORDS
];
}
sigset_t
;
#define SIGHUP 1
#define SIGINT 2
#define SIGQUIT 3
#define SIGILL 4
#define SIGTRAP 5
#define SIGABRT 6
#define SIGIOT 6
#define SIGBUS 7
#define SIGFPE 8
#define SIGKILL 9
#define SIGUSR1 10
#define SIGSEGV 11
#define SIGUSR2 12
#define SIGPIPE 13
#define SIGALRM 14
#define SIGTERM 15
#define SIGSTKFLT 16
#define SIGCHLD 17
#define SIGCONT 18
#define SIGSTOP 19
#define SIGTSTP 20
#define SIGTTIN 21
#define SIGTTOU 22
#define SIGURG 23
#define SIGXCPU 24
#define SIGXFSZ 25
#define SIGVTALRM 26
#define SIGPROF 27
#define SIGWINCH 28
#define SIGIO 29
#define SIGPOLL SIGIO
/*
#define SIGLOST 29
*/
#define SIGPWR 30
#define SIGSYS 31
#define SIGUNUSED 31
/* These should not be considered constants from userland. */
#define SIGRTMIN 32
#define SIGRTMAX _NSIG
/*
* SA_FLAGS values:
*
* SA_ONSTACK is not currently supported, but will allow sigaltstack(2).
* SA_RESTART flag to get restarting signals (which were the default long ago)
* SA_NOCLDSTOP flag to turn off SIGCHLD when children stop.
* SA_RESETHAND clears the handler when the signal is delivered.
* SA_NOCLDWAIT flag on SIGCHLD to inhibit zombies.
* SA_NODEFER prevents the current signal from being masked in the handler.
*
* SA_ONESHOT and SA_NOMASK are the historical Linux names for the Single
* Unix names RESETHAND and NODEFER respectively.
*/
#define SA_NOCLDSTOP 0x00000001U
#define SA_NOCLDWAIT 0x00000002U
#define SA_SIGINFO 0x00000004U
#define SA_ONSTACK 0x08000000U
#define SA_RESTART 0x10000000U
#define SA_NODEFER 0x40000000U
#define SA_RESETHAND 0x80000000U
#define SA_NOMASK SA_NODEFER
#define SA_ONESHOT SA_RESETHAND
#define SA_RESTORER 0x04000000U
/*
* sigaltstack controls
*/
#define SS_ONSTACK 1
#define SS_DISABLE 2
#define MINSIGSTKSZ 2048
#define SIGSTKSZ 8192
#include <asm-generic/signal-defs.h>
struct
old_sigaction
{
__sighandler_t
sa_handler
;
old_sigset_t
sa_mask
;
unsigned
long
sa_flags
;
__sigrestore_t
sa_restorer
;
};
struct
sigaction
{
__sighandler_t
sa_handler
;
unsigned
long
sa_flags
;
__sigrestore_t
sa_restorer
;
sigset_t
sa_mask
;
/* mask last for extensibility */
};
struct
k_sigaction
{
struct
sigaction
sa
;
};
typedef
struct
sigaltstack
{
void
__user
*
ss_sp
;
int
ss_flags
;
size_t
ss_size
;
}
stack_t
;
#ifdef __KERNEL__
struct
pt_regs
;
#define ptrace_signal_deliver(regs, cookie) do { } while (0)
#endif
/* __KERNEL__ */
#ifndef __powerpc64__
/*
* These are parameters to dbg_sigreturn syscall. They enable or
* disable certain debugging things that can be done from signal
* handlers. The dbg_sigreturn syscall *must* be called from a
* SA_SIGINFO signal so the ucontext can be passed to it. It takes an
* array of struct sig_dbg_op, which has the debug operations to
* perform before returning from the signal.
*/
struct
sig_dbg_op
{
int
dbg_type
;
unsigned
long
dbg_value
;
};
/* Enable or disable single-stepping. The value sets the state. */
#define SIG_DBG_SINGLE_STEPPING 1
/* Enable or disable branch tracing. The value sets the state. */
#define SIG_DBG_BRANCH_TRACING 2
#endif
/* ! __powerpc64__ */
#endif
/* _ASM_POWERPC_SIGNAL_H */
arch/powerpc/include/asm/spu_info.h
浏览文件 @
fd3bc66f
...
...
@@ -19,37 +19,10 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#ifndef _SPU_INFO_H
#define _SPU_INFO_H
#include <linux/types.h>
#ifdef __KERNEL__
#include <asm/spu.h>
#else
struct
mfc_cq_sr
{
__u64
mfc_cq_data0_RW
;
__u64
mfc_cq_data1_RW
;
__u64
mfc_cq_data2_RW
;
__u64
mfc_cq_data3_RW
;
};
#endif
/* __KERNEL__ */
struct
spu_dma_info
{
__u64
dma_info_type
;
__u64
dma_info_mask
;
__u64
dma_info_status
;
__u64
dma_info_stall_and_notify
;
__u64
dma_info_atomic_command_status
;
struct
mfc_cq_sr
dma_info_command_data
[
16
];
};
struct
spu_proxydma_info
{
__u64
proxydma_info_type
;
__u64
proxydma_info_mask
;
__u64
proxydma_info_status
;
struct
mfc_cq_sr
proxydma_info_command_data
[
8
];
};
#include <uapi/asm/spu_info.h>
#endif
arch/powerpc/include/asm/swab.h
浏览文件 @
fd3bc66f
#ifndef _ASM_POWERPC_SWAB_H
#define _ASM_POWERPC_SWAB_H
/*
* 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 _ASM_POWERPC_SWAB_H
#define _ASM_POWERPC_SWAB_H
#include <linux/types.h>
#include <linux/compiler.h>
#include <uapi/asm/swab.h>
#ifdef __GNUC__
#ifndef __powerpc64__
#define __SWAB_64_THRU_32__
#endif
/* __powerpc64__ */
#ifdef __KERNEL__
static
__inline__
__u16
ld_le16
(
const
volatile
__u16
*
addr
)
{
__u16
val
;
...
...
@@ -83,8 +77,5 @@ static inline __attribute_const__ __u32 __arch_swab32(__u32 value)
}
#define __arch_swab32 __arch_swab32
#endif
/* __KERNEL__ */
#endif
/* __GNUC__ */
#endif
/* _ASM_POWERPC_SWAB_H */
arch/powerpc/include/asm/termios.h
浏览文件 @
fd3bc66f
#ifndef _ASM_POWERPC_TERMIOS_H
#define _ASM_POWERPC_TERMIOS_H
/*
* Liberally adapted from alpha/termios.h. In particular, the c_cc[]
* fields have been reordered so that termio & termios share the
...
...
@@ -12,74 +9,14 @@
* as published by the Free Software Foundation; either version
* 2 of the License, or (at your option) any later version.
*/
#ifndef _ASM_POWERPC_TERMIOS_H
#define _ASM_POWERPC_TERMIOS_H
#include <asm/ioctls.h>
#include <asm/termbits.h>
struct
sgttyb
{
char
sg_ispeed
;
char
sg_ospeed
;
char
sg_erase
;
char
sg_kill
;
short
sg_flags
;
};
struct
tchars
{
char
t_intrc
;
char
t_quitc
;
char
t_startc
;
char
t_stopc
;
char
t_eofc
;
char
t_brkc
;
};
struct
ltchars
{
char
t_suspc
;
char
t_dsuspc
;
char
t_rprntc
;
char
t_flushc
;
char
t_werasc
;
char
t_lnextc
;
};
struct
winsize
{
unsigned
short
ws_row
;
unsigned
short
ws_col
;
unsigned
short
ws_xpixel
;
unsigned
short
ws_ypixel
;
};
#define NCC 10
struct
termio
{
unsigned
short
c_iflag
;
/* input mode flags */
unsigned
short
c_oflag
;
/* output mode flags */
unsigned
short
c_cflag
;
/* control mode flags */
unsigned
short
c_lflag
;
/* local mode flags */
unsigned
char
c_line
;
/* line discipline */
unsigned
char
c_cc
[
NCC
];
/* control characters */
};
/* c_cc characters */
#define _VINTR 0
#define _VQUIT 1
#define _VERASE 2
#define _VKILL 3
#define _VEOF 4
#define _VMIN 5
#define _VEOL 6
#define _VTIME 7
#define _VEOL2 8
#define _VSWTC 9
#include <uapi/asm/termios.h>
#ifdef __KERNEL__
/* ^C ^\ del ^U ^D 1 0 0 0 0 ^W ^R ^Z ^Q ^S ^V ^U */
#define INIT_C_CC "\003\034\177\025\004\001\000\000\000\000\027\022\032\021\023\026\025"
#endif
#ifdef __KERNEL__
#include <asm-generic/termios-base.h>
#endif
/* __KERNEL__ */
#endif
/* _ASM_POWERPC_TERMIOS_H */
arch/powerpc/include/asm/types.h
浏览文件 @
fd3bc66f
#ifndef _ASM_POWERPC_TYPES_H
#define _ASM_POWERPC_TYPES_H
/*
* This is here because we used to use l64 for 64bit powerpc
* and we don't want to impact user mode with our change to ll64
* in the kernel.
*
* However, some user programs are fine with this. They can
* flag __SANE_USERSPACE_TYPES__ to get int-ll64.h here.
*/
#if !defined(__SANE_USERSPACE_TYPES__) && defined(__powerpc64__) && !defined(__KERNEL__)
# include <asm-generic/int-l64.h>
#else
# include <asm-generic/int-ll64.h>
#endif
#ifndef __ASSEMBLY__
/*
* This file is never included by application software unless
* explicitly requested (e.g., via linux/types.h) in which case the
...
...
@@ -29,14 +10,11 @@
* as published by the Free Software Foundation; either version
* 2 of the License, or (at your option) any later version.
*/
#ifndef _ASM_POWERPC_TYPES_H
#define _ASM_POWERPC_TYPES_H
typedef
struct
{
__u32
u
[
4
];
}
__attribute__
((
aligned
(
16
)))
__vector128
;
#endif
/* __ASSEMBLY__ */
#include <uapi/asm/types.h>
#ifdef __KERNEL__
#ifndef __ASSEMBLY__
typedef
__vector128
vector128
;
...
...
@@ -49,6 +27,4 @@ typedef struct {
#endif
/* __ASSEMBLY__ */
#endif
/* __KERNEL__ */
#endif
/* _ASM_POWERPC_TYPES_H */
arch/powerpc/include/asm/unistd.h
浏览文件 @
fd3bc66f
#ifndef _ASM_POWERPC_UNISTD_H_
#define _ASM_POWERPC_UNISTD_H_
/*
* This file contains the system call numbers.
*
...
...
@@ -9,374 +6,11 @@
* as published by the Free Software Foundation; either version
* 2 of the License, or (at your option) any later version.
*/
#ifndef _ASM_POWERPC_UNISTD_H_
#define _ASM_POWERPC_UNISTD_H_
#define __NR_restart_syscall 0
#define __NR_exit 1
#define __NR_fork 2
#define __NR_read 3
#define __NR_write 4
#define __NR_open 5
#define __NR_close 6
#define __NR_waitpid 7
#define __NR_creat 8
#define __NR_link 9
#define __NR_unlink 10
#define __NR_execve 11
#define __NR_chdir 12
#define __NR_time 13
#define __NR_mknod 14
#define __NR_chmod 15
#define __NR_lchown 16
#define __NR_break 17
#define __NR_oldstat 18
#define __NR_lseek 19
#define __NR_getpid 20
#define __NR_mount 21
#define __NR_umount 22
#define __NR_setuid 23
#define __NR_getuid 24
#define __NR_stime 25
#define __NR_ptrace 26
#define __NR_alarm 27
#define __NR_oldfstat 28
#define __NR_pause 29
#define __NR_utime 30
#define __NR_stty 31
#define __NR_gtty 32
#define __NR_access 33
#define __NR_nice 34
#define __NR_ftime 35
#define __NR_sync 36
#define __NR_kill 37
#define __NR_rename 38
#define __NR_mkdir 39
#define __NR_rmdir 40
#define __NR_dup 41
#define __NR_pipe 42
#define __NR_times 43
#define __NR_prof 44
#define __NR_brk 45
#define __NR_setgid 46
#define __NR_getgid 47
#define __NR_signal 48
#define __NR_geteuid 49
#define __NR_getegid 50
#define __NR_acct 51
#define __NR_umount2 52
#define __NR_lock 53
#define __NR_ioctl 54
#define __NR_fcntl 55
#define __NR_mpx 56
#define __NR_setpgid 57
#define __NR_ulimit 58
#define __NR_oldolduname 59
#define __NR_umask 60
#define __NR_chroot 61
#define __NR_ustat 62
#define __NR_dup2 63
#define __NR_getppid 64
#define __NR_getpgrp 65
#define __NR_setsid 66
#define __NR_sigaction 67
#define __NR_sgetmask 68
#define __NR_ssetmask 69
#define __NR_setreuid 70
#define __NR_setregid 71
#define __NR_sigsuspend 72
#define __NR_sigpending 73
#define __NR_sethostname 74
#define __NR_setrlimit 75
#define __NR_getrlimit 76
#define __NR_getrusage 77
#define __NR_gettimeofday 78
#define __NR_settimeofday 79
#define __NR_getgroups 80
#define __NR_setgroups 81
#define __NR_select 82
#define __NR_symlink 83
#define __NR_oldlstat 84
#define __NR_readlink 85
#define __NR_uselib 86
#define __NR_swapon 87
#define __NR_reboot 88
#define __NR_readdir 89
#define __NR_mmap 90
#define __NR_munmap 91
#define __NR_truncate 92
#define __NR_ftruncate 93
#define __NR_fchmod 94
#define __NR_fchown 95
#define __NR_getpriority 96
#define __NR_setpriority 97
#define __NR_profil 98
#define __NR_statfs 99
#define __NR_fstatfs 100
#define __NR_ioperm 101
#define __NR_socketcall 102
#define __NR_syslog 103
#define __NR_setitimer 104
#define __NR_getitimer 105
#define __NR_stat 106
#define __NR_lstat 107
#define __NR_fstat 108
#define __NR_olduname 109
#define __NR_iopl 110
#define __NR_vhangup 111
#define __NR_idle 112
#define __NR_vm86 113
#define __NR_wait4 114
#define __NR_swapoff 115
#define __NR_sysinfo 116
#define __NR_ipc 117
#define __NR_fsync 118
#define __NR_sigreturn 119
#define __NR_clone 120
#define __NR_setdomainname 121
#define __NR_uname 122
#define __NR_modify_ldt 123
#define __NR_adjtimex 124
#define __NR_mprotect 125
#define __NR_sigprocmask 126
#define __NR_create_module 127
#define __NR_init_module 128
#define __NR_delete_module 129
#define __NR_get_kernel_syms 130
#define __NR_quotactl 131
#define __NR_getpgid 132
#define __NR_fchdir 133
#define __NR_bdflush 134
#define __NR_sysfs 135
#define __NR_personality 136
#define __NR_afs_syscall 137
/* Syscall for Andrew File System */
#define __NR_setfsuid 138
#define __NR_setfsgid 139
#define __NR__llseek 140
#define __NR_getdents 141
#define __NR__newselect 142
#define __NR_flock 143
#define __NR_msync 144
#define __NR_readv 145
#define __NR_writev 146
#define __NR_getsid 147
#define __NR_fdatasync 148
#define __NR__sysctl 149
#define __NR_mlock 150
#define __NR_munlock 151
#define __NR_mlockall 152
#define __NR_munlockall 153
#define __NR_sched_setparam 154
#define __NR_sched_getparam 155
#define __NR_sched_setscheduler 156
#define __NR_sched_getscheduler 157
#define __NR_sched_yield 158
#define __NR_sched_get_priority_max 159
#define __NR_sched_get_priority_min 160
#define __NR_sched_rr_get_interval 161
#define __NR_nanosleep 162
#define __NR_mremap 163
#define __NR_setresuid 164
#define __NR_getresuid 165
#define __NR_query_module 166
#define __NR_poll 167
#define __NR_nfsservctl 168
#define __NR_setresgid 169
#define __NR_getresgid 170
#define __NR_prctl 171
#define __NR_rt_sigreturn 172
#define __NR_rt_sigaction 173
#define __NR_rt_sigprocmask 174
#define __NR_rt_sigpending 175
#define __NR_rt_sigtimedwait 176
#define __NR_rt_sigqueueinfo 177
#define __NR_rt_sigsuspend 178
#define __NR_pread64 179
#define __NR_pwrite64 180
#define __NR_chown 181
#define __NR_getcwd 182
#define __NR_capget 183
#define __NR_capset 184
#define __NR_sigaltstack 185
#define __NR_sendfile 186
#define __NR_getpmsg 187
/* some people actually want streams */
#define __NR_putpmsg 188
/* some people actually want streams */
#define __NR_vfork 189
#define __NR_ugetrlimit 190
/* SuS compliant getrlimit */
#define __NR_readahead 191
#ifndef __powerpc64__
/* these are 32-bit only */
#define __NR_mmap2 192
#define __NR_truncate64 193
#define __NR_ftruncate64 194
#define __NR_stat64 195
#define __NR_lstat64 196
#define __NR_fstat64 197
#endif
#define __NR_pciconfig_read 198
#define __NR_pciconfig_write 199
#define __NR_pciconfig_iobase 200
#define __NR_multiplexer 201
#define __NR_getdents64 202
#define __NR_pivot_root 203
#ifndef __powerpc64__
#define __NR_fcntl64 204
#endif
#define __NR_madvise 205
#define __NR_mincore 206
#define __NR_gettid 207
#define __NR_tkill 208
#define __NR_setxattr 209
#define __NR_lsetxattr 210
#define __NR_fsetxattr 211
#define __NR_getxattr 212
#define __NR_lgetxattr 213
#define __NR_fgetxattr 214
#define __NR_listxattr 215
#define __NR_llistxattr 216
#define __NR_flistxattr 217
#define __NR_removexattr 218
#define __NR_lremovexattr 219
#define __NR_fremovexattr 220
#define __NR_futex 221
#define __NR_sched_setaffinity 222
#define __NR_sched_getaffinity 223
/* 224 currently unused */
#define __NR_tuxcall 225
#ifndef __powerpc64__
#define __NR_sendfile64 226
#endif
#define __NR_io_setup 227
#define __NR_io_destroy 228
#define __NR_io_getevents 229
#define __NR_io_submit 230
#define __NR_io_cancel 231
#define __NR_set_tid_address 232
#define __NR_fadvise64 233
#define __NR_exit_group 234
#define __NR_lookup_dcookie 235
#define __NR_epoll_create 236
#define __NR_epoll_ctl 237
#define __NR_epoll_wait 238
#define __NR_remap_file_pages 239
#define __NR_timer_create 240
#define __NR_timer_settime 241
#define __NR_timer_gettime 242
#define __NR_timer_getoverrun 243
#define __NR_timer_delete 244
#define __NR_clock_settime 245
#define __NR_clock_gettime 246
#define __NR_clock_getres 247
#define __NR_clock_nanosleep 248
#define __NR_swapcontext 249
#define __NR_tgkill 250
#define __NR_utimes 251
#define __NR_statfs64 252
#define __NR_fstatfs64 253
#ifndef __powerpc64__
#define __NR_fadvise64_64 254
#endif
#define __NR_rtas 255
#define __NR_sys_debug_setcontext 256
/* Number 257 is reserved for vserver */
#define __NR_migrate_pages 258
#define __NR_mbind 259
#define __NR_get_mempolicy 260
#define __NR_set_mempolicy 261
#define __NR_mq_open 262
#define __NR_mq_unlink 263
#define __NR_mq_timedsend 264
#define __NR_mq_timedreceive 265
#define __NR_mq_notify 266
#define __NR_mq_getsetattr 267
#define __NR_kexec_load 268
#define __NR_add_key 269
#define __NR_request_key 270
#define __NR_keyctl 271
#define __NR_waitid 272
#define __NR_ioprio_set 273
#define __NR_ioprio_get 274
#define __NR_inotify_init 275
#define __NR_inotify_add_watch 276
#define __NR_inotify_rm_watch 277
#define __NR_spu_run 278
#define __NR_spu_create 279
#define __NR_pselect6 280
#define __NR_ppoll 281
#define __NR_unshare 282
#define __NR_splice 283
#define __NR_tee 284
#define __NR_vmsplice 285
#define __NR_openat 286
#define __NR_mkdirat 287
#define __NR_mknodat 288
#define __NR_fchownat 289
#define __NR_futimesat 290
#ifdef __powerpc64__
#define __NR_newfstatat 291
#else
#define __NR_fstatat64 291
#endif
#define __NR_unlinkat 292
#define __NR_renameat 293
#define __NR_linkat 294
#define __NR_symlinkat 295
#define __NR_readlinkat 296
#define __NR_fchmodat 297
#define __NR_faccessat 298
#define __NR_get_robust_list 299
#define __NR_set_robust_list 300
#define __NR_move_pages 301
#define __NR_getcpu 302
#define __NR_epoll_pwait 303
#define __NR_utimensat 304
#define __NR_signalfd 305
#define __NR_timerfd_create 306
#define __NR_eventfd 307
#define __NR_sync_file_range2 308
#define __NR_fallocate 309
#define __NR_subpage_prot 310
#define __NR_timerfd_settime 311
#define __NR_timerfd_gettime 312
#define __NR_signalfd4 313
#define __NR_eventfd2 314
#define __NR_epoll_create1 315
#define __NR_dup3 316
#define __NR_pipe2 317
#define __NR_inotify_init1 318
#define __NR_perf_event_open 319
#define __NR_preadv 320
#define __NR_pwritev 321
#define __NR_rt_tgsigqueueinfo 322
#define __NR_fanotify_init 323
#define __NR_fanotify_mark 324
#define __NR_prlimit64 325
#define __NR_socket 326
#define __NR_bind 327
#define __NR_connect 328
#define __NR_listen 329
#define __NR_accept 330
#define __NR_getsockname 331
#define __NR_getpeername 332
#define __NR_socketpair 333
#define __NR_send 334
#define __NR_sendto 335
#define __NR_recv 336
#define __NR_recvfrom 337
#define __NR_shutdown 338
#define __NR_setsockopt 339
#define __NR_getsockopt 340
#define __NR_sendmsg 341
#define __NR_recvmsg 342
#define __NR_recvmmsg 343
#define __NR_accept4 344
#define __NR_name_to_handle_at 345
#define __NR_open_by_handle_at 346
#define __NR_clock_adjtime 347
#define __NR_syncfs 348
#define __NR_sendmmsg 349
#define __NR_setns 350
#define __NR_process_vm_readv 351
#define __NR_process_vm_writev 352
#include <uapi/asm/unistd.h>
#ifdef __KERNEL__
#define __NR_syscalls 353
...
...
@@ -429,6 +63,4 @@
asmlinkage long x (void) __attribute__((weak,alias("sys_ni_syscall")))
#endif
/* __ASSEMBLY__ */
#endif
/* __KERNEL__ */
#endif
/* _ASM_POWERPC_UNISTD_H_ */
arch/powerpc/include/uapi/asm/Kbuild
浏览文件 @
fd3bc66f
# UAPI Header export list
include include/uapi/asm-generic/Kbuild.asm
header-y += auxvec.h
header-y += bitsperlong.h
header-y += bootx.h
header-y += byteorder.h
header-y += cputable.h
header-y += elf.h
header-y += errno.h
header-y += fcntl.h
header-y += ioctl.h
header-y += ioctls.h
header-y += ipcbuf.h
header-y += kvm.h
header-y += kvm_para.h
header-y += linkage.h
header-y += mman.h
header-y += msgbuf.h
header-y += nvram.h
header-y += param.h
header-y += poll.h
header-y += posix_types.h
header-y += ps3fb.h
header-y += ptrace.h
header-y += resource.h
header-y += seccomp.h
header-y += sembuf.h
header-y += setup.h
header-y += shmbuf.h
header-y += sigcontext.h
header-y += siginfo.h
header-y += signal.h
header-y += socket.h
header-y += sockios.h
header-y += spu_info.h
header-y += stat.h
header-y += statfs.h
header-y += swab.h
header-y += termbits.h
header-y += termios.h
header-y += types.h
header-y += ucontext.h
header-y += unistd.h
arch/powerpc/include/asm/auxvec.h
→
arch/powerpc/include/
uapi/
asm/auxvec.h
浏览文件 @
fd3bc66f
文件已移动
arch/powerpc/include/asm/bitsperlong.h
→
arch/powerpc/include/
uapi/
asm/bitsperlong.h
浏览文件 @
fd3bc66f
文件已移动
arch/powerpc/include/uapi/asm/bootx.h
0 → 100644
浏览文件 @
fd3bc66f
/*
* This file describes the structure passed from the BootX application
* (for MacOS) when it is used to boot Linux.
*
* Written by Benjamin Herrenschmidt.
*/
#ifndef _UAPI__ASM_BOOTX_H__
#define _UAPI__ASM_BOOTX_H__
#include <linux/types.h>
#ifdef macintosh
#include <Types.h>
#include "linux_type_defs.h"
#endif
#ifdef macintosh
/* All this requires PowerPC alignment */
#pragma options align=power
#endif
/* On kernel entry:
*
* r3 = 0x426f6f58 ('BooX')
* r4 = pointer to boot_infos
* r5 = NULL
*
* Data and instruction translation disabled, interrupts
* disabled, kernel loaded at physical 0x00000000 on PCI
* machines (will be different on NuBus).
*/
#define BOOT_INFO_VERSION 5
#define BOOT_INFO_COMPATIBLE_VERSION 1
/* Bit in the architecture flag mask. More to be defined in
future versions. Note that either BOOT_ARCH_PCI or
BOOT_ARCH_NUBUS is set. The other BOOT_ARCH_NUBUS_xxx are
set additionally when BOOT_ARCH_NUBUS is set.
*/
#define BOOT_ARCH_PCI 0x00000001UL
#define BOOT_ARCH_NUBUS 0x00000002UL
#define BOOT_ARCH_NUBUS_PDM 0x00000010UL
#define BOOT_ARCH_NUBUS_PERFORMA 0x00000020UL
#define BOOT_ARCH_NUBUS_POWERBOOK 0x00000040UL
/* Maximum number of ranges in phys memory map */
#define MAX_MEM_MAP_SIZE 26
/* This is the format of an element in the physical memory map. Note that
the map is optional and current BootX will only build it for pre-PCI
machines */
typedef
struct
boot_info_map_entry
{
__u32
physAddr
;
/* Physical starting address */
__u32
size
;
/* Size in bytes */
}
boot_info_map_entry_t
;
/* Here are the boot informations that are passed to the bootstrap
* Note that the kernel arguments and the device tree are appended
* at the end of this structure. */
typedef
struct
boot_infos
{
/* Version of this structure */
__u32
version
;
/* backward compatible down to version: */
__u32
compatible_version
;
/* NEW (vers. 2) this holds the current _logical_ base addr of
the frame buffer (for use by early boot message) */
__u8
*
logicalDisplayBase
;
/* NEW (vers. 4) Apple's machine identification */
__u32
machineID
;
/* NEW (vers. 4) Detected hw architecture */
__u32
architecture
;
/* The device tree (internal addresses relative to the beginning of the tree,
* device tree offset relative to the beginning of this structure).
* On pre-PCI macintosh (BOOT_ARCH_PCI bit set to 0 in architecture), this
* field is 0.
*/
__u32
deviceTreeOffset
;
/* Device tree offset */
__u32
deviceTreeSize
;
/* Size of the device tree */
/* Some infos about the current MacOS display */
__u32
dispDeviceRect
[
4
];
/* left,top,right,bottom */
__u32
dispDeviceDepth
;
/* (8, 16 or 32) */
__u8
*
dispDeviceBase
;
/* base address (physical) */
__u32
dispDeviceRowBytes
;
/* rowbytes (in bytes) */
__u32
dispDeviceColorsOffset
;
/* Colormap (8 bits only) or 0 (*) */
/* Optional offset in the registry to the current
* MacOS display. (Can be 0 when not detected) */
__u32
dispDeviceRegEntryOffset
;
/* Optional pointer to boot ramdisk (offset from this structure) */
__u32
ramDisk
;
__u32
ramDiskSize
;
/* size of ramdisk image */
/* Kernel command line arguments (offset from this structure) */
__u32
kernelParamsOffset
;
/* ALL BELOW NEW (vers. 4) */
/* This defines the physical memory. Valid with BOOT_ARCH_NUBUS flag
(non-PCI) only. On PCI, memory is contiguous and it's size is in the
device-tree. */
boot_info_map_entry_t
physMemoryMap
[
MAX_MEM_MAP_SIZE
];
/* Where the phys memory is */
__u32
physMemoryMapSize
;
/* How many entries in map */
/* The framebuffer size (optional, currently 0) */
__u32
frameBufferSize
;
/* Represents a max size, can be 0. */
/* NEW (vers. 5) */
/* Total params size (args + colormap + device tree + ramdisk) */
__u32
totalParamsSize
;
}
boot_infos_t
;
#ifdef macintosh
#pragma options align=reset
#endif
#endif
/* _UAPI__ASM_BOOTX_H__ */
arch/powerpc/include/asm/byteorder.h
→
arch/powerpc/include/
uapi/
asm/byteorder.h
浏览文件 @
fd3bc66f
文件已移动
arch/powerpc/include/uapi/asm/cputable.h
0 → 100644
浏览文件 @
fd3bc66f
#ifndef _UAPI__ASM_POWERPC_CPUTABLE_H
#define _UAPI__ASM_POWERPC_CPUTABLE_H
#define PPC_FEATURE_32 0x80000000
#define PPC_FEATURE_64 0x40000000
#define PPC_FEATURE_601_INSTR 0x20000000
#define PPC_FEATURE_HAS_ALTIVEC 0x10000000
#define PPC_FEATURE_HAS_FPU 0x08000000
#define PPC_FEATURE_HAS_MMU 0x04000000
#define PPC_FEATURE_HAS_4xxMAC 0x02000000
#define PPC_FEATURE_UNIFIED_CACHE 0x01000000
#define PPC_FEATURE_HAS_SPE 0x00800000
#define PPC_FEATURE_HAS_EFP_SINGLE 0x00400000
#define PPC_FEATURE_HAS_EFP_DOUBLE 0x00200000
#define PPC_FEATURE_NO_TB 0x00100000
#define PPC_FEATURE_POWER4 0x00080000
#define PPC_FEATURE_POWER5 0x00040000
#define PPC_FEATURE_POWER5_PLUS 0x00020000
#define PPC_FEATURE_CELL 0x00010000
#define PPC_FEATURE_BOOKE 0x00008000
#define PPC_FEATURE_SMT 0x00004000
#define PPC_FEATURE_ICACHE_SNOOP 0x00002000
#define PPC_FEATURE_ARCH_2_05 0x00001000
#define PPC_FEATURE_PA6T 0x00000800
#define PPC_FEATURE_HAS_DFP 0x00000400
#define PPC_FEATURE_POWER6_EXT 0x00000200
#define PPC_FEATURE_ARCH_2_06 0x00000100
#define PPC_FEATURE_HAS_VSX 0x00000080
#define PPC_FEATURE_PSERIES_PERFMON_COMPAT \
0x00000040
#define PPC_FEATURE_TRUE_LE 0x00000002
#define PPC_FEATURE_PPC_LE 0x00000001
#endif
/* _UAPI__ASM_POWERPC_CPUTABLE_H */
arch/powerpc/include/uapi/asm/elf.h
0 → 100644
浏览文件 @
fd3bc66f
/*
* ELF register definitions..
*
* 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_POWERPC_ELF_H
#define _UAPI_ASM_POWERPC_ELF_H
#include <linux/types.h>
#include <asm/ptrace.h>
#include <asm/cputable.h>
#include <asm/auxvec.h>
/* PowerPC relocations defined by the ABIs */
#define R_PPC_NONE 0
#define R_PPC_ADDR32 1
/* 32bit absolute address */
#define R_PPC_ADDR24 2
/* 26bit address, 2 bits ignored. */
#define R_PPC_ADDR16 3
/* 16bit absolute address */
#define R_PPC_ADDR16_LO 4
/* lower 16bit of absolute address */
#define R_PPC_ADDR16_HI 5
/* high 16bit of absolute address */
#define R_PPC_ADDR16_HA 6
/* adjusted high 16bit */
#define R_PPC_ADDR14 7
/* 16bit address, 2 bits ignored */
#define R_PPC_ADDR14_BRTAKEN 8
#define R_PPC_ADDR14_BRNTAKEN 9
#define R_PPC_REL24 10
/* PC relative 26 bit */
#define R_PPC_REL14 11
/* PC relative 16 bit */
#define R_PPC_REL14_BRTAKEN 12
#define R_PPC_REL14_BRNTAKEN 13
#define R_PPC_GOT16 14
#define R_PPC_GOT16_LO 15
#define R_PPC_GOT16_HI 16
#define R_PPC_GOT16_HA 17
#define R_PPC_PLTREL24 18
#define R_PPC_COPY 19
#define R_PPC_GLOB_DAT 20
#define R_PPC_JMP_SLOT 21
#define R_PPC_RELATIVE 22
#define R_PPC_LOCAL24PC 23
#define R_PPC_UADDR32 24
#define R_PPC_UADDR16 25
#define R_PPC_REL32 26
#define R_PPC_PLT32 27
#define R_PPC_PLTREL32 28
#define R_PPC_PLT16_LO 29
#define R_PPC_PLT16_HI 30
#define R_PPC_PLT16_HA 31
#define R_PPC_SDAREL16 32
#define R_PPC_SECTOFF 33
#define R_PPC_SECTOFF_LO 34
#define R_PPC_SECTOFF_HI 35
#define R_PPC_SECTOFF_HA 36
/* PowerPC relocations defined for the TLS access ABI. */
#define R_PPC_TLS 67
/* none (sym+add)@tls */
#define R_PPC_DTPMOD32 68
/* word32 (sym+add)@dtpmod */
#define R_PPC_TPREL16 69
/* half16* (sym+add)@tprel */
#define R_PPC_TPREL16_LO 70
/* half16 (sym+add)@tprel@l */
#define R_PPC_TPREL16_HI 71
/* half16 (sym+add)@tprel@h */
#define R_PPC_TPREL16_HA 72
/* half16 (sym+add)@tprel@ha */
#define R_PPC_TPREL32 73
/* word32 (sym+add)@tprel */
#define R_PPC_DTPREL16 74
/* half16* (sym+add)@dtprel */
#define R_PPC_DTPREL16_LO 75
/* half16 (sym+add)@dtprel@l */
#define R_PPC_DTPREL16_HI 76
/* half16 (sym+add)@dtprel@h */
#define R_PPC_DTPREL16_HA 77
/* half16 (sym+add)@dtprel@ha */
#define R_PPC_DTPREL32 78
/* word32 (sym+add)@dtprel */
#define R_PPC_GOT_TLSGD16 79
/* half16* (sym+add)@got@tlsgd */
#define R_PPC_GOT_TLSGD16_LO 80
/* half16 (sym+add)@got@tlsgd@l */
#define R_PPC_GOT_TLSGD16_HI 81
/* half16 (sym+add)@got@tlsgd@h */
#define R_PPC_GOT_TLSGD16_HA 82
/* half16 (sym+add)@got@tlsgd@ha */
#define R_PPC_GOT_TLSLD16 83
/* half16* (sym+add)@got@tlsld */
#define R_PPC_GOT_TLSLD16_LO 84
/* half16 (sym+add)@got@tlsld@l */
#define R_PPC_GOT_TLSLD16_HI 85
/* half16 (sym+add)@got@tlsld@h */
#define R_PPC_GOT_TLSLD16_HA 86
/* half16 (sym+add)@got@tlsld@ha */
#define R_PPC_GOT_TPREL16 87
/* half16* (sym+add)@got@tprel */
#define R_PPC_GOT_TPREL16_LO 88
/* half16 (sym+add)@got@tprel@l */
#define R_PPC_GOT_TPREL16_HI 89
/* half16 (sym+add)@got@tprel@h */
#define R_PPC_GOT_TPREL16_HA 90
/* half16 (sym+add)@got@tprel@ha */
#define R_PPC_GOT_DTPREL16 91
/* half16* (sym+add)@got@dtprel */
#define R_PPC_GOT_DTPREL16_LO 92
/* half16* (sym+add)@got@dtprel@l */
#define R_PPC_GOT_DTPREL16_HI 93
/* half16* (sym+add)@got@dtprel@h */
#define R_PPC_GOT_DTPREL16_HA 94
/* half16* (sym+add)@got@dtprel@ha */
/* keep this the last entry. */
#define R_PPC_NUM 95
#define ELF_NGREG 48
/* includes nip, msr, lr, etc. */
#define ELF_NFPREG 33
/* includes fpscr */
typedef
unsigned
long
elf_greg_t64
;
typedef
elf_greg_t64
elf_gregset_t64
[
ELF_NGREG
];
typedef
unsigned
int
elf_greg_t32
;
typedef
elf_greg_t32
elf_gregset_t32
[
ELF_NGREG
];
typedef
elf_gregset_t32
compat_elf_gregset_t
;
/*
* ELF_ARCH, CLASS, and DATA are used to set parameters in the core dumps.
*/
#ifdef __powerpc64__
# define ELF_NVRREG32 33
/* includes vscr & vrsave stuffed together */
# define ELF_NVRREG 34
/* includes vscr & vrsave in split vectors */
# define ELF_NVSRHALFREG 32
/* Half the vsx registers */
# define ELF_GREG_TYPE elf_greg_t64
#else
# define ELF_NEVRREG 34
/* includes acc (as 2) */
# define ELF_NVRREG 33
/* includes vscr */
# define ELF_GREG_TYPE elf_greg_t32
# define ELF_ARCH EM_PPC
# define ELF_CLASS ELFCLASS32
# define ELF_DATA ELFDATA2MSB
#endif
/* __powerpc64__ */
#ifndef ELF_ARCH
# define ELF_ARCH EM_PPC64
# define ELF_CLASS ELFCLASS64
# define ELF_DATA ELFDATA2MSB
typedef
elf_greg_t64
elf_greg_t
;
typedef
elf_gregset_t64
elf_gregset_t
;
#else
/* Assumption: ELF_ARCH == EM_PPC and ELF_CLASS == ELFCLASS32 */
typedef
elf_greg_t32
elf_greg_t
;
typedef
elf_gregset_t32
elf_gregset_t
;
#endif
/* ELF_ARCH */
/* Floating point registers */
typedef
double
elf_fpreg_t
;
typedef
elf_fpreg_t
elf_fpregset_t
[
ELF_NFPREG
];
/* Altivec registers */
/*
* The entries with indexes 0-31 contain the corresponding vector registers.
* The entry with index 32 contains the vscr as the last word (offset 12)
* within the quadword. This allows the vscr to be stored as either a
* quadword (since it must be copied via a vector register to/from storage)
* or as a word.
*
* 64-bit kernel notes: The entry at index 33 contains the vrsave as the first
* word (offset 0) within the quadword.
*
* This definition of the VMX state is compatible with the current PPC32
* ptrace interface. This allows signal handling and ptrace to use the same
* structures. This also simplifies the implementation of a bi-arch
* (combined (32- and 64-bit) gdb.
*
* Note that it's _not_ compatible with 32 bits ucontext which stuffs the
* vrsave along with vscr and so only uses 33 vectors for the register set
*/
typedef
__vector128
elf_vrreg_t
;
typedef
elf_vrreg_t
elf_vrregset_t
[
ELF_NVRREG
];
#ifdef __powerpc64__
typedef
elf_vrreg_t
elf_vrregset_t32
[
ELF_NVRREG32
];
typedef
elf_fpreg_t
elf_vsrreghalf_t32
[
ELF_NVSRHALFREG
];
#endif
/*
* The requirements here are:
* - keep the final alignment of sp (sp & 0xf)
* - make sure the 32-bit value at the first 16 byte aligned position of
* AUXV is greater than 16 for glibc compatibility.
* AT_IGNOREPPC is used for that.
* - for compatibility with glibc ARCH_DLINFO must always be defined on PPC,
* even if DLINFO_ARCH_ITEMS goes to zero or is undefined.
* update AT_VECTOR_SIZE_ARCH if the number of NEW_AUX_ENT entries changes
*/
#define ARCH_DLINFO \
do { \
/* Handle glibc compatibility. */
\
NEW_AUX_ENT(AT_IGNOREPPC, AT_IGNOREPPC); \
NEW_AUX_ENT(AT_IGNOREPPC, AT_IGNOREPPC); \
/* Cache size items */
\
NEW_AUX_ENT(AT_DCACHEBSIZE, dcache_bsize); \
NEW_AUX_ENT(AT_ICACHEBSIZE, icache_bsize); \
NEW_AUX_ENT(AT_UCACHEBSIZE, ucache_bsize); \
VDSO_AUX_ENT(AT_SYSINFO_EHDR, current->mm->context.vdso_base); \
} while (0)
/* PowerPC64 relocations defined by the ABIs */
#define R_PPC64_NONE R_PPC_NONE
#define R_PPC64_ADDR32 R_PPC_ADDR32
/* 32bit absolute address. */
#define R_PPC64_ADDR24 R_PPC_ADDR24
/* 26bit address, word aligned. */
#define R_PPC64_ADDR16 R_PPC_ADDR16
/* 16bit absolute address. */
#define R_PPC64_ADDR16_LO R_PPC_ADDR16_LO
/* lower 16bits of abs. address. */
#define R_PPC64_ADDR16_HI R_PPC_ADDR16_HI
/* high 16bits of abs. address. */
#define R_PPC64_ADDR16_HA R_PPC_ADDR16_HA
/* adjusted high 16bits. */
#define R_PPC64_ADDR14 R_PPC_ADDR14
/* 16bit address, word aligned. */
#define R_PPC64_ADDR14_BRTAKEN R_PPC_ADDR14_BRTAKEN
#define R_PPC64_ADDR14_BRNTAKEN R_PPC_ADDR14_BRNTAKEN
#define R_PPC64_REL24 R_PPC_REL24
/* PC relative 26 bit, word aligned. */
#define R_PPC64_REL14 R_PPC_REL14
/* PC relative 16 bit. */
#define R_PPC64_REL14_BRTAKEN R_PPC_REL14_BRTAKEN
#define R_PPC64_REL14_BRNTAKEN R_PPC_REL14_BRNTAKEN
#define R_PPC64_GOT16 R_PPC_GOT16
#define R_PPC64_GOT16_LO R_PPC_GOT16_LO
#define R_PPC64_GOT16_HI R_PPC_GOT16_HI
#define R_PPC64_GOT16_HA R_PPC_GOT16_HA
#define R_PPC64_COPY R_PPC_COPY
#define R_PPC64_GLOB_DAT R_PPC_GLOB_DAT
#define R_PPC64_JMP_SLOT R_PPC_JMP_SLOT
#define R_PPC64_RELATIVE R_PPC_RELATIVE
#define R_PPC64_UADDR32 R_PPC_UADDR32
#define R_PPC64_UADDR16 R_PPC_UADDR16
#define R_PPC64_REL32 R_PPC_REL32
#define R_PPC64_PLT32 R_PPC_PLT32
#define R_PPC64_PLTREL32 R_PPC_PLTREL32
#define R_PPC64_PLT16_LO R_PPC_PLT16_LO
#define R_PPC64_PLT16_HI R_PPC_PLT16_HI
#define R_PPC64_PLT16_HA R_PPC_PLT16_HA
#define R_PPC64_SECTOFF R_PPC_SECTOFF
#define R_PPC64_SECTOFF_LO R_PPC_SECTOFF_LO
#define R_PPC64_SECTOFF_HI R_PPC_SECTOFF_HI
#define R_PPC64_SECTOFF_HA R_PPC_SECTOFF_HA
#define R_PPC64_ADDR30 37
/* word30 (S + A - P) >> 2. */
#define R_PPC64_ADDR64 38
/* doubleword64 S + A. */
#define R_PPC64_ADDR16_HIGHER 39
/* half16 #higher(S + A). */
#define R_PPC64_ADDR16_HIGHERA 40
/* half16 #highera(S + A). */
#define R_PPC64_ADDR16_HIGHEST 41
/* half16 #highest(S + A). */
#define R_PPC64_ADDR16_HIGHESTA 42
/* half16 #highesta(S + A). */
#define R_PPC64_UADDR64 43
/* doubleword64 S + A. */
#define R_PPC64_REL64 44
/* doubleword64 S + A - P. */
#define R_PPC64_PLT64 45
/* doubleword64 L + A. */
#define R_PPC64_PLTREL64 46
/* doubleword64 L + A - P. */
#define R_PPC64_TOC16 47
/* half16* S + A - .TOC. */
#define R_PPC64_TOC16_LO 48
/* half16 #lo(S + A - .TOC.). */
#define R_PPC64_TOC16_HI 49
/* half16 #hi(S + A - .TOC.). */
#define R_PPC64_TOC16_HA 50
/* half16 #ha(S + A - .TOC.). */
#define R_PPC64_TOC 51
/* doubleword64 .TOC. */
#define R_PPC64_PLTGOT16 52
/* half16* M + A. */
#define R_PPC64_PLTGOT16_LO 53
/* half16 #lo(M + A). */
#define R_PPC64_PLTGOT16_HI 54
/* half16 #hi(M + A). */
#define R_PPC64_PLTGOT16_HA 55
/* half16 #ha(M + A). */
#define R_PPC64_ADDR16_DS 56
/* half16ds* (S + A) >> 2. */
#define R_PPC64_ADDR16_LO_DS 57
/* half16ds #lo(S + A) >> 2. */
#define R_PPC64_GOT16_DS 58
/* half16ds* (G + A) >> 2. */
#define R_PPC64_GOT16_LO_DS 59
/* half16ds #lo(G + A) >> 2. */
#define R_PPC64_PLT16_LO_DS 60
/* half16ds #lo(L + A) >> 2. */
#define R_PPC64_SECTOFF_DS 61
/* half16ds* (R + A) >> 2. */
#define R_PPC64_SECTOFF_LO_DS 62
/* half16ds #lo(R + A) >> 2. */
#define R_PPC64_TOC16_DS 63
/* half16ds* (S + A - .TOC.) >> 2. */
#define R_PPC64_TOC16_LO_DS 64
/* half16ds #lo(S + A - .TOC.) >> 2. */
#define R_PPC64_PLTGOT16_DS 65
/* half16ds* (M + A) >> 2. */
#define R_PPC64_PLTGOT16_LO_DS 66
/* half16ds #lo(M + A) >> 2. */
/* PowerPC64 relocations defined for the TLS access ABI. */
#define R_PPC64_TLS 67
/* none (sym+add)@tls */
#define R_PPC64_DTPMOD64 68
/* doubleword64 (sym+add)@dtpmod */
#define R_PPC64_TPREL16 69
/* half16* (sym+add)@tprel */
#define R_PPC64_TPREL16_LO 70
/* half16 (sym+add)@tprel@l */
#define R_PPC64_TPREL16_HI 71
/* half16 (sym+add)@tprel@h */
#define R_PPC64_TPREL16_HA 72
/* half16 (sym+add)@tprel@ha */
#define R_PPC64_TPREL64 73
/* doubleword64 (sym+add)@tprel */
#define R_PPC64_DTPREL16 74
/* half16* (sym+add)@dtprel */
#define R_PPC64_DTPREL16_LO 75
/* half16 (sym+add)@dtprel@l */
#define R_PPC64_DTPREL16_HI 76
/* half16 (sym+add)@dtprel@h */
#define R_PPC64_DTPREL16_HA 77
/* half16 (sym+add)@dtprel@ha */
#define R_PPC64_DTPREL64 78
/* doubleword64 (sym+add)@dtprel */
#define R_PPC64_GOT_TLSGD16 79
/* half16* (sym+add)@got@tlsgd */
#define R_PPC64_GOT_TLSGD16_LO 80
/* half16 (sym+add)@got@tlsgd@l */
#define R_PPC64_GOT_TLSGD16_HI 81
/* half16 (sym+add)@got@tlsgd@h */
#define R_PPC64_GOT_TLSGD16_HA 82
/* half16 (sym+add)@got@tlsgd@ha */
#define R_PPC64_GOT_TLSLD16 83
/* half16* (sym+add)@got@tlsld */
#define R_PPC64_GOT_TLSLD16_LO 84
/* half16 (sym+add)@got@tlsld@l */
#define R_PPC64_GOT_TLSLD16_HI 85
/* half16 (sym+add)@got@tlsld@h */
#define R_PPC64_GOT_TLSLD16_HA 86
/* half16 (sym+add)@got@tlsld@ha */
#define R_PPC64_GOT_TPREL16_DS 87
/* half16ds* (sym+add)@got@tprel */
#define R_PPC64_GOT_TPREL16_LO_DS 88
/* half16ds (sym+add)@got@tprel@l */
#define R_PPC64_GOT_TPREL16_HI 89
/* half16 (sym+add)@got@tprel@h */
#define R_PPC64_GOT_TPREL16_HA 90
/* half16 (sym+add)@got@tprel@ha */
#define R_PPC64_GOT_DTPREL16_DS 91
/* half16ds* (sym+add)@got@dtprel */
#define R_PPC64_GOT_DTPREL16_LO_DS 92
/* half16ds (sym+add)@got@dtprel@l */
#define R_PPC64_GOT_DTPREL16_HI 93
/* half16 (sym+add)@got@dtprel@h */
#define R_PPC64_GOT_DTPREL16_HA 94
/* half16 (sym+add)@got@dtprel@ha */
#define R_PPC64_TPREL16_DS 95
/* half16ds* (sym+add)@tprel */
#define R_PPC64_TPREL16_LO_DS 96
/* half16ds (sym+add)@tprel@l */
#define R_PPC64_TPREL16_HIGHER 97
/* half16 (sym+add)@tprel@higher */
#define R_PPC64_TPREL16_HIGHERA 98
/* half16 (sym+add)@tprel@highera */
#define R_PPC64_TPREL16_HIGHEST 99
/* half16 (sym+add)@tprel@highest */
#define R_PPC64_TPREL16_HIGHESTA 100
/* half16 (sym+add)@tprel@highesta */
#define R_PPC64_DTPREL16_DS 101
/* half16ds* (sym+add)@dtprel */
#define R_PPC64_DTPREL16_LO_DS 102
/* half16ds (sym+add)@dtprel@l */
#define R_PPC64_DTPREL16_HIGHER 103
/* half16 (sym+add)@dtprel@higher */
#define R_PPC64_DTPREL16_HIGHERA 104
/* half16 (sym+add)@dtprel@highera */
#define R_PPC64_DTPREL16_HIGHEST 105
/* half16 (sym+add)@dtprel@highest */
#define R_PPC64_DTPREL16_HIGHESTA 106
/* half16 (sym+add)@dtprel@highesta */
/* Keep this the last entry. */
#define R_PPC64_NUM 107
/* There's actually a third entry here, but it's unused */
struct
ppc64_opd_entry
{
unsigned
long
funcaddr
;
unsigned
long
r2
;
};
#endif
/* _UAPI_ASM_POWERPC_ELF_H */
arch/powerpc/include/asm/errno.h
→
arch/powerpc/include/
uapi/
asm/errno.h
浏览文件 @
fd3bc66f
文件已移动
arch/powerpc/include/asm/fcntl.h
→
arch/powerpc/include/
uapi/
asm/fcntl.h
浏览文件 @
fd3bc66f
文件已移动
arch/powerpc/include/asm/ioctl.h
→
arch/powerpc/include/
uapi/
asm/ioctl.h
浏览文件 @
fd3bc66f
文件已移动
arch/powerpc/include/asm/ioctls.h
→
arch/powerpc/include/
uapi/
asm/ioctls.h
浏览文件 @
fd3bc66f
文件已移动
arch/powerpc/include/asm/ipcbuf.h
→
arch/powerpc/include/
uapi/
asm/ipcbuf.h
浏览文件 @
fd3bc66f
文件已移动
arch/powerpc/include/asm/kvm.h
→
arch/powerpc/include/
uapi/
asm/kvm.h
浏览文件 @
fd3bc66f
文件已移动
arch/powerpc/include/uapi/asm/kvm_para.h
0 → 100644
浏览文件 @
fd3bc66f
/*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License, version 2, as
* published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*
* Copyright IBM Corp. 2008
*
* Authors: Hollis Blanchard <hollisb@us.ibm.com>
*/
#ifndef _UAPI__POWERPC_KVM_PARA_H__
#define _UAPI__POWERPC_KVM_PARA_H__
#include <linux/types.h>
/*
* Additions to this struct must only occur at the end, and should be
* accompanied by a KVM_MAGIC_FEAT flag to advertise that they are present
* (albeit not necessarily relevant to the current target hardware platform).
*
* Struct fields are always 32 or 64 bit aligned, depending on them being 32
* or 64 bit wide respectively.
*
* See Documentation/virtual/kvm/ppc-pv.txt
*/
struct
kvm_vcpu_arch_shared
{
__u64
scratch1
;
__u64
scratch2
;
__u64
scratch3
;
__u64
critical
;
/* Guest may not get interrupts if == r1 */
__u64
sprg0
;
__u64
sprg1
;
__u64
sprg2
;
__u64
sprg3
;
__u64
srr0
;
__u64
srr1
;
__u64
dar
;
/* dear on BookE */
__u64
msr
;
__u32
dsisr
;
__u32
int_pending
;
/* Tells the guest if we have an interrupt */
__u32
sr
[
16
];
__u32
mas0
;
__u32
mas1
;
__u64
mas7_3
;
__u64
mas2
;
__u32
mas4
;
__u32
mas6
;
__u32
esr
;
__u32
pir
;
/*
* SPRG4-7 are user-readable, so we can only keep these consistent
* between the shared area and the real registers when there's an
* intervening exit to KVM. This also applies to SPRG3 on some
* chips.
*
* This suffices for access by guest userspace, since in PR-mode
* KVM, an exit must occur when changing the guest's MSR[PR].
* If the guest kernel writes to SPRG3-7 via the shared area, it
* must also use the shared area for reading while in kernel space.
*/
__u64
sprg4
;
__u64
sprg5
;
__u64
sprg6
;
__u64
sprg7
;
};
#define KVM_SC_MAGIC_R0 0x4b564d21
/* "KVM!" */
#define HC_VENDOR_KVM (42 << 16)
#define HC_EV_SUCCESS 0
#define HC_EV_UNIMPLEMENTED 12
#define KVM_FEATURE_MAGIC_PAGE 1
#define KVM_MAGIC_FEAT_SR (1 << 0)
/* MASn, ESR, PIR, and high SPRGs */
#define KVM_MAGIC_FEAT_MAS0_TO_SPRG7 (1 << 1)
#endif
/* _UAPI__POWERPC_KVM_PARA_H__ */
arch/powerpc/include/asm/linkage.h
→
arch/powerpc/include/
uapi/
asm/linkage.h
浏览文件 @
fd3bc66f
文件已移动
arch/powerpc/include/uapi/asm/mman.h
0 → 100644
浏览文件 @
fd3bc66f
/*
* 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_POWERPC_MMAN_H
#define _UAPI_ASM_POWERPC_MMAN_H
#include <asm-generic/mman-common.h>
#define PROT_SAO 0x10
/* Strong Access Ordering */
#define MAP_RENAME MAP_ANONYMOUS
/* In SunOS terminology */
#define MAP_NORESERVE 0x40
/* don't reserve swap pages */
#define MAP_LOCKED 0x80
#define MAP_GROWSDOWN 0x0100
/* stack-like segment */
#define MAP_DENYWRITE 0x0800
/* ETXTBSY */
#define MAP_EXECUTABLE 0x1000
/* mark it as an executable */
#define MCL_CURRENT 0x2000
/* lock all currently mapped pages */
#define MCL_FUTURE 0x4000
/* lock all additions to address space */
#define MAP_POPULATE 0x8000
/* populate (prefault) pagetables */
#define MAP_NONBLOCK 0x10000
/* do not block on IO */
#define MAP_STACK 0x20000
/* give out an address that is best suited for process/thread stacks */
#define MAP_HUGETLB 0x40000
/* create a huge page mapping */
#endif
/* _UAPI_ASM_POWERPC_MMAN_H */
arch/powerpc/include/asm/msgbuf.h
→
arch/powerpc/include/
uapi/
asm/msgbuf.h
浏览文件 @
fd3bc66f
文件已移动
arch/powerpc/include/uapi/asm/nvram.h
0 → 100644
浏览文件 @
fd3bc66f
/*
* NVRAM definitions and access functions.
*
* 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_POWERPC_NVRAM_H
#define _UAPI_ASM_POWERPC_NVRAM_H
/* Signatures for nvram partitions */
#define NVRAM_SIG_SP 0x02
/* support processor */
#define NVRAM_SIG_OF 0x50
/* open firmware config */
#define NVRAM_SIG_FW 0x51
/* general firmware */
#define NVRAM_SIG_HW 0x52
/* hardware (VPD) */
#define NVRAM_SIG_FLIP 0x5a
/* Apple flip/flop header */
#define NVRAM_SIG_APPL 0x5f
/* Apple "system" (???) */
#define NVRAM_SIG_SYS 0x70
/* system env vars */
#define NVRAM_SIG_CFG 0x71
/* config data */
#define NVRAM_SIG_ELOG 0x72
/* error log */
#define NVRAM_SIG_VEND 0x7e
/* vendor defined */
#define NVRAM_SIG_FREE 0x7f
/* Free space */
#define NVRAM_SIG_OS 0xa0
/* OS defined */
#define NVRAM_SIG_PANIC 0xa1
/* Apple OSX "panic" */
/* PowerMac specific nvram stuffs */
enum
{
pmac_nvram_OF
,
/* Open Firmware partition */
pmac_nvram_XPRAM
,
/* MacOS XPRAM partition */
pmac_nvram_NR
/* MacOS Name Registry partition */
};
/* Some offsets in XPRAM */
#define PMAC_XPRAM_MACHINE_LOC 0xe4
#define PMAC_XPRAM_SOUND_VOLUME 0x08
/* Machine location structure in PowerMac XPRAM */
struct
pmac_machine_location
{
unsigned
int
latitude
;
/* 2+30 bit Fractional number */
unsigned
int
longitude
;
/* 2+30 bit Fractional number */
unsigned
int
delta
;
/* mix of GMT delta and DLS */
};
/*
* /dev/nvram ioctls
*
* Note that PMAC_NVRAM_GET_OFFSET is still supported, but is
* definitely obsolete. Do not use it if you can avoid it
*/
#define OBSOLETE_PMAC_NVRAM_GET_OFFSET \
_IOWR('p', 0x40, int)
#define IOC_NVRAM_GET_OFFSET _IOWR('p', 0x42, int)
/* Get NVRAM partition offset */
#define IOC_NVRAM_SYNC _IO('p', 0x43)
/* Sync NVRAM image */
#endif
/* _UAPI_ASM_POWERPC_NVRAM_H */
arch/powerpc/include/asm/param.h
→
arch/powerpc/include/
uapi/
asm/param.h
浏览文件 @
fd3bc66f
文件已移动
arch/powerpc/include/asm/poll.h
→
arch/powerpc/include/
uapi/
asm/poll.h
浏览文件 @
fd3bc66f
文件已移动
arch/powerpc/include/asm/posix_types.h
→
arch/powerpc/include/
uapi/
asm/posix_types.h
浏览文件 @
fd3bc66f
文件已移动
arch/powerpc/include/asm/ps3fb.h
→
arch/powerpc/include/
uapi/
asm/ps3fb.h
浏览文件 @
fd3bc66f
文件已移动
arch/powerpc/include/uapi/asm/ptrace.h
0 → 100644
浏览文件 @
fd3bc66f
/*
* Copyright (C) 2001 PPC64 Team, IBM Corp
*
* This struct defines the way the registers are stored on the
* kernel stack during a system call or other kernel entry.
*
* this should only contain volatile regs
* since we can keep non-volatile in the thread_struct
* should set this up when only volatiles are saved
* by intr code.
*
* Since this is going on the stack, *CARE MUST BE TAKEN* to insure
* that the overall structure is a multiple of 16 bytes in length.
*
* Note that the offsets of the fields in this struct correspond with
* the PT_* values below. This simplifies arch/powerpc/kernel/ptrace.c.
*
* 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_POWERPC_PTRACE_H
#define _UAPI_ASM_POWERPC_PTRACE_H
#include <linux/types.h>
#ifndef __ASSEMBLY__
struct
pt_regs
{
unsigned
long
gpr
[
32
];
unsigned
long
nip
;
unsigned
long
msr
;
unsigned
long
orig_gpr3
;
/* Used for restarting system calls */
unsigned
long
ctr
;
unsigned
long
link
;
unsigned
long
xer
;
unsigned
long
ccr
;
#ifdef __powerpc64__
unsigned
long
softe
;
/* Soft enabled/disabled */
#else
unsigned
long
mq
;
/* 601 only (not used at present) */
/* Used on APUS to hold IPL value. */
#endif
unsigned
long
trap
;
/* Reason for being here */
/* N.B. for critical exceptions on 4xx, the dar and dsisr
fields are overloaded to hold srr0 and srr1. */
unsigned
long
dar
;
/* Fault registers */
unsigned
long
dsisr
;
/* on 4xx/Book-E used for ESR */
unsigned
long
result
;
/* Result of a system call */
};
#endif
/* __ASSEMBLY__ */
/*
* Offsets used by 'ptrace' system call interface.
* These can't be changed without breaking binary compatibility
* with MkLinux, etc.
*/
#define PT_R0 0
#define PT_R1 1
#define PT_R2 2
#define PT_R3 3
#define PT_R4 4
#define PT_R5 5
#define PT_R6 6
#define PT_R7 7
#define PT_R8 8
#define PT_R9 9
#define PT_R10 10
#define PT_R11 11
#define PT_R12 12
#define PT_R13 13
#define PT_R14 14
#define PT_R15 15
#define PT_R16 16
#define PT_R17 17
#define PT_R18 18
#define PT_R19 19
#define PT_R20 20
#define PT_R21 21
#define PT_R22 22
#define PT_R23 23
#define PT_R24 24
#define PT_R25 25
#define PT_R26 26
#define PT_R27 27
#define PT_R28 28
#define PT_R29 29
#define PT_R30 30
#define PT_R31 31
#define PT_NIP 32
#define PT_MSR 33
#define PT_ORIG_R3 34
#define PT_CTR 35
#define PT_LNK 36
#define PT_XER 37
#define PT_CCR 38
#ifndef __powerpc64__
#define PT_MQ 39
#else
#define PT_SOFTE 39
#endif
#define PT_TRAP 40
#define PT_DAR 41
#define PT_DSISR 42
#define PT_RESULT 43
#define PT_REGS_COUNT 44
#define PT_FPR0 48
/* each FP reg occupies 2 slots in this space */
#ifndef __powerpc64__
#define PT_FPR31 (PT_FPR0 + 2*31)
#define PT_FPSCR (PT_FPR0 + 2*32 + 1)
#else
/* __powerpc64__ */
#define PT_FPSCR (PT_FPR0 + 32)
/* each FP reg occupies 1 slot in 64-bit space */
#define PT_VR0 82
/* each Vector reg occupies 2 slots in 64-bit */
#define PT_VSCR (PT_VR0 + 32*2 + 1)
#define PT_VRSAVE (PT_VR0 + 33*2)
/*
* Only store first 32 VSRs here. The second 32 VSRs in VR0-31
*/
#define PT_VSR0 150
/* each VSR reg occupies 2 slots in 64-bit */
#define PT_VSR31 (PT_VSR0 + 2*31)
#endif
/* __powerpc64__ */
/*
* Get/set all the altivec registers vr0..vr31, vscr, vrsave, in one go.
* The transfer totals 34 quadword. Quadwords 0-31 contain the
* corresponding vector registers. Quadword 32 contains the vscr as the
* last word (offset 12) within that quadword. Quadword 33 contains the
* vrsave as the first word (offset 0) within the quadword.
*
* This definition of the VMX state is compatible with the current PPC32
* ptrace interface. This allows signal handling and ptrace to use the same
* structures. This also simplifies the implementation of a bi-arch
* (combined (32- and 64-bit) gdb.
*/
#define PTRACE_GETVRREGS 18
#define PTRACE_SETVRREGS 19
/* Get/set all the upper 32-bits of the SPE registers, accumulator, and
* spefscr, in one go */
#define PTRACE_GETEVRREGS 20
#define PTRACE_SETEVRREGS 21
/* Get the first 32 128bit VSX registers */
#define PTRACE_GETVSRREGS 27
#define PTRACE_SETVSRREGS 28
/*
* Get or set a debug register. The first 16 are DABR registers and the
* second 16 are IABR registers.
*/
#define PTRACE_GET_DEBUGREG 25
#define PTRACE_SET_DEBUGREG 26
/* (new) PTRACE requests using the same numbers as x86 and the same
* argument ordering. Additionally, they support more registers too
*/
#define PTRACE_GETREGS 12
#define PTRACE_SETREGS 13
#define PTRACE_GETFPREGS 14
#define PTRACE_SETFPREGS 15
#define PTRACE_GETREGS64 22
#define PTRACE_SETREGS64 23
/* Calls to trace a 64bit program from a 32bit program */
#define PPC_PTRACE_PEEKTEXT_3264 0x95
#define PPC_PTRACE_PEEKDATA_3264 0x94
#define PPC_PTRACE_POKETEXT_3264 0x93
#define PPC_PTRACE_POKEDATA_3264 0x92
#define PPC_PTRACE_PEEKUSR_3264 0x91
#define PPC_PTRACE_POKEUSR_3264 0x90
#define PTRACE_SINGLEBLOCK 0x100
/* resume execution until next branch */
#define PPC_PTRACE_GETHWDBGINFO 0x89
#define PPC_PTRACE_SETHWDEBUG 0x88
#define PPC_PTRACE_DELHWDEBUG 0x87
#ifndef __ASSEMBLY__
struct
ppc_debug_info
{
__u32
version
;
/* Only version 1 exists to date */
__u32
num_instruction_bps
;
__u32
num_data_bps
;
__u32
num_condition_regs
;
__u32
data_bp_alignment
;
__u32
sizeof_condition
;
/* size of the DVC register */
__u64
features
;
};
#endif
/* __ASSEMBLY__ */
/*
* features will have bits indication whether there is support for:
*/
#define PPC_DEBUG_FEATURE_INSN_BP_RANGE 0x0000000000000001
#define PPC_DEBUG_FEATURE_INSN_BP_MASK 0x0000000000000002
#define PPC_DEBUG_FEATURE_DATA_BP_RANGE 0x0000000000000004
#define PPC_DEBUG_FEATURE_DATA_BP_MASK 0x0000000000000008
#ifndef __ASSEMBLY__
struct
ppc_hw_breakpoint
{
__u32
version
;
/* currently, version must be 1 */
__u32
trigger_type
;
/* only some combinations allowed */
__u32
addr_mode
;
/* address match mode */
__u32
condition_mode
;
/* break/watchpoint condition flags */
__u64
addr
;
/* break/watchpoint address */
__u64
addr2
;
/* range end or mask */
__u64
condition_value
;
/* contents of the DVC register */
};
#endif
/* __ASSEMBLY__ */
/*
* Trigger Type
*/
#define PPC_BREAKPOINT_TRIGGER_EXECUTE 0x00000001
#define PPC_BREAKPOINT_TRIGGER_READ 0x00000002
#define PPC_BREAKPOINT_TRIGGER_WRITE 0x00000004
#define PPC_BREAKPOINT_TRIGGER_RW \
(PPC_BREAKPOINT_TRIGGER_READ | PPC_BREAKPOINT_TRIGGER_WRITE)
/*
* Address Mode
*/
#define PPC_BREAKPOINT_MODE_EXACT 0x00000000
#define PPC_BREAKPOINT_MODE_RANGE_INCLUSIVE 0x00000001
#define PPC_BREAKPOINT_MODE_RANGE_EXCLUSIVE 0x00000002
#define PPC_BREAKPOINT_MODE_MASK 0x00000003
/*
* Condition Mode
*/
#define PPC_BREAKPOINT_CONDITION_MODE 0x00000003
#define PPC_BREAKPOINT_CONDITION_NONE 0x00000000
#define PPC_BREAKPOINT_CONDITION_AND 0x00000001
#define PPC_BREAKPOINT_CONDITION_EXACT PPC_BREAKPOINT_CONDITION_AND
#define PPC_BREAKPOINT_CONDITION_OR 0x00000002
#define PPC_BREAKPOINT_CONDITION_AND_OR 0x00000003
#define PPC_BREAKPOINT_CONDITION_BE_ALL 0x00ff0000
#define PPC_BREAKPOINT_CONDITION_BE_SHIFT 16
#define PPC_BREAKPOINT_CONDITION_BE(n) \
(1<<((n)+PPC_BREAKPOINT_CONDITION_BE_SHIFT))
#endif
/* _UAPI_ASM_POWERPC_PTRACE_H */
arch/powerpc/include/asm/resource.h
→
arch/powerpc/include/
uapi/
asm/resource.h
浏览文件 @
fd3bc66f
文件已移动
arch/powerpc/include/asm/seccomp.h
→
arch/powerpc/include/
uapi/
asm/seccomp.h
浏览文件 @
fd3bc66f
文件已移动
arch/powerpc/include/asm/sembuf.h
→
arch/powerpc/include/
uapi/
asm/sembuf.h
浏览文件 @
fd3bc66f
文件已移动
arch/powerpc/include/asm/setup.h
→
arch/powerpc/include/
uapi/
asm/setup.h
浏览文件 @
fd3bc66f
文件已移动
arch/powerpc/include/asm/shmbuf.h
→
arch/powerpc/include/
uapi/
asm/shmbuf.h
浏览文件 @
fd3bc66f
文件已移动
arch/powerpc/include/asm/sigcontext.h
→
arch/powerpc/include/
uapi/
asm/sigcontext.h
浏览文件 @
fd3bc66f
文件已移动
arch/powerpc/include/asm/siginfo.h
→
arch/powerpc/include/
uapi/
asm/siginfo.h
浏览文件 @
fd3bc66f
文件已移动
arch/powerpc/include/uapi/asm/signal.h
0 → 100644
浏览文件 @
fd3bc66f
#ifndef _UAPI_ASM_POWERPC_SIGNAL_H
#define _UAPI_ASM_POWERPC_SIGNAL_H
#include <linux/types.h>
#define _NSIG 64
#ifdef __powerpc64__
#define _NSIG_BPW 64
#else
#define _NSIG_BPW 32
#endif
#define _NSIG_WORDS (_NSIG / _NSIG_BPW)
typedef
unsigned
long
old_sigset_t
;
/* at least 32 bits */
typedef
struct
{
unsigned
long
sig
[
_NSIG_WORDS
];
}
sigset_t
;
#define SIGHUP 1
#define SIGINT 2
#define SIGQUIT 3
#define SIGILL 4
#define SIGTRAP 5
#define SIGABRT 6
#define SIGIOT 6
#define SIGBUS 7
#define SIGFPE 8
#define SIGKILL 9
#define SIGUSR1 10
#define SIGSEGV 11
#define SIGUSR2 12
#define SIGPIPE 13
#define SIGALRM 14
#define SIGTERM 15
#define SIGSTKFLT 16
#define SIGCHLD 17
#define SIGCONT 18
#define SIGSTOP 19
#define SIGTSTP 20
#define SIGTTIN 21
#define SIGTTOU 22
#define SIGURG 23
#define SIGXCPU 24
#define SIGXFSZ 25
#define SIGVTALRM 26
#define SIGPROF 27
#define SIGWINCH 28
#define SIGIO 29
#define SIGPOLL SIGIO
/*
#define SIGLOST 29
*/
#define SIGPWR 30
#define SIGSYS 31
#define SIGUNUSED 31
/* These should not be considered constants from userland. */
#define SIGRTMIN 32
#define SIGRTMAX _NSIG
/*
* SA_FLAGS values:
*
* SA_ONSTACK is not currently supported, but will allow sigaltstack(2).
* SA_RESTART flag to get restarting signals (which were the default long ago)
* SA_NOCLDSTOP flag to turn off SIGCHLD when children stop.
* SA_RESETHAND clears the handler when the signal is delivered.
* SA_NOCLDWAIT flag on SIGCHLD to inhibit zombies.
* SA_NODEFER prevents the current signal from being masked in the handler.
*
* SA_ONESHOT and SA_NOMASK are the historical Linux names for the Single
* Unix names RESETHAND and NODEFER respectively.
*/
#define SA_NOCLDSTOP 0x00000001U
#define SA_NOCLDWAIT 0x00000002U
#define SA_SIGINFO 0x00000004U
#define SA_ONSTACK 0x08000000U
#define SA_RESTART 0x10000000U
#define SA_NODEFER 0x40000000U
#define SA_RESETHAND 0x80000000U
#define SA_NOMASK SA_NODEFER
#define SA_ONESHOT SA_RESETHAND
#define SA_RESTORER 0x04000000U
/*
* sigaltstack controls
*/
#define SS_ONSTACK 1
#define SS_DISABLE 2
#define MINSIGSTKSZ 2048
#define SIGSTKSZ 8192
#include <asm-generic/signal-defs.h>
struct
old_sigaction
{
__sighandler_t
sa_handler
;
old_sigset_t
sa_mask
;
unsigned
long
sa_flags
;
__sigrestore_t
sa_restorer
;
};
struct
sigaction
{
__sighandler_t
sa_handler
;
unsigned
long
sa_flags
;
__sigrestore_t
sa_restorer
;
sigset_t
sa_mask
;
/* mask last for extensibility */
};
struct
k_sigaction
{
struct
sigaction
sa
;
};
typedef
struct
sigaltstack
{
void
__user
*
ss_sp
;
int
ss_flags
;
size_t
ss_size
;
}
stack_t
;
#ifndef __powerpc64__
/*
* These are parameters to dbg_sigreturn syscall. They enable or
* disable certain debugging things that can be done from signal
* handlers. The dbg_sigreturn syscall *must* be called from a
* SA_SIGINFO signal so the ucontext can be passed to it. It takes an
* array of struct sig_dbg_op, which has the debug operations to
* perform before returning from the signal.
*/
struct
sig_dbg_op
{
int
dbg_type
;
unsigned
long
dbg_value
;
};
/* Enable or disable single-stepping. The value sets the state. */
#define SIG_DBG_SINGLE_STEPPING 1
/* Enable or disable branch tracing. The value sets the state. */
#define SIG_DBG_BRANCH_TRACING 2
#endif
/* ! __powerpc64__ */
#endif
/* _UAPI_ASM_POWERPC_SIGNAL_H */
arch/powerpc/include/asm/socket.h
→
arch/powerpc/include/
uapi/
asm/socket.h
浏览文件 @
fd3bc66f
文件已移动
arch/powerpc/include/asm/sockios.h
→
arch/powerpc/include/
uapi/
asm/sockios.h
浏览文件 @
fd3bc66f
文件已移动
arch/powerpc/include/uapi/asm/spu_info.h
0 → 100644
浏览文件 @
fd3bc66f
/*
* SPU info structures
*
* (C) Copyright 2006 IBM Corp.
*
* Author: Dwayne Grant McConnell <decimal@us.ibm.com>
*
* 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, or (at your option)
* any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#ifndef _UAPI_SPU_INFO_H
#define _UAPI_SPU_INFO_H
#include <linux/types.h>
#ifndef __KERNEL__
struct
mfc_cq_sr
{
__u64
mfc_cq_data0_RW
;
__u64
mfc_cq_data1_RW
;
__u64
mfc_cq_data2_RW
;
__u64
mfc_cq_data3_RW
;
};
#endif
/* __KERNEL__ */
struct
spu_dma_info
{
__u64
dma_info_type
;
__u64
dma_info_mask
;
__u64
dma_info_status
;
__u64
dma_info_stall_and_notify
;
__u64
dma_info_atomic_command_status
;
struct
mfc_cq_sr
dma_info_command_data
[
16
];
};
struct
spu_proxydma_info
{
__u64
proxydma_info_type
;
__u64
proxydma_info_mask
;
__u64
proxydma_info_status
;
struct
mfc_cq_sr
proxydma_info_command_data
[
8
];
};
#endif
/* _UAPI_SPU_INFO_H */
arch/powerpc/include/asm/stat.h
→
arch/powerpc/include/
uapi/
asm/stat.h
浏览文件 @
fd3bc66f
文件已移动
arch/powerpc/include/asm/statfs.h
→
arch/powerpc/include/
uapi/
asm/statfs.h
浏览文件 @
fd3bc66f
文件已移动
arch/powerpc/include/uapi/asm/swab.h
0 → 100644
浏览文件 @
fd3bc66f
/*
* 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_POWERPC_SWAB_H
#define _UAPI_ASM_POWERPC_SWAB_H
#include <linux/types.h>
#include <linux/compiler.h>
#ifdef __GNUC__
#ifndef __powerpc64__
#define __SWAB_64_THRU_32__
#endif
/* __powerpc64__ */
#endif
/* __GNUC__ */
#endif
/* _UAPI_ASM_POWERPC_SWAB_H */
arch/powerpc/include/asm/termbits.h
→
arch/powerpc/include/
uapi/
asm/termbits.h
浏览文件 @
fd3bc66f
文件已移动
arch/powerpc/include/uapi/asm/termios.h
0 → 100644
浏览文件 @
fd3bc66f
/*
* Liberally adapted from alpha/termios.h. In particular, the c_cc[]
* fields have been reordered so that termio & termios share the
* common subset in the same order (for brain dead programs that don't
* know or care about the differences).
*
* 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_POWERPC_TERMIOS_H
#define _UAPI_ASM_POWERPC_TERMIOS_H
#include <asm/ioctls.h>
#include <asm/termbits.h>
struct
sgttyb
{
char
sg_ispeed
;
char
sg_ospeed
;
char
sg_erase
;
char
sg_kill
;
short
sg_flags
;
};
struct
tchars
{
char
t_intrc
;
char
t_quitc
;
char
t_startc
;
char
t_stopc
;
char
t_eofc
;
char
t_brkc
;
};
struct
ltchars
{
char
t_suspc
;
char
t_dsuspc
;
char
t_rprntc
;
char
t_flushc
;
char
t_werasc
;
char
t_lnextc
;
};
struct
winsize
{
unsigned
short
ws_row
;
unsigned
short
ws_col
;
unsigned
short
ws_xpixel
;
unsigned
short
ws_ypixel
;
};
#define NCC 10
struct
termio
{
unsigned
short
c_iflag
;
/* input mode flags */
unsigned
short
c_oflag
;
/* output mode flags */
unsigned
short
c_cflag
;
/* control mode flags */
unsigned
short
c_lflag
;
/* local mode flags */
unsigned
char
c_line
;
/* line discipline */
unsigned
char
c_cc
[
NCC
];
/* control characters */
};
/* c_cc characters */
#define _VINTR 0
#define _VQUIT 1
#define _VERASE 2
#define _VKILL 3
#define _VEOF 4
#define _VMIN 5
#define _VEOL 6
#define _VTIME 7
#define _VEOL2 8
#define _VSWTC 9
#endif
/* _UAPI_ASM_POWERPC_TERMIOS_H */
arch/powerpc/include/uapi/asm/types.h
0 → 100644
浏览文件 @
fd3bc66f
/*
* This file is never included by application software unless
* explicitly requested (e.g., via linux/types.h) in which case the
* application is Linux specific so (user-) name space pollution is
* not a major issue. However, for interoperability, libraries still
* need to be careful to avoid a name clashes.
*
* 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_POWERPC_TYPES_H
#define _UAPI_ASM_POWERPC_TYPES_H
/*
* This is here because we used to use l64 for 64bit powerpc
* and we don't want to impact user mode with our change to ll64
* in the kernel.
*
* However, some user programs are fine with this. They can
* flag __SANE_USERSPACE_TYPES__ to get int-ll64.h here.
*/
#if !defined(__SANE_USERSPACE_TYPES__) && defined(__powerpc64__) && !defined(__KERNEL__)
# include <asm-generic/int-l64.h>
#else
# include <asm-generic/int-ll64.h>
#endif
#ifndef __ASSEMBLY__
typedef
struct
{
__u32
u
[
4
];
}
__attribute__
((
aligned
(
16
)))
__vector128
;
#endif
/* __ASSEMBLY__ */
#endif
/* _UAPI_ASM_POWERPC_TYPES_H */
arch/powerpc/include/asm/ucontext.h
→
arch/powerpc/include/
uapi/
asm/ucontext.h
浏览文件 @
fd3bc66f
文件已移动
arch/powerpc/include/uapi/asm/unistd.h
0 → 100644
浏览文件 @
fd3bc66f
/*
* This file contains the system call numbers.
*
* 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_POWERPC_UNISTD_H_
#define _UAPI_ASM_POWERPC_UNISTD_H_
#define __NR_restart_syscall 0
#define __NR_exit 1
#define __NR_fork 2
#define __NR_read 3
#define __NR_write 4
#define __NR_open 5
#define __NR_close 6
#define __NR_waitpid 7
#define __NR_creat 8
#define __NR_link 9
#define __NR_unlink 10
#define __NR_execve 11
#define __NR_chdir 12
#define __NR_time 13
#define __NR_mknod 14
#define __NR_chmod 15
#define __NR_lchown 16
#define __NR_break 17
#define __NR_oldstat 18
#define __NR_lseek 19
#define __NR_getpid 20
#define __NR_mount 21
#define __NR_umount 22
#define __NR_setuid 23
#define __NR_getuid 24
#define __NR_stime 25
#define __NR_ptrace 26
#define __NR_alarm 27
#define __NR_oldfstat 28
#define __NR_pause 29
#define __NR_utime 30
#define __NR_stty 31
#define __NR_gtty 32
#define __NR_access 33
#define __NR_nice 34
#define __NR_ftime 35
#define __NR_sync 36
#define __NR_kill 37
#define __NR_rename 38
#define __NR_mkdir 39
#define __NR_rmdir 40
#define __NR_dup 41
#define __NR_pipe 42
#define __NR_times 43
#define __NR_prof 44
#define __NR_brk 45
#define __NR_setgid 46
#define __NR_getgid 47
#define __NR_signal 48
#define __NR_geteuid 49
#define __NR_getegid 50
#define __NR_acct 51
#define __NR_umount2 52
#define __NR_lock 53
#define __NR_ioctl 54
#define __NR_fcntl 55
#define __NR_mpx 56
#define __NR_setpgid 57
#define __NR_ulimit 58
#define __NR_oldolduname 59
#define __NR_umask 60
#define __NR_chroot 61
#define __NR_ustat 62
#define __NR_dup2 63
#define __NR_getppid 64
#define __NR_getpgrp 65
#define __NR_setsid 66
#define __NR_sigaction 67
#define __NR_sgetmask 68
#define __NR_ssetmask 69
#define __NR_setreuid 70
#define __NR_setregid 71
#define __NR_sigsuspend 72
#define __NR_sigpending 73
#define __NR_sethostname 74
#define __NR_setrlimit 75
#define __NR_getrlimit 76
#define __NR_getrusage 77
#define __NR_gettimeofday 78
#define __NR_settimeofday 79
#define __NR_getgroups 80
#define __NR_setgroups 81
#define __NR_select 82
#define __NR_symlink 83
#define __NR_oldlstat 84
#define __NR_readlink 85
#define __NR_uselib 86
#define __NR_swapon 87
#define __NR_reboot 88
#define __NR_readdir 89
#define __NR_mmap 90
#define __NR_munmap 91
#define __NR_truncate 92
#define __NR_ftruncate 93
#define __NR_fchmod 94
#define __NR_fchown 95
#define __NR_getpriority 96
#define __NR_setpriority 97
#define __NR_profil 98
#define __NR_statfs 99
#define __NR_fstatfs 100
#define __NR_ioperm 101
#define __NR_socketcall 102
#define __NR_syslog 103
#define __NR_setitimer 104
#define __NR_getitimer 105
#define __NR_stat 106
#define __NR_lstat 107
#define __NR_fstat 108
#define __NR_olduname 109
#define __NR_iopl 110
#define __NR_vhangup 111
#define __NR_idle 112
#define __NR_vm86 113
#define __NR_wait4 114
#define __NR_swapoff 115
#define __NR_sysinfo 116
#define __NR_ipc 117
#define __NR_fsync 118
#define __NR_sigreturn 119
#define __NR_clone 120
#define __NR_setdomainname 121
#define __NR_uname 122
#define __NR_modify_ldt 123
#define __NR_adjtimex 124
#define __NR_mprotect 125
#define __NR_sigprocmask 126
#define __NR_create_module 127
#define __NR_init_module 128
#define __NR_delete_module 129
#define __NR_get_kernel_syms 130
#define __NR_quotactl 131
#define __NR_getpgid 132
#define __NR_fchdir 133
#define __NR_bdflush 134
#define __NR_sysfs 135
#define __NR_personality 136
#define __NR_afs_syscall 137
/* Syscall for Andrew File System */
#define __NR_setfsuid 138
#define __NR_setfsgid 139
#define __NR__llseek 140
#define __NR_getdents 141
#define __NR__newselect 142
#define __NR_flock 143
#define __NR_msync 144
#define __NR_readv 145
#define __NR_writev 146
#define __NR_getsid 147
#define __NR_fdatasync 148
#define __NR__sysctl 149
#define __NR_mlock 150
#define __NR_munlock 151
#define __NR_mlockall 152
#define __NR_munlockall 153
#define __NR_sched_setparam 154
#define __NR_sched_getparam 155
#define __NR_sched_setscheduler 156
#define __NR_sched_getscheduler 157
#define __NR_sched_yield 158
#define __NR_sched_get_priority_max 159
#define __NR_sched_get_priority_min 160
#define __NR_sched_rr_get_interval 161
#define __NR_nanosleep 162
#define __NR_mremap 163
#define __NR_setresuid 164
#define __NR_getresuid 165
#define __NR_query_module 166
#define __NR_poll 167
#define __NR_nfsservctl 168
#define __NR_setresgid 169
#define __NR_getresgid 170
#define __NR_prctl 171
#define __NR_rt_sigreturn 172
#define __NR_rt_sigaction 173
#define __NR_rt_sigprocmask 174
#define __NR_rt_sigpending 175
#define __NR_rt_sigtimedwait 176
#define __NR_rt_sigqueueinfo 177
#define __NR_rt_sigsuspend 178
#define __NR_pread64 179
#define __NR_pwrite64 180
#define __NR_chown 181
#define __NR_getcwd 182
#define __NR_capget 183
#define __NR_capset 184
#define __NR_sigaltstack 185
#define __NR_sendfile 186
#define __NR_getpmsg 187
/* some people actually want streams */
#define __NR_putpmsg 188
/* some people actually want streams */
#define __NR_vfork 189
#define __NR_ugetrlimit 190
/* SuS compliant getrlimit */
#define __NR_readahead 191
#ifndef __powerpc64__
/* these are 32-bit only */
#define __NR_mmap2 192
#define __NR_truncate64 193
#define __NR_ftruncate64 194
#define __NR_stat64 195
#define __NR_lstat64 196
#define __NR_fstat64 197
#endif
#define __NR_pciconfig_read 198
#define __NR_pciconfig_write 199
#define __NR_pciconfig_iobase 200
#define __NR_multiplexer 201
#define __NR_getdents64 202
#define __NR_pivot_root 203
#ifndef __powerpc64__
#define __NR_fcntl64 204
#endif
#define __NR_madvise 205
#define __NR_mincore 206
#define __NR_gettid 207
#define __NR_tkill 208
#define __NR_setxattr 209
#define __NR_lsetxattr 210
#define __NR_fsetxattr 211
#define __NR_getxattr 212
#define __NR_lgetxattr 213
#define __NR_fgetxattr 214
#define __NR_listxattr 215
#define __NR_llistxattr 216
#define __NR_flistxattr 217
#define __NR_removexattr 218
#define __NR_lremovexattr 219
#define __NR_fremovexattr 220
#define __NR_futex 221
#define __NR_sched_setaffinity 222
#define __NR_sched_getaffinity 223
/* 224 currently unused */
#define __NR_tuxcall 225
#ifndef __powerpc64__
#define __NR_sendfile64 226
#endif
#define __NR_io_setup 227
#define __NR_io_destroy 228
#define __NR_io_getevents 229
#define __NR_io_submit 230
#define __NR_io_cancel 231
#define __NR_set_tid_address 232
#define __NR_fadvise64 233
#define __NR_exit_group 234
#define __NR_lookup_dcookie 235
#define __NR_epoll_create 236
#define __NR_epoll_ctl 237
#define __NR_epoll_wait 238
#define __NR_remap_file_pages 239
#define __NR_timer_create 240
#define __NR_timer_settime 241
#define __NR_timer_gettime 242
#define __NR_timer_getoverrun 243
#define __NR_timer_delete 244
#define __NR_clock_settime 245
#define __NR_clock_gettime 246
#define __NR_clock_getres 247
#define __NR_clock_nanosleep 248
#define __NR_swapcontext 249
#define __NR_tgkill 250
#define __NR_utimes 251
#define __NR_statfs64 252
#define __NR_fstatfs64 253
#ifndef __powerpc64__
#define __NR_fadvise64_64 254
#endif
#define __NR_rtas 255
#define __NR_sys_debug_setcontext 256
/* Number 257 is reserved for vserver */
#define __NR_migrate_pages 258
#define __NR_mbind 259
#define __NR_get_mempolicy 260
#define __NR_set_mempolicy 261
#define __NR_mq_open 262
#define __NR_mq_unlink 263
#define __NR_mq_timedsend 264
#define __NR_mq_timedreceive 265
#define __NR_mq_notify 266
#define __NR_mq_getsetattr 267
#define __NR_kexec_load 268
#define __NR_add_key 269
#define __NR_request_key 270
#define __NR_keyctl 271
#define __NR_waitid 272
#define __NR_ioprio_set 273
#define __NR_ioprio_get 274
#define __NR_inotify_init 275
#define __NR_inotify_add_watch 276
#define __NR_inotify_rm_watch 277
#define __NR_spu_run 278
#define __NR_spu_create 279
#define __NR_pselect6 280
#define __NR_ppoll 281
#define __NR_unshare 282
#define __NR_splice 283
#define __NR_tee 284
#define __NR_vmsplice 285
#define __NR_openat 286
#define __NR_mkdirat 287
#define __NR_mknodat 288
#define __NR_fchownat 289
#define __NR_futimesat 290
#ifdef __powerpc64__
#define __NR_newfstatat 291
#else
#define __NR_fstatat64 291
#endif
#define __NR_unlinkat 292
#define __NR_renameat 293
#define __NR_linkat 294
#define __NR_symlinkat 295
#define __NR_readlinkat 296
#define __NR_fchmodat 297
#define __NR_faccessat 298
#define __NR_get_robust_list 299
#define __NR_set_robust_list 300
#define __NR_move_pages 301
#define __NR_getcpu 302
#define __NR_epoll_pwait 303
#define __NR_utimensat 304
#define __NR_signalfd 305
#define __NR_timerfd_create 306
#define __NR_eventfd 307
#define __NR_sync_file_range2 308
#define __NR_fallocate 309
#define __NR_subpage_prot 310
#define __NR_timerfd_settime 311
#define __NR_timerfd_gettime 312
#define __NR_signalfd4 313
#define __NR_eventfd2 314
#define __NR_epoll_create1 315
#define __NR_dup3 316
#define __NR_pipe2 317
#define __NR_inotify_init1 318
#define __NR_perf_event_open 319
#define __NR_preadv 320
#define __NR_pwritev 321
#define __NR_rt_tgsigqueueinfo 322
#define __NR_fanotify_init 323
#define __NR_fanotify_mark 324
#define __NR_prlimit64 325
#define __NR_socket 326
#define __NR_bind 327
#define __NR_connect 328
#define __NR_listen 329
#define __NR_accept 330
#define __NR_getsockname 331
#define __NR_getpeername 332
#define __NR_socketpair 333
#define __NR_send 334
#define __NR_sendto 335
#define __NR_recv 336
#define __NR_recvfrom 337
#define __NR_shutdown 338
#define __NR_setsockopt 339
#define __NR_getsockopt 340
#define __NR_sendmsg 341
#define __NR_recvmsg 342
#define __NR_recvmmsg 343
#define __NR_accept4 344
#define __NR_name_to_handle_at 345
#define __NR_open_by_handle_at 346
#define __NR_clock_adjtime 347
#define __NR_syncfs 348
#define __NR_sendmmsg 349
#define __NR_setns 350
#define __NR_process_vm_readv 351
#define __NR_process_vm_writev 352
#endif
/* _UAPI_ASM_POWERPC_UNISTD_H_ */
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录