From nobody Tue Feb 10 12:42:08 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.221.44 as permitted sender) client-ip=209.85.221.44; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wr1-f44.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.44 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1625763968; cv=none; d=zohomail.com; s=zohoarc; b=gNFEVRSNmdfQ1UN2i3emIk6dvJdxM1zzo8PgganQYgc8FB2SHI4TAxiwG1xI4IYudSL6mkk7rkyJwTIpFnlM5hAJ2sUAjdaGnTYTJ51F9g0NzDbY+Ls7y58YYEPmw8VsVyqrH5MLE5QYtF7H/ryP6Q6ddvuiDRktpHtM3n7jpNM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1625763968; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=+U59B2t/BTcV3BLcScYtf1Vnd2H+kLN7vBoag5DGjNc=; b=h7G5/H35QBEZJU8hjNoaPhA13Q0EP1+6nhhZkzMlCHTDgJ6Y0hUCS/X8tY292ODUcKs4/31D9GkExry7m7nkronezEVc/rJ/tJ4XIUMvzgNk94G3TSdpOH7Zc6rTCLb+nHUG/k4Yiac2b2CoTSyDfSQ3PsX4ktQ3CSTF8jfIpoE= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.44 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wr1-f44.google.com (mail-wr1-f44.google.com [209.85.221.44]) by mx.zohomail.com with SMTPS id 162576396887539.58670339537423; Thu, 8 Jul 2021 10:06:08 -0700 (PDT) Received: by mail-wr1-f44.google.com with SMTP id k4so2120663wrc.8 for ; Thu, 08 Jul 2021 10:06:08 -0700 (PDT) Return-Path: Return-Path: Received: from x1w.redhat.com (93.red-83-35-24.dynamicip.rima-tde.net. [83.35.24.93]) by smtp.gmail.com with ESMTPSA id n7sm9534363wmq.37.2021.07.08.10.06.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 08 Jul 2021 10:06:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=+U59B2t/BTcV3BLcScYtf1Vnd2H+kLN7vBoag5DGjNc=; b=BaQ54AMTdjsSKj7MM0H5PkAszRevUDxqQ+653tSnZk0FV/1PnWmo7+p13aR1rqdLNh EMNd17om/htRDbvxH52h51SgUl4iwdyTtdtAGQX9f9vQZC4AH5uAXoX8DdOFHOhppTug KInenVlSuKDz3ORN9Gv9QTCmE7v6SC1tEh/GWV5N+5L08CDFuHYNwWJHI05G3W2NcCN/ KdF0bXek+TQA0YJVPRjZez20JT1wejR6oZoNzOjNLTETw1quuCmdJoy4jntQaZoV3RSQ 7MpbbNqQgGCvJn3veIMO0Fa2ooktv6j3/YdLReeepT4DiFkR/Tn9iv09uSSgdSMsfubx BLxw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=+U59B2t/BTcV3BLcScYtf1Vnd2H+kLN7vBoag5DGjNc=; b=MI9GfmaUn574z9qSrJdCjtL29Ogm4wBcrubshte3EzIQnIf3mnK1NbBY0MBrCmbRHO M//rF5q1hxOD3Gzz/C2j7nrMaLOcvCSgu1k6hbfBhvCs1/XFpYizisMYvhGftIWPs/lK AKJsF0W1AmeygEfm5QUaed3euwiRJg7t/D6089jBcKo5n+8LVsUVZRXpuTrR443uEoHZ 2v20NlVIqrpbMRNuu0/4NRCP+FqyIGJsnXDyb6TEPGLrvRV8QUYUINp7JZuMfAIaeWG0 bQQ6O7k+jeUn2aHPFywVeU6//p7fjUieDpNZlAJgierz83f9Wx7h0BV1E1jaLPbCE/ni NWTA== X-Gm-Message-State: AOAM532imNv9OWS73Y1irvf7QgfQGfU7b9b07P+9L8Y3cjXj1eFvwDvp Z5uwJuCVzQW/Yuu7KOsZF2Y= X-Google-Smtp-Source: ABdhPJxu7TGmbancFv9ktadhOZb8rV9T4dqsNHgGfXZViHQ4+szblWLvMcvGnE/cXmLF8MimnznedQ== X-Received: by 2002:adf:aacb:: with SMTP id i11mr35418180wrc.371.1625763967019; Thu, 08 Jul 2021 10:06:07 -0700 (PDT) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Laurent Vivier , Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v3 3/8] linux-user: Extract target errno to 'target_errno_defs.h' Date: Thu, 8 Jul 2021 19:05:45 +0200 Message-Id: <20210708170550.1846343-4-f4bug@amsat.org> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210708170550.1846343-1-f4bug@amsat.org> References: <20210708170550.1846343-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1625763970620100001 We want to access the target errno indepently of the rest of the linux-user code. Move the header containing the generic errno definitions ('errno_defs.h') to 'generic/target_errno_defs.h', create a new 'target_errno_defs.h' in each target which itself includes 'generic/target_errno_defs.h'. Suggested-by: Richard Henderson Reviewed-by: Laurent Vivier Reviewed-by: Richard Henderson Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- linux-user/aarch64/target_errno_defs.h | 7 +++++++ linux-user/alpha/target_errno_defs.h | 6 ++++++ linux-user/arm/target_errno_defs.h | 7 +++++++ linux-user/cris/target_errno_defs.h | 7 +++++++ linux-user/{errno_defs.h =3D> generic/target_errno_defs.h} | 4 ++-- linux-user/hexagon/target_errno_defs.h | 7 +++++++ linux-user/hppa/target_errno_defs.h | 6 ++++++ linux-user/i386/target_errno_defs.h | 7 +++++++ linux-user/m68k/target_errno_defs.h | 7 +++++++ linux-user/microblaze/target_errno_defs.h | 7 +++++++ linux-user/mips/target_errno_defs.h | 6 ++++++ linux-user/mips64/target_errno_defs.h | 6 ++++++ linux-user/nios2/target_errno_defs.h | 7 +++++++ linux-user/openrisc/target_errno_defs.h | 7 +++++++ linux-user/ppc/target_errno_defs.h | 7 +++++++ linux-user/riscv/target_errno_defs.h | 7 +++++++ linux-user/s390x/target_errno_defs.h | 7 +++++++ linux-user/sh4/target_errno_defs.h | 7 +++++++ linux-user/sparc/target_errno_defs.h | 7 ++++++- linux-user/sparc/target_syscall.h | 2 -- linux-user/syscall_defs.h | 2 +- linux-user/x86_64/target_errno_defs.h | 7 +++++++ linux-user/xtensa/target_errno_defs.h | 7 +++++++ linux-user/safe-syscall.S | 2 +- 24 files changed, 139 insertions(+), 7 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 rename linux-user/{errno_defs.h =3D> generic/target_errno_defs.h} (99%) 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/ta= rget_errno_defs.h new file mode 100644 index 00000000000..461b5477284 --- /dev/null +++ b/linux-user/aarch64/target_errno_defs.h @@ -0,0 +1,7 @@ +#ifndef AARCH64_TARGET_ERRNO_DEFS_H +#define AARCH64_TARGET_ERRNO_DEFS_H + +/* Target uses generic errno */ +#include "../generic/target_errno_defs.h" + +#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..54770108c02 --- /dev/null +++ b/linux-user/alpha/target_errno_defs.h @@ -0,0 +1,6 @@ +#ifndef ALPHA_TARGET_ERRNO_DEFS_H +#define ALPHA_TARGET_ERRNO_DEFS_H + +#include "../generic/target_errno_defs.h" + +#endif diff --git a/linux-user/arm/target_errno_defs.h b/linux-user/arm/target_err= no_defs.h new file mode 100644 index 00000000000..fd843732384 --- /dev/null +++ b/linux-user/arm/target_errno_defs.h @@ -0,0 +1,7 @@ +#ifndef ARM_TARGET_ERRNO_DEFS_H +#define ARM_TARGET_ERRNO_DEFS_H + +/* Target uses generic errno */ +#include "../generic/target_errno_defs.h" + +#endif diff --git a/linux-user/cris/target_errno_defs.h b/linux-user/cris/target_e= rrno_defs.h new file mode 100644 index 00000000000..1cf43b17a50 --- /dev/null +++ b/linux-user/cris/target_errno_defs.h @@ -0,0 +1,7 @@ +#ifndef CRIS_TARGET_ERRNO_DEFS_H +#define CRIS_TARGET_ERRNO_DEFS_H + +/* Target uses generic errno */ +#include "../generic/target_errno_defs.h" + +#endif diff --git a/linux-user/errno_defs.h b/linux-user/generic/target_errno_defs= .h similarity index 99% rename from linux-user/errno_defs.h rename to linux-user/generic/target_errno_defs.h index aaf5208d62d..17d85e0b61b 100644 --- a/linux-user/errno_defs.h +++ b/linux-user/generic/target_errno_defs.h @@ -5,8 +5,8 @@ * Taken from asm-generic/errno-base.h and asm-generic/errno.h */ =20 -#ifndef LINUX_USER_ERRNO_DEFS_H -#define LINUX_USER_ERRNO_DEFS_H +#ifndef GENERIC_TARGET_ERRNO_DEFS_H +#define GENERIC_TARGET_ERRNO_DEFS_H =20 #define TARGET_EPERM 1 /* Operation not permitted */ #define TARGET_ENOENT 2 /* No such file or directory */ diff --git a/linux-user/hexagon/target_errno_defs.h b/linux-user/hexagon/ta= rget_errno_defs.h new file mode 100644 index 00000000000..da033a9a9e4 --- /dev/null +++ b/linux-user/hexagon/target_errno_defs.h @@ -0,0 +1,7 @@ +#ifndef HEXAGON_TARGET_ERRNO_DEFS_H +#define HEXAGON_TARGET_ERRNO_DEFS_H + +/* Target uses generic errno */ +#include "../generic/target_errno_defs.h" + +#endif diff --git a/linux-user/hppa/target_errno_defs.h b/linux-user/hppa/target_e= rrno_defs.h new file mode 100644 index 00000000000..d6e9676ce25 --- /dev/null +++ b/linux-user/hppa/target_errno_defs.h @@ -0,0 +1,6 @@ +#ifndef HPPA_TARGET_ERRNO_DEFS_H +#define HPPA_TARGET_ERRNO_DEFS_H + +#include "../generic/target_errno_defs.h" + +#endif diff --git a/linux-user/i386/target_errno_defs.h b/linux-user/i386/target_e= rrno_defs.h new file mode 100644 index 00000000000..459b2189e2b --- /dev/null +++ b/linux-user/i386/target_errno_defs.h @@ -0,0 +1,7 @@ +#ifndef I386_TARGET_ERRNO_DEFS_H +#define I386_TARGET_ERRNO_DEFS_H + +/* Target uses generic errno */ +#include "../generic/target_errno_defs.h" + +#endif diff --git a/linux-user/m68k/target_errno_defs.h b/linux-user/m68k/target_e= rrno_defs.h new file mode 100644 index 00000000000..96485a75431 --- /dev/null +++ b/linux-user/m68k/target_errno_defs.h @@ -0,0 +1,7 @@ +#ifndef M68K_TARGET_ERRNO_DEFS_H +#define M68K_TARGET_ERRNO_DEFS_H + +/* Target uses generic errno */ +#include "../generic/target_errno_defs.h" + +#endif diff --git a/linux-user/microblaze/target_errno_defs.h b/linux-user/microbl= aze/target_errno_defs.h new file mode 100644 index 00000000000..91a0bbf9dc0 --- /dev/null +++ b/linux-user/microblaze/target_errno_defs.h @@ -0,0 +1,7 @@ +#ifndef MICROBLAZE_TARGET_ERRNO_DEFS_H +#define MICROBLAZE_TARGET_ERRNO_DEFS_H + +/* Target uses generic errno */ +#include "../generic/target_errno_defs.h" + +#endif diff --git a/linux-user/mips/target_errno_defs.h b/linux-user/mips/target_e= rrno_defs.h new file mode 100644 index 00000000000..daef95ea703 --- /dev/null +++ b/linux-user/mips/target_errno_defs.h @@ -0,0 +1,6 @@ +#ifndef MIPS_TARGET_ERRNO_DEFS_H +#define MIPS_TARGET_ERRNO_DEFS_H + +#include "../generic/target_errno_defs.h" + +#endif diff --git a/linux-user/mips64/target_errno_defs.h b/linux-user/mips64/targ= et_errno_defs.h new file mode 100644 index 00000000000..82b0a704f62 --- /dev/null +++ b/linux-user/mips64/target_errno_defs.h @@ -0,0 +1,6 @@ +#ifndef MIPS64_TARGET_ERRNO_DEFS_H +#define MIPS64_TARGET_ERRNO_DEFS_H + +#include "../generic/target_errno_defs.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..28120013e24 --- /dev/null +++ b/linux-user/nios2/target_errno_defs.h @@ -0,0 +1,7 @@ +#ifndef NIOS2_TARGET_ERRNO_DEFS_H +#define NIOS2_TARGET_ERRNO_DEFS_H + +/* Target uses generic errno */ +#include "../generic/target_errno_defs.h" + +#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..cdf159746b1 --- /dev/null +++ b/linux-user/openrisc/target_errno_defs.h @@ -0,0 +1,7 @@ +#ifndef OR1K_TARGET_ERRNO_DEFS_H +#define OR1K_TARGET_ERRNO_DEFS_H + +/* Target uses generic errno */ +#include "../generic/target_errno_defs.h" + +#endif diff --git a/linux-user/ppc/target_errno_defs.h b/linux-user/ppc/target_err= no_defs.h new file mode 100644 index 00000000000..a24a973342f --- /dev/null +++ b/linux-user/ppc/target_errno_defs.h @@ -0,0 +1,7 @@ +#ifndef PPC_TARGET_ERRNO_DEFS_H +#define PPC_TARGET_ERRNO_DEFS_H + +/* Target uses generic errno */ +#include "../generic/target_errno_defs.h" + +#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..5e377a2fce8 --- /dev/null +++ b/linux-user/riscv/target_errno_defs.h @@ -0,0 +1,7 @@ +#ifndef RISCV_TARGET_ERRNO_DEFS_H +#define RISCV_TARGET_ERRNO_DEFS_H + +/* Target uses generic errno */ +#include "../generic/target_errno_defs.h" + +#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..f4c09700b5e --- /dev/null +++ b/linux-user/s390x/target_errno_defs.h @@ -0,0 +1,7 @@ +#ifndef S390X_TARGET_ERRNO_DEFS_H +#define S390X_TARGET_ERRNO_DEFS_H + +/* Target uses generic errno */ +#include "../generic/target_errno_defs.h" + +#endif diff --git a/linux-user/sh4/target_errno_defs.h b/linux-user/sh4/target_err= no_defs.h new file mode 100644 index 00000000000..e90adb54ab2 --- /dev/null +++ b/linux-user/sh4/target_errno_defs.h @@ -0,0 +1,7 @@ +#ifndef SH4_TARGET_ERRNO_DEFS_H +#define SH4_TARGET_ERRNO_DEFS_H + +/* Target uses generic errno */ +#include "../generic/target_errno_defs.h" + +#endif diff --git a/linux-user/sparc/target_errno_defs.h b/linux-user/sparc/target= _errno_defs.h index e0008109867..de4f1ffb0ac 100644 --- a/linux-user/sparc/target_errno_defs.h +++ b/linux-user/sparc/target_errno_defs.h @@ -1,7 +1,12 @@ #ifndef SPARC_TARGET_ERRNO_DEFS_H #define SPARC_TARGET_ERRNO_DEFS_H =20 -/* Target errno definitions taken from asm-sparc/errno.h */ +#include "../generic/target_errno_defs.h" + +/* + * Generic target errno overridden with definitions taken + * from asm-sparc/errno.h + */ #undef TARGET_EWOULDBLOCK #define TARGET_EWOULDBLOCK TARGET_EAGAIN /* Operation would block */ #undef TARGET_EINPROGRESS diff --git a/linux-user/sparc/target_syscall.h b/linux-user/sparc/target_sy= scall.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 =20 -#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/syscall_defs.h b/linux-user/syscall_defs.h index 18b031a2f6a..a5ce487dcc3 100644 --- a/linux-user/syscall_defs.h +++ b/linux-user/syscall_defs.h @@ -2751,7 +2751,7 @@ struct target_drm_i915_getparam { =20 #include "socket.h" =20 -#include "errno_defs.h" +#include "target_errno_defs.h" =20 #define FUTEX_WAIT 0 #define FUTEX_WAKE 1 diff --git a/linux-user/x86_64/target_errno_defs.h b/linux-user/x86_64/targ= et_errno_defs.h new file mode 100644 index 00000000000..cb2a0f6e0be --- /dev/null +++ b/linux-user/x86_64/target_errno_defs.h @@ -0,0 +1,7 @@ +#ifndef X86_64_TARGET_ERRNO_DEFS_H +#define X86_64_TARGET_ERRNO_DEFS_H + +/* Target uses generic errno */ +#include "../generic/target_errno_defs.h" + +#endif diff --git a/linux-user/xtensa/target_errno_defs.h b/linux-user/xtensa/targ= et_errno_defs.h new file mode 100644 index 00000000000..66fade2d0c8 --- /dev/null +++ b/linux-user/xtensa/target_errno_defs.h @@ -0,0 +1,7 @@ +#ifndef XTENSA_TARGET_ERRNO_DEFS_H +#define XTENSA_TARGET_ERRNO_DEFS_H + +/* Target uses generic errno */ +#include "../generic/target_errno_defs.h" + +#endif diff --git a/linux-user/safe-syscall.S b/linux-user/safe-syscall.S index b5df6254aea..42ea7c40ba3 100644 --- a/linux-user/safe-syscall.S +++ b/linux-user/safe-syscall.S @@ -11,7 +11,7 @@ */ =20 #include "hostdep.h" -#include "errno_defs.h" +#include "target_errno_defs.h" =20 /* We have the correct host directory on our include path * so that this will pull in the right fragment for the architecture. --=20 2.31.1