mirror of https://gitee.com/openkylin/qemu.git
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:
parent
405b491504
commit
fe8ed7d579
|
@ -235,6 +235,8 @@ struct target_pt_regs {
|
||||||
#define TARGET_ENOTRECOVERABLE 137
|
#define TARGET_ENOTRECOVERABLE 137
|
||||||
#undef TARGET_ERFKILL
|
#undef TARGET_ERFKILL
|
||||||
#define TARGET_ERFKILL 138
|
#define TARGET_ERFKILL 138
|
||||||
|
#undef TARGET_EHWPOISON
|
||||||
|
#define TARGET_EHWPOISON 139
|
||||||
|
|
||||||
// For sys_osf_getsysinfo
|
// For sys_osf_getsysinfo
|
||||||
#define TARGET_GSI_UACPROC 8
|
#define TARGET_GSI_UACPROC 8
|
||||||
|
|
|
@ -140,6 +140,9 @@
|
||||||
#define TARGET_EOWNERDEAD 130 /* Owner died */
|
#define TARGET_EOWNERDEAD 130 /* Owner died */
|
||||||
#define TARGET_ENOTRECOVERABLE 131 /* State not recoverable */
|
#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
|
/* QEMU internal, not visible to the guest. This is returned when a
|
||||||
* system call should be restarted, to tell the main loop that it
|
* 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
|
* should wind the guest PC backwards so it will re-execute the syscall
|
||||||
|
|
|
@ -221,6 +221,11 @@ struct target_pt_regs {
|
||||||
#undef TARGET_ENOTRECOVERABLE
|
#undef TARGET_ENOTRECOVERABLE
|
||||||
#define TARGET_ENOTRECOVERABLE 166 /* State not recoverable */
|
#define TARGET_ENOTRECOVERABLE 166 /* State not recoverable */
|
||||||
|
|
||||||
|
#undef TARGET_ERFKILL
|
||||||
|
#define TARGET_ERFKILL 167
|
||||||
|
#undef TARGET_EHWPOISON
|
||||||
|
#define TARGET_EHWPOISON 168
|
||||||
|
|
||||||
#undef TARGET_EDQUOT
|
#undef TARGET_EDQUOT
|
||||||
#define TARGET_EDQUOT 1133 /* Quota exceeded */
|
#define TARGET_EDQUOT 1133 /* Quota exceeded */
|
||||||
|
|
||||||
|
|
|
@ -218,6 +218,11 @@ struct target_pt_regs {
|
||||||
#undef TARGET_ENOTRECOVERABLE
|
#undef TARGET_ENOTRECOVERABLE
|
||||||
#define TARGET_ENOTRECOVERABLE 166 /* State not recoverable */
|
#define TARGET_ENOTRECOVERABLE 166 /* State not recoverable */
|
||||||
|
|
||||||
|
#undef TARGET_ERFKILL
|
||||||
|
#define TARGET_ERFKILL 167
|
||||||
|
#undef TARGET_EHWPOISON
|
||||||
|
#define TARGET_EHWPOISON 168
|
||||||
|
|
||||||
#undef TARGET_EDQUOT
|
#undef TARGET_EDQUOT
|
||||||
#define TARGET_EDQUOT 1133 /* Quota exceeded */
|
#define TARGET_EDQUOT 1133 /* Quota exceeded */
|
||||||
|
|
||||||
|
|
|
@ -798,6 +798,12 @@ static uint16_t host_to_target_errno_table[ERRNO_TABLE_SIZE] = {
|
||||||
#ifdef ENOMSG
|
#ifdef ENOMSG
|
||||||
[ENOMSG] = TARGET_ENOMSG,
|
[ENOMSG] = TARGET_ENOMSG,
|
||||||
#endif
|
#endif
|
||||||
|
#ifdef ERKFILL
|
||||||
|
[ERFKILL] = TARGET_ERFKILL,
|
||||||
|
#endif
|
||||||
|
#ifdef EHWPOISON
|
||||||
|
[EHWPOISON] = TARGET_EHWPOISON,
|
||||||
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
static inline int host_to_target_errno(int err)
|
static inline int host_to_target_errno(int err)
|
||||||
|
|
Loading…
Reference in New Issue