From nobody Tue Feb 10 09:57:16 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.221.47 as permitted sender) client-ip=209.85.221.47; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wr1-f47.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.47 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1625753498; cv=none; d=zohomail.com; s=zohoarc; b=JiLsAUz/hTZfJTWXzV+O+xvVpxLTHX8B8nnBM/un9XX8kvcH3uKzO42CZ21uN1k99ddgQxxUFWDDLjIppQq5tTSMRKvy9Xx+sjWTRiEoBv+AUstzVM7xoOvqoByOVmzkaYDJOIQAsslOYimGSjea/VLX2ubG/dCWvSEzISuUDoc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1625753498; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=m0KKAQoYWNHOBcKt/hv37+OKJEMrpQuNjecZJW20aAA=; b=eUoiVs8koOPMBNE1qYnPOUtiY6RBa05dpphPWU4DzxHf5g2MWKjWrfGd632JuSobYBRorNRWMvPijZzjVKnMuaC0hvl7lpsywbNGdzH7dHSAU4XD5yi54mVvomKtXZa6GEQIQmpz3YhTR5yhninCjz/iVG+AQUjv3qTSFkVAWfg= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.47 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wr1-f47.google.com (mail-wr1-f47.google.com [209.85.221.47]) by mx.zohomail.com with SMTPS id 1625753498623381.38967150605777; Thu, 8 Jul 2021 07:11:38 -0700 (PDT) Received: by mail-wr1-f47.google.com with SMTP id r11so2457493wro.9 for ; Thu, 08 Jul 2021 07:11:38 -0700 (PDT) Return-Path: Return-Path: Received: from x1w.. (93.red-83-35-24.dynamicip.rima-tde.net. [83.35.24.93]) by smtp.gmail.com with ESMTPSA id k5sm2298037wmk.11.2021.07.08.07.11.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 08 Jul 2021 07:11:36 -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=m0KKAQoYWNHOBcKt/hv37+OKJEMrpQuNjecZJW20aAA=; b=GJ0LxR9zzh+0Nv/Dy7gjy5rgYX69B+J7Y2ErYP2uiUD7cBQhCh0Abx+An6TYUIJob/ V2AS5YZYbrJvK+zopYqNy8nCxKGLrIO43L4v5geeRs6y+t/VRZMn/YSeG8w4ZlbGNcpP 2DVh0J+p3c4MbjzcdWhykQiLK9EiCWGELlWcz/OcVeHSzR3A/DuldCLirMalmvyk+RTP JKzHfOYGgRrpPL1YuFwhS1+VWUhjgqwpfK9vuFIPux3HJ5w+McBQplLGCw+Yn4ElmDEg JAhjIkhVIYO+mi22TfPT3ep78Ys/WEyMOLPQ1YPw6WljlXR20ZXVNEub56n+gsnV0cT3 cc6Q== 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=m0KKAQoYWNHOBcKt/hv37+OKJEMrpQuNjecZJW20aAA=; b=IBG2LI/BHrx3yZGjkJiZiTHvUiIpCcKH48FQc2oNCOQVu3lB7UJ7gLwuxM2wdypWmi qMjfdhoqK5UpEsOJ+5nB5UN9WyUvV2ns/8mBLLURRRojj1Q7qjilisSMi1GoTlblYV5D 4w67AxHWdyYP31qEcS7EOr6deQzb25dMp92vXb3FHaO7eT7mVTCU6zmzv8UYhzi9CjlI gbo89cl4yHIZsaa0CnEG2bKY2yAH8b6tNsU89QOGx6jHt9hcNwgnM/xzjuuKo8ZMs07l MBNPJafw65FW7XFgG458424rTDXtG7Bv50B5AofA8Uu687/nVejhUUIMcIFgRVoCnsVP ksuw== X-Gm-Message-State: AOAM530eU7/lbhOJIbz5nokELRqijgy0fVjCdyjXi7z9H/+cznvN8wd4 QR6BStBkAIswhFXx2mCCOXk= X-Google-Smtp-Source: ABdhPJwVXlQNpP6dEhQwfAIs0RAjmSnyitlJqJ6L+CJY7KvyZvcygI7AKZ88u5JZIa+9hC2YlFkjsw== X-Received: by 2002:adf:f382:: with SMTP id m2mr8006964wro.335.1625753496849; Thu, 08 Jul 2021 07:11:36 -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: Taylor Simpson , Laurent Vivier , Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v2 3/8] linux-user: Extract target errno to 'target_errno_defs.h' Date: Thu, 8 Jul 2021 16:11:16 +0200 Message-Id: <20210708141121.1731691-4-f4bug@amsat.org> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210708141121.1731691-1-f4bug@amsat.org> References: <20210708141121.1731691-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: 1625753499895100001 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 Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Laurent Vivier Reviewed-by: Richard Henderson --- linux-user/aarch64/target_errno_defs.h | 6 ++++++ linux-user/alpha/target_errno_defs.h | 6 ++++++ linux-user/arm/target_errno_defs.h | 6 ++++++ linux-user/cris/target_errno_defs.h | 6 ++++++ linux-user/{errno_defs.h =3D> generic/target_errno_defs.h} | 4 ++-- linux-user/hexagon/target_errno_defs.h | 6 ++++++ linux-user/hppa/target_errno_defs.h | 6 ++++++ 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 | 6 ++++++ linux-user/mips64/target_errno_defs.h | 6 ++++++ 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_errno_defs.h | 2 ++ linux-user/sparc/target_syscall.h | 2 -- linux-user/syscall_defs.h | 2 +- linux-user/x86_64/target_errno_defs.h | 6 ++++++ linux-user/xtensa/target_errno_defs.h | 6 ++++++ linux-user/safe-syscall.S | 2 +- 24 files changed, 120 insertions(+), 6 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..eee9762ba32 --- /dev/null +++ b/linux-user/aarch64/target_errno_defs.h @@ -0,0 +1,6 @@ +#ifndef AARCH64_TARGET_ERRNO_DEFS_H +#define AARCH64_TARGET_ERRNO_DEFS_H + +#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..448cc407662 --- /dev/null +++ b/linux-user/arm/target_errno_defs.h @@ -0,0 +1,6 @@ +#ifndef ARM_TARGET_ERRNO_DEFS_H +#define ARM_TARGET_ERRNO_DEFS_H + +#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..02c040982df --- /dev/null +++ b/linux-user/cris/target_errno_defs.h @@ -0,0 +1,6 @@ +#ifndef CRIS_TARGET_ERRNO_DEFS_H +#define CRIS_TARGET_ERRNO_DEFS_H + +#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..0644ae802b4 --- /dev/null +++ b/linux-user/hexagon/target_errno_defs.h @@ -0,0 +1,6 @@ +#ifndef HEXAGON_TARGET_ERRNO_DEFS_H +#define HEXAGON_TARGET_ERRNO_DEFS_H + +#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..d34466d583f --- /dev/null +++ b/linux-user/i386/target_errno_defs.h @@ -0,0 +1,6 @@ +#ifndef I386_TARGET_ERRNO_DEFS_H +#define I386_TARGET_ERRNO_DEFS_H + +#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..91c51b79cdc --- /dev/null +++ b/linux-user/m68k/target_errno_defs.h @@ -0,0 +1,6 @@ +#ifndef M68K_TARGET_ERRNO_DEFS_H +#define M68K_TARGET_ERRNO_DEFS_H + +#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..7be53eb2365 --- /dev/null +++ b/linux-user/microblaze/target_errno_defs.h @@ -0,0 +1,6 @@ +#ifndef MICROBLAZE_TARGET_ERRNO_DEFS_H +#define MICROBLAZE_TARGET_ERRNO_DEFS_H + +#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..daceaf30347 --- /dev/null +++ b/linux-user/nios2/target_errno_defs.h @@ -0,0 +1,6 @@ +#ifndef NIOS2_TARGET_ERRNO_DEFS_H +#define NIOS2_TARGET_ERRNO_DEFS_H + +#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..1d32c8798f7 --- /dev/null +++ b/linux-user/openrisc/target_errno_defs.h @@ -0,0 +1,6 @@ +#ifndef OR1K_TARGET_ERRNO_DEFS_H +#define OR1K_TARGET_ERRNO_DEFS_H + +#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..01b25bb5d06 --- /dev/null +++ b/linux-user/ppc/target_errno_defs.h @@ -0,0 +1,6 @@ +#ifndef PPC_TARGET_ERRNO_DEFS_H +#define PPC_TARGET_ERRNO_DEFS_H + +#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..785614ba0a5 --- /dev/null +++ b/linux-user/riscv/target_errno_defs.h @@ -0,0 +1,6 @@ +#ifndef RISCV_TARGET_ERRNO_DEFS_H +#define RISCV_TARGET_ERRNO_DEFS_H + +#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..bca1c3b4a10 --- /dev/null +++ b/linux-user/s390x/target_errno_defs.h @@ -0,0 +1,6 @@ +#ifndef S390X_TARGET_ERRNO_DEFS_H +#define S390X_TARGET_ERRNO_DEFS_H + +#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..de2de2d3f8d --- /dev/null +++ b/linux-user/sh4/target_errno_defs.h @@ -0,0 +1,6 @@ +#ifndef SH4_TARGET_ERRNO_DEFS_H +#define SH4_TARGET_ERRNO_DEFS_H + +#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..416acbb4593 100644 --- a/linux-user/sparc/target_errno_defs.h +++ b/linux-user/sparc/target_errno_defs.h @@ -1,6 +1,8 @@ #ifndef SPARC_TARGET_ERRNO_DEFS_H #define SPARC_TARGET_ERRNO_DEFS_H =20 +#include "../generic/target_errno_defs.h" + /* Target errno definitions taken from asm-sparc/errno.h */ #undef TARGET_EWOULDBLOCK #define TARGET_EWOULDBLOCK TARGET_EAGAIN /* Operation would block */ 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..43b4068ba93 --- /dev/null +++ b/linux-user/x86_64/target_errno_defs.h @@ -0,0 +1,6 @@ +#ifndef X86_64_TARGET_ERRNO_DEFS_H +#define X86_64_TARGET_ERRNO_DEFS_H + +#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..7d39e77251c --- /dev/null +++ b/linux-user/xtensa/target_errno_defs.h @@ -0,0 +1,6 @@ +#ifndef XTENSA_TARGET_ERRNO_DEFS_H +#define XTENSA_TARGET_ERRNO_DEFS_H + +#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