* [PATCH 00/12] linux-user: Extract target errno related functions to 'target_errno.h'
@ 2021-07-04 18:37 Philippe Mathieu-Daudé
2021-07-04 18:37 ` [PATCH 01/12] linux-user/alpha: Handle TARGET_EWOULDBLOCK as TARGET_EAGAIN Philippe Mathieu-Daudé
` (11 more replies)
0 siblings, 12 replies; 28+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-07-04 18:37 UTC (permalink / raw)
To: qemu-devel
Cc: Aleksandar Rikalo, Helge Deller, Richard Henderson,
Laurent Vivier, Philippe Mathieu-Daudé,
Taylor Simpson, Aurelien Jarno
Hi,
This series extract code related to target errno conversion
(to/from host) into a separate header.
While reviewing I noticed EWOULDBLOCK is defined as EAGAIN
on alpha/hppa/mips targets, these are the first 3 patches.
Then each target errno definitions are extracted to a new
header: 'target_errno_defs.h' (patches 4-9).
Finally we extract the generic target errno functions to the
new 'target_errno.c' file in patches 10-12
Up to here it seems a good refactor.
From here I'm wondering if we could generate some target specific
library (linux-user-target.fa?) that could be reused by semihosting
code (at least for the Xtensa target). Just an idea...
Philippe Mathieu-Daudé (12):
linux-user/alpha: Handle TARGET_EWOULDBLOCK as TARGET_EAGAIN
linux-user/hppa: Handle TARGET_EWOULDBLOCK as TARGET_EAGAIN
linux-user/mips: Handle TARGET_EWOULDBLOCK as TARGET_EAGAIN
linux-user/sparc: Rename target_errno.h -> target_errno_defs.h
linux-user: Extract target errno to 'target_errno_defs.h'
linux-user/alpha: Remove hardcoded tabs (code style)
linux-user/alpha: Move errno definitions to 'target_errno_defs.h'
linux-user/hppa: Move errno definitions to 'target_errno_defs.h'
linux-user/mips: Move errno definitions to 'target_errno_defs.h'
linux-user/syscall: Refactor target_to_host_errno_table_init()
linux-user/syscall: Remove hardcoded tabs (code style)
linux-user: Extract target errno related functions to 'target_errno.h'
linux-user/aarch64/target_errno_defs.h | 6 +
linux-user/alpha/target_errno_defs.h | 198 ++++++++++++++++
linux-user/alpha/target_syscall.h | 194 ----------------
linux-user/arm/target_errno_defs.h | 6 +
linux-user/cris/target_errno_defs.h | 6 +
linux-user/errno_defs.h | 3 +
linux-user/hexagon/target_errno_defs.h | 6 +
linux-user/hppa/target_errno_defs.h | 214 +++++++++++++++++
linux-user/hppa/target_syscall.h | 208 -----------------
linux-user/i386/target_errno_defs.h | 6 +
linux-user/m68k/target_errno_defs.h | 6 +
linux-user/microblaze/target_errno_defs.h | 6 +
linux-user/mips/target_errno_defs.h | 215 ++++++++++++++++++
linux-user/mips/target_syscall.h | 209 -----------------
linux-user/mips64/target_errno_defs.h | 215 ++++++++++++++++++
linux-user/mips64/target_syscall.h | 209 -----------------
linux-user/nios2/target_errno_defs.h | 6 +
linux-user/openrisc/target_errno_defs.h | 6 +
linux-user/ppc/target_errno_defs.h | 6 +
linux-user/riscv/target_errno_defs.h | 6 +
linux-user/s390x/target_errno_defs.h | 6 +
linux-user/sh4/target_errno_defs.h | 6 +
.../{target_errno.h => target_errno_defs.h} | 0
linux-user/sparc/target_syscall.h | 2 -
linux-user/target_errno.h | 32 +++
linux-user/x86_64/target_errno_defs.h | 6 +
linux-user/xtensa/target_errno_defs.h | 6 +
linux-user/syscall.c | 156 +------------
linux-user/target_errno.c | 183 +++++++++++++++
linux-user/meson.build | 1 +
30 files changed, 1153 insertions(+), 976 deletions(-)
create mode 100644 linux-user/aarch64/target_errno_defs.h
create mode 100644 linux-user/alpha/target_errno_defs.h
create mode 100644 linux-user/arm/target_errno_defs.h
create mode 100644 linux-user/cris/target_errno_defs.h
create mode 100644 linux-user/hexagon/target_errno_defs.h
create mode 100644 linux-user/hppa/target_errno_defs.h
create mode 100644 linux-user/i386/target_errno_defs.h
create mode 100644 linux-user/m68k/target_errno_defs.h
create mode 100644 linux-user/microblaze/target_errno_defs.h
create mode 100644 linux-user/mips/target_errno_defs.h
create mode 100644 linux-user/mips64/target_errno_defs.h
create mode 100644 linux-user/nios2/target_errno_defs.h
create mode 100644 linux-user/openrisc/target_errno_defs.h
create mode 100644 linux-user/ppc/target_errno_defs.h
create mode 100644 linux-user/riscv/target_errno_defs.h
create mode 100644 linux-user/s390x/target_errno_defs.h
create mode 100644 linux-user/sh4/target_errno_defs.h
rename linux-user/sparc/{target_errno.h => target_errno_defs.h} (100%)
create mode 100644 linux-user/target_errno.h
create mode 100644 linux-user/x86_64/target_errno_defs.h
create mode 100644 linux-user/xtensa/target_errno_defs.h
create mode 100644 linux-user/target_errno.c
--
2.31.1
^ permalink raw reply [flat|nested] 28+ messages in thread
* [PATCH 01/12] linux-user/alpha: Handle TARGET_EWOULDBLOCK as TARGET_EAGAIN
2021-07-04 18:37 [PATCH 00/12] linux-user: Extract target errno related functions to 'target_errno.h' Philippe Mathieu-Daudé
@ 2021-07-04 18:37 ` Philippe Mathieu-Daudé
2021-07-07 1:44 ` Richard Henderson
2021-07-07 19:25 ` Laurent Vivier
2021-07-04 18:37 ` [PATCH 02/12] linux-user/hppa: " Philippe Mathieu-Daudé
` (10 subsequent siblings)
11 siblings, 2 replies; 28+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-07-04 18:37 UTC (permalink / raw)
To: qemu-devel
Cc: Aleksandar Rikalo, Helge Deller, Richard Henderson,
Laurent Vivier, Philippe Mathieu-Daudé,
Taylor Simpson, Aurelien Jarno
Linux kernel defines EWOULDBLOCK as EAGAIN (since before v2.6.12-rc2).
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
---
linux-user/alpha/target_syscall.h | 2 ++
1 file changed, 2 insertions(+)
diff --git a/linux-user/alpha/target_syscall.h b/linux-user/alpha/target_syscall.h
index fd389422e31..4e6f9360566 100644
--- a/linux-user/alpha/target_syscall.h
+++ b/linux-user/alpha/target_syscall.h
@@ -44,6 +44,8 @@ struct target_pt_regs {
#define UNAME_MACHINE "alpha"
#define UNAME_MINIMUM_RELEASE "2.6.32"
+#undef TARGET_EWOULDBLOCK
+#define TARGET_EWOULDBLOCK TARGET_EAGAIN /* Operation would block */
#undef TARGET_EDEADLK
#define TARGET_EDEADLK 11
#undef TARGET_EAGAIN
--
2.31.1
^ permalink raw reply related [flat|nested] 28+ messages in thread
* [PATCH 02/12] linux-user/hppa: Handle TARGET_EWOULDBLOCK as TARGET_EAGAIN
2021-07-04 18:37 [PATCH 00/12] linux-user: Extract target errno related functions to 'target_errno.h' Philippe Mathieu-Daudé
2021-07-04 18:37 ` [PATCH 01/12] linux-user/alpha: Handle TARGET_EWOULDBLOCK as TARGET_EAGAIN Philippe Mathieu-Daudé
@ 2021-07-04 18:37 ` Philippe Mathieu-Daudé
2021-07-07 1:44 ` Richard Henderson
2021-07-07 19:26 ` Laurent Vivier
2021-07-04 18:37 ` [PATCH 03/12] linux-user/mips: " Philippe Mathieu-Daudé
` (9 subsequent siblings)
11 siblings, 2 replies; 28+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-07-04 18:37 UTC (permalink / raw)
To: qemu-devel
Cc: Aleksandar Rikalo, Helge Deller, Richard Henderson,
Laurent Vivier, Philippe Mathieu-Daudé,
Taylor Simpson, Aurelien Jarno
Linux kernel defines EWOULDBLOCK as EAGAIN (since before v2.6.12-rc2).
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
---
linux-user/hppa/target_syscall.h | 2 ++
1 file changed, 2 insertions(+)
diff --git a/linux-user/hppa/target_syscall.h b/linux-user/hppa/target_syscall.h
index f34e05edb57..97a095656d8 100644
--- a/linux-user/hppa/target_syscall.h
+++ b/linux-user/hppa/target_syscall.h
@@ -27,6 +27,8 @@ struct target_pt_regs {
#define TARGET_MCL_FUTURE 2
#define TARGET_MCL_ONFAULT 4
+#undef TARGET_EWOULDBLOCK
+#define TARGET_EWOULDBLOCK TARGET_EAGAIN /* Operation would block */
#undef TARGET_ENOMSG
#define TARGET_ENOMSG 35
#undef TARGET_EIDRM
--
2.31.1
^ permalink raw reply related [flat|nested] 28+ messages in thread
* [PATCH 03/12] linux-user/mips: Handle TARGET_EWOULDBLOCK as TARGET_EAGAIN
2021-07-04 18:37 [PATCH 00/12] linux-user: Extract target errno related functions to 'target_errno.h' Philippe Mathieu-Daudé
2021-07-04 18:37 ` [PATCH 01/12] linux-user/alpha: Handle TARGET_EWOULDBLOCK as TARGET_EAGAIN Philippe Mathieu-Daudé
2021-07-04 18:37 ` [PATCH 02/12] linux-user/hppa: " Philippe Mathieu-Daudé
@ 2021-07-04 18:37 ` Philippe Mathieu-Daudé
2021-07-07 1:45 ` Richard Henderson
2021-07-07 19:27 ` Laurent Vivier
2021-07-04 18:37 ` [PATCH 04/12] linux-user/sparc: Rename target_errno.h -> target_errno_defs.h Philippe Mathieu-Daudé
` (8 subsequent siblings)
11 siblings, 2 replies; 28+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-07-04 18:37 UTC (permalink / raw)
To: qemu-devel
Cc: Aleksandar Rikalo, Helge Deller, Richard Henderson,
Laurent Vivier, Philippe Mathieu-Daudé,
Taylor Simpson, Aurelien Jarno
Linux kernel defines EWOULDBLOCK as EAGAIN (since before v2.6.12-rc2).
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
---
linux-user/mips/target_syscall.h | 2 ++
linux-user/mips64/target_syscall.h | 2 ++
2 files changed, 4 insertions(+)
diff --git a/linux-user/mips/target_syscall.h b/linux-user/mips/target_syscall.h
index dd6fd7af8ea..3e558fdb4b4 100644
--- a/linux-user/mips/target_syscall.h
+++ b/linux-user/mips/target_syscall.h
@@ -21,6 +21,8 @@ struct target_pt_regs {
};
/* Target errno definitions taken from asm-mips/errno.h */
+#undef TARGET_EWOULDBLOCK
+#define TARGET_EWOULDBLOCK TARGET_EAGAIN /* Operation would block */
#undef TARGET_ENOMSG
#define TARGET_ENOMSG 35 /* Identifier removed */
#undef TARGET_EIDRM
diff --git a/linux-user/mips64/target_syscall.h b/linux-user/mips64/target_syscall.h
index 8594955eec2..c54374c5a29 100644
--- a/linux-user/mips64/target_syscall.h
+++ b/linux-user/mips64/target_syscall.h
@@ -18,6 +18,8 @@ struct target_pt_regs {
};
/* Target errno definitions taken from asm-mips/errno.h */
+#undef TARGET_EWOULDBLOCK
+#define TARGET_EWOULDBLOCK TARGET_EAGAIN /* Operation would block */
#undef TARGET_ENOMSG
#define TARGET_ENOMSG 35 /* Identifier removed */
#undef TARGET_EIDRM
--
2.31.1
^ permalink raw reply related [flat|nested] 28+ messages in thread
* [PATCH 04/12] linux-user/sparc: Rename target_errno.h -> target_errno_defs.h
2021-07-04 18:37 [PATCH 00/12] linux-user: Extract target errno related functions to 'target_errno.h' Philippe Mathieu-Daudé
` (2 preceding siblings ...)
2021-07-04 18:37 ` [PATCH 03/12] linux-user/mips: " Philippe Mathieu-Daudé
@ 2021-07-04 18:37 ` Philippe Mathieu-Daudé
2021-07-07 19:29 ` Laurent Vivier
2021-07-04 18:37 ` [PATCH 05/12] linux-user: Extract target errno to 'target_errno_defs.h' Philippe Mathieu-Daudé
` (7 subsequent siblings)
11 siblings, 1 reply; 28+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-07-04 18:37 UTC (permalink / raw)
To: qemu-devel
Cc: Aleksandar Rikalo, Helge Deller, Richard Henderson,
Laurent Vivier, Philippe Mathieu-Daudé,
Taylor Simpson, Aurelien Jarno
We want to have one generic target_errno.h (API to access target
errno), and will add target errno definitions in target_errno_defs.h.
The sparc target already have its errnos in an header, simply rename
it.
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
---
linux-user/sparc/{target_errno.h => target_errno_defs.h} | 0
linux-user/sparc/target_syscall.h | 2 +-
2 files changed, 1 insertion(+), 1 deletion(-)
rename linux-user/sparc/{target_errno.h => target_errno_defs.h} (100%)
diff --git a/linux-user/sparc/target_errno.h b/linux-user/sparc/target_errno_defs.h
similarity index 100%
rename from linux-user/sparc/target_errno.h
rename to linux-user/sparc/target_errno_defs.h
diff --git a/linux-user/sparc/target_syscall.h b/linux-user/sparc/target_syscall.h
index 15d531f3897..dad501d008c 100644
--- a/linux-user/sparc/target_syscall.h
+++ b/linux-user/sparc/target_syscall.h
@@ -1,7 +1,7 @@
#ifndef SPARC_TARGET_SYSCALL_H
#define SPARC_TARGET_SYSCALL_H
-#include "target_errno.h"
+#include "target_errno_defs.h"
#if defined(TARGET_SPARC64) && !defined(TARGET_ABI32)
struct target_pt_regs {
--
2.31.1
^ permalink raw reply related [flat|nested] 28+ messages in thread
* [PATCH 05/12] linux-user: Extract target errno to 'target_errno_defs.h'
2021-07-04 18:37 [PATCH 00/12] linux-user: Extract target errno related functions to 'target_errno.h' Philippe Mathieu-Daudé
` (3 preceding siblings ...)
2021-07-04 18:37 ` [PATCH 04/12] linux-user/sparc: Rename target_errno.h -> target_errno_defs.h Philippe Mathieu-Daudé
@ 2021-07-04 18:37 ` Philippe Mathieu-Daudé
2021-07-05 22:32 ` Taylor Simpson
2021-07-07 1:53 ` Richard Henderson
2021-07-04 18:37 ` [PATCH 06/12] linux-user/alpha: Remove hardcoded tabs (code style) Philippe Mathieu-Daudé
` (6 subsequent siblings)
11 siblings, 2 replies; 28+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-07-04 18:37 UTC (permalink / raw)
To: qemu-devel
Cc: Aleksandar Rikalo, Helge Deller, Richard Henderson,
Laurent Vivier, Philippe Mathieu-Daudé,
Taylor Simpson, Aurelien Jarno
We want to access the target errno indepently of the rest
of the linux-user code. Extract it to a new target-specific
header: 'target_errno_defs.h'.
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
---
linux-user/aarch64/target_errno_defs.h | 6 ++++++
linux-user/alpha/target_errno_defs.h | 4 ++++
linux-user/arm/target_errno_defs.h | 6 ++++++
linux-user/cris/target_errno_defs.h | 6 ++++++
linux-user/errno_defs.h | 3 +++
linux-user/hexagon/target_errno_defs.h | 6 ++++++
linux-user/hppa/target_errno_defs.h | 4 ++++
linux-user/i386/target_errno_defs.h | 6 ++++++
linux-user/m68k/target_errno_defs.h | 6 ++++++
linux-user/microblaze/target_errno_defs.h | 6 ++++++
linux-user/mips/target_errno_defs.h | 4 ++++
linux-user/mips64/target_errno_defs.h | 4 ++++
linux-user/nios2/target_errno_defs.h | 6 ++++++
linux-user/openrisc/target_errno_defs.h | 6 ++++++
linux-user/ppc/target_errno_defs.h | 6 ++++++
linux-user/riscv/target_errno_defs.h | 6 ++++++
linux-user/s390x/target_errno_defs.h | 6 ++++++
linux-user/sh4/target_errno_defs.h | 6 ++++++
linux-user/sparc/target_syscall.h | 2 --
linux-user/x86_64/target_errno_defs.h | 6 ++++++
linux-user/xtensa/target_errno_defs.h | 6 ++++++
21 files changed, 109 insertions(+), 2 deletions(-)
create mode 100644 linux-user/aarch64/target_errno_defs.h
create mode 100644 linux-user/alpha/target_errno_defs.h
create mode 100644 linux-user/arm/target_errno_defs.h
create mode 100644 linux-user/cris/target_errno_defs.h
create mode 100644 linux-user/hexagon/target_errno_defs.h
create mode 100644 linux-user/hppa/target_errno_defs.h
create mode 100644 linux-user/i386/target_errno_defs.h
create mode 100644 linux-user/m68k/target_errno_defs.h
create mode 100644 linux-user/microblaze/target_errno_defs.h
create mode 100644 linux-user/mips/target_errno_defs.h
create mode 100644 linux-user/mips64/target_errno_defs.h
create mode 100644 linux-user/nios2/target_errno_defs.h
create mode 100644 linux-user/openrisc/target_errno_defs.h
create mode 100644 linux-user/ppc/target_errno_defs.h
create mode 100644 linux-user/riscv/target_errno_defs.h
create mode 100644 linux-user/s390x/target_errno_defs.h
create mode 100644 linux-user/sh4/target_errno_defs.h
create mode 100644 linux-user/x86_64/target_errno_defs.h
create mode 100644 linux-user/xtensa/target_errno_defs.h
diff --git a/linux-user/aarch64/target_errno_defs.h b/linux-user/aarch64/target_errno_defs.h
new file mode 100644
index 00000000000..a809381165a
--- /dev/null
+++ b/linux-user/aarch64/target_errno_defs.h
@@ -0,0 +1,6 @@
+#ifndef AARCH64_TARGET_ERRNO_H
+#define AARCH64_TARGET_ERRNO_H
+
+/* Target uses generic errno */
+
+#endif
diff --git a/linux-user/alpha/target_errno_defs.h b/linux-user/alpha/target_errno_defs.h
new file mode 100644
index 00000000000..13770b14b82
--- /dev/null
+++ b/linux-user/alpha/target_errno_defs.h
@@ -0,0 +1,4 @@
+#ifndef ALPHA_TARGET_ERRNO_H
+#define ALPHA_TARGET_ERRNO_H
+
+#endif
diff --git a/linux-user/arm/target_errno_defs.h b/linux-user/arm/target_errno_defs.h
new file mode 100644
index 00000000000..3d0dc8a6fb3
--- /dev/null
+++ b/linux-user/arm/target_errno_defs.h
@@ -0,0 +1,6 @@
+#ifndef ARM_TARGET_ERRNO_H
+#define ARM_TARGET_ERRNO_H
+
+/* Target uses generic errno */
+
+#endif
diff --git a/linux-user/cris/target_errno_defs.h b/linux-user/cris/target_errno_defs.h
new file mode 100644
index 00000000000..c6ea84f2366
--- /dev/null
+++ b/linux-user/cris/target_errno_defs.h
@@ -0,0 +1,6 @@
+#ifndef CRIS_TARGET_ERRNO_H
+#define CRIS_TARGET_ERRNO_H
+
+/* Target uses generic errno */
+
+#endif
diff --git a/linux-user/errno_defs.h b/linux-user/errno_defs.h
index aaf5208d62d..01cfb08b802 100644
--- a/linux-user/errno_defs.h
+++ b/linux-user/errno_defs.h
@@ -164,4 +164,7 @@
*/
#define TARGET_QEMU_ESIGRETURN 513 /* Return from signal */
+/* Override with target specific definitions of errnos (keep last). */
+#include "target_errno_defs.h"
+
#endif
diff --git a/linux-user/hexagon/target_errno_defs.h b/linux-user/hexagon/target_errno_defs.h
new file mode 100644
index 00000000000..5daac4f5a83
--- /dev/null
+++ b/linux-user/hexagon/target_errno_defs.h
@@ -0,0 +1,6 @@
+#ifndef HEXAGON_TARGET_ERRNO_H
+#define HEXAGON_TARGET_ERRNO_H
+
+/* Target uses generic errno */
+
+#endif
diff --git a/linux-user/hppa/target_errno_defs.h b/linux-user/hppa/target_errno_defs.h
new file mode 100644
index 00000000000..5ae6b8d0ba2
--- /dev/null
+++ b/linux-user/hppa/target_errno_defs.h
@@ -0,0 +1,4 @@
+#ifndef HPPA_TARGET_ERRNO_H
+#define HPPA_TARGET_ERRNO_H
+
+#endif
diff --git a/linux-user/i386/target_errno_defs.h b/linux-user/i386/target_errno_defs.h
new file mode 100644
index 00000000000..14f9fc44bec
--- /dev/null
+++ b/linux-user/i386/target_errno_defs.h
@@ -0,0 +1,6 @@
+#ifndef I386_TARGET_ERRNO_H
+#define I386_TARGET_ERRNO_H
+
+/* Target uses generic errno */
+
+#endif
diff --git a/linux-user/m68k/target_errno_defs.h b/linux-user/m68k/target_errno_defs.h
new file mode 100644
index 00000000000..00b98c619e5
--- /dev/null
+++ b/linux-user/m68k/target_errno_defs.h
@@ -0,0 +1,6 @@
+#ifndef M68K_TARGET_ERRNO_H
+#define M68K_TARGET_ERRNO_H
+
+/* Target uses generic errno */
+
+#endif
diff --git a/linux-user/microblaze/target_errno_defs.h b/linux-user/microblaze/target_errno_defs.h
new file mode 100644
index 00000000000..014f19ffbc5
--- /dev/null
+++ b/linux-user/microblaze/target_errno_defs.h
@@ -0,0 +1,6 @@
+#ifndef MICROBLAZE_TARGET_ERRNO_H
+#define MICROBLAZE_TARGET_ERRNO_H
+
+/* Target uses generic errno */
+
+#endif
diff --git a/linux-user/mips/target_errno_defs.h b/linux-user/mips/target_errno_defs.h
new file mode 100644
index 00000000000..05e0bea44bc
--- /dev/null
+++ b/linux-user/mips/target_errno_defs.h
@@ -0,0 +1,4 @@
+#ifndef MIPS_TARGET_ERRNO_H
+#define MIPS_TARGET_ERRNO_H
+
+#endif
diff --git a/linux-user/mips64/target_errno_defs.h b/linux-user/mips64/target_errno_defs.h
new file mode 100644
index 00000000000..0dd5966d1af
--- /dev/null
+++ b/linux-user/mips64/target_errno_defs.h
@@ -0,0 +1,4 @@
+#ifndef MIPS64_TARGET_ERRNO_H
+#define MIPS64_TARGET_ERRNO_H
+
+#endif
diff --git a/linux-user/nios2/target_errno_defs.h b/linux-user/nios2/target_errno_defs.h
new file mode 100644
index 00000000000..81f86566f26
--- /dev/null
+++ b/linux-user/nios2/target_errno_defs.h
@@ -0,0 +1,6 @@
+#ifndef NIOS2_TARGET_ERRNO_H
+#define NIOS2_TARGET_ERRNO_H
+
+/* Target uses generic errno */
+
+#endif
diff --git a/linux-user/openrisc/target_errno_defs.h b/linux-user/openrisc/target_errno_defs.h
new file mode 100644
index 00000000000..4dabdc1a43f
--- /dev/null
+++ b/linux-user/openrisc/target_errno_defs.h
@@ -0,0 +1,6 @@
+#ifndef OR1K_TARGET_ERRNO_H
+#define OR1K_TARGET_ERRNO_H
+
+/* Target uses generic errno */
+
+#endif
diff --git a/linux-user/ppc/target_errno_defs.h b/linux-user/ppc/target_errno_defs.h
new file mode 100644
index 00000000000..743e65cf4ef
--- /dev/null
+++ b/linux-user/ppc/target_errno_defs.h
@@ -0,0 +1,6 @@
+#ifndef PPC_TARGET_ERRNO_H
+#define PPC_TARGET_ERRNO_H
+
+/* Target uses generic errno */
+
+#endif
diff --git a/linux-user/riscv/target_errno_defs.h b/linux-user/riscv/target_errno_defs.h
new file mode 100644
index 00000000000..bf06966dc18
--- /dev/null
+++ b/linux-user/riscv/target_errno_defs.h
@@ -0,0 +1,6 @@
+#ifndef RISCV_TARGET_ERRNO_H
+#define RISCV_TARGET_ERRNO_H
+
+/* Target uses generic errno */
+
+#endif
diff --git a/linux-user/s390x/target_errno_defs.h b/linux-user/s390x/target_errno_defs.h
new file mode 100644
index 00000000000..1f0003166df
--- /dev/null
+++ b/linux-user/s390x/target_errno_defs.h
@@ -0,0 +1,6 @@
+#ifndef S390X_TARGET_ERRNO_H
+#define S390X_TARGET_ERRNO_H
+
+/* Target uses generic errno */
+
+#endif
diff --git a/linux-user/sh4/target_errno_defs.h b/linux-user/sh4/target_errno_defs.h
new file mode 100644
index 00000000000..ee5eb96af88
--- /dev/null
+++ b/linux-user/sh4/target_errno_defs.h
@@ -0,0 +1,6 @@
+#ifndef SH4_TARGET_ERRNO_H
+#define SH4_TARGET_ERRNO_H
+
+/* Target uses generic errno */
+
+#endif
diff --git a/linux-user/sparc/target_syscall.h b/linux-user/sparc/target_syscall.h
index dad501d008c..087b39d39c4 100644
--- a/linux-user/sparc/target_syscall.h
+++ b/linux-user/sparc/target_syscall.h
@@ -1,8 +1,6 @@
#ifndef SPARC_TARGET_SYSCALL_H
#define SPARC_TARGET_SYSCALL_H
-#include "target_errno_defs.h"
-
#if defined(TARGET_SPARC64) && !defined(TARGET_ABI32)
struct target_pt_regs {
abi_ulong u_regs[16];
diff --git a/linux-user/x86_64/target_errno_defs.h b/linux-user/x86_64/target_errno_defs.h
new file mode 100644
index 00000000000..69cc6f988ba
--- /dev/null
+++ b/linux-user/x86_64/target_errno_defs.h
@@ -0,0 +1,6 @@
+#ifndef X86_64_TARGET_ERRNO_H
+#define X86_64_TARGET_ERRNO_H
+
+/* Target uses generic errno */
+
+#endif
diff --git a/linux-user/xtensa/target_errno_defs.h b/linux-user/xtensa/target_errno_defs.h
new file mode 100644
index 00000000000..4a5d19319d0
--- /dev/null
+++ b/linux-user/xtensa/target_errno_defs.h
@@ -0,0 +1,6 @@
+#ifndef XTENSA_TARGET_ERRNO_H
+#define XTENSA_TARGET_ERRNO_H
+
+/* FIXME */
+
+#endif
--
2.31.1
^ permalink raw reply related [flat|nested] 28+ messages in thread
* [PATCH 06/12] linux-user/alpha: Remove hardcoded tabs (code style)
2021-07-04 18:37 [PATCH 00/12] linux-user: Extract target errno related functions to 'target_errno.h' Philippe Mathieu-Daudé
` (4 preceding siblings ...)
2021-07-04 18:37 ` [PATCH 05/12] linux-user: Extract target errno to 'target_errno_defs.h' Philippe Mathieu-Daudé
@ 2021-07-04 18:37 ` Philippe Mathieu-Daudé
2021-07-07 1:46 ` Richard Henderson
2021-07-07 19:32 ` Laurent Vivier
2021-07-04 18:37 ` [PATCH 07/12] linux-user/alpha: Move errno definitions to 'target_errno_defs.h' Philippe Mathieu-Daudé
` (5 subsequent siblings)
11 siblings, 2 replies; 28+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-07-04 18:37 UTC (permalink / raw)
To: qemu-devel
Cc: Aleksandar Rikalo, Helge Deller, Richard Henderson,
Laurent Vivier, Philippe Mathieu-Daudé,
Taylor Simpson, Aurelien Jarno
We are going to move this code, fix its style first.
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
---
Patch trivial to review using 'git-diff --ignore-all-space'
---
linux-user/alpha/target_syscall.h | 196 +++++++++++++++---------------
1 file changed, 97 insertions(+), 99 deletions(-)
diff --git a/linux-user/alpha/target_syscall.h b/linux-user/alpha/target_syscall.h
index 4e6f9360566..13a71f35eaf 100644
--- a/linux-user/alpha/target_syscall.h
+++ b/linux-user/alpha/target_syscall.h
@@ -47,196 +47,194 @@ struct target_pt_regs {
#undef TARGET_EWOULDBLOCK
#define TARGET_EWOULDBLOCK TARGET_EAGAIN /* Operation would block */
#undef TARGET_EDEADLK
-#define TARGET_EDEADLK 11
+#define TARGET_EDEADLK 11
#undef TARGET_EAGAIN
-#define TARGET_EAGAIN 35
+#define TARGET_EAGAIN 35
#undef TARGET_EINPROGRESS
-#define TARGET_EINPROGRESS 36
+#define TARGET_EINPROGRESS 36
#undef TARGET_EALREADY
-#define TARGET_EALREADY 37
+#define TARGET_EALREADY 37
#undef TARGET_ENOTSOCK
-#define TARGET_ENOTSOCK 38
+#define TARGET_ENOTSOCK 38
#undef TARGET_EDESTADDRREQ
-#define TARGET_EDESTADDRREQ 39
+#define TARGET_EDESTADDRREQ 39
#undef TARGET_EMSGSIZE
-#define TARGET_EMSGSIZE 40
+#define TARGET_EMSGSIZE 40
#undef TARGET_EPROTOTYPE
-#define TARGET_EPROTOTYPE 41
+#define TARGET_EPROTOTYPE 41
#undef TARGET_ENOPROTOOPT
-#define TARGET_ENOPROTOOPT 42
+#define TARGET_ENOPROTOOPT 42
#undef TARGET_EPROTONOSUPPORT
-#define TARGET_EPROTONOSUPPORT 43
+#define TARGET_EPROTONOSUPPORT 43
#undef TARGET_ESOCKTNOSUPPORT
-#define TARGET_ESOCKTNOSUPPORT 44
+#define TARGET_ESOCKTNOSUPPORT 44
#undef TARGET_EOPNOTSUPP
-#define TARGET_EOPNOTSUPP 45
+#define TARGET_EOPNOTSUPP 45
#undef TARGET_EPFNOSUPPORT
-#define TARGET_EPFNOSUPPORT 46
+#define TARGET_EPFNOSUPPORT 46
#undef TARGET_EAFNOSUPPORT
-#define TARGET_EAFNOSUPPORT 47
+#define TARGET_EAFNOSUPPORT 47
#undef TARGET_EADDRINUSE
-#define TARGET_EADDRINUSE 48
+#define TARGET_EADDRINUSE 48
#undef TARGET_EADDRNOTAVAIL
-#define TARGET_EADDRNOTAVAIL 49
+#define TARGET_EADDRNOTAVAIL 49
#undef TARGET_ENETDOWN
-#define TARGET_ENETDOWN 50
+#define TARGET_ENETDOWN 50
#undef TARGET_ENETUNREACH
-#define TARGET_ENETUNREACH 51
+#define TARGET_ENETUNREACH 51
#undef TARGET_ENETRESET
-#define TARGET_ENETRESET 52
+#define TARGET_ENETRESET 52
#undef TARGET_ECONNABORTED
-#define TARGET_ECONNABORTED 53
+#define TARGET_ECONNABORTED 53
#undef TARGET_ECONNRESET
-#define TARGET_ECONNRESET 54
+#define TARGET_ECONNRESET 54
#undef TARGET_ENOBUFS
-#define TARGET_ENOBUFS 55
+#define TARGET_ENOBUFS 55
#undef TARGET_EISCONN
-#define TARGET_EISCONN 56
+#define TARGET_EISCONN 56
#undef TARGET_ENOTCONN
-#define TARGET_ENOTCONN 57
+#define TARGET_ENOTCONN 57
#undef TARGET_ESHUTDOWN
-#define TARGET_ESHUTDOWN 58
+#define TARGET_ESHUTDOWN 58
#undef TARGET_ETOOMANYREFS
-#define TARGET_ETOOMANYREFS 59
+#define TARGET_ETOOMANYREFS 59
#undef TARGET_ETIMEDOUT
-#define TARGET_ETIMEDOUT 60
+#define TARGET_ETIMEDOUT 60
#undef TARGET_ECONNREFUSED
-#define TARGET_ECONNREFUSED 61
+#define TARGET_ECONNREFUSED 61
#undef TARGET_ELOOP
-#define TARGET_ELOOP 62
+#define TARGET_ELOOP 62
#undef TARGET_ENAMETOOLONG
-#define TARGET_ENAMETOOLONG 63
+#define TARGET_ENAMETOOLONG 63
#undef TARGET_EHOSTDOWN
-#define TARGET_EHOSTDOWN 64
+#define TARGET_EHOSTDOWN 64
#undef TARGET_EHOSTUNREACH
-#define TARGET_EHOSTUNREACH 65
+#define TARGET_EHOSTUNREACH 65
#undef TARGET_ENOTEMPTY
-#define TARGET_ENOTEMPTY 66
-// Unused 67
+#define TARGET_ENOTEMPTY 66
+/* Unused 67 */
#undef TARGET_EUSERS
-#define TARGET_EUSERS 68
+#define TARGET_EUSERS 68
#undef TARGET_EDQUOT
-#define TARGET_EDQUOT 69
+#define TARGET_EDQUOT 69
#undef TARGET_ESTALE
-#define TARGET_ESTALE 70
+#define TARGET_ESTALE 70
#undef TARGET_EREMOTE
-#define TARGET_EREMOTE 71
-// Unused 72-76
+#define TARGET_EREMOTE 71
+/* Unused 72-76 */
#undef TARGET_ENOLCK
-#define TARGET_ENOLCK 77
+#define TARGET_ENOLCK 77
#undef TARGET_ENOSYS
-#define TARGET_ENOSYS 78
-// Unused 79
+#define TARGET_ENOSYS 78
+/* Unused 79 */
#undef TARGET_ENOMSG
-#define TARGET_ENOMSG 80
+#define TARGET_ENOMSG 80
#undef TARGET_EIDRM
-#define TARGET_EIDRM 81
+#define TARGET_EIDRM 81
#undef TARGET_ENOSR
-#define TARGET_ENOSR 82
+#define TARGET_ENOSR 82
#undef TARGET_ETIME
-#define TARGET_ETIME 83
+#define TARGET_ETIME 83
#undef TARGET_EBADMSG
-#define TARGET_EBADMSG 84
+#define TARGET_EBADMSG 84
#undef TARGET_EPROTO
-#define TARGET_EPROTO 85
+#define TARGET_EPROTO 85
#undef TARGET_ENODATA
-#define TARGET_ENODATA 86
+#define TARGET_ENODATA 86
#undef TARGET_ENOSTR
-#define TARGET_ENOSTR 87
+#define TARGET_ENOSTR 87
#undef TARGET_ECHRNG
-#define TARGET_ECHRNG 88
+#define TARGET_ECHRNG 88
#undef TARGET_EL2NSYNC
-#define TARGET_EL2NSYNC 89
+#define TARGET_EL2NSYNC 89
#undef TARGET_EL3HLT
-#define TARGET_EL3HLT 90
+#define TARGET_EL3HLT 90
#undef TARGET_EL3RST
-#define TARGET_EL3RST 91
+#define TARGET_EL3RST 91
#undef TARGET_ENOPKG
-#define TARGET_ENOPKG 92
+#define TARGET_ENOPKG 92
#undef TARGET_ELNRNG
-#define TARGET_ELNRNG 93
+#define TARGET_ELNRNG 93
#undef TARGET_EUNATCH
-#define TARGET_EUNATCH 94
+#define TARGET_EUNATCH 94
#undef TARGET_ENOCSI
-#define TARGET_ENOCSI 95
+#define TARGET_ENOCSI 95
#undef TARGET_EL2HLT
-#define TARGET_EL2HLT 96
+#define TARGET_EL2HLT 96
#undef TARGET_EBADE
-#define TARGET_EBADE 97
+#define TARGET_EBADE 97
#undef TARGET_EBADR
-#define TARGET_EBADR 98
+#define TARGET_EBADR 98
#undef TARGET_EXFULL
-#define TARGET_EXFULL 99
+#define TARGET_EXFULL 99
#undef TARGET_ENOANO
-#define TARGET_ENOANO 100
+#define TARGET_ENOANO 100
#undef TARGET_EBADRQC
-#define TARGET_EBADRQC 101
+#define TARGET_EBADRQC 101
#undef TARGET_EBADSLT
-#define TARGET_EBADSLT 102
-// Unused 103
+#define TARGET_EBADSLT 102
+/* Unused 103 */
#undef TARGET_EBFONT
-#define TARGET_EBFONT 104
+#define TARGET_EBFONT 104
#undef TARGET_ENONET
-#define TARGET_ENONET 105
+#define TARGET_ENONET 105
#undef TARGET_ENOLINK
-#define TARGET_ENOLINK 106
+#define TARGET_ENOLINK 106
#undef TARGET_EADV
-#define TARGET_EADV 107
+#define TARGET_EADV 107
#undef TARGET_ESRMNT
-#define TARGET_ESRMNT 108
+#define TARGET_ESRMNT 108
#undef TARGET_ECOMM
-#define TARGET_ECOMM 109
+#define TARGET_ECOMM 109
#undef TARGET_EMULTIHOP
-#define TARGET_EMULTIHOP 110
+#define TARGET_EMULTIHOP 110
#undef TARGET_EDOTDOT
-#define TARGET_EDOTDOT 111
+#define TARGET_EDOTDOT 111
#undef TARGET_EOVERFLOW
-#define TARGET_EOVERFLOW 112
+#define TARGET_EOVERFLOW 112
#undef TARGET_ENOTUNIQ
-#define TARGET_ENOTUNIQ 113
+#define TARGET_ENOTUNIQ 113
#undef TARGET_EBADFD
-#define TARGET_EBADFD 114
+#define TARGET_EBADFD 114
#undef TARGET_EREMCHG
-#define TARGET_EREMCHG 115
+#define TARGET_EREMCHG 115
#undef TARGET_EILSEQ
-#define TARGET_EILSEQ 116
-
-// Same as default 117-121
-
+#define TARGET_EILSEQ 116
+/* Same as default 117-121 */
#undef TARGET_ELIBACC
-#define TARGET_ELIBACC 122
+#define TARGET_ELIBACC 122
#undef TARGET_ELIBBAD
-#define TARGET_ELIBBAD 123
+#define TARGET_ELIBBAD 123
#undef TARGET_ELIBSCN
-#define TARGET_ELIBSCN 124
+#define TARGET_ELIBSCN 124
#undef TARGET_ELIBMAX
-#define TARGET_ELIBMAX 125
+#define TARGET_ELIBMAX 125
#undef TARGET_ELIBEXEC
-#define TARGET_ELIBEXEC 126
+#define TARGET_ELIBEXEC 126
#undef TARGET_ERESTART
-#define TARGET_ERESTART 127
+#define TARGET_ERESTART 127
#undef TARGET_ESTRPIPE
-#define TARGET_ESTRPIPE 128
+#define TARGET_ESTRPIPE 128
#undef TARGET_ENOMEDIUM
-#define TARGET_ENOMEDIUM 129
+#define TARGET_ENOMEDIUM 129
#undef TARGET_EMEDIUMTYPE
-#define TARGET_EMEDIUMTYPE 130
+#define TARGET_EMEDIUMTYPE 130
#undef TARGET_ECANCELED
-#define TARGET_ECANCELED 131
+#define TARGET_ECANCELED 131
#undef TARGET_ENOKEY
-#define TARGET_ENOKEY 132
+#define TARGET_ENOKEY 132
#undef TARGET_EKEYEXPIRED
-#define TARGET_EKEYEXPIRED 133
+#define TARGET_EKEYEXPIRED 133
#undef TARGET_EKEYREVOKED
-#define TARGET_EKEYREVOKED 134
+#define TARGET_EKEYREVOKED 134
#undef TARGET_EKEYREJECTED
-#define TARGET_EKEYREJECTED 135
+#define TARGET_EKEYREJECTED 135
#undef TARGET_EOWNERDEAD
-#define TARGET_EOWNERDEAD 136
+#define TARGET_EOWNERDEAD 136
#undef TARGET_ENOTRECOVERABLE
-#define TARGET_ENOTRECOVERABLE 137
+#define TARGET_ENOTRECOVERABLE 137
#undef TARGET_ERFKILL
-#define TARGET_ERFKILL 138
+#define TARGET_ERFKILL 138
#undef TARGET_EHWPOISON
#define TARGET_EHWPOISON 139
--
2.31.1
^ permalink raw reply related [flat|nested] 28+ messages in thread
* [PATCH 07/12] linux-user/alpha: Move errno definitions to 'target_errno_defs.h'
2021-07-04 18:37 [PATCH 00/12] linux-user: Extract target errno related functions to 'target_errno.h' Philippe Mathieu-Daudé
` (5 preceding siblings ...)
2021-07-04 18:37 ` [PATCH 06/12] linux-user/alpha: Remove hardcoded tabs (code style) Philippe Mathieu-Daudé
@ 2021-07-04 18:37 ` Philippe Mathieu-Daudé
2021-07-04 18:37 ` [PATCH 08/12] linux-user/hppa: " Philippe Mathieu-Daudé
` (4 subsequent siblings)
11 siblings, 0 replies; 28+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-07-04 18:37 UTC (permalink / raw)
To: qemu-devel
Cc: Aleksandar Rikalo, Helge Deller, Richard Henderson,
Laurent Vivier, Philippe Mathieu-Daudé,
Taylor Simpson, Aurelien Jarno
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
---
linux-user/alpha/target_errno_defs.h | 194 +++++++++++++++++++++++++++
linux-user/alpha/target_syscall.h | 194 ---------------------------
2 files changed, 194 insertions(+), 194 deletions(-)
diff --git a/linux-user/alpha/target_errno_defs.h b/linux-user/alpha/target_errno_defs.h
index 13770b14b82..fae8a4f43a1 100644
--- a/linux-user/alpha/target_errno_defs.h
+++ b/linux-user/alpha/target_errno_defs.h
@@ -1,4 +1,198 @@
#ifndef ALPHA_TARGET_ERRNO_H
#define ALPHA_TARGET_ERRNO_H
+#undef TARGET_EWOULDBLOCK
+#define TARGET_EWOULDBLOCK TARGET_EAGAIN
+#undef TARGET_EDEADLK
+#define TARGET_EDEADLK 11
+#undef TARGET_EAGAIN
+#define TARGET_EAGAIN 35
+#undef TARGET_EINPROGRESS
+#define TARGET_EINPROGRESS 36
+#undef TARGET_EALREADY
+#define TARGET_EALREADY 37
+#undef TARGET_ENOTSOCK
+#define TARGET_ENOTSOCK 38
+#undef TARGET_EDESTADDRREQ
+#define TARGET_EDESTADDRREQ 39
+#undef TARGET_EMSGSIZE
+#define TARGET_EMSGSIZE 40
+#undef TARGET_EPROTOTYPE
+#define TARGET_EPROTOTYPE 41
+#undef TARGET_ENOPROTOOPT
+#define TARGET_ENOPROTOOPT 42
+#undef TARGET_EPROTONOSUPPORT
+#define TARGET_EPROTONOSUPPORT 43
+#undef TARGET_ESOCKTNOSUPPORT
+#define TARGET_ESOCKTNOSUPPORT 44
+#undef TARGET_EOPNOTSUPP
+#define TARGET_EOPNOTSUPP 45
+#undef TARGET_EPFNOSUPPORT
+#define TARGET_EPFNOSUPPORT 46
+#undef TARGET_EAFNOSUPPORT
+#define TARGET_EAFNOSUPPORT 47
+#undef TARGET_EADDRINUSE
+#define TARGET_EADDRINUSE 48
+#undef TARGET_EADDRNOTAVAIL
+#define TARGET_EADDRNOTAVAIL 49
+#undef TARGET_ENETDOWN
+#define TARGET_ENETDOWN 50
+#undef TARGET_ENETUNREACH
+#define TARGET_ENETUNREACH 51
+#undef TARGET_ENETRESET
+#define TARGET_ENETRESET 52
+#undef TARGET_ECONNABORTED
+#define TARGET_ECONNABORTED 53
+#undef TARGET_ECONNRESET
+#define TARGET_ECONNRESET 54
+#undef TARGET_ENOBUFS
+#define TARGET_ENOBUFS 55
+#undef TARGET_EISCONN
+#define TARGET_EISCONN 56
+#undef TARGET_ENOTCONN
+#define TARGET_ENOTCONN 57
+#undef TARGET_ESHUTDOWN
+#define TARGET_ESHUTDOWN 58
+#undef TARGET_ETOOMANYREFS
+#define TARGET_ETOOMANYREFS 59
+#undef TARGET_ETIMEDOUT
+#define TARGET_ETIMEDOUT 60
+#undef TARGET_ECONNREFUSED
+#define TARGET_ECONNREFUSED 61
+#undef TARGET_ELOOP
+#define TARGET_ELOOP 62
+#undef TARGET_ENAMETOOLONG
+#define TARGET_ENAMETOOLONG 63
+#undef TARGET_EHOSTDOWN
+#define TARGET_EHOSTDOWN 64
+#undef TARGET_EHOSTUNREACH
+#define TARGET_EHOSTUNREACH 65
+#undef TARGET_ENOTEMPTY
+#define TARGET_ENOTEMPTY 66
+/* Unused 67 */
+#undef TARGET_EUSERS
+#define TARGET_EUSERS 68
+#undef TARGET_EDQUOT
+#define TARGET_EDQUOT 69
+#undef TARGET_ESTALE
+#define TARGET_ESTALE 70
+#undef TARGET_EREMOTE
+#define TARGET_EREMOTE 71
+/* Unused 72-76 */
+#undef TARGET_ENOLCK
+#define TARGET_ENOLCK 77
+#undef TARGET_ENOSYS
+#define TARGET_ENOSYS 78
+/* Unused 79 */
+#undef TARGET_ENOMSG
+#define TARGET_ENOMSG 80
+#undef TARGET_EIDRM
+#define TARGET_EIDRM 81
+#undef TARGET_ENOSR
+#define TARGET_ENOSR 82
+#undef TARGET_ETIME
+#define TARGET_ETIME 83
+#undef TARGET_EBADMSG
+#define TARGET_EBADMSG 84
+#undef TARGET_EPROTO
+#define TARGET_EPROTO 85
+#undef TARGET_ENODATA
+#define TARGET_ENODATA 86
+#undef TARGET_ENOSTR
+#define TARGET_ENOSTR 87
+#undef TARGET_ECHRNG
+#define TARGET_ECHRNG 88
+#undef TARGET_EL2NSYNC
+#define TARGET_EL2NSYNC 89
+#undef TARGET_EL3HLT
+#define TARGET_EL3HLT 90
+#undef TARGET_EL3RST
+#define TARGET_EL3RST 91
+#undef TARGET_ENOPKG
+#define TARGET_ENOPKG 92
+#undef TARGET_ELNRNG
+#define TARGET_ELNRNG 93
+#undef TARGET_EUNATCH
+#define TARGET_EUNATCH 94
+#undef TARGET_ENOCSI
+#define TARGET_ENOCSI 95
+#undef TARGET_EL2HLT
+#define TARGET_EL2HLT 96
+#undef TARGET_EBADE
+#define TARGET_EBADE 97
+#undef TARGET_EBADR
+#define TARGET_EBADR 98
+#undef TARGET_EXFULL
+#define TARGET_EXFULL 99
+#undef TARGET_ENOANO
+#define TARGET_ENOANO 100
+#undef TARGET_EBADRQC
+#define TARGET_EBADRQC 101
+#undef TARGET_EBADSLT
+#define TARGET_EBADSLT 102
+/* Unused 103 */
+#undef TARGET_EBFONT
+#define TARGET_EBFONT 104
+#undef TARGET_ENONET
+#define TARGET_ENONET 105
+#undef TARGET_ENOLINK
+#define TARGET_ENOLINK 106
+#undef TARGET_EADV
+#define TARGET_EADV 107
+#undef TARGET_ESRMNT
+#define TARGET_ESRMNT 108
+#undef TARGET_ECOMM
+#define TARGET_ECOMM 109
+#undef TARGET_EMULTIHOP
+#define TARGET_EMULTIHOP 110
+#undef TARGET_EDOTDOT
+#define TARGET_EDOTDOT 111
+#undef TARGET_EOVERFLOW
+#define TARGET_EOVERFLOW 112
+#undef TARGET_ENOTUNIQ
+#define TARGET_ENOTUNIQ 113
+#undef TARGET_EBADFD
+#define TARGET_EBADFD 114
+#undef TARGET_EREMCHG
+#define TARGET_EREMCHG 115
+#undef TARGET_EILSEQ
+#define TARGET_EILSEQ 116
+/* Same as default 117-121 */
+#undef TARGET_ELIBACC
+#define TARGET_ELIBACC 122
+#undef TARGET_ELIBBAD
+#define TARGET_ELIBBAD 123
+#undef TARGET_ELIBSCN
+#define TARGET_ELIBSCN 124
+#undef TARGET_ELIBMAX
+#define TARGET_ELIBMAX 125
+#undef TARGET_ELIBEXEC
+#define TARGET_ELIBEXEC 126
+#undef TARGET_ERESTART
+#define TARGET_ERESTART 127
+#undef TARGET_ESTRPIPE
+#define TARGET_ESTRPIPE 128
+#undef TARGET_ENOMEDIUM
+#define TARGET_ENOMEDIUM 129
+#undef TARGET_EMEDIUMTYPE
+#define TARGET_EMEDIUMTYPE 130
+#undef TARGET_ECANCELED
+#define TARGET_ECANCELED 131
+#undef TARGET_ENOKEY
+#define TARGET_ENOKEY 132
+#undef TARGET_EKEYEXPIRED
+#define TARGET_EKEYEXPIRED 133
+#undef TARGET_EKEYREVOKED
+#define TARGET_EKEYREVOKED 134
+#undef TARGET_EKEYREJECTED
+#define TARGET_EKEYREJECTED 135
+#undef TARGET_EOWNERDEAD
+#define TARGET_EOWNERDEAD 136
+#undef TARGET_ENOTRECOVERABLE
+#define TARGET_ENOTRECOVERABLE 137
+#undef TARGET_ERFKILL
+#define TARGET_ERFKILL 138
+#undef TARGET_EHWPOISON
+#define TARGET_EHWPOISON 139
+
#endif
diff --git a/linux-user/alpha/target_syscall.h b/linux-user/alpha/target_syscall.h
index 13a71f35eaf..03091bf0a82 100644
--- a/linux-user/alpha/target_syscall.h
+++ b/linux-user/alpha/target_syscall.h
@@ -44,200 +44,6 @@ struct target_pt_regs {
#define UNAME_MACHINE "alpha"
#define UNAME_MINIMUM_RELEASE "2.6.32"
-#undef TARGET_EWOULDBLOCK
-#define TARGET_EWOULDBLOCK TARGET_EAGAIN /* Operation would block */
-#undef TARGET_EDEADLK
-#define TARGET_EDEADLK 11
-#undef TARGET_EAGAIN
-#define TARGET_EAGAIN 35
-#undef TARGET_EINPROGRESS
-#define TARGET_EINPROGRESS 36
-#undef TARGET_EALREADY
-#define TARGET_EALREADY 37
-#undef TARGET_ENOTSOCK
-#define TARGET_ENOTSOCK 38
-#undef TARGET_EDESTADDRREQ
-#define TARGET_EDESTADDRREQ 39
-#undef TARGET_EMSGSIZE
-#define TARGET_EMSGSIZE 40
-#undef TARGET_EPROTOTYPE
-#define TARGET_EPROTOTYPE 41
-#undef TARGET_ENOPROTOOPT
-#define TARGET_ENOPROTOOPT 42
-#undef TARGET_EPROTONOSUPPORT
-#define TARGET_EPROTONOSUPPORT 43
-#undef TARGET_ESOCKTNOSUPPORT
-#define TARGET_ESOCKTNOSUPPORT 44
-#undef TARGET_EOPNOTSUPP
-#define TARGET_EOPNOTSUPP 45
-#undef TARGET_EPFNOSUPPORT
-#define TARGET_EPFNOSUPPORT 46
-#undef TARGET_EAFNOSUPPORT
-#define TARGET_EAFNOSUPPORT 47
-#undef TARGET_EADDRINUSE
-#define TARGET_EADDRINUSE 48
-#undef TARGET_EADDRNOTAVAIL
-#define TARGET_EADDRNOTAVAIL 49
-#undef TARGET_ENETDOWN
-#define TARGET_ENETDOWN 50
-#undef TARGET_ENETUNREACH
-#define TARGET_ENETUNREACH 51
-#undef TARGET_ENETRESET
-#define TARGET_ENETRESET 52
-#undef TARGET_ECONNABORTED
-#define TARGET_ECONNABORTED 53
-#undef TARGET_ECONNRESET
-#define TARGET_ECONNRESET 54
-#undef TARGET_ENOBUFS
-#define TARGET_ENOBUFS 55
-#undef TARGET_EISCONN
-#define TARGET_EISCONN 56
-#undef TARGET_ENOTCONN
-#define TARGET_ENOTCONN 57
-#undef TARGET_ESHUTDOWN
-#define TARGET_ESHUTDOWN 58
-#undef TARGET_ETOOMANYREFS
-#define TARGET_ETOOMANYREFS 59
-#undef TARGET_ETIMEDOUT
-#define TARGET_ETIMEDOUT 60
-#undef TARGET_ECONNREFUSED
-#define TARGET_ECONNREFUSED 61
-#undef TARGET_ELOOP
-#define TARGET_ELOOP 62
-#undef TARGET_ENAMETOOLONG
-#define TARGET_ENAMETOOLONG 63
-#undef TARGET_EHOSTDOWN
-#define TARGET_EHOSTDOWN 64
-#undef TARGET_EHOSTUNREACH
-#define TARGET_EHOSTUNREACH 65
-#undef TARGET_ENOTEMPTY
-#define TARGET_ENOTEMPTY 66
-/* Unused 67 */
-#undef TARGET_EUSERS
-#define TARGET_EUSERS 68
-#undef TARGET_EDQUOT
-#define TARGET_EDQUOT 69
-#undef TARGET_ESTALE
-#define TARGET_ESTALE 70
-#undef TARGET_EREMOTE
-#define TARGET_EREMOTE 71
-/* Unused 72-76 */
-#undef TARGET_ENOLCK
-#define TARGET_ENOLCK 77
-#undef TARGET_ENOSYS
-#define TARGET_ENOSYS 78
-/* Unused 79 */
-#undef TARGET_ENOMSG
-#define TARGET_ENOMSG 80
-#undef TARGET_EIDRM
-#define TARGET_EIDRM 81
-#undef TARGET_ENOSR
-#define TARGET_ENOSR 82
-#undef TARGET_ETIME
-#define TARGET_ETIME 83
-#undef TARGET_EBADMSG
-#define TARGET_EBADMSG 84
-#undef TARGET_EPROTO
-#define TARGET_EPROTO 85
-#undef TARGET_ENODATA
-#define TARGET_ENODATA 86
-#undef TARGET_ENOSTR
-#define TARGET_ENOSTR 87
-#undef TARGET_ECHRNG
-#define TARGET_ECHRNG 88
-#undef TARGET_EL2NSYNC
-#define TARGET_EL2NSYNC 89
-#undef TARGET_EL3HLT
-#define TARGET_EL3HLT 90
-#undef TARGET_EL3RST
-#define TARGET_EL3RST 91
-#undef TARGET_ENOPKG
-#define TARGET_ENOPKG 92
-#undef TARGET_ELNRNG
-#define TARGET_ELNRNG 93
-#undef TARGET_EUNATCH
-#define TARGET_EUNATCH 94
-#undef TARGET_ENOCSI
-#define TARGET_ENOCSI 95
-#undef TARGET_EL2HLT
-#define TARGET_EL2HLT 96
-#undef TARGET_EBADE
-#define TARGET_EBADE 97
-#undef TARGET_EBADR
-#define TARGET_EBADR 98
-#undef TARGET_EXFULL
-#define TARGET_EXFULL 99
-#undef TARGET_ENOANO
-#define TARGET_ENOANO 100
-#undef TARGET_EBADRQC
-#define TARGET_EBADRQC 101
-#undef TARGET_EBADSLT
-#define TARGET_EBADSLT 102
-/* Unused 103 */
-#undef TARGET_EBFONT
-#define TARGET_EBFONT 104
-#undef TARGET_ENONET
-#define TARGET_ENONET 105
-#undef TARGET_ENOLINK
-#define TARGET_ENOLINK 106
-#undef TARGET_EADV
-#define TARGET_EADV 107
-#undef TARGET_ESRMNT
-#define TARGET_ESRMNT 108
-#undef TARGET_ECOMM
-#define TARGET_ECOMM 109
-#undef TARGET_EMULTIHOP
-#define TARGET_EMULTIHOP 110
-#undef TARGET_EDOTDOT
-#define TARGET_EDOTDOT 111
-#undef TARGET_EOVERFLOW
-#define TARGET_EOVERFLOW 112
-#undef TARGET_ENOTUNIQ
-#define TARGET_ENOTUNIQ 113
-#undef TARGET_EBADFD
-#define TARGET_EBADFD 114
-#undef TARGET_EREMCHG
-#define TARGET_EREMCHG 115
-#undef TARGET_EILSEQ
-#define TARGET_EILSEQ 116
-/* Same as default 117-121 */
-#undef TARGET_ELIBACC
-#define TARGET_ELIBACC 122
-#undef TARGET_ELIBBAD
-#define TARGET_ELIBBAD 123
-#undef TARGET_ELIBSCN
-#define TARGET_ELIBSCN 124
-#undef TARGET_ELIBMAX
-#define TARGET_ELIBMAX 125
-#undef TARGET_ELIBEXEC
-#define TARGET_ELIBEXEC 126
-#undef TARGET_ERESTART
-#define TARGET_ERESTART 127
-#undef TARGET_ESTRPIPE
-#define TARGET_ESTRPIPE 128
-#undef TARGET_ENOMEDIUM
-#define TARGET_ENOMEDIUM 129
-#undef TARGET_EMEDIUMTYPE
-#define TARGET_EMEDIUMTYPE 130
-#undef TARGET_ECANCELED
-#define TARGET_ECANCELED 131
-#undef TARGET_ENOKEY
-#define TARGET_ENOKEY 132
-#undef TARGET_EKEYEXPIRED
-#define TARGET_EKEYEXPIRED 133
-#undef TARGET_EKEYREVOKED
-#define TARGET_EKEYREVOKED 134
-#undef TARGET_EKEYREJECTED
-#define TARGET_EKEYREJECTED 135
-#undef TARGET_EOWNERDEAD
-#define TARGET_EOWNERDEAD 136
-#undef TARGET_ENOTRECOVERABLE
-#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
#define TARGET_GSI_IEEE_FP_CONTROL 45
--
2.31.1
^ permalink raw reply related [flat|nested] 28+ messages in thread
* [PATCH 08/12] linux-user/hppa: Move errno definitions to 'target_errno_defs.h'
2021-07-04 18:37 [PATCH 00/12] linux-user: Extract target errno related functions to 'target_errno.h' Philippe Mathieu-Daudé
` (6 preceding siblings ...)
2021-07-04 18:37 ` [PATCH 07/12] linux-user/alpha: Move errno definitions to 'target_errno_defs.h' Philippe Mathieu-Daudé
@ 2021-07-04 18:37 ` Philippe Mathieu-Daudé
2021-07-04 18:37 ` [PATCH 09/12] linux-user/mips: " Philippe Mathieu-Daudé
` (3 subsequent siblings)
11 siblings, 0 replies; 28+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-07-04 18:37 UTC (permalink / raw)
To: qemu-devel
Cc: Aleksandar Rikalo, Helge Deller, Richard Henderson,
Laurent Vivier, Philippe Mathieu-Daudé,
Taylor Simpson, Aurelien Jarno
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
---
linux-user/hppa/target_errno_defs.h | 210 ++++++++++++++++++++++++++++
linux-user/hppa/target_syscall.h | 210 ----------------------------
2 files changed, 210 insertions(+), 210 deletions(-)
diff --git a/linux-user/hppa/target_errno_defs.h b/linux-user/hppa/target_errno_defs.h
index 5ae6b8d0ba2..411dd591edb 100644
--- a/linux-user/hppa/target_errno_defs.h
+++ b/linux-user/hppa/target_errno_defs.h
@@ -1,4 +1,214 @@
#ifndef HPPA_TARGET_ERRNO_H
#define HPPA_TARGET_ERRNO_H
+#undef TARGET_EWOULDBLOCK
+#define TARGET_EWOULDBLOCK TARGET_EAGAIN /* Operation would block */
+#undef TARGET_ENOMSG
+#define TARGET_ENOMSG 35
+#undef TARGET_EIDRM
+#define TARGET_EIDRM 36
+#undef TARGET_ECHRNG
+#define TARGET_ECHRNG 37
+#undef TARGET_EL2NSYNC
+#define TARGET_EL2NSYNC 38
+#undef TARGET_EL3HLT
+#define TARGET_EL3HLT 39
+#undef TARGET_EL3RST
+#define TARGET_EL3RST 40
+#undef TARGET_ELNRNG
+#define TARGET_ELNRNG 41
+#undef TARGET_EUNATCH
+#define TARGET_EUNATCH 42
+#undef TARGET_ENOCSI
+#define TARGET_ENOCSI 43
+#undef TARGET_EL2HLT
+#define TARGET_EL2HLT 44
+#undef TARGET_EDEADLK
+#define TARGET_EDEADLK 45
+#undef TARGET_ENOLCK
+#define TARGET_ENOLCK 46
+#undef TARGET_EILSEQ
+#define TARGET_EILSEQ 47
+
+#undef TARGET_ENONET
+#define TARGET_ENONET 50
+#undef TARGET_ENODATA
+#define TARGET_ENODATA 51
+#undef TARGET_ETIME
+#define TARGET_ETIME 52
+#undef TARGET_ENOSR
+#define TARGET_ENOSR 53
+#undef TARGET_ENOSTR
+#define TARGET_ENOSTR 54
+#undef TARGET_ENOPKG
+#define TARGET_ENOPKG 55
+
+#undef TARGET_ENOLINK
+#define TARGET_ENOLINK 57
+#undef TARGET_EADV
+#define TARGET_EADV 58
+#undef TARGET_ESRMNT
+#define TARGET_ESRMNT 59
+#undef TARGET_ECOMM
+#define TARGET_ECOMM 60
+#undef TARGET_EPROTO
+#define TARGET_EPROTO 61
+
+#undef TARGET_EMULTIHOP
+#define TARGET_EMULTIHOP 64
+
+#undef TARGET_EDOTDOT
+#define TARGET_EDOTDOT 66
+#undef TARGET_EBADMSG
+#define TARGET_EBADMSG 67
+#undef TARGET_EUSERS
+#define TARGET_EUSERS 68
+#undef TARGET_EDQUOT
+#define TARGET_EDQUOT 69
+#undef TARGET_ESTALE
+#define TARGET_ESTALE 70
+#undef TARGET_EREMOTE
+#define TARGET_EREMOTE 71
+#undef TARGET_EOVERFLOW
+#define TARGET_EOVERFLOW 72
+
+#undef TARGET_EBADE
+#define TARGET_EBADE 160
+#undef TARGET_EBADR
+#define TARGET_EBADR 161
+#undef TARGET_EXFULL
+#define TARGET_EXFULL 162
+#undef TARGET_ENOANO
+#define TARGET_ENOANO 163
+#undef TARGET_EBADRQC
+#define TARGET_EBADRQC 164
+#undef TARGET_EBADSLT
+#define TARGET_EBADSLT 165
+#undef TARGET_EBFONT
+#define TARGET_EBFONT 166
+#undef TARGET_ENOTUNIQ
+#define TARGET_ENOTUNIQ 167
+#undef TARGET_EBADFD
+#define TARGET_EBADFD 168
+#undef TARGET_EREMCHG
+#define TARGET_EREMCHG 169
+#undef TARGET_ELIBACC
+#define TARGET_ELIBACC 170
+#undef TARGET_ELIBBAD
+#define TARGET_ELIBBAD 171
+#undef TARGET_ELIBSCN
+#define TARGET_ELIBSCN 172
+#undef TARGET_ELIBMAX
+#define TARGET_ELIBMAX 173
+#undef TARGET_ELIBEXEC
+#define TARGET_ELIBEXEC 174
+#undef TARGET_ERESTART
+#define TARGET_ERESTART 175
+#undef TARGET_ESTRPIPE
+#define TARGET_ESTRPIPE 176
+#undef TARGET_EUCLEAN
+#define TARGET_EUCLEAN 177
+#undef TARGET_ENOTNAM
+#define TARGET_ENOTNAM 178
+#undef TARGET_ENAVAIL
+#define TARGET_ENAVAIL 179
+#undef TARGET_EISNAM
+#define TARGET_EISNAM 180
+#undef TARGET_EREMOTEIO
+#define TARGET_EREMOTEIO 181
+#undef TARGET_ENOMEDIUM
+#define TARGET_ENOMEDIUM 182
+#undef TARGET_EMEDIUMTYPE
+#define TARGET_EMEDIUMTYPE 183
+#undef TARGET_ENOKEY
+#define TARGET_ENOKEY 184
+#undef TARGET_EKEYEXPIRED
+#define TARGET_EKEYEXPIRED 185
+#undef TARGET_EKEYREVOKED
+#define TARGET_EKEYREVOKED 186
+#undef TARGET_EKEYREJECTED
+#define TARGET_EKEYREJECTED 187
+
+/* Never used in linux. */
+/* #define TARGET_ENOSYM 215 */
+#undef TARGET_ENOTSOCK
+#define TARGET_ENOTSOCK 216
+#undef TARGET_EDESTADDRREQ
+#define TARGET_EDESTADDRREQ 217
+#undef TARGET_EMSGSIZE
+#define TARGET_EMSGSIZE 218
+#undef TARGET_EPROTOTYPE
+#define TARGET_EPROTOTYPE 219
+#undef TARGET_ENOPROTOOPT
+#define TARGET_ENOPROTOOPT 220
+#undef TARGET_EPROTONOSUPPORT
+#define TARGET_EPROTONOSUPPORT 221
+#undef TARGET_ESOCKTNOSUPPORT
+#define TARGET_ESOCKTNOSUPPORT 222
+#undef TARGET_EOPNOTSUPP
+#define TARGET_EOPNOTSUPP 223
+#undef TARGET_EPFNOSUPPORT
+#define TARGET_EPFNOSUPPORT 224
+#undef TARGET_EAFNOSUPPORT
+#define TARGET_EAFNOSUPPORT 225
+#undef TARGET_EADDRINUSE
+#define TARGET_EADDRINUSE 226
+#undef TARGET_EADDRNOTAVAIL
+#define TARGET_EADDRNOTAVAIL 227
+#undef TARGET_ENETDOWN
+#define TARGET_ENETDOWN 228
+#undef TARGET_ENETUNREACH
+#define TARGET_ENETUNREACH 229
+#undef TARGET_ENETRESET
+#define TARGET_ENETRESET 230
+#undef TARGET_ECONNABORTED
+#define TARGET_ECONNABORTED 231
+#undef TARGET_ECONNRESET
+#define TARGET_ECONNRESET 232
+#undef TARGET_ENOBUFS
+#define TARGET_ENOBUFS 233
+#undef TARGET_EISCONN
+#define TARGET_EISCONN 234
+#undef TARGET_ENOTCONN
+#define TARGET_ENOTCONN 235
+#undef TARGET_ESHUTDOWN
+#define TARGET_ESHUTDOWN 236
+#undef TARGET_ETOOMANYREFS
+#define TARGET_ETOOMANYREFS 237
+#undef TARGET_ETIMEDOUT
+#define TARGET_ETIMEDOUT 238
+#undef TARGET_ECONNREFUSED
+#define TARGET_ECONNREFUSED 239
+#define TARGET_EREMOTERELEASE 240
+#undef TARGET_EHOSTDOWN
+#define TARGET_EHOSTDOWN 241
+#undef TARGET_EHOSTUNREACH
+#define TARGET_EHOSTUNREACH 242
+
+#undef TARGET_EALREADY
+#define TARGET_EALREADY 244
+#undef TARGET_EINPROGRESS
+#define TARGET_EINPROGRESS 245
+#undef TARGET_ENOTEMPTY
+#define TARGET_ENOTEMPTY 247
+#undef TARGET_ENAMETOOLONG
+#define TARGET_ENAMETOOLONG 248
+#undef TARGET_ELOOP
+#define TARGET_ELOOP 249
+#undef TARGET_ENOSYS
+#define TARGET_ENOSYS 251
+
+#undef TARGET_ECANCELED
+#define TARGET_ECANCELED 253
+
+#undef TARGET_EOWNERDEAD
+#define TARGET_EOWNERDEAD 254
+#undef TARGET_ENOTRECOVERABLE
+#define TARGET_ENOTRECOVERABLE 255
+
+#undef TARGET_ERFKILL
+#define TARGET_ERFKILL 256
+#undef TARGET_EHWPOISON
+#define TARGET_EHWPOISON 257
+
#endif
diff --git a/linux-user/hppa/target_syscall.h b/linux-user/hppa/target_syscall.h
index 97a095656d8..0018bcb5c4d 100644
--- a/linux-user/hppa/target_syscall.h
+++ b/linux-user/hppa/target_syscall.h
@@ -27,214 +27,4 @@ struct target_pt_regs {
#define TARGET_MCL_FUTURE 2
#define TARGET_MCL_ONFAULT 4
-#undef TARGET_EWOULDBLOCK
-#define TARGET_EWOULDBLOCK TARGET_EAGAIN /* Operation would block */
-#undef TARGET_ENOMSG
-#define TARGET_ENOMSG 35
-#undef TARGET_EIDRM
-#define TARGET_EIDRM 36
-#undef TARGET_ECHRNG
-#define TARGET_ECHRNG 37
-#undef TARGET_EL2NSYNC
-#define TARGET_EL2NSYNC 38
-#undef TARGET_EL3HLT
-#define TARGET_EL3HLT 39
-#undef TARGET_EL3RST
-#define TARGET_EL3RST 40
-#undef TARGET_ELNRNG
-#define TARGET_ELNRNG 41
-#undef TARGET_EUNATCH
-#define TARGET_EUNATCH 42
-#undef TARGET_ENOCSI
-#define TARGET_ENOCSI 43
-#undef TARGET_EL2HLT
-#define TARGET_EL2HLT 44
-#undef TARGET_EDEADLK
-#define TARGET_EDEADLK 45
-#undef TARGET_ENOLCK
-#define TARGET_ENOLCK 46
-#undef TARGET_EILSEQ
-#define TARGET_EILSEQ 47
-
-#undef TARGET_ENONET
-#define TARGET_ENONET 50
-#undef TARGET_ENODATA
-#define TARGET_ENODATA 51
-#undef TARGET_ETIME
-#define TARGET_ETIME 52
-#undef TARGET_ENOSR
-#define TARGET_ENOSR 53
-#undef TARGET_ENOSTR
-#define TARGET_ENOSTR 54
-#undef TARGET_ENOPKG
-#define TARGET_ENOPKG 55
-
-#undef TARGET_ENOLINK
-#define TARGET_ENOLINK 57
-#undef TARGET_EADV
-#define TARGET_EADV 58
-#undef TARGET_ESRMNT
-#define TARGET_ESRMNT 59
-#undef TARGET_ECOMM
-#define TARGET_ECOMM 60
-#undef TARGET_EPROTO
-#define TARGET_EPROTO 61
-
-#undef TARGET_EMULTIHOP
-#define TARGET_EMULTIHOP 64
-
-#undef TARGET_EDOTDOT
-#define TARGET_EDOTDOT 66
-#undef TARGET_EBADMSG
-#define TARGET_EBADMSG 67
-#undef TARGET_EUSERS
-#define TARGET_EUSERS 68
-#undef TARGET_EDQUOT
-#define TARGET_EDQUOT 69
-#undef TARGET_ESTALE
-#define TARGET_ESTALE 70
-#undef TARGET_EREMOTE
-#define TARGET_EREMOTE 71
-#undef TARGET_EOVERFLOW
-#define TARGET_EOVERFLOW 72
-
-#undef TARGET_EBADE
-#define TARGET_EBADE 160
-#undef TARGET_EBADR
-#define TARGET_EBADR 161
-#undef TARGET_EXFULL
-#define TARGET_EXFULL 162
-#undef TARGET_ENOANO
-#define TARGET_ENOANO 163
-#undef TARGET_EBADRQC
-#define TARGET_EBADRQC 164
-#undef TARGET_EBADSLT
-#define TARGET_EBADSLT 165
-#undef TARGET_EBFONT
-#define TARGET_EBFONT 166
-#undef TARGET_ENOTUNIQ
-#define TARGET_ENOTUNIQ 167
-#undef TARGET_EBADFD
-#define TARGET_EBADFD 168
-#undef TARGET_EREMCHG
-#define TARGET_EREMCHG 169
-#undef TARGET_ELIBACC
-#define TARGET_ELIBACC 170
-#undef TARGET_ELIBBAD
-#define TARGET_ELIBBAD 171
-#undef TARGET_ELIBSCN
-#define TARGET_ELIBSCN 172
-#undef TARGET_ELIBMAX
-#define TARGET_ELIBMAX 173
-#undef TARGET_ELIBEXEC
-#define TARGET_ELIBEXEC 174
-#undef TARGET_ERESTART
-#define TARGET_ERESTART 175
-#undef TARGET_ESTRPIPE
-#define TARGET_ESTRPIPE 176
-#undef TARGET_EUCLEAN
-#define TARGET_EUCLEAN 177
-#undef TARGET_ENOTNAM
-#define TARGET_ENOTNAM 178
-#undef TARGET_ENAVAIL
-#define TARGET_ENAVAIL 179
-#undef TARGET_EISNAM
-#define TARGET_EISNAM 180
-#undef TARGET_EREMOTEIO
-#define TARGET_EREMOTEIO 181
-#undef TARGET_ENOMEDIUM
-#define TARGET_ENOMEDIUM 182
-#undef TARGET_EMEDIUMTYPE
-#define TARGET_EMEDIUMTYPE 183
-#undef TARGET_ENOKEY
-#define TARGET_ENOKEY 184
-#undef TARGET_EKEYEXPIRED
-#define TARGET_EKEYEXPIRED 185
-#undef TARGET_EKEYREVOKED
-#define TARGET_EKEYREVOKED 186
-#undef TARGET_EKEYREJECTED
-#define TARGET_EKEYREJECTED 187
-
-/* Never used in linux. */
-/* #define TARGET_ENOSYM 215 */
-#undef TARGET_ENOTSOCK
-#define TARGET_ENOTSOCK 216
-#undef TARGET_EDESTADDRREQ
-#define TARGET_EDESTADDRREQ 217
-#undef TARGET_EMSGSIZE
-#define TARGET_EMSGSIZE 218
-#undef TARGET_EPROTOTYPE
-#define TARGET_EPROTOTYPE 219
-#undef TARGET_ENOPROTOOPT
-#define TARGET_ENOPROTOOPT 220
-#undef TARGET_EPROTONOSUPPORT
-#define TARGET_EPROTONOSUPPORT 221
-#undef TARGET_ESOCKTNOSUPPORT
-#define TARGET_ESOCKTNOSUPPORT 222
-#undef TARGET_EOPNOTSUPP
-#define TARGET_EOPNOTSUPP 223
-#undef TARGET_EPFNOSUPPORT
-#define TARGET_EPFNOSUPPORT 224
-#undef TARGET_EAFNOSUPPORT
-#define TARGET_EAFNOSUPPORT 225
-#undef TARGET_EADDRINUSE
-#define TARGET_EADDRINUSE 226
-#undef TARGET_EADDRNOTAVAIL
-#define TARGET_EADDRNOTAVAIL 227
-#undef TARGET_ENETDOWN
-#define TARGET_ENETDOWN 228
-#undef TARGET_ENETUNREACH
-#define TARGET_ENETUNREACH 229
-#undef TARGET_ENETRESET
-#define TARGET_ENETRESET 230
-#undef TARGET_ECONNABORTED
-#define TARGET_ECONNABORTED 231
-#undef TARGET_ECONNRESET
-#define TARGET_ECONNRESET 232
-#undef TARGET_ENOBUFS
-#define TARGET_ENOBUFS 233
-#undef TARGET_EISCONN
-#define TARGET_EISCONN 234
-#undef TARGET_ENOTCONN
-#define TARGET_ENOTCONN 235
-#undef TARGET_ESHUTDOWN
-#define TARGET_ESHUTDOWN 236
-#undef TARGET_ETOOMANYREFS
-#define TARGET_ETOOMANYREFS 237
-#undef TARGET_ETIMEDOUT
-#define TARGET_ETIMEDOUT 238
-#undef TARGET_ECONNREFUSED
-#define TARGET_ECONNREFUSED 239
-#define TARGET_EREMOTERELEASE 240
-#undef TARGET_EHOSTDOWN
-#define TARGET_EHOSTDOWN 241
-#undef TARGET_EHOSTUNREACH
-#define TARGET_EHOSTUNREACH 242
-
-#undef TARGET_EALREADY
-#define TARGET_EALREADY 244
-#undef TARGET_EINPROGRESS
-#define TARGET_EINPROGRESS 245
-#undef TARGET_ENOTEMPTY
-#define TARGET_ENOTEMPTY 247
-#undef TARGET_ENAMETOOLONG
-#define TARGET_ENAMETOOLONG 248
-#undef TARGET_ELOOP
-#define TARGET_ELOOP 249
-#undef TARGET_ENOSYS
-#define TARGET_ENOSYS 251
-
-#undef TARGET_ECANCELED
-#define TARGET_ECANCELED 253
-
-#undef TARGET_EOWNERDEAD
-#define TARGET_EOWNERDEAD 254
-#undef TARGET_ENOTRECOVERABLE
-#define TARGET_ENOTRECOVERABLE 255
-
-#undef TARGET_ERFKILL
-#define TARGET_ERFKILL 256
-#undef TARGET_EHWPOISON
-#define TARGET_EHWPOISON 257
-
#endif /* HPPA_TARGET_SYSCALL_H */
--
2.31.1
^ permalink raw reply related [flat|nested] 28+ messages in thread
* [PATCH 09/12] linux-user/mips: Move errno definitions to 'target_errno_defs.h'
2021-07-04 18:37 [PATCH 00/12] linux-user: Extract target errno related functions to 'target_errno.h' Philippe Mathieu-Daudé
` (7 preceding siblings ...)
2021-07-04 18:37 ` [PATCH 08/12] linux-user/hppa: " Philippe Mathieu-Daudé
@ 2021-07-04 18:37 ` Philippe Mathieu-Daudé
2021-07-04 18:37 ` [PATCH 10/12] linux-user/syscall: Refactor target_to_host_errno_table_init() Philippe Mathieu-Daudé
` (2 subsequent siblings)
11 siblings, 0 replies; 28+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-07-04 18:37 UTC (permalink / raw)
To: qemu-devel
Cc: Aleksandar Rikalo, Helge Deller, Richard Henderson,
Laurent Vivier, Philippe Mathieu-Daudé,
Taylor Simpson, Aurelien Jarno
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
---
linux-user/mips/target_errno_defs.h | 211 ++++++++++++++++++++++++++
linux-user/mips/target_syscall.h | 211 --------------------------
linux-user/mips64/target_errno_defs.h | 211 ++++++++++++++++++++++++++
linux-user/mips64/target_syscall.h | 211 --------------------------
4 files changed, 422 insertions(+), 422 deletions(-)
diff --git a/linux-user/mips/target_errno_defs.h b/linux-user/mips/target_errno_defs.h
index 05e0bea44bc..ba4d10b1d29 100644
--- a/linux-user/mips/target_errno_defs.h
+++ b/linux-user/mips/target_errno_defs.h
@@ -1,4 +1,215 @@
#ifndef MIPS_TARGET_ERRNO_H
#define MIPS_TARGET_ERRNO_H
+/* Target errno definitions taken from asm-mips/errno.h */
+#undef TARGET_EWOULDBLOCK
+#define TARGET_EWOULDBLOCK TARGET_EAGAIN /* Operation would block */
+#undef TARGET_ENOMSG
+#define TARGET_ENOMSG 35 /* Identifier removed */
+#undef TARGET_EIDRM
+#define TARGET_EIDRM 36 /* Identifier removed */
+#undef TARGET_ECHRNG
+#define TARGET_ECHRNG 37 /* Channel number out of range */
+#undef TARGET_EL2NSYNC
+#define TARGET_EL2NSYNC 38 /* Level 2 not synchronized */
+#undef TARGET_EL3HLT
+#define TARGET_EL3HLT 39 /* Level 3 halted */
+#undef TARGET_EL3RST
+#define TARGET_EL3RST 40 /* Level 3 reset */
+#undef TARGET_ELNRNG
+#define TARGET_ELNRNG 41 /* Link number out of range */
+#undef TARGET_EUNATCH
+#define TARGET_EUNATCH 42 /* Protocol driver not attached */
+#undef TARGET_ENOCSI
+#define TARGET_ENOCSI 43 /* No CSI structure available */
+#undef TARGET_EL2HLT
+#define TARGET_EL2HLT 44 /* Level 2 halted */
+#undef TARGET_EDEADLK
+#define TARGET_EDEADLK 45 /* Resource deadlock would occur */
+#undef TARGET_ENOLCK
+#define TARGET_ENOLCK 46 /* No record locks available */
+#undef TARGET_EBADE
+#define TARGET_EBADE 50 /* Invalid exchange */
+#undef TARGET_EBADR
+#define TARGET_EBADR 51 /* Invalid request descriptor */
+#undef TARGET_EXFULL
+#define TARGET_EXFULL 52 /* TARGET_Exchange full */
+#undef TARGET_ENOANO
+#define TARGET_ENOANO 53 /* No anode */
+#undef TARGET_EBADRQC
+#define TARGET_EBADRQC 54 /* Invalid request code */
+#undef TARGET_EBADSLT
+#define TARGET_EBADSLT 55 /* Invalid slot */
+#undef TARGET_EDEADLOCK
+#define TARGET_EDEADLOCK 56 /* File locking deadlock error */
+#undef TARGET_EBFONT
+#define TARGET_EBFONT 59 /* Bad font file format */
+#undef TARGET_ENOSTR
+#define TARGET_ENOSTR 60 /* Device not a stream */
+#undef TARGET_ENODATA
+#define TARGET_ENODATA 61 /* No data available */
+#undef TARGET_ETIME
+#define TARGET_ETIME 62 /* Timer expired */
+#undef TARGET_ENOSR
+#define TARGET_ENOSR 63 /* Out of streams resources */
+#undef TARGET_ENONET
+#define TARGET_ENONET 64 /* Machine is not on the network */
+#undef TARGET_ENOPKG
+#define TARGET_ENOPKG 65 /* Package not installed */
+#undef TARGET_EREMOTE
+#define TARGET_EREMOTE 66 /* Object is remote */
+#undef TARGET_ENOLINK
+#define TARGET_ENOLINK 67 /* Link has been severed */
+#undef TARGET_EADV
+#define TARGET_EADV 68 /* Advertise error */
+#undef TARGET_ESRMNT
+#define TARGET_ESRMNT 69 /* Srmount error */
+#undef TARGET_ECOMM
+#define TARGET_ECOMM 70 /* Communication error on send */
+#undef TARGET_EPROTO
+#define TARGET_EPROTO 71 /* Protocol error */
+#undef TARGET_EDOTDOT
+#define TARGET_EDOTDOT 73 /* RFS specific error */
+#undef TARGET_EMULTIHOP
+#define TARGET_EMULTIHOP 74 /* Multihop attempted */
+#undef TARGET_EBADMSG
+#define TARGET_EBADMSG 77 /* Not a data message */
+#undef TARGET_ENAMETOOLONG
+#define TARGET_ENAMETOOLONG 78 /* File name too long */
+#undef TARGET_EOVERFLOW
+#define TARGET_EOVERFLOW 79 /* Value too large for defined data type */
+#undef TARGET_ENOTUNIQ
+#define TARGET_ENOTUNIQ 80 /* Name not unique on network */
+#undef TARGET_EBADFD
+#define TARGET_EBADFD 81 /* File descriptor in bad state */
+#undef TARGET_EREMCHG
+#define TARGET_EREMCHG 82 /* Remote address changed */
+#undef TARGET_ELIBACC
+#define TARGET_ELIBACC 83 /* Can not access a needed shared library */
+#undef TARGET_ELIBBAD
+#define TARGET_ELIBBAD 84 /* Accessing a corrupted shared library */
+#undef TARGET_ELIBSCN
+#define TARGET_ELIBSCN 85 /* .lib section in a.out corrupted */
+#undef TARGET_ELIBMAX
+#define TARGET_ELIBMAX 86 /* Attempting to link in too many shared libraries */
+#undef TARGET_ELIBEXEC
+#define TARGET_ELIBEXEC 87 /* Cannot exec a shared library directly */
+#undef TARGET_EILSEQ
+#define TARGET_EILSEQ 88 /* Illegal byte sequence */
+#undef TARGET_ENOSYS
+#define TARGET_ENOSYS 89 /* Function not implemented */
+#undef TARGET_ELOOP
+#define TARGET_ELOOP 90 /* Too many symbolic links encountered */
+#undef TARGET_ERESTART
+#define TARGET_ERESTART 91 /* Interrupted system call should be restarted */
+#undef TARGET_ESTRPIPE
+#define TARGET_ESTRPIPE 92 /* Streams pipe error */
+#undef TARGET_ENOTEMPTY
+#define TARGET_ENOTEMPTY 93 /* Directory not empty */
+#undef TARGET_EUSERS
+#define TARGET_EUSERS 94 /* Too many users */
+#undef TARGET_ENOTSOCK
+#define TARGET_ENOTSOCK 95 /* Socket operation on non-socket */
+#undef TARGET_EDESTADDRREQ
+#define TARGET_EDESTADDRREQ 96 /* Destination address required */
+#undef TARGET_EMSGSIZE
+#define TARGET_EMSGSIZE 97 /* Message too long */
+#undef TARGET_EPROTOTYPE
+#define TARGET_EPROTOTYPE 98 /* Protocol wrong type for socket */
+#undef TARGET_ENOPROTOOPT
+#define TARGET_ENOPROTOOPT 99 /* Protocol not available */
+#undef TARGET_EPROTONOSUPPORT
+#define TARGET_EPROTONOSUPPORT 120 /* Protocol not supported */
+#undef TARGET_ESOCKTNOSUPPORT
+#define TARGET_ESOCKTNOSUPPORT 121 /* Socket type not supported */
+#undef TARGET_EOPNOTSUPP
+#define TARGET_EOPNOTSUPP 122 /* Operation not supported on transport endpoint */
+#undef TARGET_EPFNOSUPPORT
+#define TARGET_EPFNOSUPPORT 123 /* Protocol family not supported */
+#undef TARGET_EAFNOSUPPORT
+#define TARGET_EAFNOSUPPORT 124 /* Address family not supported by protocol */
+#undef TARGET_EADDRINUSE
+#define TARGET_EADDRINUSE 125 /* Address already in use */
+#undef TARGET_EADDRNOTAVAIL
+#define TARGET_EADDRNOTAVAIL 126 /* Cannot assign requested address */
+#undef TARGET_ENETDOWN
+#define TARGET_ENETDOWN 127 /* Network is down */
+#undef TARGET_ENETUNREACH
+#define TARGET_ENETUNREACH 128 /* Network is unreachable */
+#undef TARGET_ENETRESET
+#define TARGET_ENETRESET 129 /* Network dropped connection because of reset */
+#undef TARGET_ECONNABORTED
+#define TARGET_ECONNABORTED 130 /* Software caused connection abort */
+#undef TARGET_ECONNRESET
+#define TARGET_ECONNRESET 131 /* Connection reset by peer */
+#undef TARGET_ENOBUFS
+#define TARGET_ENOBUFS 132 /* No buffer space available */
+#undef TARGET_EISCONN
+#define TARGET_EISCONN 133 /* Transport endpoint is already connected */
+#undef TARGET_ENOTCONN
+#define TARGET_ENOTCONN 134 /* Transport endpoint is not connected */
+#undef TARGET_EUCLEAN
+#define TARGET_EUCLEAN 135 /* Structure needs cleaning */
+#undef TARGET_ENOTNAM
+#define TARGET_ENOTNAM 137 /* Not a XENIX named type file */
+#undef TARGET_ENAVAIL
+#define TARGET_ENAVAIL 138 /* No XENIX semaphores available */
+#undef TARGET_EISNAM
+#define TARGET_EISNAM 139 /* Is a named type file */
+#undef TARGET_EREMOTEIO
+#define TARGET_EREMOTEIO 140 /* Remote I/O error */
+#undef TARGET_EINIT
+#define TARGET_EINIT 141 /* Reserved */
+#undef TARGET_EREMDEV
+#define TARGET_EREMDEV 142 /* TARGET_Error 142 */
+#undef TARGET_ESHUTDOWN
+#define TARGET_ESHUTDOWN 143 /* Cannot send after transport endpoint shutdown */
+#undef TARGET_ETOOMANYREFS
+#define TARGET_ETOOMANYREFS 144 /* Too many references: cannot splice */
+#undef TARGET_ETIMEDOUT
+#define TARGET_ETIMEDOUT 145 /* Connection timed out */
+#undef TARGET_ECONNREFUSED
+#define TARGET_ECONNREFUSED 146 /* Connection refused */
+#undef TARGET_EHOSTDOWN
+#define TARGET_EHOSTDOWN 147 /* Host is down */
+#undef TARGET_EHOSTUNREACH
+#define TARGET_EHOSTUNREACH 148 /* No route to host */
+#undef TARGET_EALREADY
+#define TARGET_EALREADY 149 /* Operation already in progress */
+#undef TARGET_EINPROGRESS
+#define TARGET_EINPROGRESS 150 /* Operation now in progress */
+#undef TARGET_ESTALE
+#define TARGET_ESTALE 151 /* Stale NFS file handle */
+#undef TARGET_ECANCELED
+#define TARGET_ECANCELED 158 /* AIO operation canceled */
+/*
+ * These error are Linux extensions.
+ */
+#undef TARGET_ENOMEDIUM
+#define TARGET_ENOMEDIUM 159 /* No medium found */
+#undef TARGET_EMEDIUMTYPE
+#define TARGET_EMEDIUMTYPE 160 /* Wrong medium type */
+#undef TARGET_ENOKEY
+#define TARGET_ENOKEY 161 /* Required key not available */
+#undef TARGET_EKEYEXPIRED
+#define TARGET_EKEYEXPIRED 162 /* Key has expired */
+#undef TARGET_EKEYREVOKED
+#define TARGET_EKEYREVOKED 163 /* Key has been revoked */
+#undef TARGET_EKEYREJECTED
+#define TARGET_EKEYREJECTED 164 /* Key was rejected by service */
+
+/* for robust mutexes */
+#undef TARGET_EOWNERDEAD
+#define TARGET_EOWNERDEAD 165 /* Owner died */
+#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 */
+
#endif
diff --git a/linux-user/mips/target_syscall.h b/linux-user/mips/target_syscall.h
index 3e558fdb4b4..f59057493a3 100644
--- a/linux-user/mips/target_syscall.h
+++ b/linux-user/mips/target_syscall.h
@@ -20,217 +20,6 @@ struct target_pt_regs {
abi_ulong cp0_epc;
};
-/* Target errno definitions taken from asm-mips/errno.h */
-#undef TARGET_EWOULDBLOCK
-#define TARGET_EWOULDBLOCK TARGET_EAGAIN /* Operation would block */
-#undef TARGET_ENOMSG
-#define TARGET_ENOMSG 35 /* Identifier removed */
-#undef TARGET_EIDRM
-#define TARGET_EIDRM 36 /* Identifier removed */
-#undef TARGET_ECHRNG
-#define TARGET_ECHRNG 37 /* Channel number out of range */
-#undef TARGET_EL2NSYNC
-#define TARGET_EL2NSYNC 38 /* Level 2 not synchronized */
-#undef TARGET_EL3HLT
-#define TARGET_EL3HLT 39 /* Level 3 halted */
-#undef TARGET_EL3RST
-#define TARGET_EL3RST 40 /* Level 3 reset */
-#undef TARGET_ELNRNG
-#define TARGET_ELNRNG 41 /* Link number out of range */
-#undef TARGET_EUNATCH
-#define TARGET_EUNATCH 42 /* Protocol driver not attached */
-#undef TARGET_ENOCSI
-#define TARGET_ENOCSI 43 /* No CSI structure available */
-#undef TARGET_EL2HLT
-#define TARGET_EL2HLT 44 /* Level 2 halted */
-#undef TARGET_EDEADLK
-#define TARGET_EDEADLK 45 /* Resource deadlock would occur */
-#undef TARGET_ENOLCK
-#define TARGET_ENOLCK 46 /* No record locks available */
-#undef TARGET_EBADE
-#define TARGET_EBADE 50 /* Invalid exchange */
-#undef TARGET_EBADR
-#define TARGET_EBADR 51 /* Invalid request descriptor */
-#undef TARGET_EXFULL
-#define TARGET_EXFULL 52 /* TARGET_Exchange full */
-#undef TARGET_ENOANO
-#define TARGET_ENOANO 53 /* No anode */
-#undef TARGET_EBADRQC
-#define TARGET_EBADRQC 54 /* Invalid request code */
-#undef TARGET_EBADSLT
-#define TARGET_EBADSLT 55 /* Invalid slot */
-#undef TARGET_EDEADLOCK
-#define TARGET_EDEADLOCK 56 /* File locking deadlock error */
-#undef TARGET_EBFONT
-#define TARGET_EBFONT 59 /* Bad font file format */
-#undef TARGET_ENOSTR
-#define TARGET_ENOSTR 60 /* Device not a stream */
-#undef TARGET_ENODATA
-#define TARGET_ENODATA 61 /* No data available */
-#undef TARGET_ETIME
-#define TARGET_ETIME 62 /* Timer expired */
-#undef TARGET_ENOSR
-#define TARGET_ENOSR 63 /* Out of streams resources */
-#undef TARGET_ENONET
-#define TARGET_ENONET 64 /* Machine is not on the network */
-#undef TARGET_ENOPKG
-#define TARGET_ENOPKG 65 /* Package not installed */
-#undef TARGET_EREMOTE
-#define TARGET_EREMOTE 66 /* Object is remote */
-#undef TARGET_ENOLINK
-#define TARGET_ENOLINK 67 /* Link has been severed */
-#undef TARGET_EADV
-#define TARGET_EADV 68 /* Advertise error */
-#undef TARGET_ESRMNT
-#define TARGET_ESRMNT 69 /* Srmount error */
-#undef TARGET_ECOMM
-#define TARGET_ECOMM 70 /* Communication error on send */
-#undef TARGET_EPROTO
-#define TARGET_EPROTO 71 /* Protocol error */
-#undef TARGET_EDOTDOT
-#define TARGET_EDOTDOT 73 /* RFS specific error */
-#undef TARGET_EMULTIHOP
-#define TARGET_EMULTIHOP 74 /* Multihop attempted */
-#undef TARGET_EBADMSG
-#define TARGET_EBADMSG 77 /* Not a data message */
-#undef TARGET_ENAMETOOLONG
-#define TARGET_ENAMETOOLONG 78 /* File name too long */
-#undef TARGET_EOVERFLOW
-#define TARGET_EOVERFLOW 79 /* Value too large for defined data type */
-#undef TARGET_ENOTUNIQ
-#define TARGET_ENOTUNIQ 80 /* Name not unique on network */
-#undef TARGET_EBADFD
-#define TARGET_EBADFD 81 /* File descriptor in bad state */
-#undef TARGET_EREMCHG
-#define TARGET_EREMCHG 82 /* Remote address changed */
-#undef TARGET_ELIBACC
-#define TARGET_ELIBACC 83 /* Can not access a needed shared library */
-#undef TARGET_ELIBBAD
-#define TARGET_ELIBBAD 84 /* Accessing a corrupted shared library */
-#undef TARGET_ELIBSCN
-#define TARGET_ELIBSCN 85 /* .lib section in a.out corrupted */
-#undef TARGET_ELIBMAX
-#define TARGET_ELIBMAX 86 /* Attempting to link in too many shared libraries */
-#undef TARGET_ELIBEXEC
-#define TARGET_ELIBEXEC 87 /* Cannot exec a shared library directly */
-#undef TARGET_EILSEQ
-#define TARGET_EILSEQ 88 /* Illegal byte sequence */
-#undef TARGET_ENOSYS
-#define TARGET_ENOSYS 89 /* Function not implemented */
-#undef TARGET_ELOOP
-#define TARGET_ELOOP 90 /* Too many symbolic links encountered */
-#undef TARGET_ERESTART
-#define TARGET_ERESTART 91 /* Interrupted system call should be restarted */
-#undef TARGET_ESTRPIPE
-#define TARGET_ESTRPIPE 92 /* Streams pipe error */
-#undef TARGET_ENOTEMPTY
-#define TARGET_ENOTEMPTY 93 /* Directory not empty */
-#undef TARGET_EUSERS
-#define TARGET_EUSERS 94 /* Too many users */
-#undef TARGET_ENOTSOCK
-#define TARGET_ENOTSOCK 95 /* Socket operation on non-socket */
-#undef TARGET_EDESTADDRREQ
-#define TARGET_EDESTADDRREQ 96 /* Destination address required */
-#undef TARGET_EMSGSIZE
-#define TARGET_EMSGSIZE 97 /* Message too long */
-#undef TARGET_EPROTOTYPE
-#define TARGET_EPROTOTYPE 98 /* Protocol wrong type for socket */
-#undef TARGET_ENOPROTOOPT
-#define TARGET_ENOPROTOOPT 99 /* Protocol not available */
-#undef TARGET_EPROTONOSUPPORT
-#define TARGET_EPROTONOSUPPORT 120 /* Protocol not supported */
-#undef TARGET_ESOCKTNOSUPPORT
-#define TARGET_ESOCKTNOSUPPORT 121 /* Socket type not supported */
-#undef TARGET_EOPNOTSUPP
-#define TARGET_EOPNOTSUPP 122 /* Operation not supported on transport endpoint */
-#undef TARGET_EPFNOSUPPORT
-#define TARGET_EPFNOSUPPORT 123 /* Protocol family not supported */
-#undef TARGET_EAFNOSUPPORT
-#define TARGET_EAFNOSUPPORT 124 /* Address family not supported by protocol */
-#undef TARGET_EADDRINUSE
-#define TARGET_EADDRINUSE 125 /* Address already in use */
-#undef TARGET_EADDRNOTAVAIL
-#define TARGET_EADDRNOTAVAIL 126 /* Cannot assign requested address */
-#undef TARGET_ENETDOWN
-#define TARGET_ENETDOWN 127 /* Network is down */
-#undef TARGET_ENETUNREACH
-#define TARGET_ENETUNREACH 128 /* Network is unreachable */
-#undef TARGET_ENETRESET
-#define TARGET_ENETRESET 129 /* Network dropped connection because of reset */
-#undef TARGET_ECONNABORTED
-#define TARGET_ECONNABORTED 130 /* Software caused connection abort */
-#undef TARGET_ECONNRESET
-#define TARGET_ECONNRESET 131 /* Connection reset by peer */
-#undef TARGET_ENOBUFS
-#define TARGET_ENOBUFS 132 /* No buffer space available */
-#undef TARGET_EISCONN
-#define TARGET_EISCONN 133 /* Transport endpoint is already connected */
-#undef TARGET_ENOTCONN
-#define TARGET_ENOTCONN 134 /* Transport endpoint is not connected */
-#undef TARGET_EUCLEAN
-#define TARGET_EUCLEAN 135 /* Structure needs cleaning */
-#undef TARGET_ENOTNAM
-#define TARGET_ENOTNAM 137 /* Not a XENIX named type file */
-#undef TARGET_ENAVAIL
-#define TARGET_ENAVAIL 138 /* No XENIX semaphores available */
-#undef TARGET_EISNAM
-#define TARGET_EISNAM 139 /* Is a named type file */
-#undef TARGET_EREMOTEIO
-#define TARGET_EREMOTEIO 140 /* Remote I/O error */
-#undef TARGET_EINIT
-#define TARGET_EINIT 141 /* Reserved */
-#undef TARGET_EREMDEV
-#define TARGET_EREMDEV 142 /* TARGET_Error 142 */
-#undef TARGET_ESHUTDOWN
-#define TARGET_ESHUTDOWN 143 /* Cannot send after transport endpoint shutdown */
-#undef TARGET_ETOOMANYREFS
-#define TARGET_ETOOMANYREFS 144 /* Too many references: cannot splice */
-#undef TARGET_ETIMEDOUT
-#define TARGET_ETIMEDOUT 145 /* Connection timed out */
-#undef TARGET_ECONNREFUSED
-#define TARGET_ECONNREFUSED 146 /* Connection refused */
-#undef TARGET_EHOSTDOWN
-#define TARGET_EHOSTDOWN 147 /* Host is down */
-#undef TARGET_EHOSTUNREACH
-#define TARGET_EHOSTUNREACH 148 /* No route to host */
-#undef TARGET_EALREADY
-#define TARGET_EALREADY 149 /* Operation already in progress */
-#undef TARGET_EINPROGRESS
-#define TARGET_EINPROGRESS 150 /* Operation now in progress */
-#undef TARGET_ESTALE
-#define TARGET_ESTALE 151 /* Stale NFS file handle */
-#undef TARGET_ECANCELED
-#define TARGET_ECANCELED 158 /* AIO operation canceled */
-/*
- * These error are Linux extensions.
- */
-#undef TARGET_ENOMEDIUM
-#define TARGET_ENOMEDIUM 159 /* No medium found */
-#undef TARGET_EMEDIUMTYPE
-#define TARGET_EMEDIUMTYPE 160 /* Wrong medium type */
-#undef TARGET_ENOKEY
-#define TARGET_ENOKEY 161 /* Required key not available */
-#undef TARGET_EKEYEXPIRED
-#define TARGET_EKEYEXPIRED 162 /* Key has expired */
-#undef TARGET_EKEYREVOKED
-#define TARGET_EKEYREVOKED 163 /* Key has been revoked */
-#undef TARGET_EKEYREJECTED
-#define TARGET_EKEYREJECTED 164 /* Key was rejected by service */
-
-/* for robust mutexes */
-#undef TARGET_EOWNERDEAD
-#define TARGET_EOWNERDEAD 165 /* Owner died */
-#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 */
-
#define UNAME_MACHINE "mips"
#define UNAME_MINIMUM_RELEASE "2.6.32"
diff --git a/linux-user/mips64/target_errno_defs.h b/linux-user/mips64/target_errno_defs.h
index 0dd5966d1af..ba79f3123b8 100644
--- a/linux-user/mips64/target_errno_defs.h
+++ b/linux-user/mips64/target_errno_defs.h
@@ -1,4 +1,215 @@
#ifndef MIPS64_TARGET_ERRNO_H
#define MIPS64_TARGET_ERRNO_H
+/* Target errno definitions taken from asm-mips/errno.h */
+#undef TARGET_EWOULDBLOCK
+#define TARGET_EWOULDBLOCK TARGET_EAGAIN /* Operation would block */
+#undef TARGET_ENOMSG
+#define TARGET_ENOMSG 35 /* Identifier removed */
+#undef TARGET_EIDRM
+#define TARGET_EIDRM 36 /* Identifier removed */
+#undef TARGET_ECHRNG
+#define TARGET_ECHRNG 37 /* Channel number out of range */
+#undef TARGET_EL2NSYNC
+#define TARGET_EL2NSYNC 38 /* Level 2 not synchronized */
+#undef TARGET_EL3HLT
+#define TARGET_EL3HLT 39 /* Level 3 halted */
+#undef TARGET_EL3RST
+#define TARGET_EL3RST 40 /* Level 3 reset */
+#undef TARGET_ELNRNG
+#define TARGET_ELNRNG 41 /* Link number out of range */
+#undef TARGET_EUNATCH
+#define TARGET_EUNATCH 42 /* Protocol driver not attached */
+#undef TARGET_ENOCSI
+#define TARGET_ENOCSI 43 /* No CSI structure available */
+#undef TARGET_EL2HLT
+#define TARGET_EL2HLT 44 /* Level 2 halted */
+#undef TARGET_EDEADLK
+#define TARGET_EDEADLK 45 /* Resource deadlock would occur */
+#undef TARGET_ENOLCK
+#define TARGET_ENOLCK 46 /* No record locks available */
+#undef TARGET_EBADE
+#define TARGET_EBADE 50 /* Invalid exchange */
+#undef TARGET_EBADR
+#define TARGET_EBADR 51 /* Invalid request descriptor */
+#undef TARGET_EXFULL
+#define TARGET_EXFULL 52 /* TARGET_Exchange full */
+#undef TARGET_ENOANO
+#define TARGET_ENOANO 53 /* No anode */
+#undef TARGET_EBADRQC
+#define TARGET_EBADRQC 54 /* Invalid request code */
+#undef TARGET_EBADSLT
+#define TARGET_EBADSLT 55 /* Invalid slot */
+#undef TARGET_EDEADLOCK
+#define TARGET_EDEADLOCK 56 /* File locking deadlock error */
+#undef TARGET_EBFONT
+#define TARGET_EBFONT 59 /* Bad font file format */
+#undef TARGET_ENOSTR
+#define TARGET_ENOSTR 60 /* Device not a stream */
+#undef TARGET_ENODATA
+#define TARGET_ENODATA 61 /* No data available */
+#undef TARGET_ETIME
+#define TARGET_ETIME 62 /* Timer expired */
+#undef TARGET_ENOSR
+#define TARGET_ENOSR 63 /* Out of streams resources */
+#undef TARGET_ENONET
+#define TARGET_ENONET 64 /* Machine is not on the network */
+#undef TARGET_ENOPKG
+#define TARGET_ENOPKG 65 /* Package not installed */
+#undef TARGET_EREMOTE
+#define TARGET_EREMOTE 66 /* Object is remote */
+#undef TARGET_ENOLINK
+#define TARGET_ENOLINK 67 /* Link has been severed */
+#undef TARGET_EADV
+#define TARGET_EADV 68 /* Advertise error */
+#undef TARGET_ESRMNT
+#define TARGET_ESRMNT 69 /* Srmount error */
+#undef TARGET_ECOMM
+#define TARGET_ECOMM 70 /* Communication error on send */
+#undef TARGET_EPROTO
+#define TARGET_EPROTO 71 /* Protocol error */
+#undef TARGET_EDOTDOT
+#define TARGET_EDOTDOT 73 /* RFS specific error */
+#undef TARGET_EMULTIHOP
+#define TARGET_EMULTIHOP 74 /* Multihop attempted */
+#undef TARGET_EBADMSG
+#define TARGET_EBADMSG 77 /* Not a data message */
+#undef TARGET_ENAMETOOLONG
+#define TARGET_ENAMETOOLONG 78 /* File name too long */
+#undef TARGET_EOVERFLOW
+#define TARGET_EOVERFLOW 79 /* Value too large for defined data type */
+#undef TARGET_ENOTUNIQ
+#define TARGET_ENOTUNIQ 80 /* Name not unique on network */
+#undef TARGET_EBADFD
+#define TARGET_EBADFD 81 /* File descriptor in bad state */
+#undef TARGET_EREMCHG
+#define TARGET_EREMCHG 82 /* Remote address changed */
+#undef TARGET_ELIBACC
+#define TARGET_ELIBACC 83 /* Can not access a needed shared library */
+#undef TARGET_ELIBBAD
+#define TARGET_ELIBBAD 84 /* Accessing a corrupted shared library */
+#undef TARGET_ELIBSCN
+#define TARGET_ELIBSCN 85 /* .lib section in a.out corrupted */
+#undef TARGET_ELIBMAX
+#define TARGET_ELIBMAX 86 /* Attempting to link in too many shared libraries */
+#undef TARGET_ELIBEXEC
+#define TARGET_ELIBEXEC 87 /* Cannot exec a shared library directly */
+#undef TARGET_EILSEQ
+#define TARGET_EILSEQ 88 /* Illegal byte sequence */
+#undef TARGET_ENOSYS
+#define TARGET_ENOSYS 89 /* Function not implemented */
+#undef TARGET_ELOOP
+#define TARGET_ELOOP 90 /* Too many symbolic links encountered */
+#undef TARGET_ERESTART
+#define TARGET_ERESTART 91 /* Interrupted system call should be restarted */
+#undef TARGET_ESTRPIPE
+#define TARGET_ESTRPIPE 92 /* Streams pipe error */
+#undef TARGET_ENOTEMPTY
+#define TARGET_ENOTEMPTY 93 /* Directory not empty */
+#undef TARGET_EUSERS
+#define TARGET_EUSERS 94 /* Too many users */
+#undef TARGET_ENOTSOCK
+#define TARGET_ENOTSOCK 95 /* Socket operation on non-socket */
+#undef TARGET_EDESTADDRREQ
+#define TARGET_EDESTADDRREQ 96 /* Destination address required */
+#undef TARGET_EMSGSIZE
+#define TARGET_EMSGSIZE 97 /* Message too long */
+#undef TARGET_EPROTOTYPE
+#define TARGET_EPROTOTYPE 98 /* Protocol wrong type for socket */
+#undef TARGET_ENOPROTOOPT
+#define TARGET_ENOPROTOOPT 99 /* Protocol not available */
+#undef TARGET_EPROTONOSUPPORT
+#define TARGET_EPROTONOSUPPORT 120 /* Protocol not supported */
+#undef TARGET_ESOCKTNOSUPPORT
+#define TARGET_ESOCKTNOSUPPORT 121 /* Socket type not supported */
+#undef TARGET_EOPNOTSUPP
+#define TARGET_EOPNOTSUPP 122 /* Operation not supported on transport endpoint */
+#undef TARGET_EPFNOSUPPORT
+#define TARGET_EPFNOSUPPORT 123 /* Protocol family not supported */
+#undef TARGET_EAFNOSUPPORT
+#define TARGET_EAFNOSUPPORT 124 /* Address family not supported by protocol */
+#undef TARGET_EADDRINUSE
+#define TARGET_EADDRINUSE 125 /* Address already in use */
+#undef TARGET_EADDRNOTAVAIL
+#define TARGET_EADDRNOTAVAIL 126 /* Cannot assign requested address */
+#undef TARGET_ENETDOWN
+#define TARGET_ENETDOWN 127 /* Network is down */
+#undef TARGET_ENETUNREACH
+#define TARGET_ENETUNREACH 128 /* Network is unreachable */
+#undef TARGET_ENETRESET
+#define TARGET_ENETRESET 129 /* Network dropped connection because of reset */
+#undef TARGET_ECONNABORTED
+#define TARGET_ECONNABORTED 130 /* Software caused connection abort */
+#undef TARGET_ECONNRESET
+#define TARGET_ECONNRESET 131 /* Connection reset by peer */
+#undef TARGET_ENOBUFS
+#define TARGET_ENOBUFS 132 /* No buffer space available */
+#undef TARGET_EISCONN
+#define TARGET_EISCONN 133 /* Transport endpoint is already connected */
+#undef TARGET_ENOTCONN
+#define TARGET_ENOTCONN 134 /* Transport endpoint is not connected */
+#undef TARGET_EUCLEAN
+#define TARGET_EUCLEAN 135 /* Structure needs cleaning */
+#undef TARGET_ENOTNAM
+#define TARGET_ENOTNAM 137 /* Not a XENIX named type file */
+#undef TARGET_ENAVAIL
+#define TARGET_ENAVAIL 138 /* No XENIX semaphores available */
+#undef TARGET_EISNAM
+#define TARGET_EISNAM 139 /* Is a named type file */
+#undef TARGET_EREMOTEIO
+#define TARGET_EREMOTEIO 140 /* Remote I/O error */
+#undef TARGET_EINIT
+#define TARGET_EINIT 141 /* Reserved */
+#undef TARGET_EREMDEV
+#define TARGET_EREMDEV 142 /* TARGET_Error 142 */
+#undef TARGET_ESHUTDOWN
+#define TARGET_ESHUTDOWN 143 /* Cannot send after transport endpoint shutdown */
+#undef TARGET_ETOOMANYREFS
+#define TARGET_ETOOMANYREFS 144 /* Too many references: cannot splice */
+#undef TARGET_ETIMEDOUT
+#define TARGET_ETIMEDOUT 145 /* Connection timed out */
+#undef TARGET_ECONNREFUSED
+#define TARGET_ECONNREFUSED 146 /* Connection refused */
+#undef TARGET_EHOSTDOWN
+#define TARGET_EHOSTDOWN 147 /* Host is down */
+#undef TARGET_EHOSTUNREACH
+#define TARGET_EHOSTUNREACH 148 /* No route to host */
+#undef TARGET_EALREADY
+#define TARGET_EALREADY 149 /* Operation already in progress */
+#undef TARGET_EINPROGRESS
+#define TARGET_EINPROGRESS 150 /* Operation now in progress */
+#undef TARGET_ESTALE
+#define TARGET_ESTALE 151 /* Stale NFS file handle */
+#undef TARGET_ECANCELED
+#define TARGET_ECANCELED 158 /* AIO operation canceled */
+/*
+ * These error are Linux extensions.
+ */
+#undef TARGET_ENOMEDIUM
+#define TARGET_ENOMEDIUM 159 /* No medium found */
+#undef TARGET_EMEDIUMTYPE
+#define TARGET_EMEDIUMTYPE 160 /* Wrong medium type */
+#undef TARGET_ENOKEY
+#define TARGET_ENOKEY 161 /* Required key not available */
+#undef TARGET_EKEYEXPIRED
+#define TARGET_EKEYEXPIRED 162 /* Key has expired */
+#undef TARGET_EKEYREVOKED
+#define TARGET_EKEYREVOKED 163 /* Key has been revoked */
+#undef TARGET_EKEYREJECTED
+#define TARGET_EKEYREJECTED 164 /* Key was rejected by service */
+
+/* for robust mutexes */
+#undef TARGET_EOWNERDEAD
+#define TARGET_EOWNERDEAD 165 /* Owner died */
+#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 */
+
#endif
diff --git a/linux-user/mips64/target_syscall.h b/linux-user/mips64/target_syscall.h
index c54374c5a29..cd1e1b49691 100644
--- a/linux-user/mips64/target_syscall.h
+++ b/linux-user/mips64/target_syscall.h
@@ -17,217 +17,6 @@ struct target_pt_regs {
target_ulong cp0_epc;
};
-/* Target errno definitions taken from asm-mips/errno.h */
-#undef TARGET_EWOULDBLOCK
-#define TARGET_EWOULDBLOCK TARGET_EAGAIN /* Operation would block */
-#undef TARGET_ENOMSG
-#define TARGET_ENOMSG 35 /* Identifier removed */
-#undef TARGET_EIDRM
-#define TARGET_EIDRM 36 /* Identifier removed */
-#undef TARGET_ECHRNG
-#define TARGET_ECHRNG 37 /* Channel number out of range */
-#undef TARGET_EL2NSYNC
-#define TARGET_EL2NSYNC 38 /* Level 2 not synchronized */
-#undef TARGET_EL3HLT
-#define TARGET_EL3HLT 39 /* Level 3 halted */
-#undef TARGET_EL3RST
-#define TARGET_EL3RST 40 /* Level 3 reset */
-#undef TARGET_ELNRNG
-#define TARGET_ELNRNG 41 /* Link number out of range */
-#undef TARGET_EUNATCH
-#define TARGET_EUNATCH 42 /* Protocol driver not attached */
-#undef TARGET_ENOCSI
-#define TARGET_ENOCSI 43 /* No CSI structure available */
-#undef TARGET_EL2HLT
-#define TARGET_EL2HLT 44 /* Level 2 halted */
-#undef TARGET_EDEADLK
-#define TARGET_EDEADLK 45 /* Resource deadlock would occur */
-#undef TARGET_ENOLCK
-#define TARGET_ENOLCK 46 /* No record locks available */
-#undef TARGET_EBADE
-#define TARGET_EBADE 50 /* Invalid exchange */
-#undef TARGET_EBADR
-#define TARGET_EBADR 51 /* Invalid request descriptor */
-#undef TARGET_EXFULL
-#define TARGET_EXFULL 52 /* TARGET_Exchange full */
-#undef TARGET_ENOANO
-#define TARGET_ENOANO 53 /* No anode */
-#undef TARGET_EBADRQC
-#define TARGET_EBADRQC 54 /* Invalid request code */
-#undef TARGET_EBADSLT
-#define TARGET_EBADSLT 55 /* Invalid slot */
-#undef TARGET_EDEADLOCK
-#define TARGET_EDEADLOCK 56 /* File locking deadlock error */
-#undef TARGET_EBFONT
-#define TARGET_EBFONT 59 /* Bad font file format */
-#undef TARGET_ENOSTR
-#define TARGET_ENOSTR 60 /* Device not a stream */
-#undef TARGET_ENODATA
-#define TARGET_ENODATA 61 /* No data available */
-#undef TARGET_ETIME
-#define TARGET_ETIME 62 /* Timer expired */
-#undef TARGET_ENOSR
-#define TARGET_ENOSR 63 /* Out of streams resources */
-#undef TARGET_ENONET
-#define TARGET_ENONET 64 /* Machine is not on the network */
-#undef TARGET_ENOPKG
-#define TARGET_ENOPKG 65 /* Package not installed */
-#undef TARGET_EREMOTE
-#define TARGET_EREMOTE 66 /* Object is remote */
-#undef TARGET_ENOLINK
-#define TARGET_ENOLINK 67 /* Link has been severed */
-#undef TARGET_EADV
-#define TARGET_EADV 68 /* Advertise error */
-#undef TARGET_ESRMNT
-#define TARGET_ESRMNT 69 /* Srmount error */
-#undef TARGET_ECOMM
-#define TARGET_ECOMM 70 /* Communication error on send */
-#undef TARGET_EPROTO
-#define TARGET_EPROTO 71 /* Protocol error */
-#undef TARGET_EDOTDOT
-#define TARGET_EDOTDOT 73 /* RFS specific error */
-#undef TARGET_EMULTIHOP
-#define TARGET_EMULTIHOP 74 /* Multihop attempted */
-#undef TARGET_EBADMSG
-#define TARGET_EBADMSG 77 /* Not a data message */
-#undef TARGET_ENAMETOOLONG
-#define TARGET_ENAMETOOLONG 78 /* File name too long */
-#undef TARGET_EOVERFLOW
-#define TARGET_EOVERFLOW 79 /* Value too large for defined data type */
-#undef TARGET_ENOTUNIQ
-#define TARGET_ENOTUNIQ 80 /* Name not unique on network */
-#undef TARGET_EBADFD
-#define TARGET_EBADFD 81 /* File descriptor in bad state */
-#undef TARGET_EREMCHG
-#define TARGET_EREMCHG 82 /* Remote address changed */
-#undef TARGET_ELIBACC
-#define TARGET_ELIBACC 83 /* Can not access a needed shared library */
-#undef TARGET_ELIBBAD
-#define TARGET_ELIBBAD 84 /* Accessing a corrupted shared library */
-#undef TARGET_ELIBSCN
-#define TARGET_ELIBSCN 85 /* .lib section in a.out corrupted */
-#undef TARGET_ELIBMAX
-#define TARGET_ELIBMAX 86 /* Attempting to link in too many shared libraries */
-#undef TARGET_ELIBEXEC
-#define TARGET_ELIBEXEC 87 /* Cannot exec a shared library directly */
-#undef TARGET_EILSEQ
-#define TARGET_EILSEQ 88 /* Illegal byte sequence */
-#undef TARGET_ENOSYS
-#define TARGET_ENOSYS 89 /* Function not implemented */
-#undef TARGET_ELOOP
-#define TARGET_ELOOP 90 /* Too many symbolic links encountered */
-#undef TARGET_ERESTART
-#define TARGET_ERESTART 91 /* Interrupted system call should be restarted */
-#undef TARGET_ESTRPIPE
-#define TARGET_ESTRPIPE 92 /* Streams pipe error */
-#undef TARGET_ENOTEMPTY
-#define TARGET_ENOTEMPTY 93 /* Directory not empty */
-#undef TARGET_EUSERS
-#define TARGET_EUSERS 94 /* Too many users */
-#undef TARGET_ENOTSOCK
-#define TARGET_ENOTSOCK 95 /* Socket operation on non-socket */
-#undef TARGET_EDESTADDRREQ
-#define TARGET_EDESTADDRREQ 96 /* Destination address required */
-#undef TARGET_EMSGSIZE
-#define TARGET_EMSGSIZE 97 /* Message too long */
-#undef TARGET_EPROTOTYPE
-#define TARGET_EPROTOTYPE 98 /* Protocol wrong type for socket */
-#undef TARGET_ENOPROTOOPT
-#define TARGET_ENOPROTOOPT 99 /* Protocol not available */
-#undef TARGET_EPROTONOSUPPORT
-#define TARGET_EPROTONOSUPPORT 120 /* Protocol not supported */
-#undef TARGET_ESOCKTNOSUPPORT
-#define TARGET_ESOCKTNOSUPPORT 121 /* Socket type not supported */
-#undef TARGET_EOPNOTSUPP
-#define TARGET_EOPNOTSUPP 122 /* Operation not supported on transport endpoint */
-#undef TARGET_EPFNOSUPPORT
-#define TARGET_EPFNOSUPPORT 123 /* Protocol family not supported */
-#undef TARGET_EAFNOSUPPORT
-#define TARGET_EAFNOSUPPORT 124 /* Address family not supported by protocol */
-#undef TARGET_EADDRINUSE
-#define TARGET_EADDRINUSE 125 /* Address already in use */
-#undef TARGET_EADDRNOTAVAIL
-#define TARGET_EADDRNOTAVAIL 126 /* Cannot assign requested address */
-#undef TARGET_ENETDOWN
-#define TARGET_ENETDOWN 127 /* Network is down */
-#undef TARGET_ENETUNREACH
-#define TARGET_ENETUNREACH 128 /* Network is unreachable */
-#undef TARGET_ENETRESET
-#define TARGET_ENETRESET 129 /* Network dropped connection because of reset */
-#undef TARGET_ECONNABORTED
-#define TARGET_ECONNABORTED 130 /* Software caused connection abort */
-#undef TARGET_ECONNRESET
-#define TARGET_ECONNRESET 131 /* Connection reset by peer */
-#undef TARGET_ENOBUFS
-#define TARGET_ENOBUFS 132 /* No buffer space available */
-#undef TARGET_EISCONN
-#define TARGET_EISCONN 133 /* Transport endpoint is already connected */
-#undef TARGET_ENOTCONN
-#define TARGET_ENOTCONN 134 /* Transport endpoint is not connected */
-#undef TARGET_EUCLEAN
-#define TARGET_EUCLEAN 135 /* Structure needs cleaning */
-#undef TARGET_ENOTNAM
-#define TARGET_ENOTNAM 137 /* Not a XENIX named type file */
-#undef TARGET_ENAVAIL
-#define TARGET_ENAVAIL 138 /* No XENIX semaphores available */
-#undef TARGET_EISNAM
-#define TARGET_EISNAM 139 /* Is a named type file */
-#undef TARGET_EREMOTEIO
-#define TARGET_EREMOTEIO 140 /* Remote I/O error */
-#undef TARGET_EINIT
-#define TARGET_EINIT 141 /* Reserved */
-#undef TARGET_EREMDEV
-#define TARGET_EREMDEV 142 /* TARGET_Error 142 */
-#undef TARGET_ESHUTDOWN
-#define TARGET_ESHUTDOWN 143 /* Cannot send after transport endpoint shutdown */
-#undef TARGET_ETOOMANYREFS
-#define TARGET_ETOOMANYREFS 144 /* Too many references: cannot splice */
-#undef TARGET_ETIMEDOUT
-#define TARGET_ETIMEDOUT 145 /* Connection timed out */
-#undef TARGET_ECONNREFUSED
-#define TARGET_ECONNREFUSED 146 /* Connection refused */
-#undef TARGET_EHOSTDOWN
-#define TARGET_EHOSTDOWN 147 /* Host is down */
-#undef TARGET_EHOSTUNREACH
-#define TARGET_EHOSTUNREACH 148 /* No route to host */
-#undef TARGET_EALREADY
-#define TARGET_EALREADY 149 /* Operation already in progress */
-#undef TARGET_EINPROGRESS
-#define TARGET_EINPROGRESS 150 /* Operation now in progress */
-#undef TARGET_ESTALE
-#define TARGET_ESTALE 151 /* Stale NFS file handle */
-#undef TARGET_ECANCELED
-#define TARGET_ECANCELED 158 /* AIO operation canceled */
-/*
- * These error are Linux extensions.
- */
-#undef TARGET_ENOMEDIUM
-#define TARGET_ENOMEDIUM 159 /* No medium found */
-#undef TARGET_EMEDIUMTYPE
-#define TARGET_EMEDIUMTYPE 160 /* Wrong medium type */
-#undef TARGET_ENOKEY
-#define TARGET_ENOKEY 161 /* Required key not available */
-#undef TARGET_EKEYEXPIRED
-#define TARGET_EKEYEXPIRED 162 /* Key has expired */
-#undef TARGET_EKEYREVOKED
-#define TARGET_EKEYREVOKED 163 /* Key has been revoked */
-#undef TARGET_EKEYREJECTED
-#define TARGET_EKEYREJECTED 164 /* Key was rejected by service */
-
-/* for robust mutexes */
-#undef TARGET_EOWNERDEAD
-#define TARGET_EOWNERDEAD 165 /* Owner died */
-#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 */
-
#define UNAME_MACHINE "mips64"
#define UNAME_MINIMUM_RELEASE "2.6.32"
--
2.31.1
^ permalink raw reply related [flat|nested] 28+ messages in thread
* [PATCH 10/12] linux-user/syscall: Refactor target_to_host_errno_table_init()
2021-07-04 18:37 [PATCH 00/12] linux-user: Extract target errno related functions to 'target_errno.h' Philippe Mathieu-Daudé
` (8 preceding siblings ...)
2021-07-04 18:37 ` [PATCH 09/12] linux-user/mips: " Philippe Mathieu-Daudé
@ 2021-07-04 18:37 ` Philippe Mathieu-Daudé
2021-07-04 18:37 ` [PATCH 11/12] linux-user/syscall: Remove hardcoded tabs (code style) Philippe Mathieu-Daudé
2021-07-04 18:37 ` [PATCH 12/12] linux-user: Extract target errno related functions to 'target_errno.h' Philippe Mathieu-Daudé
11 siblings, 0 replies; 28+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-07-04 18:37 UTC (permalink / raw)
To: qemu-devel
Cc: Aleksandar Rikalo, Helge Deller, Richard Henderson,
Laurent Vivier, Philippe Mathieu-Daudé,
Taylor Simpson, Aurelien Jarno
To be able to move the errno handling code out of syscall.c,
first refactor the target_to_host_errno_table[] initialization
as a new init() function.
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
---
linux-user/syscall.c | 24 ++++++++++++++++--------
1 file changed, 16 insertions(+), 8 deletions(-)
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index 64bbf331b28..33b7fef12a8 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -509,8 +509,10 @@ static inline int next_free_host_timer(void)
#define ERRNO_TABLE_SIZE 1200
-/* target_to_host_errno_table[] is initialized from
- * host_to_target_errno_table[] in syscall_init(). */
+/*
+ * target_to_host_errno_table[] is initialized from
+ * host_to_target_errno_table[] in target_to_host_errno_table_init().
+ */
static uint16_t target_to_host_errno_table[ERRNO_TABLE_SIZE] = {
};
@@ -637,6 +639,17 @@ static uint16_t host_to_target_errno_table[ERRNO_TABLE_SIZE] = {
#endif
};
+static void target_to_host_errno_table_init(void)
+{
+ /*
+ * Build target_to_host_errno_table[] table
+ * from host_to_target_errno_table[].
+ */
+ for (int i = 0; i < ERRNO_TABLE_SIZE; i++) {
+ target_to_host_errno_table[host_to_target_errno_table[i]] = i;
+ }
+}
+
static inline int host_to_target_errno(int err)
{
if (err >= 0 && err < ERRNO_TABLE_SIZE &&
@@ -7102,7 +7115,6 @@ void syscall_init(void)
IOCTLEntry *ie;
const argtype *arg_type;
int size;
- int i;
thunk_init(STRUCT_MAX);
@@ -7112,11 +7124,7 @@ void syscall_init(void)
#undef STRUCT
#undef STRUCT_SPECIAL
- /* Build target_to_host_errno_table[] table from
- * host_to_target_errno_table[]. */
- for (i = 0; i < ERRNO_TABLE_SIZE; i++) {
- target_to_host_errno_table[host_to_target_errno_table[i]] = i;
- }
+ target_to_host_errno_table_init();
/* we patch the ioctl size if necessary. We rely on the fact that
no ioctl has all the bits at '1' in the size field */
--
2.31.1
^ permalink raw reply related [flat|nested] 28+ messages in thread
* [PATCH 11/12] linux-user/syscall: Remove hardcoded tabs (code style)
2021-07-04 18:37 [PATCH 00/12] linux-user: Extract target errno related functions to 'target_errno.h' Philippe Mathieu-Daudé
` (9 preceding siblings ...)
2021-07-04 18:37 ` [PATCH 10/12] linux-user/syscall: Refactor target_to_host_errno_table_init() Philippe Mathieu-Daudé
@ 2021-07-04 18:37 ` Philippe Mathieu-Daudé
2021-07-07 19:34 ` Laurent Vivier
2021-07-04 18:37 ` [PATCH 12/12] linux-user: Extract target errno related functions to 'target_errno.h' Philippe Mathieu-Daudé
11 siblings, 1 reply; 28+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-07-04 18:37 UTC (permalink / raw)
To: qemu-devel
Cc: Aleksandar Rikalo, Helge Deller, Richard Henderson,
Laurent Vivier, Philippe Mathieu-Daudé,
Taylor Simpson, Aurelien Jarno
We are going to move this code, fix its style first.
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
---
Patch trivial to review using 'git-diff --ignore-all-space'
---
linux-user/syscall.c | 188 +++++++++++++++++++++----------------------
1 file changed, 94 insertions(+), 94 deletions(-)
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index 33b7fef12a8..3761d3b2d64 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -521,112 +521,112 @@ static uint16_t target_to_host_errno_table[ERRNO_TABLE_SIZE] = {
* minus the errnos that are not actually generic to all archs.
*/
static uint16_t host_to_target_errno_table[ERRNO_TABLE_SIZE] = {
- [EAGAIN] = TARGET_EAGAIN,
- [EIDRM] = TARGET_EIDRM,
- [ECHRNG] = TARGET_ECHRNG,
- [EL2NSYNC] = TARGET_EL2NSYNC,
- [EL3HLT] = TARGET_EL3HLT,
- [EL3RST] = TARGET_EL3RST,
- [ELNRNG] = TARGET_ELNRNG,
- [EUNATCH] = TARGET_EUNATCH,
- [ENOCSI] = TARGET_ENOCSI,
- [EL2HLT] = TARGET_EL2HLT,
- [EDEADLK] = TARGET_EDEADLK,
- [ENOLCK] = TARGET_ENOLCK,
- [EBADE] = TARGET_EBADE,
- [EBADR] = TARGET_EBADR,
- [EXFULL] = TARGET_EXFULL,
- [ENOANO] = TARGET_ENOANO,
- [EBADRQC] = TARGET_EBADRQC,
- [EBADSLT] = TARGET_EBADSLT,
- [EBFONT] = TARGET_EBFONT,
- [ENOSTR] = TARGET_ENOSTR,
- [ENODATA] = TARGET_ENODATA,
- [ETIME] = TARGET_ETIME,
- [ENOSR] = TARGET_ENOSR,
- [ENONET] = TARGET_ENONET,
- [ENOPKG] = TARGET_ENOPKG,
- [EREMOTE] = TARGET_EREMOTE,
- [ENOLINK] = TARGET_ENOLINK,
- [EADV] = TARGET_EADV,
- [ESRMNT] = TARGET_ESRMNT,
- [ECOMM] = TARGET_ECOMM,
- [EPROTO] = TARGET_EPROTO,
- [EDOTDOT] = TARGET_EDOTDOT,
- [EMULTIHOP] = TARGET_EMULTIHOP,
- [EBADMSG] = TARGET_EBADMSG,
- [ENAMETOOLONG] = TARGET_ENAMETOOLONG,
- [EOVERFLOW] = TARGET_EOVERFLOW,
- [ENOTUNIQ] = TARGET_ENOTUNIQ,
- [EBADFD] = TARGET_EBADFD,
- [EREMCHG] = TARGET_EREMCHG,
- [ELIBACC] = TARGET_ELIBACC,
- [ELIBBAD] = TARGET_ELIBBAD,
- [ELIBSCN] = TARGET_ELIBSCN,
- [ELIBMAX] = TARGET_ELIBMAX,
- [ELIBEXEC] = TARGET_ELIBEXEC,
- [EILSEQ] = TARGET_EILSEQ,
- [ENOSYS] = TARGET_ENOSYS,
- [ELOOP] = TARGET_ELOOP,
- [ERESTART] = TARGET_ERESTART,
- [ESTRPIPE] = TARGET_ESTRPIPE,
- [ENOTEMPTY] = TARGET_ENOTEMPTY,
- [EUSERS] = TARGET_EUSERS,
- [ENOTSOCK] = TARGET_ENOTSOCK,
- [EDESTADDRREQ] = TARGET_EDESTADDRREQ,
- [EMSGSIZE] = TARGET_EMSGSIZE,
- [EPROTOTYPE] = TARGET_EPROTOTYPE,
- [ENOPROTOOPT] = TARGET_ENOPROTOOPT,
- [EPROTONOSUPPORT] = TARGET_EPROTONOSUPPORT,
- [ESOCKTNOSUPPORT] = TARGET_ESOCKTNOSUPPORT,
- [EOPNOTSUPP] = TARGET_EOPNOTSUPP,
- [EPFNOSUPPORT] = TARGET_EPFNOSUPPORT,
- [EAFNOSUPPORT] = TARGET_EAFNOSUPPORT,
- [EADDRINUSE] = TARGET_EADDRINUSE,
- [EADDRNOTAVAIL] = TARGET_EADDRNOTAVAIL,
- [ENETDOWN] = TARGET_ENETDOWN,
- [ENETUNREACH] = TARGET_ENETUNREACH,
- [ENETRESET] = TARGET_ENETRESET,
- [ECONNABORTED] = TARGET_ECONNABORTED,
- [ECONNRESET] = TARGET_ECONNRESET,
- [ENOBUFS] = TARGET_ENOBUFS,
- [EISCONN] = TARGET_EISCONN,
- [ENOTCONN] = TARGET_ENOTCONN,
- [EUCLEAN] = TARGET_EUCLEAN,
- [ENOTNAM] = TARGET_ENOTNAM,
- [ENAVAIL] = TARGET_ENAVAIL,
- [EISNAM] = TARGET_EISNAM,
- [EREMOTEIO] = TARGET_EREMOTEIO,
+ [EAGAIN] = TARGET_EAGAIN,
+ [EIDRM] = TARGET_EIDRM,
+ [ECHRNG] = TARGET_ECHRNG,
+ [EL2NSYNC] = TARGET_EL2NSYNC,
+ [EL3HLT] = TARGET_EL3HLT,
+ [EL3RST] = TARGET_EL3RST,
+ [ELNRNG] = TARGET_ELNRNG,
+ [EUNATCH] = TARGET_EUNATCH,
+ [ENOCSI] = TARGET_ENOCSI,
+ [EL2HLT] = TARGET_EL2HLT,
+ [EDEADLK] = TARGET_EDEADLK,
+ [ENOLCK] = TARGET_ENOLCK,
+ [EBADE] = TARGET_EBADE,
+ [EBADR] = TARGET_EBADR,
+ [EXFULL] = TARGET_EXFULL,
+ [ENOANO] = TARGET_ENOANO,
+ [EBADRQC] = TARGET_EBADRQC,
+ [EBADSLT] = TARGET_EBADSLT,
+ [EBFONT] = TARGET_EBFONT,
+ [ENOSTR] = TARGET_ENOSTR,
+ [ENODATA] = TARGET_ENODATA,
+ [ETIME] = TARGET_ETIME,
+ [ENOSR] = TARGET_ENOSR,
+ [ENONET] = TARGET_ENONET,
+ [ENOPKG] = TARGET_ENOPKG,
+ [EREMOTE] = TARGET_EREMOTE,
+ [ENOLINK] = TARGET_ENOLINK,
+ [EADV] = TARGET_EADV,
+ [ESRMNT] = TARGET_ESRMNT,
+ [ECOMM] = TARGET_ECOMM,
+ [EPROTO] = TARGET_EPROTO,
+ [EDOTDOT] = TARGET_EDOTDOT,
+ [EMULTIHOP] = TARGET_EMULTIHOP,
+ [EBADMSG] = TARGET_EBADMSG,
+ [ENAMETOOLONG] = TARGET_ENAMETOOLONG,
+ [EOVERFLOW] = TARGET_EOVERFLOW,
+ [ENOTUNIQ] = TARGET_ENOTUNIQ,
+ [EBADFD] = TARGET_EBADFD,
+ [EREMCHG] = TARGET_EREMCHG,
+ [ELIBACC] = TARGET_ELIBACC,
+ [ELIBBAD] = TARGET_ELIBBAD,
+ [ELIBSCN] = TARGET_ELIBSCN,
+ [ELIBMAX] = TARGET_ELIBMAX,
+ [ELIBEXEC] = TARGET_ELIBEXEC,
+ [EILSEQ] = TARGET_EILSEQ,
+ [ENOSYS] = TARGET_ENOSYS,
+ [ELOOP] = TARGET_ELOOP,
+ [ERESTART] = TARGET_ERESTART,
+ [ESTRPIPE] = TARGET_ESTRPIPE,
+ [ENOTEMPTY] = TARGET_ENOTEMPTY,
+ [EUSERS] = TARGET_EUSERS,
+ [ENOTSOCK] = TARGET_ENOTSOCK,
+ [EDESTADDRREQ] = TARGET_EDESTADDRREQ,
+ [EMSGSIZE] = TARGET_EMSGSIZE,
+ [EPROTOTYPE] = TARGET_EPROTOTYPE,
+ [ENOPROTOOPT] = TARGET_ENOPROTOOPT,
+ [EPROTONOSUPPORT] = TARGET_EPROTONOSUPPORT,
+ [ESOCKTNOSUPPORT] = TARGET_ESOCKTNOSUPPORT,
+ [EOPNOTSUPP] = TARGET_EOPNOTSUPP,
+ [EPFNOSUPPORT] = TARGET_EPFNOSUPPORT,
+ [EAFNOSUPPORT] = TARGET_EAFNOSUPPORT,
+ [EADDRINUSE] = TARGET_EADDRINUSE,
+ [EADDRNOTAVAIL] = TARGET_EADDRNOTAVAIL,
+ [ENETDOWN] = TARGET_ENETDOWN,
+ [ENETUNREACH] = TARGET_ENETUNREACH,
+ [ENETRESET] = TARGET_ENETRESET,
+ [ECONNABORTED] = TARGET_ECONNABORTED,
+ [ECONNRESET] = TARGET_ECONNRESET,
+ [ENOBUFS] = TARGET_ENOBUFS,
+ [EISCONN] = TARGET_EISCONN,
+ [ENOTCONN] = TARGET_ENOTCONN,
+ [EUCLEAN] = TARGET_EUCLEAN,
+ [ENOTNAM] = TARGET_ENOTNAM,
+ [ENAVAIL] = TARGET_ENAVAIL,
+ [EISNAM] = TARGET_EISNAM,
+ [EREMOTEIO] = TARGET_EREMOTEIO,
[EDQUOT] = TARGET_EDQUOT,
- [ESHUTDOWN] = TARGET_ESHUTDOWN,
- [ETOOMANYREFS] = TARGET_ETOOMANYREFS,
- [ETIMEDOUT] = TARGET_ETIMEDOUT,
- [ECONNREFUSED] = TARGET_ECONNREFUSED,
- [EHOSTDOWN] = TARGET_EHOSTDOWN,
- [EHOSTUNREACH] = TARGET_EHOSTUNREACH,
- [EALREADY] = TARGET_EALREADY,
- [EINPROGRESS] = TARGET_EINPROGRESS,
- [ESTALE] = TARGET_ESTALE,
- [ECANCELED] = TARGET_ECANCELED,
- [ENOMEDIUM] = TARGET_ENOMEDIUM,
- [EMEDIUMTYPE] = TARGET_EMEDIUMTYPE,
+ [ESHUTDOWN] = TARGET_ESHUTDOWN,
+ [ETOOMANYREFS] = TARGET_ETOOMANYREFS,
+ [ETIMEDOUT] = TARGET_ETIMEDOUT,
+ [ECONNREFUSED] = TARGET_ECONNREFUSED,
+ [EHOSTDOWN] = TARGET_EHOSTDOWN,
+ [EHOSTUNREACH] = TARGET_EHOSTUNREACH,
+ [EALREADY] = TARGET_EALREADY,
+ [EINPROGRESS] = TARGET_EINPROGRESS,
+ [ESTALE] = TARGET_ESTALE,
+ [ECANCELED] = TARGET_ECANCELED,
+ [ENOMEDIUM] = TARGET_ENOMEDIUM,
+ [EMEDIUMTYPE] = TARGET_EMEDIUMTYPE,
#ifdef ENOKEY
- [ENOKEY] = TARGET_ENOKEY,
+ [ENOKEY] = TARGET_ENOKEY,
#endif
#ifdef EKEYEXPIRED
- [EKEYEXPIRED] = TARGET_EKEYEXPIRED,
+ [EKEYEXPIRED] = TARGET_EKEYEXPIRED,
#endif
#ifdef EKEYREVOKED
- [EKEYREVOKED] = TARGET_EKEYREVOKED,
+ [EKEYREVOKED] = TARGET_EKEYREVOKED,
#endif
#ifdef EKEYREJECTED
- [EKEYREJECTED] = TARGET_EKEYREJECTED,
+ [EKEYREJECTED] = TARGET_EKEYREJECTED,
#endif
#ifdef EOWNERDEAD
- [EOWNERDEAD] = TARGET_EOWNERDEAD,
+ [EOWNERDEAD] = TARGET_EOWNERDEAD,
#endif
#ifdef ENOTRECOVERABLE
- [ENOTRECOVERABLE] = TARGET_ENOTRECOVERABLE,
+ [ENOTRECOVERABLE] = TARGET_ENOTRECOVERABLE,
#endif
#ifdef ENOMSG
[ENOMSG] = TARGET_ENOMSG,
--
2.31.1
^ permalink raw reply related [flat|nested] 28+ messages in thread
* [PATCH 12/12] linux-user: Extract target errno related functions to 'target_errno.h'
2021-07-04 18:37 [PATCH 00/12] linux-user: Extract target errno related functions to 'target_errno.h' Philippe Mathieu-Daudé
` (10 preceding siblings ...)
2021-07-04 18:37 ` [PATCH 11/12] linux-user/syscall: Remove hardcoded tabs (code style) Philippe Mathieu-Daudé
@ 2021-07-04 18:37 ` Philippe Mathieu-Daudé
2021-07-05 22:29 ` Taylor Simpson
2021-07-07 2:08 ` Richard Henderson
11 siblings, 2 replies; 28+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-07-04 18:37 UTC (permalink / raw)
To: qemu-devel
Cc: Aleksandar Rikalo, Helge Deller, Richard Henderson,
Laurent Vivier, Philippe Mathieu-Daudé,
Taylor Simpson, Aurelien Jarno
Extract target errno related functions to a new 'target_errno.h'
header, so we can do the host <-> target errno conversion out of
the big syscall.c (which is already 13k LoC).
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
---
linux-user/target_errno.h | 32 +++++++
linux-user/syscall.c | 162 +--------------------------------
linux-user/target_errno.c | 183 ++++++++++++++++++++++++++++++++++++++
linux-user/meson.build | 1 +
4 files changed, 217 insertions(+), 161 deletions(-)
create mode 100644 linux-user/target_errno.h
create mode 100644 linux-user/target_errno.c
diff --git a/linux-user/target_errno.h b/linux-user/target_errno.h
new file mode 100644
index 00000000000..4e5e9d384c9
--- /dev/null
+++ b/linux-user/target_errno.h
@@ -0,0 +1,32 @@
+/*
+ * Linux syscalls
+ *
+ * Copyright (c) 2003 Fabrice Bellard
+ *
+ * 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.
+ *
+ * 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, see <http://www.gnu.org/licenses/>.
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+#ifndef LINUX_USER_TARGET_ERRNO_H
+#define LINUX_USER_TARGET_ERRNO_H
+
+#define ERRNO_TABLE_SIZE 1200
+
+int target_to_host_errno(int err);
+
+void target_to_host_errno_table_init(void);
+
+int host_to_target_errno(int err);
+
+#endif
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index 3761d3b2d64..06c4358b813 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -131,6 +131,7 @@
#include "qemu/selfmap.h"
#include "user/syscall-trace.h"
#include "qapi/error.h"
+#include "target_errno.h"
#include "fd-trans.h"
#include "tcg/tcg.h"
@@ -507,167 +508,6 @@ static inline int next_free_host_timer(void)
}
#endif
-#define ERRNO_TABLE_SIZE 1200
-
-/*
- * target_to_host_errno_table[] is initialized from
- * host_to_target_errno_table[] in target_to_host_errno_table_init().
- */
-static uint16_t target_to_host_errno_table[ERRNO_TABLE_SIZE] = {
-};
-
-/*
- * This list is the union of errno values overridden in asm-<arch>/errno.h
- * minus the errnos that are not actually generic to all archs.
- */
-static uint16_t host_to_target_errno_table[ERRNO_TABLE_SIZE] = {
- [EAGAIN] = TARGET_EAGAIN,
- [EIDRM] = TARGET_EIDRM,
- [ECHRNG] = TARGET_ECHRNG,
- [EL2NSYNC] = TARGET_EL2NSYNC,
- [EL3HLT] = TARGET_EL3HLT,
- [EL3RST] = TARGET_EL3RST,
- [ELNRNG] = TARGET_ELNRNG,
- [EUNATCH] = TARGET_EUNATCH,
- [ENOCSI] = TARGET_ENOCSI,
- [EL2HLT] = TARGET_EL2HLT,
- [EDEADLK] = TARGET_EDEADLK,
- [ENOLCK] = TARGET_ENOLCK,
- [EBADE] = TARGET_EBADE,
- [EBADR] = TARGET_EBADR,
- [EXFULL] = TARGET_EXFULL,
- [ENOANO] = TARGET_ENOANO,
- [EBADRQC] = TARGET_EBADRQC,
- [EBADSLT] = TARGET_EBADSLT,
- [EBFONT] = TARGET_EBFONT,
- [ENOSTR] = TARGET_ENOSTR,
- [ENODATA] = TARGET_ENODATA,
- [ETIME] = TARGET_ETIME,
- [ENOSR] = TARGET_ENOSR,
- [ENONET] = TARGET_ENONET,
- [ENOPKG] = TARGET_ENOPKG,
- [EREMOTE] = TARGET_EREMOTE,
- [ENOLINK] = TARGET_ENOLINK,
- [EADV] = TARGET_EADV,
- [ESRMNT] = TARGET_ESRMNT,
- [ECOMM] = TARGET_ECOMM,
- [EPROTO] = TARGET_EPROTO,
- [EDOTDOT] = TARGET_EDOTDOT,
- [EMULTIHOP] = TARGET_EMULTIHOP,
- [EBADMSG] = TARGET_EBADMSG,
- [ENAMETOOLONG] = TARGET_ENAMETOOLONG,
- [EOVERFLOW] = TARGET_EOVERFLOW,
- [ENOTUNIQ] = TARGET_ENOTUNIQ,
- [EBADFD] = TARGET_EBADFD,
- [EREMCHG] = TARGET_EREMCHG,
- [ELIBACC] = TARGET_ELIBACC,
- [ELIBBAD] = TARGET_ELIBBAD,
- [ELIBSCN] = TARGET_ELIBSCN,
- [ELIBMAX] = TARGET_ELIBMAX,
- [ELIBEXEC] = TARGET_ELIBEXEC,
- [EILSEQ] = TARGET_EILSEQ,
- [ENOSYS] = TARGET_ENOSYS,
- [ELOOP] = TARGET_ELOOP,
- [ERESTART] = TARGET_ERESTART,
- [ESTRPIPE] = TARGET_ESTRPIPE,
- [ENOTEMPTY] = TARGET_ENOTEMPTY,
- [EUSERS] = TARGET_EUSERS,
- [ENOTSOCK] = TARGET_ENOTSOCK,
- [EDESTADDRREQ] = TARGET_EDESTADDRREQ,
- [EMSGSIZE] = TARGET_EMSGSIZE,
- [EPROTOTYPE] = TARGET_EPROTOTYPE,
- [ENOPROTOOPT] = TARGET_ENOPROTOOPT,
- [EPROTONOSUPPORT] = TARGET_EPROTONOSUPPORT,
- [ESOCKTNOSUPPORT] = TARGET_ESOCKTNOSUPPORT,
- [EOPNOTSUPP] = TARGET_EOPNOTSUPP,
- [EPFNOSUPPORT] = TARGET_EPFNOSUPPORT,
- [EAFNOSUPPORT] = TARGET_EAFNOSUPPORT,
- [EADDRINUSE] = TARGET_EADDRINUSE,
- [EADDRNOTAVAIL] = TARGET_EADDRNOTAVAIL,
- [ENETDOWN] = TARGET_ENETDOWN,
- [ENETUNREACH] = TARGET_ENETUNREACH,
- [ENETRESET] = TARGET_ENETRESET,
- [ECONNABORTED] = TARGET_ECONNABORTED,
- [ECONNRESET] = TARGET_ECONNRESET,
- [ENOBUFS] = TARGET_ENOBUFS,
- [EISCONN] = TARGET_EISCONN,
- [ENOTCONN] = TARGET_ENOTCONN,
- [EUCLEAN] = TARGET_EUCLEAN,
- [ENOTNAM] = TARGET_ENOTNAM,
- [ENAVAIL] = TARGET_ENAVAIL,
- [EISNAM] = TARGET_EISNAM,
- [EREMOTEIO] = TARGET_EREMOTEIO,
- [EDQUOT] = TARGET_EDQUOT,
- [ESHUTDOWN] = TARGET_ESHUTDOWN,
- [ETOOMANYREFS] = TARGET_ETOOMANYREFS,
- [ETIMEDOUT] = TARGET_ETIMEDOUT,
- [ECONNREFUSED] = TARGET_ECONNREFUSED,
- [EHOSTDOWN] = TARGET_EHOSTDOWN,
- [EHOSTUNREACH] = TARGET_EHOSTUNREACH,
- [EALREADY] = TARGET_EALREADY,
- [EINPROGRESS] = TARGET_EINPROGRESS,
- [ESTALE] = TARGET_ESTALE,
- [ECANCELED] = TARGET_ECANCELED,
- [ENOMEDIUM] = TARGET_ENOMEDIUM,
- [EMEDIUMTYPE] = TARGET_EMEDIUMTYPE,
-#ifdef ENOKEY
- [ENOKEY] = TARGET_ENOKEY,
-#endif
-#ifdef EKEYEXPIRED
- [EKEYEXPIRED] = TARGET_EKEYEXPIRED,
-#endif
-#ifdef EKEYREVOKED
- [EKEYREVOKED] = TARGET_EKEYREVOKED,
-#endif
-#ifdef EKEYREJECTED
- [EKEYREJECTED] = TARGET_EKEYREJECTED,
-#endif
-#ifdef EOWNERDEAD
- [EOWNERDEAD] = TARGET_EOWNERDEAD,
-#endif
-#ifdef ENOTRECOVERABLE
- [ENOTRECOVERABLE] = TARGET_ENOTRECOVERABLE,
-#endif
-#ifdef ENOMSG
- [ENOMSG] = TARGET_ENOMSG,
-#endif
-#ifdef ERKFILL
- [ERFKILL] = TARGET_ERFKILL,
-#endif
-#ifdef EHWPOISON
- [EHWPOISON] = TARGET_EHWPOISON,
-#endif
-};
-
-static void target_to_host_errno_table_init(void)
-{
- /*
- * Build target_to_host_errno_table[] table
- * from host_to_target_errno_table[].
- */
- for (int i = 0; i < ERRNO_TABLE_SIZE; i++) {
- target_to_host_errno_table[host_to_target_errno_table[i]] = i;
- }
-}
-
-static inline int host_to_target_errno(int err)
-{
- if (err >= 0 && err < ERRNO_TABLE_SIZE &&
- host_to_target_errno_table[err]) {
- return host_to_target_errno_table[err];
- }
- return err;
-}
-
-static inline int target_to_host_errno(int err)
-{
- if (err >= 0 && err < ERRNO_TABLE_SIZE &&
- target_to_host_errno_table[err]) {
- return target_to_host_errno_table[err];
- }
- return err;
-}
-
static inline abi_long get_errno(abi_long ret)
{
if (ret == -1)
diff --git a/linux-user/target_errno.c b/linux-user/target_errno.c
new file mode 100644
index 00000000000..2a7320d240f
--- /dev/null
+++ b/linux-user/target_errno.c
@@ -0,0 +1,183 @@
+/*
+ * Linux syscalls
+ *
+ * Copyright (c) 2003 Fabrice Bellard
+ *
+ * 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.
+ *
+ * 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, see <http://www.gnu.org/licenses/>.
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#include "qemu/osdep.h"
+#include "target_errno.h"
+#include "errno_defs.h"
+
+/*
+ * target_to_host_errno_table[] is initialized from
+ * host_to_target_errno_table[] in target_to_host_errno_table_init().
+ */
+static uint16_t target_to_host_errno_table[ERRNO_TABLE_SIZE] = {
+};
+
+/*
+ * This list is the union of errno values overridden in asm-<arch>/errno.h
+ * minus the errnos that are not actually generic to all archs.
+ */
+static uint16_t host_to_target_errno_table[ERRNO_TABLE_SIZE] = {
+ [EAGAIN] = TARGET_EAGAIN,
+ [EIDRM] = TARGET_EIDRM,
+ [ECHRNG] = TARGET_ECHRNG,
+ [EL2NSYNC] = TARGET_EL2NSYNC,
+ [EL3HLT] = TARGET_EL3HLT,
+ [EL3RST] = TARGET_EL3RST,
+ [ELNRNG] = TARGET_ELNRNG,
+ [EUNATCH] = TARGET_EUNATCH,
+ [ENOCSI] = TARGET_ENOCSI,
+ [EL2HLT] = TARGET_EL2HLT,
+ [EDEADLK] = TARGET_EDEADLK,
+ [ENOLCK] = TARGET_ENOLCK,
+ [EBADE] = TARGET_EBADE,
+ [EBADR] = TARGET_EBADR,
+ [EXFULL] = TARGET_EXFULL,
+ [ENOANO] = TARGET_ENOANO,
+ [EBADRQC] = TARGET_EBADRQC,
+ [EBADSLT] = TARGET_EBADSLT,
+ [EBFONT] = TARGET_EBFONT,
+ [ENOSTR] = TARGET_ENOSTR,
+ [ENODATA] = TARGET_ENODATA,
+ [ETIME] = TARGET_ETIME,
+ [ENOSR] = TARGET_ENOSR,
+ [ENONET] = TARGET_ENONET,
+ [ENOPKG] = TARGET_ENOPKG,
+ [EREMOTE] = TARGET_EREMOTE,
+ [ENOLINK] = TARGET_ENOLINK,
+ [EADV] = TARGET_EADV,
+ [ESRMNT] = TARGET_ESRMNT,
+ [ECOMM] = TARGET_ECOMM,
+ [EPROTO] = TARGET_EPROTO,
+ [EDOTDOT] = TARGET_EDOTDOT,
+ [EMULTIHOP] = TARGET_EMULTIHOP,
+ [EBADMSG] = TARGET_EBADMSG,
+ [ENAMETOOLONG] = TARGET_ENAMETOOLONG,
+ [EOVERFLOW] = TARGET_EOVERFLOW,
+ [ENOTUNIQ] = TARGET_ENOTUNIQ,
+ [EBADFD] = TARGET_EBADFD,
+ [EREMCHG] = TARGET_EREMCHG,
+ [ELIBACC] = TARGET_ELIBACC,
+ [ELIBBAD] = TARGET_ELIBBAD,
+ [ELIBSCN] = TARGET_ELIBSCN,
+ [ELIBMAX] = TARGET_ELIBMAX,
+ [ELIBEXEC] = TARGET_ELIBEXEC,
+ [EILSEQ] = TARGET_EILSEQ,
+ [ENOSYS] = TARGET_ENOSYS,
+ [ELOOP] = TARGET_ELOOP,
+ [ERESTART] = TARGET_ERESTART,
+ [ESTRPIPE] = TARGET_ESTRPIPE,
+ [ENOTEMPTY] = TARGET_ENOTEMPTY,
+ [EUSERS] = TARGET_EUSERS,
+ [ENOTSOCK] = TARGET_ENOTSOCK,
+ [EDESTADDRREQ] = TARGET_EDESTADDRREQ,
+ [EMSGSIZE] = TARGET_EMSGSIZE,
+ [EPROTOTYPE] = TARGET_EPROTOTYPE,
+ [ENOPROTOOPT] = TARGET_ENOPROTOOPT,
+ [EPROTONOSUPPORT] = TARGET_EPROTONOSUPPORT,
+ [ESOCKTNOSUPPORT] = TARGET_ESOCKTNOSUPPORT,
+ [EOPNOTSUPP] = TARGET_EOPNOTSUPP,
+ [EPFNOSUPPORT] = TARGET_EPFNOSUPPORT,
+ [EAFNOSUPPORT] = TARGET_EAFNOSUPPORT,
+ [EADDRINUSE] = TARGET_EADDRINUSE,
+ [EADDRNOTAVAIL] = TARGET_EADDRNOTAVAIL,
+ [ENETDOWN] = TARGET_ENETDOWN,
+ [ENETUNREACH] = TARGET_ENETUNREACH,
+ [ENETRESET] = TARGET_ENETRESET,
+ [ECONNABORTED] = TARGET_ECONNABORTED,
+ [ECONNRESET] = TARGET_ECONNRESET,
+ [ENOBUFS] = TARGET_ENOBUFS,
+ [EISCONN] = TARGET_EISCONN,
+ [ENOTCONN] = TARGET_ENOTCONN,
+ [EUCLEAN] = TARGET_EUCLEAN,
+ [ENOTNAM] = TARGET_ENOTNAM,
+ [ENAVAIL] = TARGET_ENAVAIL,
+ [EISNAM] = TARGET_EISNAM,
+ [EREMOTEIO] = TARGET_EREMOTEIO,
+ [EDQUOT] = TARGET_EDQUOT,
+ [ESHUTDOWN] = TARGET_ESHUTDOWN,
+ [ETOOMANYREFS] = TARGET_ETOOMANYREFS,
+ [ETIMEDOUT] = TARGET_ETIMEDOUT,
+ [ECONNREFUSED] = TARGET_ECONNREFUSED,
+ [EHOSTDOWN] = TARGET_EHOSTDOWN,
+ [EHOSTUNREACH] = TARGET_EHOSTUNREACH,
+ [EALREADY] = TARGET_EALREADY,
+ [EINPROGRESS] = TARGET_EINPROGRESS,
+ [ESTALE] = TARGET_ESTALE,
+ [ECANCELED] = TARGET_ECANCELED,
+ [ENOMEDIUM] = TARGET_ENOMEDIUM,
+ [EMEDIUMTYPE] = TARGET_EMEDIUMTYPE,
+#ifdef ENOKEY
+ [ENOKEY] = TARGET_ENOKEY,
+#endif
+#ifdef EKEYEXPIRED
+ [EKEYEXPIRED] = TARGET_EKEYEXPIRED,
+#endif
+#ifdef EKEYREVOKED
+ [EKEYREVOKED] = TARGET_EKEYREVOKED,
+#endif
+#ifdef EKEYREJECTED
+ [EKEYREJECTED] = TARGET_EKEYREJECTED,
+#endif
+#ifdef EOWNERDEAD
+ [EOWNERDEAD] = TARGET_EOWNERDEAD,
+#endif
+#ifdef ENOTRECOVERABLE
+ [ENOTRECOVERABLE] = TARGET_ENOTRECOVERABLE,
+#endif
+#ifdef ENOMSG
+ [ENOMSG] = TARGET_ENOMSG,
+#endif
+#ifdef ERKFILL
+ [ERFKILL] = TARGET_ERFKILL,
+#endif
+#ifdef EHWPOISON
+ [EHWPOISON] = TARGET_EHWPOISON,
+#endif
+};
+
+void target_to_host_errno_table_init(void)
+{
+ /*
+ * Build target_to_host_errno_table[] table
+ * from host_to_target_errno_table[].
+ */
+ for (int i = 0; i < ERRNO_TABLE_SIZE; i++) {
+ target_to_host_errno_table[host_to_target_errno_table[i]] = i;
+ }
+}
+
+int host_to_target_errno(int err)
+{
+ if (err >= 0 && err < ERRNO_TABLE_SIZE &&
+ host_to_target_errno_table[err]) {
+ return host_to_target_errno_table[err];
+ }
+ return err;
+}
+
+int target_to_host_errno(int err)
+{
+ if (err >= 0 && err < ERRNO_TABLE_SIZE &&
+ target_to_host_errno_table[err]) {
+ return target_to_host_errno_table[err];
+ }
+ return err;
+}
diff --git a/linux-user/meson.build b/linux-user/meson.build
index 9549f81682d..f757b63310b 100644
--- a/linux-user/meson.build
+++ b/linux-user/meson.build
@@ -9,6 +9,7 @@
'signal.c',
'strace.c',
'syscall.c',
+ 'target_errno.c',
'uaccess.c',
'uname.c',
))
--
2.31.1
^ permalink raw reply related [flat|nested] 28+ messages in thread
* RE: [PATCH 12/12] linux-user: Extract target errno related functions to 'target_errno.h'
2021-07-04 18:37 ` [PATCH 12/12] linux-user: Extract target errno related functions to 'target_errno.h' Philippe Mathieu-Daudé
@ 2021-07-05 22:29 ` Taylor Simpson
2021-07-07 2:08 ` Richard Henderson
1 sibling, 0 replies; 28+ messages in thread
From: Taylor Simpson @ 2021-07-05 22:29 UTC (permalink / raw)
To: Philippe Mathieu-Daudé, qemu-devel
Cc: Aleksandar Rikalo, Helge Deller, Richard Henderson,
Laurent Vivier, Aurelien Jarno
> -----Original Message-----
> From: Philippe Mathieu-Daudé <philippe.mathieu.daude@gmail.com> On
> Behalf Of Philippe Mathieu-Daudé
> Sent: Sunday, July 4, 2021 12:38 PM
> To: qemu-devel@nongnu.org
> Cc: Richard Henderson <richard.henderson@linaro.org>; Jiaxun Yang
> <jiaxun.yang@flygoat.com>; Laurent Vivier <laurent@vivier.eu>; Aleksandar
> Rikalo <aleksandar.rikalo@syrmia.com>; Taylor Simpson
> <tsimpson@quicinc.com>; Philippe Mathieu-Daudé <f4bug@amsat.org>;
> Aurelien Jarno <aurelien@aurel32.net>; Helge Deller <deller@gmx.de>
> Subject: [PATCH 12/12] linux-user: Extract target errno related functions to
> 'target_errno.h'
>
> diff --git a/linux-user/target_errno.h b/linux-user/target_errno.h new file
> mode 100644 index 00000000000..4e5e9d384c9
> --- /dev/null
> +++ b/linux-user/target_errno.h
> @@ -0,0 +1,32 @@
> +
> +void target_to_host_errno_table_init(void);
This is added as static in linux-user/syscall.c in patch 10/12. But then, removed from syscall.c in this patch and added to linux-user/target_errno.c in this patch.
Is this so that each patch in the series will build?
> diff --git a/linux-user/target_errno.c b/linux-user/target_errno.c new file
> mode 100644 index 00000000000..2a7320d240f
> --- /dev/null
> +++ b/linux-user/target_errno.c
> @@ -0,0 +1,183 @@
> +/*
> + * Linux syscalls
Copy/paste error?
Could you add a more descriptive comment to this file for posterity?
- How does the default behavior get inherited by targets?
- How does a target override the default behavior?
- A pointer to a target that is overriding the default behavior?
Thanks,
Taylor
^ permalink raw reply [flat|nested] 28+ messages in thread
* RE: [PATCH 05/12] linux-user: Extract target errno to 'target_errno_defs.h'
2021-07-04 18:37 ` [PATCH 05/12] linux-user: Extract target errno to 'target_errno_defs.h' Philippe Mathieu-Daudé
@ 2021-07-05 22:32 ` Taylor Simpson
2021-07-07 1:53 ` Richard Henderson
1 sibling, 0 replies; 28+ messages in thread
From: Taylor Simpson @ 2021-07-05 22:32 UTC (permalink / raw)
To: Philippe Mathieu-Daudé, qemu-devel
Cc: Aleksandar Rikalo, Helge Deller, Richard Henderson,
Laurent Vivier, Aurelien Jarno
> -----Original Message-----
> From: Philippe Mathieu-Daudé <philippe.mathieu.daude@gmail.com> On
> Behalf Of Philippe Mathieu-Daudé
> Sent: Sunday, July 4, 2021 12:38 PM
> To: qemu-devel@nongnu.org
> Cc: Richard Henderson <richard.henderson@linaro.org>; Jiaxun Yang
> <jiaxun.yang@flygoat.com>; Laurent Vivier <laurent@vivier.eu>; Aleksandar
> Rikalo <aleksandar.rikalo@syrmia.com>; Taylor Simpson
> <tsimpson@quicinc.com>; Philippe Mathieu-Daudé <f4bug@amsat.org>;
> Aurelien Jarno <aurelien@aurel32.net>; Helge Deller <deller@gmx.de>
> Subject: [PATCH 05/12] linux-user: Extract target errno to
> 'target_errno_defs.h'
>
> diff --git a/linux-user/hexagon/target_errno_defs.h b/linux-
> user/hexagon/target_errno_defs.h
> new file mode 100644
> index 00000000000..5daac4f5a83
> --- /dev/null
> +++ b/linux-user/hexagon/target_errno_defs.h
> @@ -0,0 +1,6 @@
> +#ifndef HEXAGON_TARGET_ERRNO_H
> +#define HEXAGON_TARGET_ERRNO_H
These should be HEXAGON_TARGET_ERRNO_DEFS_H. Ditto for the other targets.
Otherwise,
Reviewed-by: Taylor Simpson <tsimpson@quicinc.com>
Thanks,
Taylor
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PATCH 01/12] linux-user/alpha: Handle TARGET_EWOULDBLOCK as TARGET_EAGAIN
2021-07-04 18:37 ` [PATCH 01/12] linux-user/alpha: Handle TARGET_EWOULDBLOCK as TARGET_EAGAIN Philippe Mathieu-Daudé
@ 2021-07-07 1:44 ` Richard Henderson
2021-07-07 19:25 ` Laurent Vivier
1 sibling, 0 replies; 28+ messages in thread
From: Richard Henderson @ 2021-07-07 1:44 UTC (permalink / raw)
To: Philippe Mathieu-Daudé, qemu-devel
Cc: Aleksandar Rikalo, Helge Deller, Laurent Vivier, Taylor Simpson,
Aurelien Jarno
On 7/4/21 11:37 AM, Philippe Mathieu-Daudé wrote:
> Linux kernel defines EWOULDBLOCK as EAGAIN (since before v2.6.12-rc2).
>
> Signed-off-by: Philippe Mathieu-Daudé<f4bug@amsat.org>
> ---
> linux-user/alpha/target_syscall.h | 2 ++
> 1 file changed, 2 insertions(+)
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
r~
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PATCH 02/12] linux-user/hppa: Handle TARGET_EWOULDBLOCK as TARGET_EAGAIN
2021-07-04 18:37 ` [PATCH 02/12] linux-user/hppa: " Philippe Mathieu-Daudé
@ 2021-07-07 1:44 ` Richard Henderson
2021-07-07 19:26 ` Laurent Vivier
1 sibling, 0 replies; 28+ messages in thread
From: Richard Henderson @ 2021-07-07 1:44 UTC (permalink / raw)
To: Philippe Mathieu-Daudé, qemu-devel
Cc: Aleksandar Rikalo, Helge Deller, Laurent Vivier, Taylor Simpson,
Aurelien Jarno
On 7/4/21 11:37 AM, Philippe Mathieu-Daudé wrote:
> Linux kernel defines EWOULDBLOCK as EAGAIN (since before v2.6.12-rc2).
>
> Signed-off-by: Philippe Mathieu-Daudé<f4bug@amsat.org>
> ---
> linux-user/hppa/target_syscall.h | 2 ++
> 1 file changed, 2 insertions(+)
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
r~
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PATCH 03/12] linux-user/mips: Handle TARGET_EWOULDBLOCK as TARGET_EAGAIN
2021-07-04 18:37 ` [PATCH 03/12] linux-user/mips: " Philippe Mathieu-Daudé
@ 2021-07-07 1:45 ` Richard Henderson
2021-07-07 19:27 ` Laurent Vivier
1 sibling, 0 replies; 28+ messages in thread
From: Richard Henderson @ 2021-07-07 1:45 UTC (permalink / raw)
To: Philippe Mathieu-Daudé, qemu-devel
Cc: Aleksandar Rikalo, Helge Deller, Laurent Vivier, Taylor Simpson,
Aurelien Jarno
On 7/4/21 11:37 AM, Philippe Mathieu-Daudé wrote:
> Linux kernel defines EWOULDBLOCK as EAGAIN (since before v2.6.12-rc2).
>
> Signed-off-by: Philippe Mathieu-Daudé<f4bug@amsat.org>
> ---
> linux-user/mips/target_syscall.h | 2 ++
> linux-user/mips64/target_syscall.h | 2 ++
> 2 files changed, 4 insertions(+)
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
r~
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PATCH 06/12] linux-user/alpha: Remove hardcoded tabs (code style)
2021-07-04 18:37 ` [PATCH 06/12] linux-user/alpha: Remove hardcoded tabs (code style) Philippe Mathieu-Daudé
@ 2021-07-07 1:46 ` Richard Henderson
2021-07-07 19:32 ` Laurent Vivier
1 sibling, 0 replies; 28+ messages in thread
From: Richard Henderson @ 2021-07-07 1:46 UTC (permalink / raw)
To: Philippe Mathieu-Daudé, qemu-devel
Cc: Aleksandar Rikalo, Helge Deller, Laurent Vivier, Taylor Simpson,
Aurelien Jarno
On 7/4/21 11:37 AM, Philippe Mathieu-Daudé wrote:
> We are going to move this code, fix its style first.
>
> Signed-off-by: Philippe Mathieu-Daudé<f4bug@amsat.org>
> ---
> Patch trivial to review using 'git-diff --ignore-all-space'
> ---
> linux-user/alpha/target_syscall.h | 196 +++++++++++++++---------------
> 1 file changed, 97 insertions(+), 99 deletions(-)
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
r~
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PATCH 05/12] linux-user: Extract target errno to 'target_errno_defs.h'
2021-07-04 18:37 ` [PATCH 05/12] linux-user: Extract target errno to 'target_errno_defs.h' Philippe Mathieu-Daudé
2021-07-05 22:32 ` Taylor Simpson
@ 2021-07-07 1:53 ` Richard Henderson
2021-07-08 8:32 ` Philippe Mathieu-Daudé
1 sibling, 1 reply; 28+ messages in thread
From: Richard Henderson @ 2021-07-07 1:53 UTC (permalink / raw)
To: Philippe Mathieu-Daudé, qemu-devel
Cc: Aleksandar Rikalo, Helge Deller, Laurent Vivier, Taylor Simpson,
Aurelien Jarno
On 7/4/21 11:37 AM, Philippe Mathieu-Daudé wrote:
> We want to access the target errno indepently of the rest
> of the linux-user code. Extract it to a new target-specific
> header: 'target_errno_defs.h'.
>
> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
> ---
> linux-user/aarch64/target_errno_defs.h | 6 ++++++
> linux-user/alpha/target_errno_defs.h | 4 ++++
> linux-user/arm/target_errno_defs.h | 6 ++++++
> linux-user/cris/target_errno_defs.h | 6 ++++++
> linux-user/errno_defs.h | 3 +++
> linux-user/hexagon/target_errno_defs.h | 6 ++++++
> linux-user/hppa/target_errno_defs.h | 4 ++++
> linux-user/i386/target_errno_defs.h | 6 ++++++
> linux-user/m68k/target_errno_defs.h | 6 ++++++
> linux-user/microblaze/target_errno_defs.h | 6 ++++++
> linux-user/mips/target_errno_defs.h | 4 ++++
> linux-user/mips64/target_errno_defs.h | 4 ++++
> linux-user/nios2/target_errno_defs.h | 6 ++++++
> linux-user/openrisc/target_errno_defs.h | 6 ++++++
> linux-user/ppc/target_errno_defs.h | 6 ++++++
> linux-user/riscv/target_errno_defs.h | 6 ++++++
> linux-user/s390x/target_errno_defs.h | 6 ++++++
> linux-user/sh4/target_errno_defs.h | 6 ++++++
> linux-user/sparc/target_syscall.h | 2 --
> linux-user/x86_64/target_errno_defs.h | 6 ++++++
> linux-user/xtensa/target_errno_defs.h | 6 ++++++
> 21 files changed, 109 insertions(+), 2 deletions(-)
> create mode 100644 linux-user/aarch64/target_errno_defs.h
> create mode 100644 linux-user/alpha/target_errno_defs.h
> create mode 100644 linux-user/arm/target_errno_defs.h
> create mode 100644 linux-user/cris/target_errno_defs.h
> create mode 100644 linux-user/hexagon/target_errno_defs.h
> create mode 100644 linux-user/hppa/target_errno_defs.h
> create mode 100644 linux-user/i386/target_errno_defs.h
> create mode 100644 linux-user/m68k/target_errno_defs.h
> create mode 100644 linux-user/microblaze/target_errno_defs.h
> create mode 100644 linux-user/mips/target_errno_defs.h
> create mode 100644 linux-user/mips64/target_errno_defs.h
> create mode 100644 linux-user/nios2/target_errno_defs.h
> create mode 100644 linux-user/openrisc/target_errno_defs.h
> create mode 100644 linux-user/ppc/target_errno_defs.h
> create mode 100644 linux-user/riscv/target_errno_defs.h
> create mode 100644 linux-user/s390x/target_errno_defs.h
> create mode 100644 linux-user/sh4/target_errno_defs.h
> create mode 100644 linux-user/x86_64/target_errno_defs.h
> create mode 100644 linux-user/xtensa/target_errno_defs.h
>
> diff --git a/linux-user/aarch64/target_errno_defs.h b/linux-user/aarch64/target_errno_defs.h
> new file mode 100644
> index 00000000000..a809381165a
> --- /dev/null
> +++ b/linux-user/aarch64/target_errno_defs.h
> @@ -0,0 +1,6 @@
> +#ifndef AARCH64_TARGET_ERRNO_H
> +#define AARCH64_TARGET_ERRNO_H
> +
> +/* Target uses generic errno */
> +
> +#endif
This could be better.
Consider e.g. termbits.h as the model.
These targets should have exactly one line:
#include "../generic/target_errno.h"
> diff --git a/linux-user/alpha/target_errno_defs.h b/linux-user/alpha/target_errno_defs.h
> new file mode 100644
> index 00000000000..13770b14b82
> --- /dev/null
> +++ b/linux-user/alpha/target_errno_defs.h
> @@ -0,0 +1,4 @@
> +#ifndef ALPHA_TARGET_ERRNO_H
> +#define ALPHA_TARGET_ERRNO_H
> +
> +#endif
This one, and ones like it, become
#ifndef ALPHA_TARGET_ERRNO_H
#define ALPHA_TARGET_ERRNO_H
#include "../generic/target_errno.h"
#undef TARGET_EBAR
#define TARGET_EBAR xxx
...
#endif
r~
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PATCH 12/12] linux-user: Extract target errno related functions to 'target_errno.h'
2021-07-04 18:37 ` [PATCH 12/12] linux-user: Extract target errno related functions to 'target_errno.h' Philippe Mathieu-Daudé
2021-07-05 22:29 ` Taylor Simpson
@ 2021-07-07 2:08 ` Richard Henderson
1 sibling, 0 replies; 28+ messages in thread
From: Richard Henderson @ 2021-07-07 2:08 UTC (permalink / raw)
To: Philippe Mathieu-Daudé, qemu-devel
Cc: Aleksandar Rikalo, Helge Deller, Laurent Vivier, Taylor Simpson,
Aurelien Jarno
On 7/4/21 11:37 AM, Philippe Mathieu-Daudé wrote:
> Extract target errno related functions to a new 'target_errno.h'
> header, so we can do the host <-> target errno conversion out of
> the big syscall.c (which is already 13k LoC).
>
> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
> ---
> linux-user/target_errno.h | 32 +++++++
> linux-user/syscall.c | 162 +--------------------------------
> linux-user/target_errno.c | 183 ++++++++++++++++++++++++++++++++++++++
> linux-user/meson.build | 1 +
> 4 files changed, 217 insertions(+), 161 deletions(-)
> create mode 100644 linux-user/target_errno.h
> create mode 100644 linux-user/target_errno.c
I guess this is just data movement, so it's ok.
But...
> +/*
> + * target_to_host_errno_table[] is initialized from
> + * host_to_target_errno_table[] in target_to_host_errno_table_init().
> + */
> +static uint16_t target_to_host_errno_table[ERRNO_TABLE_SIZE] = {
> +};
> +
> +/*
> + * This list is the union of errno values overridden in asm-<arch>/errno.h
> + * minus the errnos that are not actually generic to all archs.
> + */
> +static uint16_t host_to_target_errno_table[ERRNO_TABLE_SIZE] = {
> + [EAGAIN] = TARGET_EAGAIN,
> + [EIDRM] = TARGET_EIDRM,
> + [ECHRNG] = TARGET_ECHRNG,
... there's enough pattern here to make it easy to initialize both of these at
compile-time. We just need to move the list out to a .c.inc file.
--%<
E(EAGAIN)
E(EIDRM)
...
#ifdef EFOO
E(EFOO)
#endif
--%<
static const uint16_t target_to_host_errno_table[] = {
#define E(X) [TARGET_##X] = X,
#include "errnos.c.inc"
#undef E
};
static const uint16_t host_to_target_errno_table[] = {
#define E(X) [X] = TARGET_##X,
#include "errnos.c.inc"
#undef E
};
> +int host_to_target_errno(int err)
> +{
> + if (err >= 0 && err < ERRNO_TABLE_SIZE &&
> + host_to_target_errno_table[err]) {
> + return host_to_target_errno_table[err];
> + }
> + return err;
> +}
Here and
> +int target_to_host_errno(int err)
> +{
> + if (err >= 0 && err < ERRNO_TABLE_SIZE &&
> + target_to_host_errno_table[err]) {
> + return target_to_host_errno_table[err];
> + }
> + return err;
> +}
here, we might as well use ARRAY_SIZE(foo) instead of ERRNO_TABLE_SIZE.
Or even convert directly to switches, with no array, and let the compiler decide what it
thinks is best. Which might turn out to compile away to the identity function when host
and guest are both asm-generic.
r~
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PATCH 01/12] linux-user/alpha: Handle TARGET_EWOULDBLOCK as TARGET_EAGAIN
2021-07-04 18:37 ` [PATCH 01/12] linux-user/alpha: Handle TARGET_EWOULDBLOCK as TARGET_EAGAIN Philippe Mathieu-Daudé
2021-07-07 1:44 ` Richard Henderson
@ 2021-07-07 19:25 ` Laurent Vivier
1 sibling, 0 replies; 28+ messages in thread
From: Laurent Vivier @ 2021-07-07 19:25 UTC (permalink / raw)
To: Philippe Mathieu-Daudé, qemu-devel
Cc: Taylor Simpson, Aleksandar Rikalo, Richard Henderson,
Helge Deller, Aurelien Jarno
Le 04/07/2021 à 20:37, Philippe Mathieu-Daudé a écrit :
> Linux kernel defines EWOULDBLOCK as EAGAIN (since before v2.6.12-rc2).
>
> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
> ---
> linux-user/alpha/target_syscall.h | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/linux-user/alpha/target_syscall.h b/linux-user/alpha/target_syscall.h
> index fd389422e31..4e6f9360566 100644
> --- a/linux-user/alpha/target_syscall.h
> +++ b/linux-user/alpha/target_syscall.h
> @@ -44,6 +44,8 @@ struct target_pt_regs {
> #define UNAME_MACHINE "alpha"
> #define UNAME_MINIMUM_RELEASE "2.6.32"
>
> +#undef TARGET_EWOULDBLOCK
> +#define TARGET_EWOULDBLOCK TARGET_EAGAIN /* Operation would block */
> #undef TARGET_EDEADLK
> #define TARGET_EDEADLK 11
> #undef TARGET_EAGAIN
>
Applied to my linux-user-for-6.1 branch.
Thanks,
Laurent
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PATCH 02/12] linux-user/hppa: Handle TARGET_EWOULDBLOCK as TARGET_EAGAIN
2021-07-04 18:37 ` [PATCH 02/12] linux-user/hppa: " Philippe Mathieu-Daudé
2021-07-07 1:44 ` Richard Henderson
@ 2021-07-07 19:26 ` Laurent Vivier
1 sibling, 0 replies; 28+ messages in thread
From: Laurent Vivier @ 2021-07-07 19:26 UTC (permalink / raw)
To: Philippe Mathieu-Daudé, qemu-devel
Cc: Taylor Simpson, Aleksandar Rikalo, Richard Henderson,
Helge Deller, Aurelien Jarno
Le 04/07/2021 à 20:37, Philippe Mathieu-Daudé a écrit :
> Linux kernel defines EWOULDBLOCK as EAGAIN (since before v2.6.12-rc2).
>
> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
> ---
> linux-user/hppa/target_syscall.h | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/linux-user/hppa/target_syscall.h b/linux-user/hppa/target_syscall.h
> index f34e05edb57..97a095656d8 100644
> --- a/linux-user/hppa/target_syscall.h
> +++ b/linux-user/hppa/target_syscall.h
> @@ -27,6 +27,8 @@ struct target_pt_regs {
> #define TARGET_MCL_FUTURE 2
> #define TARGET_MCL_ONFAULT 4
>
> +#undef TARGET_EWOULDBLOCK
> +#define TARGET_EWOULDBLOCK TARGET_EAGAIN /* Operation would block */
> #undef TARGET_ENOMSG
> #define TARGET_ENOMSG 35
> #undef TARGET_EIDRM
>
Applied to my linux-user-for-6.1 branch.
Thanks,
Laurent
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PATCH 03/12] linux-user/mips: Handle TARGET_EWOULDBLOCK as TARGET_EAGAIN
2021-07-04 18:37 ` [PATCH 03/12] linux-user/mips: " Philippe Mathieu-Daudé
2021-07-07 1:45 ` Richard Henderson
@ 2021-07-07 19:27 ` Laurent Vivier
1 sibling, 0 replies; 28+ messages in thread
From: Laurent Vivier @ 2021-07-07 19:27 UTC (permalink / raw)
To: Philippe Mathieu-Daudé, qemu-devel
Cc: Taylor Simpson, Aleksandar Rikalo, Richard Henderson,
Helge Deller, Aurelien Jarno
Le 04/07/2021 à 20:37, Philippe Mathieu-Daudé a écrit :
> Linux kernel defines EWOULDBLOCK as EAGAIN (since before v2.6.12-rc2).
>
> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
> ---
> linux-user/mips/target_syscall.h | 2 ++
> linux-user/mips64/target_syscall.h | 2 ++
> 2 files changed, 4 insertions(+)
>
> diff --git a/linux-user/mips/target_syscall.h b/linux-user/mips/target_syscall.h
> index dd6fd7af8ea..3e558fdb4b4 100644
> --- a/linux-user/mips/target_syscall.h
> +++ b/linux-user/mips/target_syscall.h
> @@ -21,6 +21,8 @@ struct target_pt_regs {
> };
>
> /* Target errno definitions taken from asm-mips/errno.h */
> +#undef TARGET_EWOULDBLOCK
> +#define TARGET_EWOULDBLOCK TARGET_EAGAIN /* Operation would block */
> #undef TARGET_ENOMSG
> #define TARGET_ENOMSG 35 /* Identifier removed */
> #undef TARGET_EIDRM
> diff --git a/linux-user/mips64/target_syscall.h b/linux-user/mips64/target_syscall.h
> index 8594955eec2..c54374c5a29 100644
> --- a/linux-user/mips64/target_syscall.h
> +++ b/linux-user/mips64/target_syscall.h
> @@ -18,6 +18,8 @@ struct target_pt_regs {
> };
>
> /* Target errno definitions taken from asm-mips/errno.h */
> +#undef TARGET_EWOULDBLOCK
> +#define TARGET_EWOULDBLOCK TARGET_EAGAIN /* Operation would block */
> #undef TARGET_ENOMSG
> #define TARGET_ENOMSG 35 /* Identifier removed */
> #undef TARGET_EIDRM
>
Applied to my linux-user-for-6.1 branch.
Thanks,
Laurent
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PATCH 04/12] linux-user/sparc: Rename target_errno.h -> target_errno_defs.h
2021-07-04 18:37 ` [PATCH 04/12] linux-user/sparc: Rename target_errno.h -> target_errno_defs.h Philippe Mathieu-Daudé
@ 2021-07-07 19:29 ` Laurent Vivier
0 siblings, 0 replies; 28+ messages in thread
From: Laurent Vivier @ 2021-07-07 19:29 UTC (permalink / raw)
To: Philippe Mathieu-Daudé, qemu-devel
Cc: Taylor Simpson, Aleksandar Rikalo, Richard Henderson,
Helge Deller, Aurelien Jarno
Le 04/07/2021 à 20:37, Philippe Mathieu-Daudé a écrit :
> We want to have one generic target_errno.h (API to access target
> errno), and will add target errno definitions in target_errno_defs.h.
> The sparc target already have its errnos in an header, simply rename
> it.
>
> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
> ---
> linux-user/sparc/{target_errno.h => target_errno_defs.h} | 0
Please update the header guard in the file you move.
Thanks,
Laurent
> linux-user/sparc/target_syscall.h | 2 +-
> 2 files changed, 1 insertion(+), 1 deletion(-)
> rename linux-user/sparc/{target_errno.h => target_errno_defs.h} (100%)
>
> diff --git a/linux-user/sparc/target_errno.h b/linux-user/sparc/target_errno_defs.h
> similarity index 100%
> rename from linux-user/sparc/target_errno.h
> rename to linux-user/sparc/target_errno_defs.h
> diff --git a/linux-user/sparc/target_syscall.h b/linux-user/sparc/target_syscall.h
> index 15d531f3897..dad501d008c 100644
> --- a/linux-user/sparc/target_syscall.h
> +++ b/linux-user/sparc/target_syscall.h
> @@ -1,7 +1,7 @@
> #ifndef SPARC_TARGET_SYSCALL_H
> #define SPARC_TARGET_SYSCALL_H
>
> -#include "target_errno.h"
> +#include "target_errno_defs.h"
>
> #if defined(TARGET_SPARC64) && !defined(TARGET_ABI32)
> struct target_pt_regs {
>
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PATCH 06/12] linux-user/alpha: Remove hardcoded tabs (code style)
2021-07-04 18:37 ` [PATCH 06/12] linux-user/alpha: Remove hardcoded tabs (code style) Philippe Mathieu-Daudé
2021-07-07 1:46 ` Richard Henderson
@ 2021-07-07 19:32 ` Laurent Vivier
1 sibling, 0 replies; 28+ messages in thread
From: Laurent Vivier @ 2021-07-07 19:32 UTC (permalink / raw)
To: Philippe Mathieu-Daudé, qemu-devel
Cc: Taylor Simpson, Aleksandar Rikalo, Richard Henderson,
Helge Deller, Aurelien Jarno
Le 04/07/2021 à 20:37, Philippe Mathieu-Daudé a écrit :
> We are going to move this code, fix its style first.
>
> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
> ---
> Patch trivial to review using 'git-diff --ignore-all-space'
> ---
> linux-user/alpha/target_syscall.h | 196 +++++++++++++++---------------
> 1 file changed, 97 insertions(+), 99 deletions(-)
>
> diff --git a/linux-user/alpha/target_syscall.h b/linux-user/alpha/target_syscall.h
> index 4e6f9360566..13a71f35eaf 100644
> --- a/linux-user/alpha/target_syscall.h
> +++ b/linux-user/alpha/target_syscall.h
> @@ -47,196 +47,194 @@ struct target_pt_regs {
> #undef TARGET_EWOULDBLOCK
> #define TARGET_EWOULDBLOCK TARGET_EAGAIN /* Operation would block */
> #undef TARGET_EDEADLK
> -#define TARGET_EDEADLK 11
> +#define TARGET_EDEADLK 11
> #undef TARGET_EAGAIN
> -#define TARGET_EAGAIN 35
> +#define TARGET_EAGAIN 35
> #undef TARGET_EINPROGRESS
> -#define TARGET_EINPROGRESS 36
> +#define TARGET_EINPROGRESS 36
> #undef TARGET_EALREADY
> -#define TARGET_EALREADY 37
> +#define TARGET_EALREADY 37
> #undef TARGET_ENOTSOCK
> -#define TARGET_ENOTSOCK 38
> +#define TARGET_ENOTSOCK 38
> #undef TARGET_EDESTADDRREQ
> -#define TARGET_EDESTADDRREQ 39
> +#define TARGET_EDESTADDRREQ 39
> #undef TARGET_EMSGSIZE
> -#define TARGET_EMSGSIZE 40
> +#define TARGET_EMSGSIZE 40
> #undef TARGET_EPROTOTYPE
> -#define TARGET_EPROTOTYPE 41
> +#define TARGET_EPROTOTYPE 41
> #undef TARGET_ENOPROTOOPT
> -#define TARGET_ENOPROTOOPT 42
> +#define TARGET_ENOPROTOOPT 42
> #undef TARGET_EPROTONOSUPPORT
> -#define TARGET_EPROTONOSUPPORT 43
> +#define TARGET_EPROTONOSUPPORT 43
> #undef TARGET_ESOCKTNOSUPPORT
> -#define TARGET_ESOCKTNOSUPPORT 44
> +#define TARGET_ESOCKTNOSUPPORT 44
> #undef TARGET_EOPNOTSUPP
> -#define TARGET_EOPNOTSUPP 45
> +#define TARGET_EOPNOTSUPP 45
> #undef TARGET_EPFNOSUPPORT
> -#define TARGET_EPFNOSUPPORT 46
> +#define TARGET_EPFNOSUPPORT 46
> #undef TARGET_EAFNOSUPPORT
> -#define TARGET_EAFNOSUPPORT 47
> +#define TARGET_EAFNOSUPPORT 47
> #undef TARGET_EADDRINUSE
> -#define TARGET_EADDRINUSE 48
> +#define TARGET_EADDRINUSE 48
> #undef TARGET_EADDRNOTAVAIL
> -#define TARGET_EADDRNOTAVAIL 49
> +#define TARGET_EADDRNOTAVAIL 49
> #undef TARGET_ENETDOWN
> -#define TARGET_ENETDOWN 50
> +#define TARGET_ENETDOWN 50
> #undef TARGET_ENETUNREACH
> -#define TARGET_ENETUNREACH 51
> +#define TARGET_ENETUNREACH 51
> #undef TARGET_ENETRESET
> -#define TARGET_ENETRESET 52
> +#define TARGET_ENETRESET 52
> #undef TARGET_ECONNABORTED
> -#define TARGET_ECONNABORTED 53
> +#define TARGET_ECONNABORTED 53
> #undef TARGET_ECONNRESET
> -#define TARGET_ECONNRESET 54
> +#define TARGET_ECONNRESET 54
> #undef TARGET_ENOBUFS
> -#define TARGET_ENOBUFS 55
> +#define TARGET_ENOBUFS 55
> #undef TARGET_EISCONN
> -#define TARGET_EISCONN 56
> +#define TARGET_EISCONN 56
> #undef TARGET_ENOTCONN
> -#define TARGET_ENOTCONN 57
> +#define TARGET_ENOTCONN 57
> #undef TARGET_ESHUTDOWN
> -#define TARGET_ESHUTDOWN 58
> +#define TARGET_ESHUTDOWN 58
> #undef TARGET_ETOOMANYREFS
> -#define TARGET_ETOOMANYREFS 59
> +#define TARGET_ETOOMANYREFS 59
> #undef TARGET_ETIMEDOUT
> -#define TARGET_ETIMEDOUT 60
> +#define TARGET_ETIMEDOUT 60
> #undef TARGET_ECONNREFUSED
> -#define TARGET_ECONNREFUSED 61
> +#define TARGET_ECONNREFUSED 61
> #undef TARGET_ELOOP
> -#define TARGET_ELOOP 62
> +#define TARGET_ELOOP 62
> #undef TARGET_ENAMETOOLONG
> -#define TARGET_ENAMETOOLONG 63
> +#define TARGET_ENAMETOOLONG 63
> #undef TARGET_EHOSTDOWN
> -#define TARGET_EHOSTDOWN 64
> +#define TARGET_EHOSTDOWN 64
> #undef TARGET_EHOSTUNREACH
> -#define TARGET_EHOSTUNREACH 65
> +#define TARGET_EHOSTUNREACH 65
> #undef TARGET_ENOTEMPTY
> -#define TARGET_ENOTEMPTY 66
> -// Unused 67
> +#define TARGET_ENOTEMPTY 66
> +/* Unused 67 */
> #undef TARGET_EUSERS
> -#define TARGET_EUSERS 68
> +#define TARGET_EUSERS 68
> #undef TARGET_EDQUOT
> -#define TARGET_EDQUOT 69
> +#define TARGET_EDQUOT 69
> #undef TARGET_ESTALE
> -#define TARGET_ESTALE 70
> +#define TARGET_ESTALE 70
> #undef TARGET_EREMOTE
> -#define TARGET_EREMOTE 71
> -// Unused 72-76
> +#define TARGET_EREMOTE 71
> +/* Unused 72-76 */
> #undef TARGET_ENOLCK
> -#define TARGET_ENOLCK 77
> +#define TARGET_ENOLCK 77
> #undef TARGET_ENOSYS
> -#define TARGET_ENOSYS 78
> -// Unused 79
> +#define TARGET_ENOSYS 78
> +/* Unused 79 */
> #undef TARGET_ENOMSG
> -#define TARGET_ENOMSG 80
> +#define TARGET_ENOMSG 80
> #undef TARGET_EIDRM
> -#define TARGET_EIDRM 81
> +#define TARGET_EIDRM 81
> #undef TARGET_ENOSR
> -#define TARGET_ENOSR 82
> +#define TARGET_ENOSR 82
> #undef TARGET_ETIME
> -#define TARGET_ETIME 83
> +#define TARGET_ETIME 83
> #undef TARGET_EBADMSG
> -#define TARGET_EBADMSG 84
> +#define TARGET_EBADMSG 84
> #undef TARGET_EPROTO
> -#define TARGET_EPROTO 85
> +#define TARGET_EPROTO 85
> #undef TARGET_ENODATA
> -#define TARGET_ENODATA 86
> +#define TARGET_ENODATA 86
> #undef TARGET_ENOSTR
> -#define TARGET_ENOSTR 87
> +#define TARGET_ENOSTR 87
> #undef TARGET_ECHRNG
> -#define TARGET_ECHRNG 88
> +#define TARGET_ECHRNG 88
> #undef TARGET_EL2NSYNC
> -#define TARGET_EL2NSYNC 89
> +#define TARGET_EL2NSYNC 89
> #undef TARGET_EL3HLT
> -#define TARGET_EL3HLT 90
> +#define TARGET_EL3HLT 90
> #undef TARGET_EL3RST
> -#define TARGET_EL3RST 91
> +#define TARGET_EL3RST 91
> #undef TARGET_ENOPKG
> -#define TARGET_ENOPKG 92
> +#define TARGET_ENOPKG 92
> #undef TARGET_ELNRNG
> -#define TARGET_ELNRNG 93
> +#define TARGET_ELNRNG 93
> #undef TARGET_EUNATCH
> -#define TARGET_EUNATCH 94
> +#define TARGET_EUNATCH 94
> #undef TARGET_ENOCSI
> -#define TARGET_ENOCSI 95
> +#define TARGET_ENOCSI 95
> #undef TARGET_EL2HLT
> -#define TARGET_EL2HLT 96
> +#define TARGET_EL2HLT 96
> #undef TARGET_EBADE
> -#define TARGET_EBADE 97
> +#define TARGET_EBADE 97
> #undef TARGET_EBADR
> -#define TARGET_EBADR 98
> +#define TARGET_EBADR 98
> #undef TARGET_EXFULL
> -#define TARGET_EXFULL 99
> +#define TARGET_EXFULL 99
> #undef TARGET_ENOANO
> -#define TARGET_ENOANO 100
> +#define TARGET_ENOANO 100
> #undef TARGET_EBADRQC
> -#define TARGET_EBADRQC 101
> +#define TARGET_EBADRQC 101
> #undef TARGET_EBADSLT
> -#define TARGET_EBADSLT 102
> -// Unused 103
> +#define TARGET_EBADSLT 102
> +/* Unused 103 */
> #undef TARGET_EBFONT
> -#define TARGET_EBFONT 104
> +#define TARGET_EBFONT 104
> #undef TARGET_ENONET
> -#define TARGET_ENONET 105
> +#define TARGET_ENONET 105
> #undef TARGET_ENOLINK
> -#define TARGET_ENOLINK 106
> +#define TARGET_ENOLINK 106
> #undef TARGET_EADV
> -#define TARGET_EADV 107
> +#define TARGET_EADV 107
> #undef TARGET_ESRMNT
> -#define TARGET_ESRMNT 108
> +#define TARGET_ESRMNT 108
> #undef TARGET_ECOMM
> -#define TARGET_ECOMM 109
> +#define TARGET_ECOMM 109
> #undef TARGET_EMULTIHOP
> -#define TARGET_EMULTIHOP 110
> +#define TARGET_EMULTIHOP 110
> #undef TARGET_EDOTDOT
> -#define TARGET_EDOTDOT 111
> +#define TARGET_EDOTDOT 111
> #undef TARGET_EOVERFLOW
> -#define TARGET_EOVERFLOW 112
> +#define TARGET_EOVERFLOW 112
> #undef TARGET_ENOTUNIQ
> -#define TARGET_ENOTUNIQ 113
> +#define TARGET_ENOTUNIQ 113
> #undef TARGET_EBADFD
> -#define TARGET_EBADFD 114
> +#define TARGET_EBADFD 114
> #undef TARGET_EREMCHG
> -#define TARGET_EREMCHG 115
> +#define TARGET_EREMCHG 115
> #undef TARGET_EILSEQ
> -#define TARGET_EILSEQ 116
> -
> -// Same as default 117-121
> -
> +#define TARGET_EILSEQ 116
> +/* Same as default 117-121 */
> #undef TARGET_ELIBACC
> -#define TARGET_ELIBACC 122
> +#define TARGET_ELIBACC 122
> #undef TARGET_ELIBBAD
> -#define TARGET_ELIBBAD 123
> +#define TARGET_ELIBBAD 123
> #undef TARGET_ELIBSCN
> -#define TARGET_ELIBSCN 124
> +#define TARGET_ELIBSCN 124
> #undef TARGET_ELIBMAX
> -#define TARGET_ELIBMAX 125
> +#define TARGET_ELIBMAX 125
> #undef TARGET_ELIBEXEC
> -#define TARGET_ELIBEXEC 126
> +#define TARGET_ELIBEXEC 126
> #undef TARGET_ERESTART
> -#define TARGET_ERESTART 127
> +#define TARGET_ERESTART 127
> #undef TARGET_ESTRPIPE
> -#define TARGET_ESTRPIPE 128
> +#define TARGET_ESTRPIPE 128
> #undef TARGET_ENOMEDIUM
> -#define TARGET_ENOMEDIUM 129
> +#define TARGET_ENOMEDIUM 129
> #undef TARGET_EMEDIUMTYPE
> -#define TARGET_EMEDIUMTYPE 130
> +#define TARGET_EMEDIUMTYPE 130
> #undef TARGET_ECANCELED
> -#define TARGET_ECANCELED 131
> +#define TARGET_ECANCELED 131
> #undef TARGET_ENOKEY
> -#define TARGET_ENOKEY 132
> +#define TARGET_ENOKEY 132
> #undef TARGET_EKEYEXPIRED
> -#define TARGET_EKEYEXPIRED 133
> +#define TARGET_EKEYEXPIRED 133
> #undef TARGET_EKEYREVOKED
> -#define TARGET_EKEYREVOKED 134
> +#define TARGET_EKEYREVOKED 134
> #undef TARGET_EKEYREJECTED
> -#define TARGET_EKEYREJECTED 135
> +#define TARGET_EKEYREJECTED 135
> #undef TARGET_EOWNERDEAD
> -#define TARGET_EOWNERDEAD 136
> +#define TARGET_EOWNERDEAD 136
> #undef TARGET_ENOTRECOVERABLE
> -#define TARGET_ENOTRECOVERABLE 137
> +#define TARGET_ENOTRECOVERABLE 137
> #undef TARGET_ERFKILL
> -#define TARGET_ERFKILL 138
> +#define TARGET_ERFKILL 138
> #undef TARGET_EHWPOISON
> #define TARGET_EHWPOISON 139
>
>
Applied to my linux-user-for-6.1 branch.
Thanks,
Laurent
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PATCH 11/12] linux-user/syscall: Remove hardcoded tabs (code style)
2021-07-04 18:37 ` [PATCH 11/12] linux-user/syscall: Remove hardcoded tabs (code style) Philippe Mathieu-Daudé
@ 2021-07-07 19:34 ` Laurent Vivier
0 siblings, 0 replies; 28+ messages in thread
From: Laurent Vivier @ 2021-07-07 19:34 UTC (permalink / raw)
To: Philippe Mathieu-Daudé, qemu-devel
Cc: Taylor Simpson, Aleksandar Rikalo, Richard Henderson,
Helge Deller, Aurelien Jarno
Le 04/07/2021 à 20:37, Philippe Mathieu-Daudé a écrit :
> We are going to move this code, fix its style first.
>
> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
> ---
> Patch trivial to review using 'git-diff --ignore-all-space'
> ---
> linux-user/syscall.c | 188 +++++++++++++++++++++----------------------
> 1 file changed, 94 insertions(+), 94 deletions(-)
>
> diff --git a/linux-user/syscall.c b/linux-user/syscall.c
> index 33b7fef12a8..3761d3b2d64 100644
> --- a/linux-user/syscall.c
> +++ b/linux-user/syscall.c
> @@ -521,112 +521,112 @@ static uint16_t target_to_host_errno_table[ERRNO_TABLE_SIZE] = {
> * minus the errnos that are not actually generic to all archs.
> */
> static uint16_t host_to_target_errno_table[ERRNO_TABLE_SIZE] = {
> - [EAGAIN] = TARGET_EAGAIN,
> - [EIDRM] = TARGET_EIDRM,
> - [ECHRNG] = TARGET_ECHRNG,
> - [EL2NSYNC] = TARGET_EL2NSYNC,
> - [EL3HLT] = TARGET_EL3HLT,
> - [EL3RST] = TARGET_EL3RST,
> - [ELNRNG] = TARGET_ELNRNG,
> - [EUNATCH] = TARGET_EUNATCH,
> - [ENOCSI] = TARGET_ENOCSI,
> - [EL2HLT] = TARGET_EL2HLT,
> - [EDEADLK] = TARGET_EDEADLK,
> - [ENOLCK] = TARGET_ENOLCK,
> - [EBADE] = TARGET_EBADE,
> - [EBADR] = TARGET_EBADR,
> - [EXFULL] = TARGET_EXFULL,
> - [ENOANO] = TARGET_ENOANO,
> - [EBADRQC] = TARGET_EBADRQC,
> - [EBADSLT] = TARGET_EBADSLT,
> - [EBFONT] = TARGET_EBFONT,
> - [ENOSTR] = TARGET_ENOSTR,
> - [ENODATA] = TARGET_ENODATA,
> - [ETIME] = TARGET_ETIME,
> - [ENOSR] = TARGET_ENOSR,
> - [ENONET] = TARGET_ENONET,
> - [ENOPKG] = TARGET_ENOPKG,
> - [EREMOTE] = TARGET_EREMOTE,
> - [ENOLINK] = TARGET_ENOLINK,
> - [EADV] = TARGET_EADV,
> - [ESRMNT] = TARGET_ESRMNT,
> - [ECOMM] = TARGET_ECOMM,
> - [EPROTO] = TARGET_EPROTO,
> - [EDOTDOT] = TARGET_EDOTDOT,
> - [EMULTIHOP] = TARGET_EMULTIHOP,
> - [EBADMSG] = TARGET_EBADMSG,
> - [ENAMETOOLONG] = TARGET_ENAMETOOLONG,
> - [EOVERFLOW] = TARGET_EOVERFLOW,
> - [ENOTUNIQ] = TARGET_ENOTUNIQ,
> - [EBADFD] = TARGET_EBADFD,
> - [EREMCHG] = TARGET_EREMCHG,
> - [ELIBACC] = TARGET_ELIBACC,
> - [ELIBBAD] = TARGET_ELIBBAD,
> - [ELIBSCN] = TARGET_ELIBSCN,
> - [ELIBMAX] = TARGET_ELIBMAX,
> - [ELIBEXEC] = TARGET_ELIBEXEC,
> - [EILSEQ] = TARGET_EILSEQ,
> - [ENOSYS] = TARGET_ENOSYS,
> - [ELOOP] = TARGET_ELOOP,
> - [ERESTART] = TARGET_ERESTART,
> - [ESTRPIPE] = TARGET_ESTRPIPE,
> - [ENOTEMPTY] = TARGET_ENOTEMPTY,
> - [EUSERS] = TARGET_EUSERS,
> - [ENOTSOCK] = TARGET_ENOTSOCK,
> - [EDESTADDRREQ] = TARGET_EDESTADDRREQ,
> - [EMSGSIZE] = TARGET_EMSGSIZE,
> - [EPROTOTYPE] = TARGET_EPROTOTYPE,
> - [ENOPROTOOPT] = TARGET_ENOPROTOOPT,
> - [EPROTONOSUPPORT] = TARGET_EPROTONOSUPPORT,
> - [ESOCKTNOSUPPORT] = TARGET_ESOCKTNOSUPPORT,
> - [EOPNOTSUPP] = TARGET_EOPNOTSUPP,
> - [EPFNOSUPPORT] = TARGET_EPFNOSUPPORT,
> - [EAFNOSUPPORT] = TARGET_EAFNOSUPPORT,
> - [EADDRINUSE] = TARGET_EADDRINUSE,
> - [EADDRNOTAVAIL] = TARGET_EADDRNOTAVAIL,
> - [ENETDOWN] = TARGET_ENETDOWN,
> - [ENETUNREACH] = TARGET_ENETUNREACH,
> - [ENETRESET] = TARGET_ENETRESET,
> - [ECONNABORTED] = TARGET_ECONNABORTED,
> - [ECONNRESET] = TARGET_ECONNRESET,
> - [ENOBUFS] = TARGET_ENOBUFS,
> - [EISCONN] = TARGET_EISCONN,
> - [ENOTCONN] = TARGET_ENOTCONN,
> - [EUCLEAN] = TARGET_EUCLEAN,
> - [ENOTNAM] = TARGET_ENOTNAM,
> - [ENAVAIL] = TARGET_ENAVAIL,
> - [EISNAM] = TARGET_EISNAM,
> - [EREMOTEIO] = TARGET_EREMOTEIO,
> + [EAGAIN] = TARGET_EAGAIN,
> + [EIDRM] = TARGET_EIDRM,
> + [ECHRNG] = TARGET_ECHRNG,
> + [EL2NSYNC] = TARGET_EL2NSYNC,
> + [EL3HLT] = TARGET_EL3HLT,
> + [EL3RST] = TARGET_EL3RST,
> + [ELNRNG] = TARGET_ELNRNG,
> + [EUNATCH] = TARGET_EUNATCH,
> + [ENOCSI] = TARGET_ENOCSI,
> + [EL2HLT] = TARGET_EL2HLT,
> + [EDEADLK] = TARGET_EDEADLK,
> + [ENOLCK] = TARGET_ENOLCK,
> + [EBADE] = TARGET_EBADE,
> + [EBADR] = TARGET_EBADR,
> + [EXFULL] = TARGET_EXFULL,
> + [ENOANO] = TARGET_ENOANO,
> + [EBADRQC] = TARGET_EBADRQC,
> + [EBADSLT] = TARGET_EBADSLT,
> + [EBFONT] = TARGET_EBFONT,
> + [ENOSTR] = TARGET_ENOSTR,
> + [ENODATA] = TARGET_ENODATA,
> + [ETIME] = TARGET_ETIME,
> + [ENOSR] = TARGET_ENOSR,
> + [ENONET] = TARGET_ENONET,
> + [ENOPKG] = TARGET_ENOPKG,
> + [EREMOTE] = TARGET_EREMOTE,
> + [ENOLINK] = TARGET_ENOLINK,
> + [EADV] = TARGET_EADV,
> + [ESRMNT] = TARGET_ESRMNT,
> + [ECOMM] = TARGET_ECOMM,
> + [EPROTO] = TARGET_EPROTO,
> + [EDOTDOT] = TARGET_EDOTDOT,
> + [EMULTIHOP] = TARGET_EMULTIHOP,
> + [EBADMSG] = TARGET_EBADMSG,
> + [ENAMETOOLONG] = TARGET_ENAMETOOLONG,
> + [EOVERFLOW] = TARGET_EOVERFLOW,
> + [ENOTUNIQ] = TARGET_ENOTUNIQ,
> + [EBADFD] = TARGET_EBADFD,
> + [EREMCHG] = TARGET_EREMCHG,
> + [ELIBACC] = TARGET_ELIBACC,
> + [ELIBBAD] = TARGET_ELIBBAD,
> + [ELIBSCN] = TARGET_ELIBSCN,
> + [ELIBMAX] = TARGET_ELIBMAX,
> + [ELIBEXEC] = TARGET_ELIBEXEC,
> + [EILSEQ] = TARGET_EILSEQ,
> + [ENOSYS] = TARGET_ENOSYS,
> + [ELOOP] = TARGET_ELOOP,
> + [ERESTART] = TARGET_ERESTART,
> + [ESTRPIPE] = TARGET_ESTRPIPE,
> + [ENOTEMPTY] = TARGET_ENOTEMPTY,
> + [EUSERS] = TARGET_EUSERS,
> + [ENOTSOCK] = TARGET_ENOTSOCK,
> + [EDESTADDRREQ] = TARGET_EDESTADDRREQ,
> + [EMSGSIZE] = TARGET_EMSGSIZE,
> + [EPROTOTYPE] = TARGET_EPROTOTYPE,
> + [ENOPROTOOPT] = TARGET_ENOPROTOOPT,
> + [EPROTONOSUPPORT] = TARGET_EPROTONOSUPPORT,
> + [ESOCKTNOSUPPORT] = TARGET_ESOCKTNOSUPPORT,
> + [EOPNOTSUPP] = TARGET_EOPNOTSUPP,
> + [EPFNOSUPPORT] = TARGET_EPFNOSUPPORT,
> + [EAFNOSUPPORT] = TARGET_EAFNOSUPPORT,
> + [EADDRINUSE] = TARGET_EADDRINUSE,
> + [EADDRNOTAVAIL] = TARGET_EADDRNOTAVAIL,
> + [ENETDOWN] = TARGET_ENETDOWN,
> + [ENETUNREACH] = TARGET_ENETUNREACH,
> + [ENETRESET] = TARGET_ENETRESET,
> + [ECONNABORTED] = TARGET_ECONNABORTED,
> + [ECONNRESET] = TARGET_ECONNRESET,
> + [ENOBUFS] = TARGET_ENOBUFS,
> + [EISCONN] = TARGET_EISCONN,
> + [ENOTCONN] = TARGET_ENOTCONN,
> + [EUCLEAN] = TARGET_EUCLEAN,
> + [ENOTNAM] = TARGET_ENOTNAM,
> + [ENAVAIL] = TARGET_ENAVAIL,
> + [EISNAM] = TARGET_EISNAM,
> + [EREMOTEIO] = TARGET_EREMOTEIO,
> [EDQUOT] = TARGET_EDQUOT,
> - [ESHUTDOWN] = TARGET_ESHUTDOWN,
> - [ETOOMANYREFS] = TARGET_ETOOMANYREFS,
> - [ETIMEDOUT] = TARGET_ETIMEDOUT,
> - [ECONNREFUSED] = TARGET_ECONNREFUSED,
> - [EHOSTDOWN] = TARGET_EHOSTDOWN,
> - [EHOSTUNREACH] = TARGET_EHOSTUNREACH,
> - [EALREADY] = TARGET_EALREADY,
> - [EINPROGRESS] = TARGET_EINPROGRESS,
> - [ESTALE] = TARGET_ESTALE,
> - [ECANCELED] = TARGET_ECANCELED,
> - [ENOMEDIUM] = TARGET_ENOMEDIUM,
> - [EMEDIUMTYPE] = TARGET_EMEDIUMTYPE,
> + [ESHUTDOWN] = TARGET_ESHUTDOWN,
> + [ETOOMANYREFS] = TARGET_ETOOMANYREFS,
> + [ETIMEDOUT] = TARGET_ETIMEDOUT,
> + [ECONNREFUSED] = TARGET_ECONNREFUSED,
> + [EHOSTDOWN] = TARGET_EHOSTDOWN,
> + [EHOSTUNREACH] = TARGET_EHOSTUNREACH,
> + [EALREADY] = TARGET_EALREADY,
> + [EINPROGRESS] = TARGET_EINPROGRESS,
> + [ESTALE] = TARGET_ESTALE,
> + [ECANCELED] = TARGET_ECANCELED,
> + [ENOMEDIUM] = TARGET_ENOMEDIUM,
> + [EMEDIUMTYPE] = TARGET_EMEDIUMTYPE,
> #ifdef ENOKEY
> - [ENOKEY] = TARGET_ENOKEY,
> + [ENOKEY] = TARGET_ENOKEY,
> #endif
> #ifdef EKEYEXPIRED
> - [EKEYEXPIRED] = TARGET_EKEYEXPIRED,
> + [EKEYEXPIRED] = TARGET_EKEYEXPIRED,
> #endif
> #ifdef EKEYREVOKED
> - [EKEYREVOKED] = TARGET_EKEYREVOKED,
> + [EKEYREVOKED] = TARGET_EKEYREVOKED,
> #endif
> #ifdef EKEYREJECTED
> - [EKEYREJECTED] = TARGET_EKEYREJECTED,
> + [EKEYREJECTED] = TARGET_EKEYREJECTED,
> #endif
> #ifdef EOWNERDEAD
> - [EOWNERDEAD] = TARGET_EOWNERDEAD,
> + [EOWNERDEAD] = TARGET_EOWNERDEAD,
> #endif
> #ifdef ENOTRECOVERABLE
> - [ENOTRECOVERABLE] = TARGET_ENOTRECOVERABLE,
> + [ENOTRECOVERABLE] = TARGET_ENOTRECOVERABLE,
> #endif
> #ifdef ENOMSG
> [ENOMSG] = TARGET_ENOMSG,
>
Applied to my linux-user-for-6.1 branch.
Thanks,
Laurent
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PATCH 05/12] linux-user: Extract target errno to 'target_errno_defs.h'
2021-07-07 1:53 ` Richard Henderson
@ 2021-07-08 8:32 ` Philippe Mathieu-Daudé
0 siblings, 0 replies; 28+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-07-08 8:32 UTC (permalink / raw)
To: Richard Henderson, qemu-devel
Cc: Taylor Simpson, Aleksandar Rikalo, Helge Deller, Aurelien Jarno,
Laurent Vivier
On 7/7/21 3:53 AM, Richard Henderson wrote:
> On 7/4/21 11:37 AM, Philippe Mathieu-Daudé wrote:
>> We want to access the target errno indepently of the rest
>> of the linux-user code. Extract it to a new target-specific
>> header: 'target_errno_defs.h'.
>>
>> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
>> ---
>> linux-user/aarch64/target_errno_defs.h | 6 ++++++
>> linux-user/alpha/target_errno_defs.h | 4 ++++
>> linux-user/arm/target_errno_defs.h | 6 ++++++
>> linux-user/cris/target_errno_defs.h | 6 ++++++
>> linux-user/errno_defs.h | 3 +++
>> linux-user/hexagon/target_errno_defs.h | 6 ++++++
>> linux-user/hppa/target_errno_defs.h | 4 ++++
>> linux-user/i386/target_errno_defs.h | 6 ++++++
>> linux-user/m68k/target_errno_defs.h | 6 ++++++
>> linux-user/microblaze/target_errno_defs.h | 6 ++++++
>> linux-user/mips/target_errno_defs.h | 4 ++++
>> linux-user/mips64/target_errno_defs.h | 4 ++++
>> linux-user/nios2/target_errno_defs.h | 6 ++++++
>> linux-user/openrisc/target_errno_defs.h | 6 ++++++
>> linux-user/ppc/target_errno_defs.h | 6 ++++++
>> linux-user/riscv/target_errno_defs.h | 6 ++++++
>> linux-user/s390x/target_errno_defs.h | 6 ++++++
>> linux-user/sh4/target_errno_defs.h | 6 ++++++
>> linux-user/sparc/target_syscall.h | 2 --
>> linux-user/x86_64/target_errno_defs.h | 6 ++++++
>> linux-user/xtensa/target_errno_defs.h | 6 ++++++
>> 21 files changed, 109 insertions(+), 2 deletions(-)
>> create mode 100644 linux-user/aarch64/target_errno_defs.h
>> create mode 100644 linux-user/alpha/target_errno_defs.h
>> create mode 100644 linux-user/arm/target_errno_defs.h
>> create mode 100644 linux-user/cris/target_errno_defs.h
>> create mode 100644 linux-user/hexagon/target_errno_defs.h
>> create mode 100644 linux-user/hppa/target_errno_defs.h
>> create mode 100644 linux-user/i386/target_errno_defs.h
>> create mode 100644 linux-user/m68k/target_errno_defs.h
>> create mode 100644 linux-user/microblaze/target_errno_defs.h
>> create mode 100644 linux-user/mips/target_errno_defs.h
>> create mode 100644 linux-user/mips64/target_errno_defs.h
>> create mode 100644 linux-user/nios2/target_errno_defs.h
>> create mode 100644 linux-user/openrisc/target_errno_defs.h
>> create mode 100644 linux-user/ppc/target_errno_defs.h
>> create mode 100644 linux-user/riscv/target_errno_defs.h
>> create mode 100644 linux-user/s390x/target_errno_defs.h
>> create mode 100644 linux-user/sh4/target_errno_defs.h
>> create mode 100644 linux-user/x86_64/target_errno_defs.h
>> create mode 100644 linux-user/xtensa/target_errno_defs.h
>>
>> diff --git a/linux-user/aarch64/target_errno_defs.h
>> b/linux-user/aarch64/target_errno_defs.h
>> new file mode 100644
>> index 00000000000..a809381165a
>> --- /dev/null
>> +++ b/linux-user/aarch64/target_errno_defs.h
>> @@ -0,0 +1,6 @@
>> +#ifndef AARCH64_TARGET_ERRNO_H
>> +#define AARCH64_TARGET_ERRNO_H
>> +
>> +/* Target uses generic errno */
>> +
>> +#endif
>
> This could be better.
>
> Consider e.g. termbits.h as the model.
Thanks for the tip!
> These targets should have exactly one line:
>
> #include "../generic/target_errno.h"
>
>> diff --git a/linux-user/alpha/target_errno_defs.h
>> b/linux-user/alpha/target_errno_defs.h
>> new file mode 100644
>> index 00000000000..13770b14b82
>> --- /dev/null
>> +++ b/linux-user/alpha/target_errno_defs.h
>> @@ -0,0 +1,4 @@
>> +#ifndef ALPHA_TARGET_ERRNO_H
>> +#define ALPHA_TARGET_ERRNO_H
>> +
>> +#endif
>
> This one, and ones like it, become
>
> #ifndef ALPHA_TARGET_ERRNO_H
> #define ALPHA_TARGET_ERRNO_H
>
> #include "../generic/target_errno.h"
>
> #undef TARGET_EBAR
> #define TARGET_EBAR xxx
> ...
>
> #endif
>
>
> r~
>
^ permalink raw reply [flat|nested] 28+ messages in thread
end of thread, other threads:[~2021-07-08 8:33 UTC | newest]
Thread overview: 28+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-07-04 18:37 [PATCH 00/12] linux-user: Extract target errno related functions to 'target_errno.h' Philippe Mathieu-Daudé
2021-07-04 18:37 ` [PATCH 01/12] linux-user/alpha: Handle TARGET_EWOULDBLOCK as TARGET_EAGAIN Philippe Mathieu-Daudé
2021-07-07 1:44 ` Richard Henderson
2021-07-07 19:25 ` Laurent Vivier
2021-07-04 18:37 ` [PATCH 02/12] linux-user/hppa: " Philippe Mathieu-Daudé
2021-07-07 1:44 ` Richard Henderson
2021-07-07 19:26 ` Laurent Vivier
2021-07-04 18:37 ` [PATCH 03/12] linux-user/mips: " Philippe Mathieu-Daudé
2021-07-07 1:45 ` Richard Henderson
2021-07-07 19:27 ` Laurent Vivier
2021-07-04 18:37 ` [PATCH 04/12] linux-user/sparc: Rename target_errno.h -> target_errno_defs.h Philippe Mathieu-Daudé
2021-07-07 19:29 ` Laurent Vivier
2021-07-04 18:37 ` [PATCH 05/12] linux-user: Extract target errno to 'target_errno_defs.h' Philippe Mathieu-Daudé
2021-07-05 22:32 ` Taylor Simpson
2021-07-07 1:53 ` Richard Henderson
2021-07-08 8:32 ` Philippe Mathieu-Daudé
2021-07-04 18:37 ` [PATCH 06/12] linux-user/alpha: Remove hardcoded tabs (code style) Philippe Mathieu-Daudé
2021-07-07 1:46 ` Richard Henderson
2021-07-07 19:32 ` Laurent Vivier
2021-07-04 18:37 ` [PATCH 07/12] linux-user/alpha: Move errno definitions to 'target_errno_defs.h' Philippe Mathieu-Daudé
2021-07-04 18:37 ` [PATCH 08/12] linux-user/hppa: " Philippe Mathieu-Daudé
2021-07-04 18:37 ` [PATCH 09/12] linux-user/mips: " Philippe Mathieu-Daudé
2021-07-04 18:37 ` [PATCH 10/12] linux-user/syscall: Refactor target_to_host_errno_table_init() Philippe Mathieu-Daudé
2021-07-04 18:37 ` [PATCH 11/12] linux-user/syscall: Remove hardcoded tabs (code style) Philippe Mathieu-Daudé
2021-07-07 19:34 ` Laurent Vivier
2021-07-04 18:37 ` [PATCH 12/12] linux-user: Extract target errno related functions to 'target_errno.h' Philippe Mathieu-Daudé
2021-07-05 22:29 ` Taylor Simpson
2021-07-07 2:08 ` Richard Henderson
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.