Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus
Pull MIPS updates from Ralf Baechle: o Add basic support for the Mediatek/Ralink Wireless SoC family. o The Qualcomm Atheros platform is extended by support for the new QCA955X SoC series as well as a bunch of patches that get the code ready for OF support. o Lantiq and BCM47XX platform have a few improvements and bug fixes. o MIPS has sent a few patches that get the kernel ready for the upcoming microMIPS support. o The rest of the series is made up of small bug fixes and cleanups that relate to various parts of the MIPS code. The biggy in there is a whitespace cleanup. After I was sent another set of whitespace cleanup patches I decided it was the time to clean the whitespace "issues" for once and and that touches many files below arch/mips/. Fix up silly conflicts, mostly due to whitespace cleanups. * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: (105 commits) MIPS: Quit exporting kernel internel break codes to uapi/asm/break.h MIPS: remove broken conditional inside vpe loader code MIPS: SMTC: fix implicit declaration of set_vi_handler MIPS: early_printk: drop __init annotations MIPS: Probe for and report hardware virtualization support. MIPS: ath79: add support for the Qualcomm Atheros AP136-010 board MIPS: ath79: add USB controller registration code for the QCA955X SoCs MIPS: ath79: add PCI controller registration code for the QCA955X SoCs MIPS: ath79: add WMAC registration code for the QCA955X SoCs MIPS: ath79: register UART for the QCA955X SoCs MIPS: ath79: add QCA955X specific glue to ath79_device_reset_{set, clear} MIPS: ath79: add GPIO setup code for the QCA955X SoCs MIPS: ath79: add IRQ handling code for the QCA955X SoCs MIPS: ath79: add clock setup code for the QCA955X SoCs MIPS: ath79: add SoC detection code for the QCA955X SoCs MIPS: ath79: add early printk support for the QCA955X SoCs MIPS: ath79: fix WMAC IRQ resource assignment mips: reserve elfcorehdr mips: Make sure kernel memory is in iomem MIPS: ath79: use dynamically allocated USB platform devices ...
This commit is contained in:
@@ -8,6 +8,7 @@ header-y += byteorder.h
|
||||
header-y += cachectl.h
|
||||
header-y += errno.h
|
||||
header-y += fcntl.h
|
||||
header-y += inst.h
|
||||
header-y += ioctl.h
|
||||
header-y += ioctls.h
|
||||
header-y += ipcbuf.h
|
||||
|
@@ -6,8 +6,8 @@
|
||||
* Copyright (C) 1995, 2003 by Ralf Baechle
|
||||
* Copyright (C) 1999 Silicon Graphics, Inc.
|
||||
*/
|
||||
#ifndef __ASM_BREAK_H
|
||||
#define __ASM_BREAK_H
|
||||
#ifndef __UAPI_ASM_BREAK_H
|
||||
#define __UAPI_ASM_BREAK_H
|
||||
|
||||
/*
|
||||
* The following break codes are or were in use for specific purposes in
|
||||
@@ -16,22 +16,14 @@
|
||||
* non-Linux/MIPS object files or make use of them in the future.
|
||||
*/
|
||||
#define BRK_USERBP 0 /* User bp (used by debuggers) */
|
||||
#define BRK_KERNELBP 1 /* Break in the kernel */
|
||||
#define BRK_ABORT 2 /* Sometimes used by abort(3) to SIGIOT */
|
||||
#define BRK_BD_TAKEN 3 /* For bd slot emulation - not implemented */
|
||||
#define BRK_BD_NOTTAKEN 4 /* For bd slot emulation - not implemented */
|
||||
#define BRK_SSTEPBP 5 /* User bp (used by debuggers) */
|
||||
#define BRK_OVERFLOW 6 /* Overflow check */
|
||||
#define BRK_DIVZERO 7 /* Divide by zero check */
|
||||
#define BRK_RANGE 8 /* Range error check */
|
||||
#define BRK_STACKOVERFLOW 9 /* For Ada stackchecking */
|
||||
#define BRK_NORLD 10 /* No rld found - not used by Linux/MIPS */
|
||||
#define _BRK_THREADBP 11 /* For threads, user bp (used by debuggers) */
|
||||
#define BRK_BUG 512 /* Used by BUG() */
|
||||
#define BRK_KDB 513 /* Used in KDB_ENTER() */
|
||||
#define BRK_BUG 12 /* Used by BUG() */
|
||||
#define BRK_MEMU 514 /* Used by FPU emulator */
|
||||
#define BRK_KPROBE_BP 515 /* Kprobe break */
|
||||
#define BRK_KPROBE_SSTEPBP 516 /* Kprobe single step software implementation */
|
||||
#define BRK_MULOVF 1023 /* Multiply overflow */
|
||||
|
||||
#endif /* __ASM_BREAK_H */
|
||||
#endif /* __UAPI_ASM_BREAK_H */
|
||||
|
@@ -5,15 +5,15 @@
|
||||
*
|
||||
* Copyright (C) 1994, 1995, 1996 by Ralf Baechle
|
||||
*/
|
||||
#ifndef _ASM_CACHECTL
|
||||
#define _ASM_CACHECTL
|
||||
#ifndef _ASM_CACHECTL
|
||||
#define _ASM_CACHECTL
|
||||
|
||||
/*
|
||||
* Options for cacheflush system call
|
||||
*/
|
||||
#define ICACHE (1<<0) /* flush instruction cache */
|
||||
#define DCACHE (1<<1) /* writeback and flush data cache */
|
||||
#define BCACHE (ICACHE|DCACHE) /* flush both caches */
|
||||
#define ICACHE (1<<0) /* flush instruction cache */
|
||||
#define DCACHE (1<<1) /* writeback and flush data cache */
|
||||
#define BCACHE (ICACHE|DCACHE) /* flush both caches */
|
||||
|
||||
/*
|
||||
* Caching modes for the cachectl(2) call
|
||||
|
@@ -14,95 +14,95 @@
|
||||
|
||||
#include <asm-generic/errno-base.h>
|
||||
|
||||
#define ENOMSG 35 /* No message of desired type */
|
||||
#define EIDRM 36 /* Identifier removed */
|
||||
#define ECHRNG 37 /* Channel number out of range */
|
||||
#define EL2NSYNC 38 /* Level 2 not synchronized */
|
||||
#define EL3HLT 39 /* Level 3 halted */
|
||||
#define EL3RST 40 /* Level 3 reset */
|
||||
#define ELNRNG 41 /* Link number out of range */
|
||||
#define EUNATCH 42 /* Protocol driver not attached */
|
||||
#define ENOCSI 43 /* No CSI structure available */
|
||||
#define EL2HLT 44 /* Level 2 halted */
|
||||
#define EDEADLK 45 /* Resource deadlock would occur */
|
||||
#define ENOLCK 46 /* No record locks available */
|
||||
#define EBADE 50 /* Invalid exchange */
|
||||
#define EBADR 51 /* Invalid request descriptor */
|
||||
#define EXFULL 52 /* Exchange full */
|
||||
#define ENOANO 53 /* No anode */
|
||||
#define EBADRQC 54 /* Invalid request code */
|
||||
#define EBADSLT 55 /* Invalid slot */
|
||||
#define EDEADLOCK 56 /* File locking deadlock error */
|
||||
#define EBFONT 59 /* Bad font file format */
|
||||
#define ENOSTR 60 /* Device not a stream */
|
||||
#define ENODATA 61 /* No data available */
|
||||
#define ETIME 62 /* Timer expired */
|
||||
#define ENOSR 63 /* Out of streams resources */
|
||||
#define ENONET 64 /* Machine is not on the network */
|
||||
#define ENOPKG 65 /* Package not installed */
|
||||
#define EREMOTE 66 /* Object is remote */
|
||||
#define ENOLINK 67 /* Link has been severed */
|
||||
#define EADV 68 /* Advertise error */
|
||||
#define ESRMNT 69 /* Srmount error */
|
||||
#define ECOMM 70 /* Communication error on send */
|
||||
#define EPROTO 71 /* Protocol error */
|
||||
#define EDOTDOT 73 /* RFS specific error */
|
||||
#define EMULTIHOP 74 /* Multihop attempted */
|
||||
#define EBADMSG 77 /* Not a data message */
|
||||
#define ENAMETOOLONG 78 /* File name too long */
|
||||
#define EOVERFLOW 79 /* Value too large for defined data type */
|
||||
#define ENOTUNIQ 80 /* Name not unique on network */
|
||||
#define EBADFD 81 /* File descriptor in bad state */
|
||||
#define EREMCHG 82 /* Remote address changed */
|
||||
#define ELIBACC 83 /* Can not access a needed shared library */
|
||||
#define ELIBBAD 84 /* Accessing a corrupted shared library */
|
||||
#define ELIBSCN 85 /* .lib section in a.out corrupted */
|
||||
#define ELIBMAX 86 /* Attempting to link in too many shared libraries */
|
||||
#define ELIBEXEC 87 /* Cannot exec a shared library directly */
|
||||
#define EILSEQ 88 /* Illegal byte sequence */
|
||||
#define ENOSYS 89 /* Function not implemented */
|
||||
#define ELOOP 90 /* Too many symbolic links encountered */
|
||||
#define ERESTART 91 /* Interrupted system call should be restarted */
|
||||
#define ESTRPIPE 92 /* Streams pipe error */
|
||||
#define ENOTEMPTY 93 /* Directory not empty */
|
||||
#define EUSERS 94 /* Too many users */
|
||||
#define ENOTSOCK 95 /* Socket operation on non-socket */
|
||||
#define EDESTADDRREQ 96 /* Destination address required */
|
||||
#define EMSGSIZE 97 /* Message too long */
|
||||
#define EPROTOTYPE 98 /* Protocol wrong type for socket */
|
||||
#define ENOPROTOOPT 99 /* Protocol not available */
|
||||
#define EPROTONOSUPPORT 120 /* Protocol not supported */
|
||||
#define ESOCKTNOSUPPORT 121 /* Socket type not supported */
|
||||
#define EOPNOTSUPP 122 /* Operation not supported on transport endpoint */
|
||||
#define EPFNOSUPPORT 123 /* Protocol family not supported */
|
||||
#define EAFNOSUPPORT 124 /* Address family not supported by protocol */
|
||||
#define EADDRINUSE 125 /* Address already in use */
|
||||
#define EADDRNOTAVAIL 126 /* Cannot assign requested address */
|
||||
#define ENETDOWN 127 /* Network is down */
|
||||
#define ENETUNREACH 128 /* Network is unreachable */
|
||||
#define ENETRESET 129 /* Network dropped connection because of reset */
|
||||
#define ECONNABORTED 130 /* Software caused connection abort */
|
||||
#define ECONNRESET 131 /* Connection reset by peer */
|
||||
#define ENOBUFS 132 /* No buffer space available */
|
||||
#define EISCONN 133 /* Transport endpoint is already connected */
|
||||
#define ENOTCONN 134 /* Transport endpoint is not connected */
|
||||
#define EUCLEAN 135 /* Structure needs cleaning */
|
||||
#define ENOTNAM 137 /* Not a XENIX named type file */
|
||||
#define ENAVAIL 138 /* No XENIX semaphores available */
|
||||
#define EISNAM 139 /* Is a named type file */
|
||||
#define EREMOTEIO 140 /* Remote I/O error */
|
||||
#define ENOMSG 35 /* No message of desired type */
|
||||
#define EIDRM 36 /* Identifier removed */
|
||||
#define ECHRNG 37 /* Channel number out of range */
|
||||
#define EL2NSYNC 38 /* Level 2 not synchronized */
|
||||
#define EL3HLT 39 /* Level 3 halted */
|
||||
#define EL3RST 40 /* Level 3 reset */
|
||||
#define ELNRNG 41 /* Link number out of range */
|
||||
#define EUNATCH 42 /* Protocol driver not attached */
|
||||
#define ENOCSI 43 /* No CSI structure available */
|
||||
#define EL2HLT 44 /* Level 2 halted */
|
||||
#define EDEADLK 45 /* Resource deadlock would occur */
|
||||
#define ENOLCK 46 /* No record locks available */
|
||||
#define EBADE 50 /* Invalid exchange */
|
||||
#define EBADR 51 /* Invalid request descriptor */
|
||||
#define EXFULL 52 /* Exchange full */
|
||||
#define ENOANO 53 /* No anode */
|
||||
#define EBADRQC 54 /* Invalid request code */
|
||||
#define EBADSLT 55 /* Invalid slot */
|
||||
#define EDEADLOCK 56 /* File locking deadlock error */
|
||||
#define EBFONT 59 /* Bad font file format */
|
||||
#define ENOSTR 60 /* Device not a stream */
|
||||
#define ENODATA 61 /* No data available */
|
||||
#define ETIME 62 /* Timer expired */
|
||||
#define ENOSR 63 /* Out of streams resources */
|
||||
#define ENONET 64 /* Machine is not on the network */
|
||||
#define ENOPKG 65 /* Package not installed */
|
||||
#define EREMOTE 66 /* Object is remote */
|
||||
#define ENOLINK 67 /* Link has been severed */
|
||||
#define EADV 68 /* Advertise error */
|
||||
#define ESRMNT 69 /* Srmount error */
|
||||
#define ECOMM 70 /* Communication error on send */
|
||||
#define EPROTO 71 /* Protocol error */
|
||||
#define EDOTDOT 73 /* RFS specific error */
|
||||
#define EMULTIHOP 74 /* Multihop attempted */
|
||||
#define EBADMSG 77 /* Not a data message */
|
||||
#define ENAMETOOLONG 78 /* File name too long */
|
||||
#define EOVERFLOW 79 /* Value too large for defined data type */
|
||||
#define ENOTUNIQ 80 /* Name not unique on network */
|
||||
#define EBADFD 81 /* File descriptor in bad state */
|
||||
#define EREMCHG 82 /* Remote address changed */
|
||||
#define ELIBACC 83 /* Can not access a needed shared library */
|
||||
#define ELIBBAD 84 /* Accessing a corrupted shared library */
|
||||
#define ELIBSCN 85 /* .lib section in a.out corrupted */
|
||||
#define ELIBMAX 86 /* Attempting to link in too many shared libraries */
|
||||
#define ELIBEXEC 87 /* Cannot exec a shared library directly */
|
||||
#define EILSEQ 88 /* Illegal byte sequence */
|
||||
#define ENOSYS 89 /* Function not implemented */
|
||||
#define ELOOP 90 /* Too many symbolic links encountered */
|
||||
#define ERESTART 91 /* Interrupted system call should be restarted */
|
||||
#define ESTRPIPE 92 /* Streams pipe error */
|
||||
#define ENOTEMPTY 93 /* Directory not empty */
|
||||
#define EUSERS 94 /* Too many users */
|
||||
#define ENOTSOCK 95 /* Socket operation on non-socket */
|
||||
#define EDESTADDRREQ 96 /* Destination address required */
|
||||
#define EMSGSIZE 97 /* Message too long */
|
||||
#define EPROTOTYPE 98 /* Protocol wrong type for socket */
|
||||
#define ENOPROTOOPT 99 /* Protocol not available */
|
||||
#define EPROTONOSUPPORT 120 /* Protocol not supported */
|
||||
#define ESOCKTNOSUPPORT 121 /* Socket type not supported */
|
||||
#define EOPNOTSUPP 122 /* Operation not supported on transport endpoint */
|
||||
#define EPFNOSUPPORT 123 /* Protocol family not supported */
|
||||
#define EAFNOSUPPORT 124 /* Address family not supported by protocol */
|
||||
#define EADDRINUSE 125 /* Address already in use */
|
||||
#define EADDRNOTAVAIL 126 /* Cannot assign requested address */
|
||||
#define ENETDOWN 127 /* Network is down */
|
||||
#define ENETUNREACH 128 /* Network is unreachable */
|
||||
#define ENETRESET 129 /* Network dropped connection because of reset */
|
||||
#define ECONNABORTED 130 /* Software caused connection abort */
|
||||
#define ECONNRESET 131 /* Connection reset by peer */
|
||||
#define ENOBUFS 132 /* No buffer space available */
|
||||
#define EISCONN 133 /* Transport endpoint is already connected */
|
||||
#define ENOTCONN 134 /* Transport endpoint is not connected */
|
||||
#define EUCLEAN 135 /* Structure needs cleaning */
|
||||
#define ENOTNAM 137 /* Not a XENIX named type file */
|
||||
#define ENAVAIL 138 /* No XENIX semaphores available */
|
||||
#define EISNAM 139 /* Is a named type file */
|
||||
#define EREMOTEIO 140 /* Remote I/O error */
|
||||
#define EINIT 141 /* Reserved */
|
||||
#define EREMDEV 142 /* Error 142 */
|
||||
#define ESHUTDOWN 143 /* Cannot send after transport endpoint shutdown */
|
||||
#define ETOOMANYREFS 144 /* Too many references: cannot splice */
|
||||
#define ETIMEDOUT 145 /* Connection timed out */
|
||||
#define ECONNREFUSED 146 /* Connection refused */
|
||||
#define EHOSTDOWN 147 /* Host is down */
|
||||
#define EHOSTUNREACH 148 /* No route to host */
|
||||
#define EWOULDBLOCK EAGAIN /* Operation would block */
|
||||
#define EALREADY 149 /* Operation already in progress */
|
||||
#define EINPROGRESS 150 /* Operation now in progress */
|
||||
#define ESTALE 151 /* Stale NFS file handle */
|
||||
#define ESHUTDOWN 143 /* Cannot send after transport endpoint shutdown */
|
||||
#define ETOOMANYREFS 144 /* Too many references: cannot splice */
|
||||
#define ETIMEDOUT 145 /* Connection timed out */
|
||||
#define ECONNREFUSED 146 /* Connection refused */
|
||||
#define EHOSTDOWN 147 /* Host is down */
|
||||
#define EHOSTUNREACH 148 /* No route to host */
|
||||
#define EWOULDBLOCK EAGAIN /* Operation would block */
|
||||
#define EALREADY 149 /* Operation already in progress */
|
||||
#define EINPROGRESS 150 /* Operation now in progress */
|
||||
#define ESTALE 151 /* Stale NFS file handle */
|
||||
#define ECANCELED 158 /* AIO operation canceled */
|
||||
|
||||
/*
|
||||
@@ -110,16 +110,16 @@
|
||||
*/
|
||||
#define ENOMEDIUM 159 /* No medium found */
|
||||
#define EMEDIUMTYPE 160 /* Wrong medium type */
|
||||
#define ENOKEY 161 /* Required key not available */
|
||||
#define EKEYEXPIRED 162 /* Key has expired */
|
||||
#define EKEYREVOKED 163 /* Key has been revoked */
|
||||
#define EKEYREJECTED 164 /* Key was rejected by service */
|
||||
#define ENOKEY 161 /* Required key not available */
|
||||
#define EKEYEXPIRED 162 /* Key has expired */
|
||||
#define EKEYREVOKED 163 /* Key has been revoked */
|
||||
#define EKEYREJECTED 164 /* Key was rejected by service */
|
||||
|
||||
/* for robust mutexes */
|
||||
#define EOWNERDEAD 165 /* Owner died */
|
||||
#define ENOTRECOVERABLE 166 /* State not recoverable */
|
||||
#define EOWNERDEAD 165 /* Owner died */
|
||||
#define ENOTRECOVERABLE 166 /* State not recoverable */
|
||||
|
||||
#define ERFKILL 167 /* Operation not possible due to RF-kill */
|
||||
#define ERFKILL 167 /* Operation not possible due to RF-kill */
|
||||
|
||||
#define EHWPOISON 168 /* Memory page has hardware error */
|
||||
|
||||
|
@@ -12,7 +12,7 @@
|
||||
#define O_APPEND 0x0008
|
||||
#define O_DSYNC 0x0010 /* used to be O_SYNC, see below */
|
||||
#define O_NONBLOCK 0x0080
|
||||
#define O_CREAT 0x0100 /* not fcntl */
|
||||
#define O_CREAT 0x0100 /* not fcntl */
|
||||
#define O_TRUNC 0x0200 /* not fcntl */
|
||||
#define O_EXCL 0x0400 /* not fcntl */
|
||||
#define O_NOCTTY 0x0800 /* not fcntl */
|
||||
@@ -50,7 +50,7 @@
|
||||
|
||||
/*
|
||||
* The flavours of struct flock. "struct flock" is the ABI compliant
|
||||
* variant. Finally struct flock64 is the LFS variant of struct flock. As
|
||||
* variant. Finally struct flock64 is the LFS variant of struct flock. As
|
||||
* a historic accident and inconsistence with the ABI definition it doesn't
|
||||
* contain all the same fields as struct flock.
|
||||
*/
|
||||
|
331
arch/mips/include/uapi/asm/inst.h
Normal file
331
arch/mips/include/uapi/asm/inst.h
Normal file
@@ -0,0 +1,331 @@
|
||||
/*
|
||||
* Format of an instruction in memory.
|
||||
*
|
||||
* This file is subject to the terms and conditions of the GNU General Public
|
||||
* License. See the file "COPYING" in the main directory of this archive
|
||||
* for more details.
|
||||
*
|
||||
* Copyright (C) 1996, 2000 by Ralf Baechle
|
||||
* Copyright (C) 2006 by Thiemo Seufer
|
||||
*/
|
||||
#ifndef _UAPI_ASM_INST_H
|
||||
#define _UAPI_ASM_INST_H
|
||||
|
||||
/*
|
||||
* Major opcodes; before MIPS IV cop1x was called cop3.
|
||||
*/
|
||||
enum major_op {
|
||||
spec_op, bcond_op, j_op, jal_op,
|
||||
beq_op, bne_op, blez_op, bgtz_op,
|
||||
addi_op, addiu_op, slti_op, sltiu_op,
|
||||
andi_op, ori_op, xori_op, lui_op,
|
||||
cop0_op, cop1_op, cop2_op, cop1x_op,
|
||||
beql_op, bnel_op, blezl_op, bgtzl_op,
|
||||
daddi_op, daddiu_op, ldl_op, ldr_op,
|
||||
spec2_op, jalx_op, mdmx_op, spec3_op,
|
||||
lb_op, lh_op, lwl_op, lw_op,
|
||||
lbu_op, lhu_op, lwr_op, lwu_op,
|
||||
sb_op, sh_op, swl_op, sw_op,
|
||||
sdl_op, sdr_op, swr_op, cache_op,
|
||||
ll_op, lwc1_op, lwc2_op, pref_op,
|
||||
lld_op, ldc1_op, ldc2_op, ld_op,
|
||||
sc_op, swc1_op, swc2_op, major_3b_op,
|
||||
scd_op, sdc1_op, sdc2_op, sd_op
|
||||
};
|
||||
|
||||
/*
|
||||
* func field of spec opcode.
|
||||
*/
|
||||
enum spec_op {
|
||||
sll_op, movc_op, srl_op, sra_op,
|
||||
sllv_op, pmon_op, srlv_op, srav_op,
|
||||
jr_op, jalr_op, movz_op, movn_op,
|
||||
syscall_op, break_op, spim_op, sync_op,
|
||||
mfhi_op, mthi_op, mflo_op, mtlo_op,
|
||||
dsllv_op, spec2_unused_op, dsrlv_op, dsrav_op,
|
||||
mult_op, multu_op, div_op, divu_op,
|
||||
dmult_op, dmultu_op, ddiv_op, ddivu_op,
|
||||
add_op, addu_op, sub_op, subu_op,
|
||||
and_op, or_op, xor_op, nor_op,
|
||||
spec3_unused_op, spec4_unused_op, slt_op, sltu_op,
|
||||
dadd_op, daddu_op, dsub_op, dsubu_op,
|
||||
tge_op, tgeu_op, tlt_op, tltu_op,
|
||||
teq_op, spec5_unused_op, tne_op, spec6_unused_op,
|
||||
dsll_op, spec7_unused_op, dsrl_op, dsra_op,
|
||||
dsll32_op, spec8_unused_op, dsrl32_op, dsra32_op
|
||||
};
|
||||
|
||||
/*
|
||||
* func field of spec2 opcode.
|
||||
*/
|
||||
enum spec2_op {
|
||||
madd_op, maddu_op, mul_op, spec2_3_unused_op,
|
||||
msub_op, msubu_op, /* more unused ops */
|
||||
clz_op = 0x20, clo_op,
|
||||
dclz_op = 0x24, dclo_op,
|
||||
sdbpp_op = 0x3f
|
||||
};
|
||||
|
||||
/*
|
||||
* func field of spec3 opcode.
|
||||
*/
|
||||
enum spec3_op {
|
||||
ext_op, dextm_op, dextu_op, dext_op,
|
||||
ins_op, dinsm_op, dinsu_op, dins_op,
|
||||
lx_op = 0x0a,
|
||||
bshfl_op = 0x20,
|
||||
dbshfl_op = 0x24,
|
||||
rdhwr_op = 0x3b
|
||||
};
|
||||
|
||||
/*
|
||||
* rt field of bcond opcodes.
|
||||
*/
|
||||
enum rt_op {
|
||||
bltz_op, bgez_op, bltzl_op, bgezl_op,
|
||||
spimi_op, unused_rt_op_0x05, unused_rt_op_0x06, unused_rt_op_0x07,
|
||||
tgei_op, tgeiu_op, tlti_op, tltiu_op,
|
||||
teqi_op, unused_0x0d_rt_op, tnei_op, unused_0x0f_rt_op,
|
||||
bltzal_op, bgezal_op, bltzall_op, bgezall_op,
|
||||
rt_op_0x14, rt_op_0x15, rt_op_0x16, rt_op_0x17,
|
||||
rt_op_0x18, rt_op_0x19, rt_op_0x1a, rt_op_0x1b,
|
||||
bposge32_op, rt_op_0x1d, rt_op_0x1e, rt_op_0x1f
|
||||
};
|
||||
|
||||
/*
|
||||
* rs field of cop opcodes.
|
||||
*/
|
||||
enum cop_op {
|
||||
mfc_op = 0x00, dmfc_op = 0x01,
|
||||
cfc_op = 0x02, mtc_op = 0x04,
|
||||
dmtc_op = 0x05, ctc_op = 0x06,
|
||||
bc_op = 0x08, cop_op = 0x10,
|
||||
copm_op = 0x18
|
||||
};
|
||||
|
||||
/*
|
||||
* rt field of cop.bc_op opcodes
|
||||
*/
|
||||
enum bcop_op {
|
||||
bcf_op, bct_op, bcfl_op, bctl_op
|
||||
};
|
||||
|
||||
/*
|
||||
* func field of cop0 coi opcodes.
|
||||
*/
|
||||
enum cop0_coi_func {
|
||||
tlbr_op = 0x01, tlbwi_op = 0x02,
|
||||
tlbwr_op = 0x06, tlbp_op = 0x08,
|
||||
rfe_op = 0x10, eret_op = 0x18
|
||||
};
|
||||
|
||||
/*
|
||||
* func field of cop0 com opcodes.
|
||||
*/
|
||||
enum cop0_com_func {
|
||||
tlbr1_op = 0x01, tlbw_op = 0x02,
|
||||
tlbp1_op = 0x08, dctr_op = 0x09,
|
||||
dctw_op = 0x0a
|
||||
};
|
||||
|
||||
/*
|
||||
* fmt field of cop1 opcodes.
|
||||
*/
|
||||
enum cop1_fmt {
|
||||
s_fmt, d_fmt, e_fmt, q_fmt,
|
||||
w_fmt, l_fmt
|
||||
};
|
||||
|
||||
/*
|
||||
* func field of cop1 instructions using d, s or w format.
|
||||
*/
|
||||
enum cop1_sdw_func {
|
||||
fadd_op = 0x00, fsub_op = 0x01,
|
||||
fmul_op = 0x02, fdiv_op = 0x03,
|
||||
fsqrt_op = 0x04, fabs_op = 0x05,
|
||||
fmov_op = 0x06, fneg_op = 0x07,
|
||||
froundl_op = 0x08, ftruncl_op = 0x09,
|
||||
fceill_op = 0x0a, ffloorl_op = 0x0b,
|
||||
fround_op = 0x0c, ftrunc_op = 0x0d,
|
||||
fceil_op = 0x0e, ffloor_op = 0x0f,
|
||||
fmovc_op = 0x11, fmovz_op = 0x12,
|
||||
fmovn_op = 0x13, frecip_op = 0x15,
|
||||
frsqrt_op = 0x16, fcvts_op = 0x20,
|
||||
fcvtd_op = 0x21, fcvte_op = 0x22,
|
||||
fcvtw_op = 0x24, fcvtl_op = 0x25,
|
||||
fcmp_op = 0x30
|
||||
};
|
||||
|
||||
/*
|
||||
* func field of cop1x opcodes (MIPS IV).
|
||||
*/
|
||||
enum cop1x_func {
|
||||
lwxc1_op = 0x00, ldxc1_op = 0x01,
|
||||
pfetch_op = 0x07, swxc1_op = 0x08,
|
||||
sdxc1_op = 0x09, madd_s_op = 0x20,
|
||||
madd_d_op = 0x21, madd_e_op = 0x22,
|
||||
msub_s_op = 0x28, msub_d_op = 0x29,
|
||||
msub_e_op = 0x2a, nmadd_s_op = 0x30,
|
||||
nmadd_d_op = 0x31, nmadd_e_op = 0x32,
|
||||
nmsub_s_op = 0x38, nmsub_d_op = 0x39,
|
||||
nmsub_e_op = 0x3a
|
||||
};
|
||||
|
||||
/*
|
||||
* func field for mad opcodes (MIPS IV).
|
||||
*/
|
||||
enum mad_func {
|
||||
madd_fp_op = 0x08, msub_fp_op = 0x0a,
|
||||
nmadd_fp_op = 0x0c, nmsub_fp_op = 0x0e
|
||||
};
|
||||
|
||||
/*
|
||||
* func field for special3 lx opcodes (Cavium Octeon).
|
||||
*/
|
||||
enum lx_func {
|
||||
lwx_op = 0x00,
|
||||
lhx_op = 0x04,
|
||||
lbux_op = 0x06,
|
||||
ldx_op = 0x08,
|
||||
lwux_op = 0x10,
|
||||
lhux_op = 0x14,
|
||||
lbx_op = 0x16,
|
||||
};
|
||||
|
||||
/*
|
||||
* Damn ... bitfields depend from byteorder :-(
|
||||
*/
|
||||
#ifdef __MIPSEB__
|
||||
#define BITFIELD_FIELD(field, more) \
|
||||
field; \
|
||||
more
|
||||
|
||||
#elif defined(__MIPSEL__)
|
||||
|
||||
#define BITFIELD_FIELD(field, more) \
|
||||
more \
|
||||
field;
|
||||
|
||||
#else /* !defined (__MIPSEB__) && !defined (__MIPSEL__) */
|
||||
#error "MIPS but neither __MIPSEL__ nor __MIPSEB__?"
|
||||
#endif
|
||||
|
||||
struct j_format {
|
||||
BITFIELD_FIELD(unsigned int opcode : 6, /* Jump format */
|
||||
BITFIELD_FIELD(unsigned int target : 26,
|
||||
;))
|
||||
};
|
||||
|
||||
struct i_format { /* signed immediate format */
|
||||
BITFIELD_FIELD(unsigned int opcode : 6,
|
||||
BITFIELD_FIELD(unsigned int rs : 5,
|
||||
BITFIELD_FIELD(unsigned int rt : 5,
|
||||
BITFIELD_FIELD(signed int simmediate : 16,
|
||||
;))))
|
||||
};
|
||||
|
||||
struct u_format { /* unsigned immediate format */
|
||||
BITFIELD_FIELD(unsigned int opcode : 6,
|
||||
BITFIELD_FIELD(unsigned int rs : 5,
|
||||
BITFIELD_FIELD(unsigned int rt : 5,
|
||||
BITFIELD_FIELD(unsigned int uimmediate : 16,
|
||||
;))))
|
||||
};
|
||||
|
||||
struct c_format { /* Cache (>= R6000) format */
|
||||
BITFIELD_FIELD(unsigned int opcode : 6,
|
||||
BITFIELD_FIELD(unsigned int rs : 5,
|
||||
BITFIELD_FIELD(unsigned int c_op : 3,
|
||||
BITFIELD_FIELD(unsigned int cache : 2,
|
||||
BITFIELD_FIELD(unsigned int simmediate : 16,
|
||||
;)))))
|
||||
};
|
||||
|
||||
struct r_format { /* Register format */
|
||||
BITFIELD_FIELD(unsigned int opcode : 6,
|
||||
BITFIELD_FIELD(unsigned int rs : 5,
|
||||
BITFIELD_FIELD(unsigned int rt : 5,
|
||||
BITFIELD_FIELD(unsigned int rd : 5,
|
||||
BITFIELD_FIELD(unsigned int re : 5,
|
||||
BITFIELD_FIELD(unsigned int func : 6,
|
||||
;))))))
|
||||
};
|
||||
|
||||
struct p_format { /* Performance counter format (R10000) */
|
||||
BITFIELD_FIELD(unsigned int opcode : 6,
|
||||
BITFIELD_FIELD(unsigned int rs : 5,
|
||||
BITFIELD_FIELD(unsigned int rt : 5,
|
||||
BITFIELD_FIELD(unsigned int rd : 5,
|
||||
BITFIELD_FIELD(unsigned int re : 5,
|
||||
BITFIELD_FIELD(unsigned int func : 6,
|
||||
;))))))
|
||||
};
|
||||
|
||||
struct f_format { /* FPU register format */
|
||||
BITFIELD_FIELD(unsigned int opcode : 6,
|
||||
BITFIELD_FIELD(unsigned int : 1,
|
||||
BITFIELD_FIELD(unsigned int fmt : 4,
|
||||
BITFIELD_FIELD(unsigned int rt : 5,
|
||||
BITFIELD_FIELD(unsigned int rd : 5,
|
||||
BITFIELD_FIELD(unsigned int re : 5,
|
||||
BITFIELD_FIELD(unsigned int func : 6,
|
||||
;)))))))
|
||||
};
|
||||
|
||||
struct ma_format { /* FPU multiply and add format (MIPS IV) */
|
||||
BITFIELD_FIELD(unsigned int opcode : 6,
|
||||
BITFIELD_FIELD(unsigned int fr : 5,
|
||||
BITFIELD_FIELD(unsigned int ft : 5,
|
||||
BITFIELD_FIELD(unsigned int fs : 5,
|
||||
BITFIELD_FIELD(unsigned int fd : 5,
|
||||
BITFIELD_FIELD(unsigned int func : 4,
|
||||
BITFIELD_FIELD(unsigned int fmt : 2,
|
||||
;)))))))
|
||||
};
|
||||
|
||||
struct b_format { /* BREAK and SYSCALL */
|
||||
BITFIELD_FIELD(unsigned int opcode : 6,
|
||||
BITFIELD_FIELD(unsigned int code : 20,
|
||||
BITFIELD_FIELD(unsigned int func : 6,
|
||||
;)))
|
||||
};
|
||||
|
||||
struct ps_format { /* MIPS-3D / paired single format */
|
||||
BITFIELD_FIELD(unsigned int opcode : 6,
|
||||
BITFIELD_FIELD(unsigned int rs : 5,
|
||||
BITFIELD_FIELD(unsigned int ft : 5,
|
||||
BITFIELD_FIELD(unsigned int fs : 5,
|
||||
BITFIELD_FIELD(unsigned int fd : 5,
|
||||
BITFIELD_FIELD(unsigned int func : 6,
|
||||
;))))))
|
||||
};
|
||||
|
||||
struct v_format { /* MDMX vector format */
|
||||
BITFIELD_FIELD(unsigned int opcode : 6,
|
||||
BITFIELD_FIELD(unsigned int sel : 4,
|
||||
BITFIELD_FIELD(unsigned int fmt : 1,
|
||||
BITFIELD_FIELD(unsigned int vt : 5,
|
||||
BITFIELD_FIELD(unsigned int vs : 5,
|
||||
BITFIELD_FIELD(unsigned int vd : 5,
|
||||
BITFIELD_FIELD(unsigned int func : 6,
|
||||
;)))))))
|
||||
};
|
||||
|
||||
union mips_instruction {
|
||||
unsigned int word;
|
||||
unsigned short halfword[2];
|
||||
unsigned char byte[4];
|
||||
struct j_format j_format;
|
||||
struct i_format i_format;
|
||||
struct u_format u_format;
|
||||
struct c_format c_format;
|
||||
struct r_format r_format;
|
||||
struct p_format p_format;
|
||||
struct f_format f_format;
|
||||
struct ma_format ma_format;
|
||||
struct b_format b_format;
|
||||
struct ps_format ps_format;
|
||||
struct v_format v_format;
|
||||
};
|
||||
|
||||
#endif /* _UAPI_ASM_INST_H */
|
@@ -41,7 +41,7 @@
|
||||
#define TIOCPKT_START 0x08 /* start output */
|
||||
#define TIOCPKT_NOSTOP 0x10 /* no more ^S, ^Q */
|
||||
#define TIOCPKT_DOSTOP 0x20 /* now do ^S ^Q */
|
||||
#define TIOCPKT_IOCTL 0x40 /* state change of pty driver */
|
||||
#define TIOCPKT_IOCTL 0x40 /* state change of pty driver */
|
||||
#define TIOCSWINSZ _IOW('t', 103, struct winsize) /* set window size */
|
||||
#define TIOCGWINSZ _IOR('t', 104, struct winsize) /* get window size */
|
||||
#define TIOCNOTTY 0x5471 /* void tty association */
|
||||
@@ -63,9 +63,9 @@
|
||||
#define FIONREAD 0x467f
|
||||
#define TIOCINQ FIONREAD
|
||||
|
||||
#define TIOCGETP 0x7408
|
||||
#define TIOCSETP 0x7409
|
||||
#define TIOCSETN 0x740a /* TIOCSETP wo flush */
|
||||
#define TIOCGETP 0x7408
|
||||
#define TIOCSETP 0x7409
|
||||
#define TIOCSETN 0x740a /* TIOCSETP wo flush */
|
||||
|
||||
/* #define TIOCSETA _IOW('t', 20, struct termios) set termios struct */
|
||||
/* #define TIOCSETAW _IOW('t', 21, struct termios) drain output, set */
|
||||
@@ -74,9 +74,9 @@
|
||||
/* #define TIOCSETD _IOW('t', 27, int) set line discipline */
|
||||
/* 127-124 compat */
|
||||
|
||||
#define TIOCSBRK 0x5427 /* BSD compatibility */
|
||||
#define TIOCCBRK 0x5428 /* BSD compatibility */
|
||||
#define TIOCGSID 0x7416 /* Return the session ID of FD */
|
||||
#define TIOCSBRK 0x5427 /* BSD compatibility */
|
||||
#define TIOCCBRK 0x5428 /* BSD compatibility */
|
||||
#define TIOCGSID 0x7416 /* Return the session ID of FD */
|
||||
#define TCGETS2 _IOR('T', 0x2A, struct termios2)
|
||||
#define TCSETS2 _IOW('T', 0x2B, struct termios2)
|
||||
#define TCSETSW2 _IOW('T', 0x2C, struct termios2)
|
||||
@@ -104,10 +104,10 @@
|
||||
#define TIOCGLCKTRMIOS 0x548b
|
||||
#define TIOCSLCKTRMIOS 0x548c
|
||||
#define TIOCSERGSTRUCT 0x548d /* For debugging only */
|
||||
#define TIOCSERGETLSR 0x548e /* Get line status register */
|
||||
#define TIOCSERGETMULTI 0x548f /* Get multiport config */
|
||||
#define TIOCSERGETLSR 0x548e /* Get line status register */
|
||||
#define TIOCSERGETMULTI 0x548f /* Get multiport config */
|
||||
#define TIOCSERSETMULTI 0x5490 /* Set multiport config */
|
||||
#define TIOCMIWAIT 0x5491 /* wait for a change on serial input line(s) */
|
||||
#define TIOCGICOUNT 0x5492 /* read serial port inline interrupt counts */
|
||||
#define TIOCMIWAIT 0x5491 /* wait for a change on serial input line(s) */
|
||||
#define TIOCGICOUNT 0x5492 /* read serial port inline interrupt counts */
|
||||
|
||||
#endif /* __ASM_IOCTLS_H */
|
||||
|
@@ -64,7 +64,7 @@
|
||||
|
||||
#define MADV_NORMAL 0 /* no further special treatment */
|
||||
#define MADV_RANDOM 1 /* expect random page references */
|
||||
#define MADV_SEQUENTIAL 2 /* expect sequential page references */
|
||||
#define MADV_SEQUENTIAL 2 /* expect sequential page references */
|
||||
#define MADV_WILLNEED 3 /* will need these pages */
|
||||
#define MADV_DONTNEED 4 /* don't need these pages */
|
||||
|
||||
@@ -73,14 +73,14 @@
|
||||
#define MADV_DONTFORK 10 /* don't inherit across fork */
|
||||
#define MADV_DOFORK 11 /* do inherit across fork */
|
||||
|
||||
#define MADV_MERGEABLE 12 /* KSM may merge identical pages */
|
||||
#define MADV_MERGEABLE 12 /* KSM may merge identical pages */
|
||||
#define MADV_UNMERGEABLE 13 /* KSM may not merge identical pages */
|
||||
#define MADV_HWPOISON 100 /* poison a page for testing */
|
||||
#define MADV_HWPOISON 100 /* poison a page for testing */
|
||||
|
||||
#define MADV_HUGEPAGE 14 /* Worth backing with hugepages */
|
||||
#define MADV_NOHUGEPAGE 15 /* Not worth backing with hugepages */
|
||||
#define MADV_NOHUGEPAGE 15 /* Not worth backing with hugepages */
|
||||
|
||||
#define MADV_DONTDUMP 16 /* Explicity exclude from the core dump,
|
||||
#define MADV_DONTDUMP 16 /* Explicity exclude from the core dump,
|
||||
overrides the coredump filter bits */
|
||||
#define MADV_DODUMP 17 /* Clear the MADV_NODUMP flag */
|
||||
|
||||
|
@@ -49,8 +49,8 @@ struct pt_regs {
|
||||
unsigned long cp0_tcstatus;
|
||||
#endif /* CONFIG_MIPS_MT_SMTC */
|
||||
#ifdef CONFIG_CPU_CAVIUM_OCTEON
|
||||
unsigned long long mpl[3]; /* MTM{0,1,2} */
|
||||
unsigned long long mtp[3]; /* MTP{0,1,2} */
|
||||
unsigned long long mpl[3]; /* MTM{0,1,2} */
|
||||
unsigned long long mtp[3]; /* MTP{0,1,2} */
|
||||
#endif
|
||||
} __attribute__ ((aligned (8)));
|
||||
|
||||
@@ -67,14 +67,14 @@ struct pt_regs {
|
||||
#define PTRACE_GET_THREAD_AREA 25
|
||||
#define PTRACE_SET_THREAD_AREA 26
|
||||
|
||||
/* Calls to trace a 64bit program from a 32bit program. */
|
||||
/* Calls to trace a 64bit program from a 32bit program. */
|
||||
#define PTRACE_PEEKTEXT_3264 0xc0
|
||||
#define PTRACE_PEEKDATA_3264 0xc1
|
||||
#define PTRACE_POKETEXT_3264 0xc2
|
||||
#define PTRACE_POKEDATA_3264 0xc3
|
||||
#define PTRACE_GET_THREAD_AREA_3264 0xc4
|
||||
|
||||
/* Read and write watchpoint registers. */
|
||||
/* Read and write watchpoint registers. */
|
||||
enum pt_watch_style {
|
||||
pt_watch_style_mips32,
|
||||
pt_watch_style_mips64
|
||||
|
@@ -12,8 +12,8 @@
|
||||
|
||||
struct semid64_ds {
|
||||
struct ipc64_perm sem_perm; /* permissions .. see ipc.h */
|
||||
__kernel_time_t sem_otime; /* last semop time */
|
||||
__kernel_time_t sem_ctime; /* last change time */
|
||||
__kernel_time_t sem_otime; /* last semop time */
|
||||
__kernel_time_t sem_ctime; /* last change time */
|
||||
unsigned long sem_nsems; /* no. of semaphores in array */
|
||||
unsigned long __unused1;
|
||||
unsigned long __unused2;
|
||||
|
@@ -11,7 +11,7 @@
|
||||
|
||||
|
||||
#define __ARCH_SIGEV_PREAMBLE_SIZE (sizeof(long) + 2*sizeof(int))
|
||||
#undef __ARCH_SI_TRAPNO /* exception code needs to fill this ... */
|
||||
#undef __ARCH_SI_TRAPNO /* exception code needs to fill this ... */
|
||||
|
||||
#define HAVE_ARCH_SIGINFO_T
|
||||
|
||||
@@ -55,7 +55,7 @@ typedef struct siginfo {
|
||||
int _overrun; /* overrun count */
|
||||
char _pad[sizeof( __ARCH_SI_UID_T) - sizeof(int)];
|
||||
sigval_t _sigval; /* same as below */
|
||||
int _sys_private; /* not to be passed to user */
|
||||
int _sys_private; /* not to be passed to user */
|
||||
} _timer;
|
||||
|
||||
/* POSIX.1b signals */
|
||||
@@ -91,9 +91,9 @@ typedef struct siginfo {
|
||||
short _addr_lsb;
|
||||
} _sigfault;
|
||||
|
||||
/* SIGPOLL, SIGXFSZ (To do ...) */
|
||||
/* SIGPOLL, SIGXFSZ (To do ...) */
|
||||
struct {
|
||||
__ARCH_SI_BAND_T _band; /* POLL_IN, POLL_OUT, POLL_MSG */
|
||||
__ARCH_SI_BAND_T _band; /* POLL_IN, POLL_OUT, POLL_MSG */
|
||||
int _fd;
|
||||
} _sigpoll;
|
||||
} _sifields;
|
||||
|
@@ -24,28 +24,28 @@ typedef unsigned long old_sigset_t; /* at least 32 bits */
|
||||
#define SIGHUP 1 /* Hangup (POSIX). */
|
||||
#define SIGINT 2 /* Interrupt (ANSI). */
|
||||
#define SIGQUIT 3 /* Quit (POSIX). */
|
||||
#define SIGILL 4 /* Illegal instruction (ANSI). */
|
||||
#define SIGTRAP 5 /* Trace trap (POSIX). */
|
||||
#define SIGIOT 6 /* IOT trap (4.2 BSD). */
|
||||
#define SIGABRT SIGIOT /* Abort (ANSI). */
|
||||
#define SIGILL 4 /* Illegal instruction (ANSI). */
|
||||
#define SIGTRAP 5 /* Trace trap (POSIX). */
|
||||
#define SIGIOT 6 /* IOT trap (4.2 BSD). */
|
||||
#define SIGABRT SIGIOT /* Abort (ANSI). */
|
||||
#define SIGEMT 7
|
||||
#define SIGFPE 8 /* Floating-point exception (ANSI). */
|
||||
#define SIGKILL 9 /* Kill, unblockable (POSIX). */
|
||||
#define SIGBUS 10 /* BUS error (4.2 BSD). */
|
||||
#define SIGBUS 10 /* BUS error (4.2 BSD). */
|
||||
#define SIGSEGV 11 /* Segmentation violation (ANSI). */
|
||||
#define SIGSYS 12
|
||||
#define SIGPIPE 13 /* Broken pipe (POSIX). */
|
||||
#define SIGALRM 14 /* Alarm clock (POSIX). */
|
||||
#define SIGTERM 15 /* Termination (ANSI). */
|
||||
#define SIGPIPE 13 /* Broken pipe (POSIX). */
|
||||
#define SIGALRM 14 /* Alarm clock (POSIX). */
|
||||
#define SIGTERM 15 /* Termination (ANSI). */
|
||||
#define SIGUSR1 16 /* User-defined signal 1 (POSIX). */
|
||||
#define SIGUSR2 17 /* User-defined signal 2 (POSIX). */
|
||||
#define SIGCHLD 18 /* Child status has changed (POSIX). */
|
||||
#define SIGCLD SIGCHLD /* Same as SIGCHLD (System V). */
|
||||
#define SIGCLD SIGCHLD /* Same as SIGCHLD (System V). */
|
||||
#define SIGPWR 19 /* Power failure restart (System V). */
|
||||
#define SIGWINCH 20 /* Window size change (4.3 BSD, Sun). */
|
||||
#define SIGURG 21 /* Urgent condition on socket (4.2 BSD). */
|
||||
#define SIGIO 22 /* I/O now possible (4.2 BSD). */
|
||||
#define SIGPOLL SIGIO /* Pollable event occurred (System V). */
|
||||
#define SIGIO 22 /* I/O now possible (4.2 BSD). */
|
||||
#define SIGPOLL SIGIO /* Pollable event occurred (System V). */
|
||||
#define SIGSTOP 23 /* Stop, unblockable (POSIX). */
|
||||
#define SIGTSTP 24 /* Keyboard stop (POSIX). */
|
||||
#define SIGCONT 25 /* Continue (POSIX). */
|
||||
@@ -54,7 +54,7 @@ typedef unsigned long old_sigset_t; /* at least 32 bits */
|
||||
#define SIGVTALRM 28 /* Virtual alarm clock (4.2 BSD). */
|
||||
#define SIGPROF 29 /* Profiling alarm clock (4.2 BSD). */
|
||||
#define SIGXCPU 30 /* CPU limit exceeded (4.2 BSD). */
|
||||
#define SIGXFSZ 31 /* File size limit exceeded (4.2 BSD). */
|
||||
#define SIGXFSZ 31 /* File size limit exceeded (4.2 BSD). */
|
||||
|
||||
/* These should not be considered constants from userland. */
|
||||
#define SIGRTMIN 32
|
||||
|
@@ -24,21 +24,21 @@
|
||||
SIGPIPE when they die. */
|
||||
#define SO_DONTROUTE 0x0010 /* Don't do local routing. */
|
||||
#define SO_BROADCAST 0x0020 /* Allow transmission of
|
||||
broadcast messages. */
|
||||
broadcast messages. */
|
||||
#define SO_LINGER 0x0080 /* Block on close of a reliable
|
||||
socket to transmit pending data. */
|
||||
#define SO_OOBINLINE 0x0100 /* Receive out-of-band data in-band. */
|
||||
#define SO_REUSEPORT 0x0200 /* Allow local address and port reuse. */
|
||||
|
||||
#define SO_TYPE 0x1008 /* Compatible name for SO_STYLE. */
|
||||
#define SO_STYLE SO_TYPE /* Synonym */
|
||||
#define SO_STYLE SO_TYPE /* Synonym */
|
||||
#define SO_ERROR 0x1007 /* get error status and clear */
|
||||
#define SO_SNDBUF 0x1001 /* Send buffer size. */
|
||||
#define SO_RCVBUF 0x1002 /* Receive buffer. */
|
||||
#define SO_SNDLOWAT 0x1003 /* send low-water mark */
|
||||
#define SO_RCVLOWAT 0x1004 /* receive low-water mark */
|
||||
#define SO_SNDTIMEO 0x1005 /* send timeout */
|
||||
#define SO_RCVTIMEO 0x1006 /* receive timeout */
|
||||
#define SO_RCVTIMEO 0x1006 /* receive timeout */
|
||||
#define SO_ACCEPTCONN 0x1009
|
||||
#define SO_PROTOCOL 0x1028 /* protocol type */
|
||||
#define SO_DOMAIN 0x1029 /* domain/socket family */
|
||||
@@ -59,11 +59,11 @@
|
||||
#define SO_BINDTODEVICE 25
|
||||
|
||||
/* Socket filtering */
|
||||
#define SO_ATTACH_FILTER 26
|
||||
#define SO_DETACH_FILTER 27
|
||||
#define SO_ATTACH_FILTER 26
|
||||
#define SO_DETACH_FILTER 27
|
||||
#define SO_GET_FILTER SO_ATTACH_FILTER
|
||||
|
||||
#define SO_PEERNAME 28
|
||||
#define SO_PEERNAME 28
|
||||
#define SO_TIMESTAMP 29
|
||||
#define SCM_TIMESTAMP SO_TIMESTAMP
|
||||
|
||||
@@ -79,7 +79,7 @@
|
||||
#define SO_TIMESTAMPING 37
|
||||
#define SCM_TIMESTAMPING SO_TIMESTAMPING
|
||||
|
||||
#define SO_RXQ_OVFL 40
|
||||
#define SO_RXQ_OVFL 40
|
||||
|
||||
#define SO_WIFI_STATUS 41
|
||||
#define SCM_WIFI_STATUS SO_WIFI_STATUS
|
||||
|
@@ -14,7 +14,7 @@
|
||||
|
||||
/* Socket-level I/O control calls. */
|
||||
#define FIOGETOWN _IOR('f', 123, int)
|
||||
#define FIOSETOWN _IOW('f', 124, int)
|
||||
#define FIOSETOWN _IOW('f', 124, int)
|
||||
|
||||
#define SIOCATMARK _IOR('s', 7, int)
|
||||
#define SIOCSPGRP _IOW('s', 8, pid_t)
|
||||
|
@@ -23,7 +23,7 @@ struct stat {
|
||||
__u32 st_nlink;
|
||||
uid_t st_uid;
|
||||
gid_t st_gid;
|
||||
unsigned st_rdev;
|
||||
unsigned st_rdev;
|
||||
long st_pad2[2];
|
||||
off_t st_size;
|
||||
long st_pad3;
|
||||
|
@@ -15,7 +15,7 @@
|
||||
|
||||
#include <linux/types.h>
|
||||
|
||||
typedef __kernel_fsid_t fsid_t;
|
||||
typedef __kernel_fsid_t fsid_t;
|
||||
|
||||
#endif
|
||||
|
||||
@@ -31,7 +31,7 @@ struct statfs {
|
||||
long f_bavail;
|
||||
|
||||
/* Linux specials */
|
||||
__kernel_fsid_t f_fsid;
|
||||
__kernel_fsid_t f_fsid;
|
||||
long f_namelen;
|
||||
long f_flags;
|
||||
long f_spare[5];
|
||||
@@ -73,7 +73,7 @@ struct statfs64 { /* Same as struct statfs */
|
||||
long f_bavail;
|
||||
|
||||
/* Linux specials */
|
||||
__kernel_fsid_t f_fsid;
|
||||
__kernel_fsid_t f_fsid;
|
||||
long f_namelen;
|
||||
long f_flags;
|
||||
long f_spare[5];
|
||||
|
@@ -16,10 +16,10 @@
|
||||
* sysmips(2) is deprecated - though some existing software uses it.
|
||||
* We only support the following commands.
|
||||
*/
|
||||
#define SETNAME 1 /* set hostname */
|
||||
#define SETNAME 1 /* set hostname */
|
||||
#define FLUSH_CACHE 3 /* writeback and invalidate caches */
|
||||
#define MIPS_FIXADE 7 /* control address error fixing */
|
||||
#define MIPS_RDNVRAM 10 /* read NVRAM */
|
||||
#define MIPS_ATOMIC_SET 2001 /* atomically set variable */
|
||||
#define MIPS_FIXADE 7 /* control address error fixing */
|
||||
#define MIPS_RDNVRAM 10 /* read NVRAM */
|
||||
#define MIPS_ATOMIC_SET 2001 /* atomically set variable */
|
||||
|
||||
#endif /* _ASM_SYSMIPS_H */
|
||||
|
@@ -53,7 +53,7 @@ struct ktermios {
|
||||
};
|
||||
|
||||
/* c_cc characters */
|
||||
#define VINTR 0 /* Interrupt character [ISIG]. */
|
||||
#define VINTR 0 /* Interrupt character [ISIG]. */
|
||||
#define VQUIT 1 /* Quit character [ISIG]. */
|
||||
#define VERASE 2 /* Erase character [ICANON]. */
|
||||
#define VKILL 3 /* Kill-line character [ICANON]. */
|
||||
@@ -72,7 +72,7 @@ struct ktermios {
|
||||
#define VDSUSP 11 /* Delayed suspend character [ISIG]. */
|
||||
#endif
|
||||
#define VREPRINT 12 /* Reprint-line character [ICANON]. */
|
||||
#define VDISCARD 13 /* Discard character [IEXTEN]. */
|
||||
#define VDISCARD 13 /* Discard character [IEXTEN]. */
|
||||
#define VWERASE 14 /* Word-erase character [ICANON]. */
|
||||
#define VLNEXT 15 /* Literal-next character [IEXTEN]. */
|
||||
#define VEOF 16 /* End-of-file character [ICANON]. */
|
||||
@@ -92,7 +92,7 @@ struct ktermios {
|
||||
#define IXON 0002000 /* Enable start/stop output control. */
|
||||
#define IXANY 0004000 /* Any character will restart after stop. */
|
||||
#define IXOFF 0010000 /* Enable start/stop input control. */
|
||||
#define IMAXBEL 0020000 /* Ring bell when input queue is full. */
|
||||
#define IMAXBEL 0020000 /* Ring bell when input queue is full. */
|
||||
#define IUTF8 0040000 /* Input is UTF-8 */
|
||||
|
||||
/* c_oflag bits */
|
||||
@@ -105,123 +105,123 @@ struct ktermios {
|
||||
#define OFILL 0000100
|
||||
#define OFDEL 0000200
|
||||
#define NLDLY 0000400
|
||||
#define NL0 0000000
|
||||
#define NL1 0000400
|
||||
#define NL0 0000000
|
||||
#define NL1 0000400
|
||||
#define CRDLY 0003000
|
||||
#define CR0 0000000
|
||||
#define CR1 0001000
|
||||
#define CR2 0002000
|
||||
#define CR3 0003000
|
||||
#define CR0 0000000
|
||||
#define CR1 0001000
|
||||
#define CR2 0002000
|
||||
#define CR3 0003000
|
||||
#define TABDLY 0014000
|
||||
#define TAB0 0000000
|
||||
#define TAB1 0004000
|
||||
#define TAB2 0010000
|
||||
#define TAB3 0014000
|
||||
#define XTABS 0014000
|
||||
#define TAB0 0000000
|
||||
#define TAB1 0004000
|
||||
#define TAB2 0010000
|
||||
#define TAB3 0014000
|
||||
#define XTABS 0014000
|
||||
#define BSDLY 0020000
|
||||
#define BS0 0000000
|
||||
#define BS1 0020000
|
||||
#define BS0 0000000
|
||||
#define BS1 0020000
|
||||
#define VTDLY 0040000
|
||||
#define VT0 0000000
|
||||
#define VT1 0040000
|
||||
#define VT0 0000000
|
||||
#define VT1 0040000
|
||||
#define FFDLY 0100000
|
||||
#define FF0 0000000
|
||||
#define FF1 0100000
|
||||
#define FF0 0000000
|
||||
#define FF1 0100000
|
||||
/*
|
||||
#define PAGEOUT ???
|
||||
#define WRAP ???
|
||||
#define WRAP ???
|
||||
*/
|
||||
|
||||
/* c_cflag bit meaning */
|
||||
#define CBAUD 0010017
|
||||
#define B0 0000000 /* hang up */
|
||||
#define B50 0000001
|
||||
#define B75 0000002
|
||||
#define B110 0000003
|
||||
#define B134 0000004
|
||||
#define B150 0000005
|
||||
#define B200 0000006
|
||||
#define B300 0000007
|
||||
#define B600 0000010
|
||||
#define B1200 0000011
|
||||
#define B1800 0000012
|
||||
#define B2400 0000013
|
||||
#define B4800 0000014
|
||||
#define B9600 0000015
|
||||
#define B19200 0000016
|
||||
#define B38400 0000017
|
||||
#define B0 0000000 /* hang up */
|
||||
#define B50 0000001
|
||||
#define B75 0000002
|
||||
#define B110 0000003
|
||||
#define B134 0000004
|
||||
#define B150 0000005
|
||||
#define B200 0000006
|
||||
#define B300 0000007
|
||||
#define B600 0000010
|
||||
#define B1200 0000011
|
||||
#define B1800 0000012
|
||||
#define B2400 0000013
|
||||
#define B4800 0000014
|
||||
#define B9600 0000015
|
||||
#define B19200 0000016
|
||||
#define B38400 0000017
|
||||
#define EXTA B19200
|
||||
#define EXTB B38400
|
||||
#define CSIZE 0000060 /* Number of bits per byte (mask). */
|
||||
#define CS5 0000000 /* 5 bits per byte. */
|
||||
#define CS6 0000020 /* 6 bits per byte. */
|
||||
#define CS7 0000040 /* 7 bits per byte. */
|
||||
#define CS8 0000060 /* 8 bits per byte. */
|
||||
#define CS5 0000000 /* 5 bits per byte. */
|
||||
#define CS6 0000020 /* 6 bits per byte. */
|
||||
#define CS7 0000040 /* 7 bits per byte. */
|
||||
#define CS8 0000060 /* 8 bits per byte. */
|
||||
#define CSTOPB 0000100 /* Two stop bits instead of one. */
|
||||
#define CREAD 0000200 /* Enable receiver. */
|
||||
#define PARENB 0000400 /* Parity enable. */
|
||||
#define PARODD 0001000 /* Odd parity instead of even. */
|
||||
#define PARODD 0001000 /* Odd parity instead of even. */
|
||||
#define HUPCL 0002000 /* Hang up on last close. */
|
||||
#define CLOCAL 0004000 /* Ignore modem status lines. */
|
||||
#define CBAUDEX 0010000
|
||||
#define BOTHER 0010000
|
||||
#define B57600 0010001
|
||||
#define B115200 0010002
|
||||
#define B230400 0010003
|
||||
#define B460800 0010004
|
||||
#define B500000 0010005
|
||||
#define B576000 0010006
|
||||
#define B921600 0010007
|
||||
#define B1000000 0010010
|
||||
#define B1152000 0010011
|
||||
#define B1500000 0010012
|
||||
#define B2000000 0010013
|
||||
#define B2500000 0010014
|
||||
#define B3000000 0010015
|
||||
#define B3500000 0010016
|
||||
#define B4000000 0010017
|
||||
#define BOTHER 0010000
|
||||
#define B57600 0010001
|
||||
#define B115200 0010002
|
||||
#define B230400 0010003
|
||||
#define B460800 0010004
|
||||
#define B500000 0010005
|
||||
#define B576000 0010006
|
||||
#define B921600 0010007
|
||||
#define B1000000 0010010
|
||||
#define B1152000 0010011
|
||||
#define B1500000 0010012
|
||||
#define B2000000 0010013
|
||||
#define B2500000 0010014
|
||||
#define B3000000 0010015
|
||||
#define B3500000 0010016
|
||||
#define B4000000 0010017
|
||||
#define CIBAUD 002003600000 /* input baud rate */
|
||||
#define CMSPAR 010000000000 /* mark or space (stick) parity */
|
||||
#define CMSPAR 010000000000 /* mark or space (stick) parity */
|
||||
#define CRTSCTS 020000000000 /* flow control */
|
||||
|
||||
#define IBSHIFT 16 /* Shift from CBAUD to CIBAUD */
|
||||
#define IBSHIFT 16 /* Shift from CBAUD to CIBAUD */
|
||||
|
||||
/* c_lflag bits */
|
||||
#define ISIG 0000001 /* Enable signals. */
|
||||
#define ICANON 0000002 /* Do erase and kill processing. */
|
||||
#define XCASE 0000004
|
||||
#define ECHO 0000010 /* Enable echo. */
|
||||
#define ECHO 0000010 /* Enable echo. */
|
||||
#define ECHOE 0000020 /* Visual erase for ERASE. */
|
||||
#define ECHOK 0000040 /* Echo NL after KILL. */
|
||||
#define ECHONL 0000100 /* Echo NL even if ECHO is off. */
|
||||
#define ECHOK 0000040 /* Echo NL after KILL. */
|
||||
#define ECHONL 0000100 /* Echo NL even if ECHO is off. */
|
||||
#define NOFLSH 0000200 /* Disable flush after interrupt. */
|
||||
#define IEXTEN 0000400 /* Enable DISCARD and LNEXT. */
|
||||
#define ECHOCTL 0001000 /* Echo control characters as ^X. */
|
||||
#define ECHOPRT 0002000 /* Hardcopy visual erase. */
|
||||
#define ECHOCTL 0001000 /* Echo control characters as ^X. */
|
||||
#define ECHOPRT 0002000 /* Hardcopy visual erase. */
|
||||
#define ECHOKE 0004000 /* Visual erase for KILL. */
|
||||
#define FLUSHO 0020000
|
||||
#define PENDIN 0040000 /* Retype pending input (state). */
|
||||
#define TOSTOP 0100000 /* Send SIGTTOU for background output. */
|
||||
#define ITOSTOP TOSTOP
|
||||
#define EXTPROC 0200000 /* External processing on pty */
|
||||
#define TOSTOP 0100000 /* Send SIGTTOU for background output. */
|
||||
#define ITOSTOP TOSTOP
|
||||
#define EXTPROC 0200000 /* External processing on pty */
|
||||
|
||||
/* ioctl (fd, TIOCSERGETLSR, &result) where result may be as below */
|
||||
#define TIOCSER_TEMT 0x01 /* Transmitter physically empty */
|
||||
#define TIOCSER_TEMT 0x01 /* Transmitter physically empty */
|
||||
|
||||
/* tcflow() and TCXONC use these */
|
||||
#define TCOOFF 0 /* Suspend output. */
|
||||
#define TCOON 1 /* Restart suspended output. */
|
||||
#define TCIOFF 2 /* Send a STOP character. */
|
||||
#define TCION 3 /* Send a START character. */
|
||||
#define TCOOFF 0 /* Suspend output. */
|
||||
#define TCOON 1 /* Restart suspended output. */
|
||||
#define TCIOFF 2 /* Send a STOP character. */
|
||||
#define TCION 3 /* Send a START character. */
|
||||
|
||||
/* tcflush() and TCFLSH use these */
|
||||
#define TCIFLUSH 0 /* Discard data received but not yet read. */
|
||||
#define TCOFLUSH 1 /* Discard data written but not yet sent. */
|
||||
#define TCIOFLUSH 2 /* Discard all pending data. */
|
||||
#define TCIFLUSH 0 /* Discard data received but not yet read. */
|
||||
#define TCOFLUSH 1 /* Discard data written but not yet sent. */
|
||||
#define TCIOFLUSH 2 /* Discard all pending data. */
|
||||
|
||||
/* tcsetattr uses these */
|
||||
#define TCSANOW TCSETS /* Change immediately. */
|
||||
#define TCSADRAIN TCSETSW /* Change when pending output is written. */
|
||||
#define TCSAFLUSH TCSETSF /* Flush pending input before changing. */
|
||||
#define TCSANOW TCSETS /* Change immediately. */
|
||||
#define TCSADRAIN TCSETSW /* Change when pending output is written. */
|
||||
#define TCSAFLUSH TCSETSF /* Flush pending input before changing. */
|
||||
|
||||
#endif /* _ASM_TERMBITS_H */
|
||||
|
@@ -31,12 +31,12 @@ struct tchars {
|
||||
};
|
||||
|
||||
struct ltchars {
|
||||
char t_suspc; /* stop process signal */
|
||||
char t_dsuspc; /* delayed stop process signal */
|
||||
char t_rprntc; /* reprint line */
|
||||
char t_flushc; /* flush output (toggles) */
|
||||
char t_werasc; /* word erase */
|
||||
char t_lnextc; /* literal next character */
|
||||
char t_suspc; /* stop process signal */
|
||||
char t_dsuspc; /* delayed stop process signal */
|
||||
char t_rprntc; /* reprint line */
|
||||
char t_flushc; /* flush output (toggles) */
|
||||
char t_werasc; /* word erase */
|
||||
char t_lnextc; /* literal next character */
|
||||
};
|
||||
|
||||
/* TIOCGSIZE, TIOCSSIZE not defined yet. Only needed for SunOS source
|
||||
|
@@ -20,16 +20,16 @@
|
||||
* Linux o32 style syscalls are in the range from 4000 to 4999.
|
||||
*/
|
||||
#define __NR_Linux 4000
|
||||
#define __NR_syscall (__NR_Linux + 0)
|
||||
#define __NR_exit (__NR_Linux + 1)
|
||||
#define __NR_fork (__NR_Linux + 2)
|
||||
#define __NR_read (__NR_Linux + 3)
|
||||
#define __NR_write (__NR_Linux + 4)
|
||||
#define __NR_open (__NR_Linux + 5)
|
||||
#define __NR_close (__NR_Linux + 6)
|
||||
#define __NR_waitpid (__NR_Linux + 7)
|
||||
#define __NR_creat (__NR_Linux + 8)
|
||||
#define __NR_link (__NR_Linux + 9)
|
||||
#define __NR_syscall (__NR_Linux + 0)
|
||||
#define __NR_exit (__NR_Linux + 1)
|
||||
#define __NR_fork (__NR_Linux + 2)
|
||||
#define __NR_read (__NR_Linux + 3)
|
||||
#define __NR_write (__NR_Linux + 4)
|
||||
#define __NR_open (__NR_Linux + 5)
|
||||
#define __NR_close (__NR_Linux + 6)
|
||||
#define __NR_waitpid (__NR_Linux + 7)
|
||||
#define __NR_creat (__NR_Linux + 8)
|
||||
#define __NR_link (__NR_Linux + 9)
|
||||
#define __NR_unlink (__NR_Linux + 10)
|
||||
#define __NR_execve (__NR_Linux + 11)
|
||||
#define __NR_chdir (__NR_Linux + 12)
|
||||
@@ -386,16 +386,16 @@
|
||||
* Linux 64-bit syscalls are in the range from 5000 to 5999.
|
||||
*/
|
||||
#define __NR_Linux 5000
|
||||
#define __NR_read (__NR_Linux + 0)
|
||||
#define __NR_write (__NR_Linux + 1)
|
||||
#define __NR_open (__NR_Linux + 2)
|
||||
#define __NR_close (__NR_Linux + 3)
|
||||
#define __NR_stat (__NR_Linux + 4)
|
||||
#define __NR_fstat (__NR_Linux + 5)
|
||||
#define __NR_lstat (__NR_Linux + 6)
|
||||
#define __NR_poll (__NR_Linux + 7)
|
||||
#define __NR_lseek (__NR_Linux + 8)
|
||||
#define __NR_mmap (__NR_Linux + 9)
|
||||
#define __NR_read (__NR_Linux + 0)
|
||||
#define __NR_write (__NR_Linux + 1)
|
||||
#define __NR_open (__NR_Linux + 2)
|
||||
#define __NR_close (__NR_Linux + 3)
|
||||
#define __NR_stat (__NR_Linux + 4)
|
||||
#define __NR_fstat (__NR_Linux + 5)
|
||||
#define __NR_lstat (__NR_Linux + 6)
|
||||
#define __NR_poll (__NR_Linux + 7)
|
||||
#define __NR_lseek (__NR_Linux + 8)
|
||||
#define __NR_mmap (__NR_Linux + 9)
|
||||
#define __NR_mprotect (__NR_Linux + 10)
|
||||
#define __NR_munmap (__NR_Linux + 11)
|
||||
#define __NR_brk (__NR_Linux + 12)
|
||||
@@ -711,16 +711,16 @@
|
||||
* Linux N32 syscalls are in the range from 6000 to 6999.
|
||||
*/
|
||||
#define __NR_Linux 6000
|
||||
#define __NR_read (__NR_Linux + 0)
|
||||
#define __NR_write (__NR_Linux + 1)
|
||||
#define __NR_open (__NR_Linux + 2)
|
||||
#define __NR_close (__NR_Linux + 3)
|
||||
#define __NR_stat (__NR_Linux + 4)
|
||||
#define __NR_fstat (__NR_Linux + 5)
|
||||
#define __NR_lstat (__NR_Linux + 6)
|
||||
#define __NR_poll (__NR_Linux + 7)
|
||||
#define __NR_lseek (__NR_Linux + 8)
|
||||
#define __NR_mmap (__NR_Linux + 9)
|
||||
#define __NR_read (__NR_Linux + 0)
|
||||
#define __NR_write (__NR_Linux + 1)
|
||||
#define __NR_open (__NR_Linux + 2)
|
||||
#define __NR_close (__NR_Linux + 3)
|
||||
#define __NR_stat (__NR_Linux + 4)
|
||||
#define __NR_fstat (__NR_Linux + 5)
|
||||
#define __NR_lstat (__NR_Linux + 6)
|
||||
#define __NR_poll (__NR_Linux + 7)
|
||||
#define __NR_lseek (__NR_Linux + 8)
|
||||
#define __NR_mmap (__NR_Linux + 9)
|
||||
#define __NR_mprotect (__NR_Linux + 10)
|
||||
#define __NR_munmap (__NR_Linux + 11)
|
||||
#define __NR_brk (__NR_Linux + 12)
|
||||
|
Reference in New Issue
Block a user