linux-user: Handle ERFKILL and EHWPOISON

With definitions for generic, alpha and mips taken from 4.9-rc2.

Signed-off-by: Richard Henderson <rth@twiddle.net>
This commit is contained in:
Richard Henderson 2016-12-05 13:08:12 -08:00
parent 405b491504
commit fe8ed7d579
5 changed files with 21 additions and 0 deletions

View file

@ -235,6 +235,8 @@ struct target_pt_regs {
#define TARGET_ENOTRECOVERABLE 137
#undef TARGET_ERFKILL
#define TARGET_ERFKILL 138
#undef TARGET_EHWPOISON
#define TARGET_EHWPOISON 139
// For sys_osf_getsysinfo
#define TARGET_GSI_UACPROC 8

View file

@ -140,6 +140,9 @@
#define TARGET_EOWNERDEAD 130 /* Owner died */
#define TARGET_ENOTRECOVERABLE 131 /* State not recoverable */
#define TARGET_ERFKILL 132 /* Operation not possible due to RF-kill */
#define TARGET_EHWPOISON 133 /* Memory page has hardware error */
/* QEMU internal, not visible to the guest. This is returned when a
* system call should be restarted, to tell the main loop that it
* should wind the guest PC backwards so it will re-execute the syscall

View file

@ -221,6 +221,11 @@ struct target_pt_regs {
#undef TARGET_ENOTRECOVERABLE
#define TARGET_ENOTRECOVERABLE 166 /* State not recoverable */
#undef TARGET_ERFKILL
#define TARGET_ERFKILL 167
#undef TARGET_EHWPOISON
#define TARGET_EHWPOISON 168
#undef TARGET_EDQUOT
#define TARGET_EDQUOT 1133 /* Quota exceeded */

View file

@ -218,6 +218,11 @@ struct target_pt_regs {
#undef TARGET_ENOTRECOVERABLE
#define TARGET_ENOTRECOVERABLE 166 /* State not recoverable */
#undef TARGET_ERFKILL
#define TARGET_ERFKILL 167
#undef TARGET_EHWPOISON
#define TARGET_EHWPOISON 168
#undef TARGET_EDQUOT
#define TARGET_EDQUOT 1133 /* Quota exceeded */

View file

@ -798,6 +798,12 @@ static uint16_t host_to_target_errno_table[ERRNO_TABLE_SIZE] = {
#ifdef ENOMSG
[ENOMSG] = TARGET_ENOMSG,
#endif
#ifdef ERKFILL
[ERFKILL] = TARGET_ERFKILL,
#endif
#ifdef EHWPOISON
[EHWPOISON] = TARGET_EHWPOISON,
#endif
};
static inline int host_to_target_errno(int err)