mirror of
https://github.com/torvalds/linux.git
synced 2024-12-25 20:32:22 +00:00
69ebb83e13
Make __get_user_pages return -EHWPOISON for HWPOISON page only if FOLL_HWPOISON is specified. With this patch, the interested callers can distinguish HWPOISON pages from general FAULT pages, while other callers will still get -EFAULT for all these pages, so the user space interface need not to be changed. This feature is needed by KVM, where UCR MCE should be relayed to guest for HWPOISON page, while instruction emulation and MMIO will be tried for general FAULT page. The idea comes from Andrew Morton. Signed-off-by: Huang Ying <ying.huang@intel.com> Cc: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com> Signed-off-by: Avi Kivity <avi@redhat.com>
128 lines
5.2 KiB
C
128 lines
5.2 KiB
C
#ifndef _ALPHA_ERRNO_H
|
|
#define _ALPHA_ERRNO_H
|
|
|
|
#include <asm-generic/errno-base.h>
|
|
|
|
#undef EAGAIN /* 11 in errno-base.h */
|
|
|
|
#define EDEADLK 11 /* Resource deadlock would occur */
|
|
|
|
#define EAGAIN 35 /* Try again */
|
|
#define EWOULDBLOCK EAGAIN /* Operation would block */
|
|
#define EINPROGRESS 36 /* Operation now in progress */
|
|
#define EALREADY 37 /* Operation already in progress */
|
|
#define ENOTSOCK 38 /* Socket operation on non-socket */
|
|
#define EDESTADDRREQ 39 /* Destination address required */
|
|
#define EMSGSIZE 40 /* Message too long */
|
|
#define EPROTOTYPE 41 /* Protocol wrong type for socket */
|
|
#define ENOPROTOOPT 42 /* Protocol not available */
|
|
#define EPROTONOSUPPORT 43 /* Protocol not supported */
|
|
#define ESOCKTNOSUPPORT 44 /* Socket type not supported */
|
|
#define EOPNOTSUPP 45 /* Operation not supported on transport endpoint */
|
|
#define EPFNOSUPPORT 46 /* Protocol family not supported */
|
|
#define EAFNOSUPPORT 47 /* Address family not supported by protocol */
|
|
#define EADDRINUSE 48 /* Address already in use */
|
|
#define EADDRNOTAVAIL 49 /* Cannot assign requested address */
|
|
#define ENETDOWN 50 /* Network is down */
|
|
#define ENETUNREACH 51 /* Network is unreachable */
|
|
#define ENETRESET 52 /* Network dropped connection because of reset */
|
|
#define ECONNABORTED 53 /* Software caused connection abort */
|
|
#define ECONNRESET 54 /* Connection reset by peer */
|
|
#define ENOBUFS 55 /* No buffer space available */
|
|
#define EISCONN 56 /* Transport endpoint is already connected */
|
|
#define ENOTCONN 57 /* Transport endpoint is not connected */
|
|
#define ESHUTDOWN 58 /* Cannot send after transport endpoint shutdown */
|
|
#define ETOOMANYREFS 59 /* Too many references: cannot splice */
|
|
#define ETIMEDOUT 60 /* Connection timed out */
|
|
#define ECONNREFUSED 61 /* Connection refused */
|
|
#define ELOOP 62 /* Too many symbolic links encountered */
|
|
#define ENAMETOOLONG 63 /* File name too long */
|
|
#define EHOSTDOWN 64 /* Host is down */
|
|
#define EHOSTUNREACH 65 /* No route to host */
|
|
#define ENOTEMPTY 66 /* Directory not empty */
|
|
|
|
#define EUSERS 68 /* Too many users */
|
|
#define EDQUOT 69 /* Quota exceeded */
|
|
#define ESTALE 70 /* Stale NFS file handle */
|
|
#define EREMOTE 71 /* Object is remote */
|
|
|
|
#define ENOLCK 77 /* No record locks available */
|
|
#define ENOSYS 78 /* Function not implemented */
|
|
|
|
#define ENOMSG 80 /* No message of desired type */
|
|
#define EIDRM 81 /* Identifier removed */
|
|
#define ENOSR 82 /* Out of streams resources */
|
|
#define ETIME 83 /* Timer expired */
|
|
#define EBADMSG 84 /* Not a data message */
|
|
#define EPROTO 85 /* Protocol error */
|
|
#define ENODATA 86 /* No data available */
|
|
#define ENOSTR 87 /* Device not a stream */
|
|
|
|
#define ENOPKG 92 /* Package not installed */
|
|
|
|
#define EILSEQ 116 /* Illegal byte sequence */
|
|
|
|
/* The following are just random noise.. */
|
|
#define ECHRNG 88 /* Channel number out of range */
|
|
#define EL2NSYNC 89 /* Level 2 not synchronized */
|
|
#define EL3HLT 90 /* Level 3 halted */
|
|
#define EL3RST 91 /* Level 3 reset */
|
|
|
|
#define ELNRNG 93 /* Link number out of range */
|
|
#define EUNATCH 94 /* Protocol driver not attached */
|
|
#define ENOCSI 95 /* No CSI structure available */
|
|
#define EL2HLT 96 /* Level 2 halted */
|
|
#define EBADE 97 /* Invalid exchange */
|
|
#define EBADR 98 /* Invalid request descriptor */
|
|
#define EXFULL 99 /* Exchange full */
|
|
#define ENOANO 100 /* No anode */
|
|
#define EBADRQC 101 /* Invalid request code */
|
|
#define EBADSLT 102 /* Invalid slot */
|
|
|
|
#define EDEADLOCK EDEADLK
|
|
|
|
#define EBFONT 104 /* Bad font file format */
|
|
#define ENONET 105 /* Machine is not on the network */
|
|
#define ENOLINK 106 /* Link has been severed */
|
|
#define EADV 107 /* Advertise error */
|
|
#define ESRMNT 108 /* Srmount error */
|
|
#define ECOMM 109 /* Communication error on send */
|
|
#define EMULTIHOP 110 /* Multihop attempted */
|
|
#define EDOTDOT 111 /* RFS specific error */
|
|
#define EOVERFLOW 112 /* Value too large for defined data type */
|
|
#define ENOTUNIQ 113 /* Name not unique on network */
|
|
#define EBADFD 114 /* File descriptor in bad state */
|
|
#define EREMCHG 115 /* Remote address changed */
|
|
|
|
#define EUCLEAN 117 /* Structure needs cleaning */
|
|
#define ENOTNAM 118 /* Not a XENIX named type file */
|
|
#define ENAVAIL 119 /* No XENIX semaphores available */
|
|
#define EISNAM 120 /* Is a named type file */
|
|
#define EREMOTEIO 121 /* Remote I/O error */
|
|
|
|
#define ELIBACC 122 /* Can not access a needed shared library */
|
|
#define ELIBBAD 123 /* Accessing a corrupted shared library */
|
|
#define ELIBSCN 124 /* .lib section in a.out corrupted */
|
|
#define ELIBMAX 125 /* Attempting to link in too many shared libraries */
|
|
#define ELIBEXEC 126 /* Cannot exec a shared library directly */
|
|
#define ERESTART 127 /* Interrupted system call should be restarted */
|
|
#define ESTRPIPE 128 /* Streams pipe error */
|
|
|
|
#define ENOMEDIUM 129 /* No medium found */
|
|
#define EMEDIUMTYPE 130 /* Wrong medium type */
|
|
#define ECANCELED 131 /* Operation Cancelled */
|
|
#define ENOKEY 132 /* Required key not available */
|
|
#define EKEYEXPIRED 133 /* Key has expired */
|
|
#define EKEYREVOKED 134 /* Key has been revoked */
|
|
#define EKEYREJECTED 135 /* Key was rejected by service */
|
|
|
|
/* for robust mutexes */
|
|
#define EOWNERDEAD 136 /* Owner died */
|
|
#define ENOTRECOVERABLE 137 /* State not recoverable */
|
|
|
|
#define ERFKILL 138 /* Operation not possible due to RF-kill */
|
|
|
|
#define EHWPOISON 139 /* Memory page has hardware error */
|
|
|
|
#endif
|