From nobody Sun Jan 25 09:59:04 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=quarantine dis=none) header.from=kernel.org ARC-Seal: i=1; a=rsa-sha256; t=1769244854; cv=none; d=zohomail.com; s=zohoarc; b=ebCafwC8r5tz3lSMlUZpZgQlOJNSzJYaDG5YQbY0j6zio9norsC3Zc4fhp4DcO6p1xIP0iNCh49uUu0hHoTgRGiVO+P4choi66h+rsC+YCGz6Y3gsjf9NwnOBPGkjmFgF9BFe5SZITBm4/yHqWXZFGIHRAGqIlGK/P/Cta9njK4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1769244854; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=hsVRFo5AA9ELD64/Ry35ASCKQzYXPDQDcDNRFAgix6E=; b=HhFpPGYQa4NIhvI7+CzsvrtrIFgQTD9QPQFlpU4XrKUO0o+wt4BP/PQt7actTpK052Ugg8Dnp8HZ0838++LGPsq/g1eV6Bfrs20ttjYt46f9WfRp2jskngF3wBAjfIr9dVDgctxbVY6h+VpkCDtRbEU+U9XpnSC1GNWrAd+j4eM= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1769244854341442.7203770282141; Sat, 24 Jan 2026 00:54:14 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vjZOQ-0001pj-Sg; Sat, 24 Jan 2026 03:53:18 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vjZON-0001mG-O0 for qemu-devel@nongnu.org; Sat, 24 Jan 2026 03:53:15 -0500 Received: from tor.source.kernel.org ([172.105.4.254]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vjZOM-0002PP-F1 for qemu-devel@nongnu.org; Sat, 24 Jan 2026 03:53:15 -0500 Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by tor.source.kernel.org (Postfix) with ESMTP id 6FE2860053; Sat, 24 Jan 2026 08:53:12 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id B3754C19422; Sat, 24 Jan 2026 08:53:10 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1769244792; bh=HqPNF33+yuQjENJAc4XJjvbKHOUTbEiw7SICOVHDfOc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=d0RM2Y+GwFl4G6Qp0F4Atnf6YgjnQBLvUR2tOsA3vz824rQF40Lr3iEBY5Z//ZFwe MXhkll/k0iB6kSdEcJgyBqLER7mlKNn15BJCASXiebHdUsqogZSQVedbRB4WFhwB9k NQHXEwHNAhxJ+YSIhmtjtgPHgWczTmAnipjUtBi0/TA0+WTm9Db6PfjyBKTQLQgHGV brGmltrfa5zHf8wfcYtoiD4ci0+CRLXd2GQmF3VpgksmX87JeuhzRTeq3c3N2883s/ 1mVgaLZZcVPVpI6qjTNTR8BAClTSUK6AL3+NnsLxIPyu8MJA6FAvNkMqeBzNQG3D9J fN0tZfTlNAeRw== From: deller@kernel.org To: Richard Henderson , qemu-devel@nongnu.org Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Laurent Vivier , deller@gmx.de, Jiaxun Yang Subject: [PULL v2 01/11] linux-user: update statx emulation Date: Sat, 24 Jan 2026 09:52:56 +0100 Message-ID: <20260124085306.3996-2-deller@kernel.org> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20260124085306.3996-1-deller@kernel.org> References: <20260124085306.3996-1-deller@kernel.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=172.105.4.254; envelope-from=deller@kernel.org; helo=tor.source.kernel.org X-Spam_score_int: -21 X-Spam_score: -2.2 X-Spam_bar: -- X-Spam_report: (-2.2 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.079, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @kernel.org) X-ZM-MESSAGEID: 1769244857199158500 Content-Type: text/plain; charset="utf-8" From: Andreas Schwab Signed-off-by: Andreas Schwab Reviewed-by: Laurent Vivier Signed-off-by: Helge Deller --- linux-user/syscall.c | 3 +++ linux-user/syscall_defs.h | 6 +++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/linux-user/syscall.c b/linux-user/syscall.c index 3601715769..24046c7eeb 100644 --- a/linux-user/syscall.c +++ b/linux-user/syscall.c @@ -7882,6 +7882,9 @@ static inline abi_long host_to_target_statx(struct ta= rget_statx *host_stx, __put_user(host_stx->stx_rdev_minor, &target_stx->stx_rdev_minor); __put_user(host_stx->stx_dev_major, &target_stx->stx_dev_major); __put_user(host_stx->stx_dev_minor, &target_stx->stx_dev_minor); + __put_user(host_stx->stx_mnt_id, &target_stx->stx_mnt_id); + __put_user(host_stx->stx_dio_mem_align, &target_stx->stx_dio_mem_align= ); + __put_user(host_stx->stx_dio_offset_align, &target_stx->stx_dio_offset= _align); =20 unlock_user_struct(target_stx, target_addr, 1); =20 diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h index cd9ff709b8..6ae6e1fa13 100644 --- a/linux-user/syscall_defs.h +++ b/linux-user/syscall_defs.h @@ -2734,7 +2734,11 @@ struct target_statx { abi_uint stx_dev_major; /* ID of device containing file [uncond] */ abi_uint stx_dev_minor; /* 0x90 */ - abi_ullong __spare2[14]; /* Spare space for future expansion */ + abi_ullong stx_mnt_id; + abi_uint stx_dio_mem_align; + abi_uint stx_dio_offset_align; + /* 0xa0 */ + abi_ullong __spare2[12]; /* Spare space for future expansion */ /* 0x100 */ }; =20 --=20 2.52.0 From nobody Sun Jan 25 09:59:04 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=quarantine dis=none) header.from=kernel.org ARC-Seal: i=1; a=rsa-sha256; t=1769244855; cv=none; d=zohomail.com; s=zohoarc; b=Abq6zP2bIKyAeIYZgUf7OsK7B14anXYWDyrTeevjZygmWJJjvKcs2tDATMn9Dz1s0tMc/YcuOsc0Y2AJY1DZeUbcvqiWs0y4TsRqlKtHxryJiA/Q1ydnCWNINvv7obhr9erkRacLrCDhUWg1uJ2SKe3R20M674rulhdiOQ8kCIY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1769244855; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=TB9E6pPD32Ozxb7GJLBY+oxD745YbmBJOCn+HivkdlM=; b=cN76F51duT0Pi11M4gTV50x/1Hffvz71I1CBkZX8xXPuH5mg9oBWRxY6a+xMba5hnjVvknv6IW+KcnDNZWAhjp8Mneqr4MYz3lvciOJq1/FkWrmd3TVsnb5EEADu8hJ9SZuXG85wdodro3rf3HwgdSnFz7iK3GhwYkA1J5d/rcQ= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1769244855754415.34608871457385; Sat, 24 Jan 2026 00:54:15 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vjZOU-0001qr-Kn; Sat, 24 Jan 2026 03:53:22 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vjZOQ-0001pk-Rx for qemu-devel@nongnu.org; Sat, 24 Jan 2026 03:53:18 -0500 Received: from tor.source.kernel.org ([2600:3c04:e001:324:0:1991:8:25]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vjZON-0002PX-8D for qemu-devel@nongnu.org; Sat, 24 Jan 2026 03:53:16 -0500 Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by tor.source.kernel.org (Postfix) with ESMTP id 52804600C3; Sat, 24 Jan 2026 08:53:14 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 94B82C116D0; Sat, 24 Jan 2026 08:53:12 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1769244794; bh=pLRJSoz3zC7fnpXD1Cv2RdwTrzyM/reFrWgwsJ6xBQo=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=GRrOhd2gJ4vYc/kedQtEk3lCrDShrQbjArzypIqzSq9bLUQYCI7CFZcRfmyCLuB+t iNweP1y0A/eoL0hDorfWjpUI1mZwiLIBBbiWxatIUFXCypYkY6eVKEBDC9fB2ZKsS7 la7YXEs4M4lKZymMIyPVMzdBf/i1sa8NEPwIBTy7N1/H++vITxJG5v2SxQJW0R843+ 0PuhNUZAOu1tY2yrrRzOtBBl1jciTMEUpicZks8aOh24NdiDUKD05nOaqRuxXIghOi bG1IqC75fLICXmMShU1w6D6nBSolwduSYxnklmelH8SiJJB/i5ax9zrnNwVQfuuekd DUkvOIadZYPXw== From: deller@kernel.org To: Richard Henderson , qemu-devel@nongnu.org Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Laurent Vivier , deller@gmx.de, Jiaxun Yang Subject: [PULL v2 02/11] linux-user: Add termios2 support Date: Sat, 24 Jan 2026 09:52:57 +0100 Message-ID: <20260124085306.3996-3-deller@kernel.org> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20260124085306.3996-1-deller@kernel.org> References: <20260124085306.3996-1-deller@kernel.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2600:3c04:e001:324:0:1991:8:25; envelope-from=deller@kernel.org; helo=tor.source.kernel.org X-Spam_score_int: -21 X-Spam_score: -2.2 X-Spam_bar: -- X-Spam_report: (-2.2 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.079, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @kernel.org) X-ZM-MESSAGEID: 1769244857637154100 Content-Type: text/plain; charset="utf-8" From: Luca Bonissi Signed-off-by: Luca Bonissi Link: https://lore.kernel.org/qemu-devel/745f18b6-ee62-4903-9a56-dcb903b610= cf@bonslack.org Reviewed-by: Helge Deller Tested-by: Heinrich Schuchardt --- linux-user/ioctls.h | 6 +++ linux-user/strace.c | 69 ++++++++++++++++++++++++++++++ linux-user/syscall.c | 84 +++++++++++++++++++++++++++++++++++++ linux-user/syscall_types.h | 3 ++ linux-user/user-internals.h | 3 ++ 5 files changed, 165 insertions(+) diff --git a/linux-user/ioctls.h b/linux-user/ioctls.h index 2f62fd2cb9..6ecfe6306e 100644 --- a/linux-user/ioctls.h +++ b/linux-user/ioctls.h @@ -1,5 +1,11 @@ /* emulated ioctl list */ =20 +#ifdef TARGET_TCGETS2 + IOCTL(TCGETS2, IOC_R, MK_PTR(MK_STRUCT(STRUCT_termios2))) + IOCTL(TCSETS2, IOC_W, MK_PTR(MK_STRUCT(STRUCT_termios2))) + IOCTL(TCSETSW2, IOC_W, MK_PTR(MK_STRUCT(STRUCT_termios2))) + IOCTL(TCSETSF2, IOC_W, MK_PTR(MK_STRUCT(STRUCT_termios2))) +#endif IOCTL(TCGETS, IOC_R, MK_PTR(MK_STRUCT(STRUCT_termios))) IOCTL(TCSETS, IOC_W, MK_PTR(MK_STRUCT(STRUCT_termios))) IOCTL(TCSETSF, IOC_W, MK_PTR(MK_STRUCT(STRUCT_termios))) diff --git a/linux-user/strace.c b/linux-user/strace.c index 758c5d32b6..18bc6c800c 100644 --- a/linux-user/strace.c +++ b/linux-user/strace.c @@ -1935,6 +1935,75 @@ print_termios(void *arg) qemu_log("}"); } =20 +#ifdef TARGET_TCGETS2 +void +print_termios2(void *arg) +{ + const struct target_termios2 *target =3D arg; + + target_tcflag_t iflags =3D tswap32(target->c_iflag); + target_tcflag_t oflags =3D tswap32(target->c_oflag); + target_tcflag_t cflags =3D tswap32(target->c_cflag); + target_tcflag_t lflags =3D tswap32(target->c_lflag); + + qemu_log("{"); + + qemu_log("c_iflag =3D "); + print_flags(termios_iflags, iflags, 0); + + qemu_log("c_oflag =3D "); + target_tcflag_t oflags_clean =3D oflags & ~(TARGET_NLDLY | TARGET_CRD= LY | + TARGET_TABDLY | TARGET_BSDL= Y | + TARGET_VTDLY | TARGET_FFDLY= ); + print_flags(termios_oflags, oflags_clean, 0); + if (oflags & TARGET_NLDLY) { + print_enums(termios_oflags_NLDLY, oflags & TARGET_NLDLY, 0); + } + if (oflags & TARGET_CRDLY) { + print_enums(termios_oflags_CRDLY, oflags & TARGET_CRDLY, 0); + } + if (oflags & TARGET_TABDLY) { + print_enums(termios_oflags_TABDLY, oflags & TARGET_TABDLY, 0); + } + if (oflags & TARGET_BSDLY) { + print_enums(termios_oflags_BSDLY, oflags & TARGET_BSDLY, 0); + } + if (oflags & TARGET_VTDLY) { + print_enums(termios_oflags_VTDLY, oflags & TARGET_VTDLY, 0); + } + if (oflags & TARGET_FFDLY) { + print_enums(termios_oflags_FFDLY, oflags & TARGET_FFDLY, 0); + } + + qemu_log("c_cflag =3D "); + if (cflags & TARGET_CBAUD) { + print_enums(termios_cflags_CBAUD, cflags & TARGET_CBAUD, 0); + } + if (cflags & TARGET_CSIZE) { + print_enums(termios_cflags_CSIZE, cflags & TARGET_CSIZE, 0); + } + target_tcflag_t cflags_clean =3D cflags & ~(TARGET_CBAUD | TARGET_CSIZ= E); + print_flags(termios_cflags, cflags_clean, 0); + + qemu_log("c_lflag =3D "); + print_flags(termios_lflags, lflags, 0); + + qemu_log("c_ispeed =3D "); + print_raw_param("%u", tswap32(target->c_ispeed), 0); + + qemu_log("c_ospeed =3D "); + print_raw_param("%u", tswap32(target->c_ospeed), 0); + + qemu_log("c_cc =3D "); + qemu_log("\"%s\",", target->c_cc); + + qemu_log("c_line =3D "); + print_raw_param("\'%c\'", target->c_line, 1); + + qemu_log("}"); +} +#endif + #undef UNUSED =20 #ifdef TARGET_NR_accept diff --git a/linux-user/syscall.c b/linux-user/syscall.c index 24046c7eeb..d80d3ded7b 100644 --- a/linux-user/syscall.c +++ b/linux-user/syscall.c @@ -86,6 +86,7 @@ #endif =20 #define termios host_termios +#define termios2 host_termios2 #define winsize host_winsize #define termio host_termio #define sgttyb host_sgttyb /* same as target */ @@ -5891,6 +5892,89 @@ static const StructEntry struct_termios_def =3D { .print =3D print_termios, }; =20 +#ifdef TARGET_TCGETS2 +static void target_to_host_termios2 (void *dst, const void *src) +{ + struct host_termios2 *host =3D dst; + const struct target_termios2 *target =3D src; + + host->c_iflag =3D + target_to_host_bitmask(tswap32(target->c_iflag), iflag_tbl); + host->c_oflag =3D + target_to_host_bitmask(tswap32(target->c_oflag), oflag_tbl); + host->c_cflag =3D + target_to_host_bitmask(tswap32(target->c_cflag), cflag_tbl); + host->c_lflag =3D + target_to_host_bitmask(tswap32(target->c_lflag), lflag_tbl); + host->c_line =3D target->c_line; + host->c_ispeed =3D tswap32(target->c_ispeed); + host->c_ospeed =3D tswap32(target->c_ospeed); + + memset(host->c_cc, 0, sizeof(host->c_cc)); + host->c_cc[VINTR] =3D target->c_cc[TARGET_VINTR]; + host->c_cc[VQUIT] =3D target->c_cc[TARGET_VQUIT]; + host->c_cc[VERASE] =3D target->c_cc[TARGET_VERASE]; + host->c_cc[VKILL] =3D target->c_cc[TARGET_VKILL]; + host->c_cc[VEOF] =3D target->c_cc[TARGET_VEOF]; + host->c_cc[VTIME] =3D target->c_cc[TARGET_VTIME]; + host->c_cc[VMIN] =3D target->c_cc[TARGET_VMIN]; + host->c_cc[VSWTC] =3D target->c_cc[TARGET_VSWTC]; + host->c_cc[VSTART] =3D target->c_cc[TARGET_VSTART]; + host->c_cc[VSTOP] =3D target->c_cc[TARGET_VSTOP]; + host->c_cc[VSUSP] =3D target->c_cc[TARGET_VSUSP]; + host->c_cc[VEOL] =3D target->c_cc[TARGET_VEOL]; + host->c_cc[VREPRINT] =3D target->c_cc[TARGET_VREPRINT]; + host->c_cc[VDISCARD] =3D target->c_cc[TARGET_VDISCARD]; + host->c_cc[VWERASE] =3D target->c_cc[TARGET_VWERASE]; + host->c_cc[VLNEXT] =3D target->c_cc[TARGET_VLNEXT]; + host->c_cc[VEOL2] =3D target->c_cc[TARGET_VEOL2]; +} + +static void host_to_target_termios2 (void *dst, const void *src) +{ + struct target_termios2 *target =3D dst; + const struct host_termios2 *host =3D src; + + target->c_iflag =3D + tswap32(host_to_target_bitmask(host->c_iflag, iflag_tbl)); + target->c_oflag =3D + tswap32(host_to_target_bitmask(host->c_oflag, oflag_tbl)); + target->c_cflag =3D + tswap32(host_to_target_bitmask(host->c_cflag, cflag_tbl)); + target->c_lflag =3D + tswap32(host_to_target_bitmask(host->c_lflag, lflag_tbl)); + target->c_line =3D host->c_line; + target->c_ispeed =3D tswap32(host->c_ispeed); + target->c_ospeed =3D tswap32(host->c_ospeed); + + memset(target->c_cc, 0, sizeof(target->c_cc)); + target->c_cc[TARGET_VINTR] =3D host->c_cc[VINTR]; + target->c_cc[TARGET_VQUIT] =3D host->c_cc[VQUIT]; + target->c_cc[TARGET_VERASE] =3D host->c_cc[VERASE]; + target->c_cc[TARGET_VKILL] =3D host->c_cc[VKILL]; + target->c_cc[TARGET_VEOF] =3D host->c_cc[VEOF]; + target->c_cc[TARGET_VTIME] =3D host->c_cc[VTIME]; + target->c_cc[TARGET_VMIN] =3D host->c_cc[VMIN]; + target->c_cc[TARGET_VSWTC] =3D host->c_cc[VSWTC]; + target->c_cc[TARGET_VSTART] =3D host->c_cc[VSTART]; + target->c_cc[TARGET_VSTOP] =3D host->c_cc[VSTOP]; + target->c_cc[TARGET_VSUSP] =3D host->c_cc[VSUSP]; + target->c_cc[TARGET_VEOL] =3D host->c_cc[VEOL]; + target->c_cc[TARGET_VREPRINT] =3D host->c_cc[VREPRINT]; + target->c_cc[TARGET_VDISCARD] =3D host->c_cc[VDISCARD]; + target->c_cc[TARGET_VWERASE] =3D host->c_cc[VWERASE]; + target->c_cc[TARGET_VLNEXT] =3D host->c_cc[VLNEXT]; + target->c_cc[TARGET_VEOL2] =3D host->c_cc[VEOL2]; +} + +static const StructEntry struct_termios2_def =3D { + .convert =3D { host_to_target_termios2, target_to_host_termios2 }, + .size =3D { sizeof(struct target_termios2), sizeof(struct host_termios= 2) }, + .align =3D { __alignof__(struct target_termios2), __alignof__(struct h= ost_termios2) }, + .print =3D print_termios2, +}; +#endif + /* If the host does not provide these bits, they may be safely discarded. = */ #ifndef MAP_SYNC #define MAP_SYNC 0 diff --git a/linux-user/syscall_types.h b/linux-user/syscall_types.h index 6dd7a80ce5..ac45705acf 100644 --- a/linux-user/syscall_types.h +++ b/linux-user/syscall_types.h @@ -1,4 +1,7 @@ STRUCT_SPECIAL(termios) +#ifdef TARGET_TCGETS2 +STRUCT_SPECIAL(termios2) +#endif =20 STRUCT(winsize, TYPE_SHORT, TYPE_SHORT, TYPE_SHORT, TYPE_SHORT) diff --git a/linux-user/user-internals.h b/linux-user/user-internals.h index 7099349ec8..067c02bb93 100644 --- a/linux-user/user-internals.h +++ b/linux-user/user-internals.h @@ -129,6 +129,9 @@ static inline uint64_t target_offset64(uint64_t word0, = uint64_t word1) #endif /* TARGET_ABI_BITS !=3D 32 */ =20 void print_termios(void *arg); +#ifdef TARGET_TCGETS2 +void print_termios2(void *arg); +#endif =20 /* ARM EABI and MIPS expect 64bit types aligned even on pairs or registers= */ #ifdef TARGET_ARM --=20 2.52.0 From nobody Sun Jan 25 09:59:04 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=quarantine dis=none) header.from=kernel.org ARC-Seal: i=1; a=rsa-sha256; t=1769244881; cv=none; d=zohomail.com; s=zohoarc; b=XsQBK6AOsseS3oa07Nvr+IkOn9XvKpCSz1WZEGiXW8VYofBNUyWGhyRdhi5U44ofEQHz8ZlwRkoySgLkcL2IpuRIP97OkjZrUHLpit0Q3S46CCUZSNuLtKNbjDTyKOYda9YXgvlV4g7EeZNO/bVYNsi1Uv5PP85NK4M0rCHyJps= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1769244881; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=hUpC4rgH5LxzUthKUGELO3E+CLEeT6wuFlpJaEJ8WAQ=; b=g7WYl9PAmPFcmjPIoQY0DIjTtox1H4PxAoDiwWQWpuath8y1PGxWz6qsDiuArGMWbv8vlVi0JapZF2L+9aQGPfJ/2H7KsYbhIFodypgUXms0BHE1GyLs0HzAFy7G8O9nzlCZ7X50aEuVxOtDjagnVwSt7EumKtM+pz4+CRiQgr0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1769244881820302.85816603288663; Sat, 24 Jan 2026 00:54:41 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vjZOW-0001v1-8d; Sat, 24 Jan 2026 03:53:24 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vjZOR-0001q2-Sh for qemu-devel@nongnu.org; Sat, 24 Jan 2026 03:53:20 -0500 Received: from tor.source.kernel.org ([2600:3c04:e001:324:0:1991:8:25]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vjZOO-0002Pn-Or for qemu-devel@nongnu.org; Sat, 24 Jan 2026 03:53:19 -0500 Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by tor.source.kernel.org (Postfix) with ESMTP id 316B760018; Sat, 24 Jan 2026 08:53:16 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 75CA1C116D0; Sat, 24 Jan 2026 08:53:14 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1769244795; bh=lV35+r7Y6skWBMC6Qb1tVaTfuXguC//8hOkdEiew6PY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Sbtfc4J5CNXcMJ8dGmToNce5Vxhsq8xpcL7xtJNFGQZpbp5NVkDY2/jpo1+40541F 9Qt4OAN1c2MI9+5mqdMLjS6TmjG65i5lC8mlGuY7KuwuP9n02cmLQbYqimvTANfUEC /AM9go3TFu7aTJSw/tZdGzOmxpWqE9hgPb6jigsdmBUK3S4pXHDh6sqI3WyYlgV8/a E68wOQkPFvXDEm+qsjnhn7BBW5uKySxGAJAPKoes6aFsuLCSjrOTk+eCl82m1/JVd3 dSStI/+/Lya+FPYfPwS7XJa77ypYKnDJasTkUbb8B87Ei5tCbLZ9e4IUrfVGLGI31u +I+B2FP9cPNEw== From: deller@kernel.org To: Richard Henderson , qemu-devel@nongnu.org Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Laurent Vivier , deller@gmx.de, Jiaxun Yang Subject: [PULL v2 03/11] linux-user: Add termios2 support to alpha target Date: Sat, 24 Jan 2026 09:52:58 +0100 Message-ID: <20260124085306.3996-4-deller@kernel.org> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20260124085306.3996-1-deller@kernel.org> References: <20260124085306.3996-1-deller@kernel.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2600:3c04:e001:324:0:1991:8:25; envelope-from=deller@kernel.org; helo=tor.source.kernel.org X-Spam_score_int: -21 X-Spam_score: -2.2 X-Spam_bar: -- X-Spam_report: (-2.2 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.079, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @kernel.org) X-ZM-MESSAGEID: 1769244882573158500 Content-Type: text/plain; charset="utf-8" From: Luca Bonissi Signed-off-by: Luca Bonissi Link: https://lore.kernel.org/qemu-devel/02dba951-1bcf-4c74-8a6a-f4f4aa5ce9= 09@bonslack.org Reviewed-by: Helge Deller --- linux-user/alpha/termbits.h | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/linux-user/alpha/termbits.h b/linux-user/alpha/termbits.h index 4a4b1e96f2..b7be23ea13 100644 --- a/linux-user/alpha/termbits.h +++ b/linux-user/alpha/termbits.h @@ -17,6 +17,29 @@ struct target_termios { target_speed_t c_ospeed; /* output speed */ }; =20 +struct target_termios2 { + target_tcflag_t c_iflag; /* input mode flags */ + target_tcflag_t c_oflag; /* output mode flags */ + target_tcflag_t c_cflag; /* control mode flags */ + target_tcflag_t c_lflag; /* local mode flags */ + target_cc_t c_cc[TARGET_NCCS]; /* control characters */ + target_cc_t c_line; /* line discipline (=3D=3D c_cc[19]) */ + target_speed_t c_ispeed; /* input speed */ + target_speed_t c_ospeed; /* output speed */ +}; + +struct target_ktermios { + target_tcflag_t c_iflag; /* input mode flags */ + target_tcflag_t c_oflag; /* output mode flags */ + target_tcflag_t c_cflag; /* control mode flags */ + target_tcflag_t c_lflag; /* local mode flags */ + target_cc_t c_cc[TARGET_NCCS]; /* control characters */ + target_cc_t c_line; /* line discipline (=3D=3D c_cc[19]) */ + target_speed_t c_ispeed; /* input speed */ + target_speed_t c_ospeed; /* output speed */ +}; + + /* c_cc characters */ #define TARGET_VEOF 0 #define TARGET_VEOL 1 @@ -247,6 +270,12 @@ struct target_termios { #define TARGET_TIOCSBRK 0x5427 /* BSD compatibility */ #define TARGET_TIOCCBRK 0x5428 /* BSD compatibility */ #define TARGET_TIOCGSID 0x5429 /* Return the session ID of FD */ +#define TARGET_TCGETS2 TARGET_IOR('T', 0x2A, struct target_termios2) +#define TARGET_TCSETS2 TARGET_IOW('T', 0x2B, struct target_termios2) +#define TARGET_TCSETSW2 TARGET_IOW('T', 0x2C, struct target_termios2) +#define TARGET_TCSETSF2 TARGET_IOW('T', 0x2D, struct target_termios2) +#define TARGET_TIOCGRS485 TARGET_IOR('T', 0x2E, struct serial_rs485) +#define TARGET_TIOCSRS485 TARGET_IOWR('T', 0x2F, struct serial_rs485) #define TARGET_TIOCGPTN TARGET_IOR('T',0x30, unsigned int) /* Get Pty Numb= er (of pty-mux device) */ #define TARGET_TIOCSPTLCK TARGET_IOW('T',0x31, int) /* Lock/unlock Pty */ #define TARGET_TIOCGPTPEER TARGET_IO('T', 0x41) /* Safely open the sl= ave */ --=20 2.52.0 From nobody Sun Jan 25 09:59:04 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=quarantine dis=none) header.from=kernel.org ARC-Seal: i=1; a=rsa-sha256; t=1769244868; cv=none; d=zohomail.com; s=zohoarc; b=iMKrTxyzThCrYXnPEnk+BcMI1+vBjm6hwt6z477s5cSYfkDLcii0DonkeWsdwfnS35O/K3eO/y4jF8mM97h+vL+2mNTPF3HhkSwt/Hhf4GZMw4t6NOuzlPVLxQWOfkkgmw/baIa47IcfhvmrakfqsBP0Qg9v+outitlANFHdDXs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1769244868; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=ZYAfkbTO40rhu061hUh53WJeNebOZvZwS19qL/asfKU=; b=MykeuInEUZyJfAL0GhS9kzT2wHOQgjRvt9if5p8UTqasKWjSlPPZ4V/GCy8tZEwKPiRDes9vDvBPO8S38oKvM6ycu0Uk+QlVroqlzm4wiWj1JUbNycqSPfZZbG6C0QdYRN+jWKa0TbzqXVav4SkzWZXtSYtei/gfjwEQUjHnmdI= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1769244868331531.66576326828; Sat, 24 Jan 2026 00:54:28 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vjZOW-0001vF-NR; Sat, 24 Jan 2026 03:53:24 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vjZOS-0001qs-Q4 for qemu-devel@nongnu.org; Sat, 24 Jan 2026 03:53:20 -0500 Received: from tor.source.kernel.org ([2600:3c04:e001:324:0:1991:8:25]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vjZOR-0002Ps-AX for qemu-devel@nongnu.org; Sat, 24 Jan 2026 03:53:20 -0500 Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by tor.source.kernel.org (Postfix) with ESMTP id 12E6560053; Sat, 24 Jan 2026 08:53:18 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 569DCC19422; Sat, 24 Jan 2026 08:53:16 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1769244797; bh=2DPbdaJU6UDf5C6vyomBjWuc5uRYEy2/lrhRQR3D+Ak=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Z+u3u2gJrboQNZ3jO150cwvcFI9nf2a2MGshJoebDYGwARW5wXkwEnVCuknJQzkwQ gZwVNwgNdPtRUqG6FwyYigQbKDMPx1+cEyHffqeA4Yu8OMNs1ZblRmY0VtavdF7ldl 2sCLTN14sg6vLVPaKEoML3QRlNwLhNx8skXevR1Pe/aZkxebKxmmPfOYNLlc/c4Cwt 4LLlwDqgPHpF2wv0MdWpFh+ZtwHvnxNS9Yoh6PIuM4UTiSdc1lSytupKrgGxXT8TYV ErAiO6RvI/UPxyIxPvLHmErv/dLST66w+j1/cnd6IDvNBKinNrxsW6xIzeSjPndOh7 0NIAUp04WK6qg== From: deller@kernel.org To: Richard Henderson , qemu-devel@nongnu.org Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Laurent Vivier , deller@gmx.de, Jiaxun Yang Subject: [PULL v2 04/11] linux-user: Add termios2 support to hppa target Date: Sat, 24 Jan 2026 09:52:59 +0100 Message-ID: <20260124085306.3996-5-deller@kernel.org> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20260124085306.3996-1-deller@kernel.org> References: <20260124085306.3996-1-deller@kernel.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2600:3c04:e001:324:0:1991:8:25; envelope-from=deller@kernel.org; helo=tor.source.kernel.org X-Spam_score_int: -21 X-Spam_score: -2.2 X-Spam_bar: -- X-Spam_report: (-2.2 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.079, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @kernel.org) X-ZM-MESSAGEID: 1769244869708154100 Content-Type: text/plain; charset="utf-8" From: Luca Bonissi Signed-off-by: Luca Bonissi Link: https://lore.kernel.org/qemu-devel/ccf1be5c-9e2e-46f6-b303-d29888371f= b0@bonslack.org Reviewed-by: Helge Deller --- linux-user/hppa/termbits.h | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/linux-user/hppa/termbits.h b/linux-user/hppa/termbits.h index 11fd4eed62..645f17bf63 100644 --- a/linux-user/hppa/termbits.h +++ b/linux-user/hppa/termbits.h @@ -18,6 +18,29 @@ struct target_termios { target_cc_t c_cc[TARGET_NCCS]; /* control characters */ }; =20 +struct target_termios2 { + target_tcflag_t c_iflag; /* input mode flags */ + target_tcflag_t c_oflag; /* output mode flags */ + target_tcflag_t c_cflag; /* control mode flags */ + target_tcflag_t c_lflag; /* local mode flags */ + target_cc_t c_line; /* line discipline */ + target_cc_t c_cc[TARGET_NCCS]; /* control characters */ + target_speed_t c_ispeed; /* input speed */ + target_speed_t c_ospeed; /* output speed */ +}; + +struct target_ktermios { + target_tcflag_t c_iflag; /* input mode flags */ + target_tcflag_t c_oflag; /* output mode flags */ + target_tcflag_t c_cflag; /* control mode flags */ + target_tcflag_t c_lflag; /* local mode flags */ + target_cc_t c_line; /* line discipline */ + target_cc_t c_cc[TARGET_NCCS]; /* control characters */ + target_speed_t c_ispeed; /* input speed */ + target_speed_t c_ospeed; /* output speed */ +}; + + /* c_iflag bits */ #define TARGET_IGNBRK 0000001 #define TARGET_BRKINT 0000002 @@ -190,6 +213,12 @@ struct target_termios { #define TARGET_TIOCSBRK 0x5427 /* BSD compatibility */ #define TARGET_TIOCCBRK 0x5428 /* BSD compatibility */ #define TARGET_TIOCGSID TARGET_IOR('T', 20, int) +#define TARGET_TCGETS2 TARGET_IOR('T', 0x2A, struct target_termio= s2) +#define TARGET_TCSETS2 TARGET_IOW('T', 0x2B, struct target_termio= s2) +#define TARGET_TCSETSW2 TARGET_IOW('T', 0x2C, struct target_termio= s2) +#define TARGET_TCSETSF2 TARGET_IOW('T', 0x2D, struct target_termio= s2) +#define TARGET_TIOCGRS485 TARGET_IOR('T', 0x2E, struct serial_rs485) +#define TARGET_TIOCSRS485 TARGET_IOWR('T', 0x2F, struct serial_rs485) #define TARGET_TIOCGPTN TARGET_IOR('T', 0x30, unsigned int) /* Get Pty Number (of pty-mux device) */ #define TARGET_TIOCSPTLCK TARGET_IOW('T', 0x31, int) --=20 2.52.0 From nobody Sun Jan 25 09:59:04 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=quarantine dis=none) header.from=kernel.org ARC-Seal: i=1; a=rsa-sha256; t=1769244896; cv=none; d=zohomail.com; s=zohoarc; b=AIx6GWzDURoIN02m7ip+E9X2PIMCLrQKIMcP4cgTo6KhAbi8Zc/QjQFlgTPmg8dUG7Uocj9e69Pp1JcJ6bcbtOGlFIUeflj7mljwZTWxQDk/V+Gfu2zmhNMNCvgErHA3ZdnGsF0bdE618MzbV3c7+AyemUIrOThKF0Rj62lkHQ0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1769244896; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=L6HjuG0HvAq12cTFqQgIltlBuL2Qsg4Po0K72SUXq4w=; b=afU7O/cX1CPYAueEEyfK/QuXJpHi1i3+K/2JyKuLqJUSPLhlseouk5JbYfGXbhc+OnVQdy8bz/k8zHZwGAQ0x3Wmoz7jRbp66o9uKp2DykUDN36X/+CWeVQyQ8/0xEMYYiOiA3ShJZrrFnWxFicvwU6szcTUbWdtqwQF2BmiIXk= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1769244896584911.3048030107595; Sat, 24 Jan 2026 00:54:56 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vjZOX-0001vv-7r; Sat, 24 Jan 2026 03:53:25 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vjZOU-0001sa-99 for qemu-devel@nongnu.org; Sat, 24 Jan 2026 03:53:22 -0500 Received: from tor.source.kernel.org ([2600:3c04:e001:324:0:1991:8:25]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vjZOS-0002Pn-BJ for qemu-devel@nongnu.org; Sat, 24 Jan 2026 03:53:21 -0500 Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by tor.source.kernel.org (Postfix) with ESMTP id E808060018; Sat, 24 Jan 2026 08:53:19 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 37A6CC19422; Sat, 24 Jan 2026 08:53:18 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1769244799; bh=NJv17dN8UjS2swj0/1r+JeA0+SCs4smJ1SvO5+Yv6R4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=UYaGIkoXfvWyleQHgZyUXU7omsP6V3/o9nyY17fFPvGSGCeR8B+4Y3G7mRYLPg4Kw 2rpsplFezqAaerV3vU3Cb/0sqaFpm1/xx4fWozE8cr7zXL9d4hNONRePHsGT4k+eEl RKLdTplrpSon60IJ7uaiYlLWge59/AHFj8cuzDsNGrLLe4h4HfecDnmYxoiHaPKIDu cIVSzhhddE1W4d4jo0ksBTV8Y7aL6GRTkhNpry+GEWLkLNRlweqs8wRwxyj5xFQxqh WHGFay/QoI16rbDLYlz63R8aMqNxmfF6TB3hU/D2GEAfOf6jRjmOrJZkC9GSqfABWm cRnayfAinPqCQ== From: deller@kernel.org To: Richard Henderson , qemu-devel@nongnu.org Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Laurent Vivier , deller@gmx.de, Jiaxun Yang Subject: [PULL v2 05/11] linux-user: Add termios2 support to mips target Date: Sat, 24 Jan 2026 09:53:00 +0100 Message-ID: <20260124085306.3996-6-deller@kernel.org> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20260124085306.3996-1-deller@kernel.org> References: <20260124085306.3996-1-deller@kernel.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2600:3c04:e001:324:0:1991:8:25; envelope-from=deller@kernel.org; helo=tor.source.kernel.org X-Spam_score_int: -21 X-Spam_score: -2.2 X-Spam_bar: -- X-Spam_report: (-2.2 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.079, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @kernel.org) X-ZM-MESSAGEID: 1769244898112154100 Content-Type: text/plain; charset="utf-8" From: Luca Bonissi Signed-off-by: Luca Bonissi Link: https://lore.kernel.org/qemu-devel/361aa9c5-4464-4d27-8a2c-9ab7673245= 30@bonslack.org Reviewed-by: Helge Deller --- linux-user/mips/termbits.h | 31 +++++++++++++++++++++++++++---- 1 file changed, 27 insertions(+), 4 deletions(-) diff --git a/linux-user/mips/termbits.h b/linux-user/mips/termbits.h index e8b4b58d87..27610f7c4d 100644 --- a/linux-user/mips/termbits.h +++ b/linux-user/mips/termbits.h @@ -18,6 +18,29 @@ struct target_termios { target_cc_t c_cc[TARGET_NCCS]; /* control characters */ }; =20 +struct target_termios2 { + target_tcflag_t c_iflag; /* input mode flags */ + target_tcflag_t c_oflag; /* output mode flags */ + target_tcflag_t c_cflag; /* control mode flags */ + target_tcflag_t c_lflag; /* local mode flags */ + target_cc_t c_line; /* line discipline */ + target_cc_t c_cc[TARGET_NCCS]; /* control characters */ + target_speed_t c_ispeed; /* input speed */ + target_speed_t c_ospeed; /* output speed */ +}; + +struct target_ktermios { + target_tcflag_t c_iflag; /* input mode flags */ + target_tcflag_t c_oflag; /* output mode flags */ + target_tcflag_t c_cflag; /* control mode flags */ + target_tcflag_t c_lflag; /* local mode flags */ + target_cc_t c_line; /* line discipline */ + target_cc_t c_cc[TARGET_NCCS]; /* control characters */ + target_speed_t c_ispeed; /* input speed */ + target_speed_t c_ospeed; /* output speed */ +}; + + /* c_iflag bits */ #define TARGET_IGNBRK 0000001 #define TARGET_BRKINT 0000002 @@ -227,10 +250,10 @@ struct target_termios { #define TARGET_TIOCSBRK 0x5427 /* BSD compatibility */ #define TARGET_TIOCCBRK 0x5428 /* BSD compatibility */ #define TARGET_TIOCGSID 0x7416 /* Return the session ID of FD */ -#define TARGET_TCGETS2 TARGET_IOR('T', 0x2A, struct termios2) -#define TARGET_TCSETS2 TARGET_IOW('T', 0x2B, struct termios2) -#define TARGET_TCSETSW2 TARGET_IOW('T', 0x2C, struct termios2) -#define TARGET_TCSETSF2 TARGET_IOW('T', 0x2D, struct termios2) +#define TARGET_TCGETS2 TARGET_IOR('T', 0x2A, struct target_termio= s2) +#define TARGET_TCSETS2 TARGET_IOW('T', 0x2B, struct target_termio= s2) +#define TARGET_TCSETSW2 TARGET_IOW('T', 0x2C, struct target_termio= s2) +#define TARGET_TCSETSF2 TARGET_IOW('T', 0x2D, struct target_termio= s2) #define TARGET_TIOCGRS485 TARGET_IOR('T', 0x2E, struct serial_rs485) #define TARGET_TIOCSRS485 TARGET_IOWR('T', 0x2F, struct serial_rs485) #define TARGET_TIOCGPTN TARGET_IOR('T',0x30, unsigned int) /* Get Pty Numb= er (of pty-mux device) */ --=20 2.52.0 From nobody Sun Jan 25 09:59:04 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=quarantine dis=none) header.from=kernel.org ARC-Seal: i=1; a=rsa-sha256; t=1769244860; cv=none; d=zohomail.com; s=zohoarc; b=fWp8rvn2VFR/E26TUFm8fySIumld8AGouZN5taoXpYuOzo6IpmbiM5iD+mIJ51vgF8OB0eJQP/lTOkCdotfQEALWPkbdnsCtKy0hExXyqNgz7onWXLU4i+I6xe5neAq/2iJ7kPbmr8mP8FXsu1YLYWRMsA9JFzrhgqsP8lx2sYE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1769244860; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=cWRzs5ZOLHMy0QN8MMmaefXUU3H1As9lkosRkAETxSg=; b=MujnkK7VioEe1snOfXjUDlM1cA5RzOoVyL7skj7lDl5MvpcIWg7rT0Y/T2V1k6irbg+jhpQYrg+20QatqTihrIjXR7GWJXWyw6J+xkrmhkXfhcpJEJdfYr3pxZw5XGoKHaXrr3h49794gSEiiMI3zZp8wvwjblBhvjKadBaTZIM= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1769244860722451.03568588889027; Sat, 24 Jan 2026 00:54:20 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vjZOY-0001xx-Lq; Sat, 24 Jan 2026 03:53:26 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vjZOX-0001vx-4f for qemu-devel@nongnu.org; Sat, 24 Jan 2026 03:53:25 -0500 Received: from sea.source.kernel.org ([2600:3c0a:e001:78e:0:1991:8:25]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vjZOV-0002Qz-FM for qemu-devel@nongnu.org; Sat, 24 Jan 2026 03:53:24 -0500 Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by sea.source.kernel.org (Postfix) with ESMTP id A145441AA3; Sat, 24 Jan 2026 08:53:21 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 18A3CC19422; Sat, 24 Jan 2026 08:53:19 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1769244801; bh=GtNyyw7rih2Hj4KwKmE9EhO0/C9XMKqf4oVpskXVlSM=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=F1BpPupjKmsqJpoau+xe3gmXigAxgFIpYMW+zFoQHYMOz/OfiMj+tGXEyHkCSJdFs co2DlGBLtAzzWr9gxZnRqrcw2bBq5eKJ1GUDqryeaHO6HmUheex0U+IyE/VIIQ+2IO Zx83HDG8je9qMhnKSZkvdBExWiS2WyybRVsGdke0oseifnPkTmR4jQ9zb7/DGZfXoD 5Q4NkJM0hJCE5Qbc7RUKyf6feDRiAHCtIai/Mk9kMjvGu9kE7n3KUM6eTCFtaZHH4X R67GUzBVtHNimGvPhpIr8dwUJSEwdk4iQ9/zq3pSkUGS+av8llgON65GhQMwTy5Pn/ 9L/SLEC2UHT2w== From: deller@kernel.org To: Richard Henderson , qemu-devel@nongnu.org Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Laurent Vivier , deller@gmx.de, Jiaxun Yang Subject: [PULL v2 06/11] linux-user: Add termios2 support to sh4 target Date: Sat, 24 Jan 2026 09:53:01 +0100 Message-ID: <20260124085306.3996-7-deller@kernel.org> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20260124085306.3996-1-deller@kernel.org> References: <20260124085306.3996-1-deller@kernel.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2600:3c0a:e001:78e:0:1991:8:25; envelope-from=deller@kernel.org; helo=sea.source.kernel.org X-Spam_score_int: -21 X-Spam_score: -2.2 X-Spam_bar: -- X-Spam_report: (-2.2 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.079, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @kernel.org) X-ZM-MESSAGEID: 1769244861816154100 Content-Type: text/plain; charset="utf-8" From: Luca Bonissi Signed-off-by: Luca Bonissi Link: https://lore.kernel.org/qemu-devel/642b32de-2985-45d2-bbdf-c0b2e3ea05= 51@bonslack.org Reviewed-by: Helge Deller --- linux-user/sh4/termbits.h | 46 +++++++++++++++++++++++++++++---------- 1 file changed, 34 insertions(+), 12 deletions(-) diff --git a/linux-user/sh4/termbits.h b/linux-user/sh4/termbits.h index 28e79f2c9a..cab6b1299e 100644 --- a/linux-user/sh4/termbits.h +++ b/linux-user/sh4/termbits.h @@ -18,6 +18,28 @@ struct target_termios { target_cc_t c_cc[TARGET_NCCS]; /* control characters */ }; =20 +struct target_termios2 { + target_tcflag_t c_iflag; /* input mode flags */ + target_tcflag_t c_oflag; /* output mode flags */ + target_tcflag_t c_cflag; /* control mode flags */ + target_tcflag_t c_lflag; /* local mode flags */ + target_cc_t c_line; /* line discipline */ + target_cc_t c_cc[TARGET_NCCS]; /* control characters */ + target_speed_t c_ispeed; /* input speed */ + target_speed_t c_ospeed; /* output speed */ +}; + +struct target_ktermios { + target_tcflag_t c_iflag; /* input mode flags */ + target_tcflag_t c_oflag; /* output mode flags */ + target_tcflag_t c_cflag; /* control mode flags */ + target_tcflag_t c_lflag; /* local mode flags */ + target_cc_t c_line; /* line discipline */ + target_cc_t c_cc[TARGET_NCCS]; /* control characters */ + target_speed_t c_ispeed; /* input speed */ + target_speed_t c_ospeed; /* output speed */ +}; + =20 /* c_cc characters */ #define TARGET_VINTR 0 @@ -251,14 +273,17 @@ struct target_termios { #define TARGET_TIOCNOTTY TARGET_IO('T', 34) /* 0x5422 */ #define TARGET_TIOCSETD TARGET_IOW('T', 35, int) /* 0x5423 */ #define TARGET_TIOCGETD TARGET_IOR('T', 36, int) /* 0x5424 */ -#define TARGET_TCSBRKP TARGET_IOW('T', 37, int) /* 0x5425 */ /* Ne= eded for POSIX tcse -ndbreak() */ +#define TARGET_TCSBRKP TARGET_IOW('T', 37, int) /* 0x5425 */ /* Ne= eded for POSIX tcsendbreak() */ #define TARGET_TIOCSBRK TARGET_IO('T', 39) /* 0x5427 */ /* BSD comp= atibility */ #define TARGET_TIOCCBRK TARGET_IO('T', 40) /* 0x5428 */ /* BSD comp= atibility */ -#define TARGET_TIOCGSID TARGET_IOR('T', 41, pid_t) /* 0x5429 */ /* = Return the session -ID of FD */ -#define TARGET_TIOCGPTN TARGET_IOR('T',0x30, unsigned int) /* Get P= ty Number (of pty-m -ux device) */ +#define TARGET_TIOCGSID TARGET_IOR('T', 41, pid_t) /* 0x5429 */ /* = Return the session ID of FD */ +#define TARGET_TCGETS2 TARGET_IOR('T', 0x2A, struct target_termios= 2) +#define TARGET_TCSETS2 TARGET_IOW('T', 0x2B, struct target_termios= 2) +#define TARGET_TCSETSW2 TARGET_IOW('T', 0x2C, struct target_termios= 2) +#define TARGET_TCSETSF2 TARGET_IOW('T', 0x2D, struct target_termios= 2) +#define TARGET_TIOCGRS485 TARGET_IOR('T', 0x2E, struct serial_rs485) +#define TARGET_TIOCSRS485 TARGET_IOWR('T', 0x2F, struct serial_rs485) +#define TARGET_TIOCGPTN TARGET_IOR('T',0x30, unsigned int) /* Get P= ty Number (of pty-mux device) */ #define TARGET_TIOCSPTLCK TARGET_IOW('T',0x31, int) /* Lock/unlock P= ty */ #define TARGET_TIOCGPTPEER TARGET_IO('T', 0x41) /* Safely open the sla= ve */ =20 @@ -270,8 +295,7 @@ ux device) */ #define TARGET_TIOCSLCKTRMIOS 0x5457 #define TARGET_TIOCSERGSTRUCT TARGET_IOR('T', 88, int) /* 0x5458 */ /* Fo= r d ebugging only */ -#define TARGET_TIOCSERGETLSR TARGET_IOR('T', 89, unsigned int) /* 0x5459= */ /* Get line sta -tus register */ +#define TARGET_TIOCSERGETLSR TARGET_IOR('T', 89, unsigned int) /* 0x5459= */ /* Get line status register */ /* ioctl (fd, TIOCSERGETLSR, &result) where result may be as below */ # define TARGET_TIOCSER_TEMT 0x01 /* Transmitter physically empty */ #define TARGET_TIOCSERGETMULTI TARGET_IOR('T', 90, int) /* 0x545A @@ -279,9 +303,7 @@ tus register */ #define TARGET_TIOCSERSETMULTI TARGET_IOW('T', 91, int) /* 0x545B */ /* Set multiport config */ =20 -#define TARGET_TIOCMIWAIT TARGET_IO('T', 92) /* 0x545C */ /* wa= it for a change on -serial input line(s) */ -#define TARGET_TIOCGICOUNT TARGET_IOR('T', 93, int) /* 0x545D */ /* re= ad -serial port inline interrupt counts */ +#define TARGET_TIOCMIWAIT TARGET_IO('T', 92) /* 0x545C */ /* wa= it for a change on serial input line(s) */ +#define TARGET_TIOCGICOUNT TARGET_IOR('T', 93, int) /* 0x545D */ /* re= ad serial port inline interrupt counts */ =20 #endif --=20 2.52.0 From nobody Sun Jan 25 09:59:04 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=quarantine dis=none) header.from=kernel.org ARC-Seal: i=1; a=rsa-sha256; t=1769244887; cv=none; d=zohomail.com; s=zohoarc; b=a6FyhXUiW+9sOwDicspazzh/dN5hCZrH1vkbSR+DIDX0zCsGztvazM+cvumm6VYfuRD3MsLaIChXYVOh/HXTFSLxlnFLbjs0Hxn63d/K7ccuVpKpvyv9k7YH2xnl9X3ECZDXadKQ8sFR5YAFfvzGO4dYtb9Rp6IxsnTwjOe4rW4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1769244887; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=Z32JcfF5/FJRZAfcKsAPsh1Q45ec9lRld5WySisC3p4=; b=YKYuU7Bgccz4xpBUuMa7VRNbzz0EegQfsRoaAWb6wGOiqJOno8Ite5/6QQ+dYfLvk2fxkG9TQpEl5bX70KMxNGqiCsWdeXof2FXOBI/VjCJFq7XUBCPB4x3VFeUomBaxyMvJ7zOM7uq6pUXOUZBqBrAL6d67yg3XQ2/awECxOS0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1769244886994196.05958375764317; Sat, 24 Jan 2026 00:54:46 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vjZOZ-0001yq-Ma; Sat, 24 Jan 2026 03:53:27 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vjZOY-0001xN-8y for qemu-devel@nongnu.org; Sat, 24 Jan 2026 03:53:26 -0500 Received: from sea.source.kernel.org ([172.234.252.31]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vjZOW-0002R5-Nd for qemu-devel@nongnu.org; Sat, 24 Jan 2026 03:53:26 -0500 Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by sea.source.kernel.org (Postfix) with ESMTP id 81F4843FA2; Sat, 24 Jan 2026 08:53:23 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id EE3CAC19422; Sat, 24 Jan 2026 08:53:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1769244803; bh=IhcnnJG82vq62iLC9P9fOM/4G5vyl9jq7hkTC4Tm5U0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=iHbJwXzyQzh1aGwgSULPRXHHYCweM3W964xBBM/0i5r/jVt5K+85YZ5kicMuJUrMO 9f6q6VTvWOGdrdoXPO1SKCpHCZBLT9/KCiLMrxSiAYg9pC91l17OzkxOK+t45Fo4kq eFm9sAycnR5dU5Jxs/eTj4hWg44piYfoY0XYW/cxqUOxGCkv5fbwAJioMGXk2YUvGV +MT2rWIkvogpU8LpoFhFshHAo291uuTJ1KFD6d1ORa7N8Ib6iLDcuUBrqZufl3mhCZ OyWp6qifeV/435f0xCdY1N7HEP+6ZE9sizpBslQ3MWsxpITIQHfOGK7Mx9XDyFzVa9 I+30vWtHgTmow== From: deller@kernel.org To: Richard Henderson , qemu-devel@nongnu.org Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Laurent Vivier , deller@gmx.de, Jiaxun Yang Subject: [PULL v2 07/11] linux-user: Add termios2 support to sparc target Date: Sat, 24 Jan 2026 09:53:02 +0100 Message-ID: <20260124085306.3996-8-deller@kernel.org> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20260124085306.3996-1-deller@kernel.org> References: <20260124085306.3996-1-deller@kernel.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=172.234.252.31; envelope-from=deller@kernel.org; helo=sea.source.kernel.org X-Spam_score_int: -21 X-Spam_score: -2.2 X-Spam_bar: -- X-Spam_report: (-2.2 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.079, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @kernel.org) X-ZM-MESSAGEID: 1769244888154154100 Content-Type: text/plain; charset="utf-8" From: Luca Bonissi Signed-off-by: Luca Bonissi Link: https://lore.kernel.org/qemu-devel/909d9d68-c6fe-4368-825c-6aa8fdbd3b= bc@bonslack.org Reviewed-by: Helge Deller --- linux-user/sparc/termbits.h | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/linux-user/sparc/termbits.h b/linux-user/sparc/termbits.h index 704bee1c42..588d7e8dcd 100644 --- a/linux-user/sparc/termbits.h +++ b/linux-user/sparc/termbits.h @@ -18,6 +18,28 @@ struct target_termios { target_cc_t c_cc[TARGET_NCCS]; /* control characters */ }; =20 +struct target_termios2 { + target_tcflag_t c_iflag; /* input mode flags */ + target_tcflag_t c_oflag; /* output mode flags */ + target_tcflag_t c_cflag; /* control mode flags */ + target_tcflag_t c_lflag; /* local mode flags */ + target_cc_t c_line; /* line discipline */ + target_cc_t c_cc[TARGET_NCCS]; /* control characters */ + target_speed_t c_ispeed; /* input speed */ + target_speed_t c_ospeed; /* output speed */ +}; + +struct target_ktermios { + target_tcflag_t c_iflag; /* input mode flags */ + target_tcflag_t c_oflag; /* output mode flags */ + target_tcflag_t c_cflag; /* control mode flags */ + target_tcflag_t c_lflag; /* local mode flags */ + target_cc_t c_line; /* line discipline */ + target_cc_t c_cc[TARGET_NCCS]; /* control characters */ + target_speed_t c_ispeed; /* input speed */ + target_speed_t c_ospeed; /* output speed */ +}; + =20 /* c_cc characters */ #define TARGET_VINTR 0 @@ -251,6 +273,12 @@ struct target_termios { #define TARGET_TIOCGPGRP TARGET_IOR('t', 131, int) #define TARGET_TIOCSCTTY TARGET_IO('t', 132) #define TARGET_TIOCGSID TARGET_IOR('t', 133, int) +#define TARGET_TCGETS2 TARGET_IOR('T', 12, struct target_termios2) +#define TARGET_TCSETS2 TARGET_IOW('T', 13, struct target_termios2) +#define TARGET_TCSETSW2 TARGET_IOW('T', 14, struct target_termios2) +#define TARGET_TCSETSF2 TARGET_IOW('T', 15, struct target_termios2) +#define TARGET_TIOCGRS485 TARGET_IOR('T', 0x41, struct serial_rs485) +#define TARGET_TIOCSRS485 TARGET_IOWR('T', 0x42, struct serial_rs485) /* Get minor device of a pty master's FD -- Solaris equiv is ISPTM */ #define TARGET_TIOCGPTN TARGET_IOR('t', 134, unsigned int) /* Get Pty Numb= er */ #define TARGET_TIOCSPTLCK TARGET_IOW('t', 135, int) /* Lock/unlock PTY */ --=20 2.52.0 From nobody Sun Jan 25 09:59:04 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=quarantine dis=none) header.from=kernel.org ARC-Seal: i=1; a=rsa-sha256; t=1769244872; cv=none; d=zohomail.com; s=zohoarc; b=CKtlT9YdFcCRj1uhwLYQ16RonzxtFFFMo1ogPehpaJcw9fz3y0sk/vJBCpc1iMYC0xPsVx+2yK+CIlD9NrHf5eGbrIBc8jrp3mfrqQDfIzDGlKnA4td+aBqvAE7E2UDvWktVwgQ1Nm7PW6cEM+Gh2sOs05F7EAVwl4c9NOC9BzM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1769244872; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=Wry/+gh/SpuFWkAvrp9L/YclNjtATk3ilF+pl9dPp/8=; b=kvQiyCWJ27mAXtV5/UyCo9Bmi89Wkimta5VXciJrXyWvDiqdZuDIw/v4OxJbwHV6sPeHXX5KfmoET8j9Osl8iYbFezipUWGjSDrJHBnnhxjdwsKwQO3fmEcPOUxJzGGOKaKL9nAXkJsKZ8Umrz9go/UCePgNOES1wfsa4jOHb/o= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1769244872235567.1834219600426; Sat, 24 Jan 2026 00:54:32 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vjZOb-00020R-LA; Sat, 24 Jan 2026 03:53:29 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vjZOa-0001yx-3B for qemu-devel@nongnu.org; Sat, 24 Jan 2026 03:53:28 -0500 Received: from tor.source.kernel.org ([2600:3c04:e001:324:0:1991:8:25]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vjZOY-0002Rp-60 for qemu-devel@nongnu.org; Sat, 24 Jan 2026 03:53:27 -0500 Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by tor.source.kernel.org (Postfix) with ESMTP id 8B84260018; Sat, 24 Jan 2026 08:53:25 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id CF96BC116D0; Sat, 24 Jan 2026 08:53:23 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1769244805; bh=QCwGGotsfawej6sv67GPxBRWy67+eMcA3Dy0OptWceE=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=OAmBq5nyL+5I3Q8+Qo/2IxOlCnZtHfEQEwsjtMvE6VNsbb//ar+fxlZEJxK0kOyqF BN+iOGQRDRH5LW6lThM/3MQQc1X+Kb/tOwK6h7DICNAUYGrcv9esyKL4UDUHll9buq dZWdj3JfL2RxCuwE5E7pslKDNuPIVUb4qyD/uG9Rvnbv+gJzW/Y17x1oBkX1jRr3+U JGti7jbShXWBLOiv2JDu3Fzotr38G53hmtARc3Uk1WBZVomBiLXWBVJE8vVS19QrMe OTWlaIMFVMS5UbGxVpkkefwaAnu+fOnsYhP1qFVAUfBcMPLUefNIQESvROwfyzJJNI 9kE96OXkjifag== From: deller@kernel.org To: Richard Henderson , qemu-devel@nongnu.org Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Laurent Vivier , deller@gmx.de, Jiaxun Yang Subject: [PULL v2 08/11] linux-user: Add missing termios baud rates Date: Sat, 24 Jan 2026 09:53:03 +0100 Message-ID: <20260124085306.3996-9-deller@kernel.org> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20260124085306.3996-1-deller@kernel.org> References: <20260124085306.3996-1-deller@kernel.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2600:3c04:e001:324:0:1991:8:25; envelope-from=deller@kernel.org; helo=tor.source.kernel.org X-Spam_score_int: -21 X-Spam_score: -2.2 X-Spam_bar: -- X-Spam_report: (-2.2 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.079, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @kernel.org) X-ZM-MESSAGEID: 1769244873702154100 Content-Type: text/plain; charset="utf-8" From: Vivian Wang Add several missing baud rates and inputs baud rates in cflag_tbl. Add these missing definitions in termbits.h: - TARGET_BOTHER for alpha, hppa, ppc, sh4, sparc - TARGET_IBSHIFT for hppa, mips, ppc, sh4, sparc - Missing standard baud rates for hppa These are required for the glibc test tst-termios-linux. Link: https://lore.kernel.org/qemu-devel/20251203-linux-user-higher-baud-ra= tes-v2-1-e45b35224437@iscas.ac.cn Signed-off-by: Vivian Wang Reviewed-by: Helge Deller --- linux-user/alpha/termbits.h | 1 + linux-user/generic/termbits.h | 2 +- linux-user/hppa/termbits.h | 16 ++++++- linux-user/mips/termbits.h | 4 +- linux-user/ppc/termbits.h | 1 + linux-user/sh4/termbits.h | 5 ++- linux-user/sparc/termbits.h | 5 ++- linux-user/syscall.c | 83 ++++++++++++++++++++++++++--------- 8 files changed, 92 insertions(+), 25 deletions(-) diff --git a/linux-user/alpha/termbits.h b/linux-user/alpha/termbits.h index b7be23ea13..50cff34f3c 100644 --- a/linux-user/alpha/termbits.h +++ b/linux-user/alpha/termbits.h @@ -149,6 +149,7 @@ struct target_ktermios { #define TARGET_B3000000 00034 #define TARGET_B3500000 00035 #define TARGET_B4000000 00036 +#define TARGET_BOTHER 00037 =20 #define TARGET_CSIZE 00001400 #define TARGET_CS5 00000000 diff --git a/linux-user/generic/termbits.h b/linux-user/generic/termbits.h index 6675e0d1ab..6cc5995981 100644 --- a/linux-user/generic/termbits.h +++ b/linux-user/generic/termbits.h @@ -157,7 +157,7 @@ struct target_ktermios { #define TARGET_B3000000 0010015 #define TARGET_B3500000 0010016 #define TARGET_B4000000 0010017 -#define TARGET_CIBAUD 002003600000 /* input baud rate (not used) */ +#define TARGET_CIBAUD 002003600000 /* input baud rate */ #define TARGET_CMSPAR 010000000000 /* mark or space (stick) parity */ #define TARGET_CRTSCTS 020000000000 /* flow control */ =20 diff --git a/linux-user/hppa/termbits.h b/linux-user/hppa/termbits.h index 645f17bf63..9d1d1a1d12 100644 --- a/linux-user/hppa/termbits.h +++ b/linux-user/hppa/termbits.h @@ -123,14 +123,28 @@ struct target_ktermios { #define TARGET_HUPCL 0002000 #define TARGET_CLOCAL 0004000 #define TARGET_CBAUDEX 0010000 +#define TARGET_BOTHER 0010000 #define TARGET_B57600 0010001 #define TARGET_B115200 0010002 #define TARGET_B230400 0010003 #define TARGET_B460800 0010004 -#define TARGET_CIBAUD 002003600000 /* input baud rate (not used) */ +#define TARGET_B500000 0010005 +#define TARGET_B576000 0010006 +#define TARGET_B921600 0010007 +#define TARGET_B1000000 0010010 +#define TARGET_B1152000 0010011 +#define TARGET_B1500000 0010012 +#define TARGET_B2000000 0010013 +#define TARGET_B2500000 0010014 +#define TARGET_B3000000 0010015 +#define TARGET_B3500000 0010016 +#define TARGET_B4000000 0010017 +#define TARGET_CIBAUD 002003600000 /* input baud rate */ #define TARGET_CMSPAR 010000000000 /* mark or space (stick) parity */ #define TARGET_CRTSCTS 020000000000 /* flow control */ =20 +#define TARGET_IBSHIFT 16 /* Shift from CBAUD to CIBAUD */ + /* c_lflag bits */ #define TARGET_ISIG 0000001 #define TARGET_ICANON 0000002 diff --git a/linux-user/mips/termbits.h b/linux-user/mips/termbits.h index 27610f7c4d..56b17441ee 100644 --- a/linux-user/mips/termbits.h +++ b/linux-user/mips/termbits.h @@ -139,10 +139,12 @@ struct target_ktermios { #define TARGET_B3000000 0010015 #define TARGET_B3500000 0010016 #define TARGET_B4000000 0010017 -#define TARGET_CIBAUD 002003600000 /* input baud rate (not used) */ +#define TARGET_CIBAUD 002003600000 /* input baud rate */ #define TARGET_CMSPAR 010000000000 /* mark or space (stick) parity */ #define TARGET_CRTSCTS 020000000000 /* flow control */ =20 +#define TARGET_IBSHIFT 16 /* Shift from CBAUD to CIBAUD */ + /* c_lflag bits */ #define TARGET_ISIG 0000001 #define TARGET_ICANON 0000002 diff --git a/linux-user/ppc/termbits.h b/linux-user/ppc/termbits.h index eb226e0999..71b398c83a 100644 --- a/linux-user/ppc/termbits.h +++ b/linux-user/ppc/termbits.h @@ -129,6 +129,7 @@ struct target_termios { #define TARGET_B3000000 00034 #define TARGET_B3500000 00035 #define TARGET_B4000000 00036 +#define TARGET_BOTHER 00037 =20 #define TARGET_CSIZE 00001400 #define TARGET_CS5 00000000 diff --git a/linux-user/sh4/termbits.h b/linux-user/sh4/termbits.h index cab6b1299e..861f861f6d 100644 --- a/linux-user/sh4/termbits.h +++ b/linux-user/sh4/termbits.h @@ -142,6 +142,7 @@ struct target_ktermios { #define TARGET_HUPCL 0002000 #define TARGET_CLOCAL 0004000 #define TARGET_CBAUDEX 0010000 +#define TARGET_BOTHER 0010000 #define TARGET_B57600 0010001 #define TARGET_B115200 0010002 #define TARGET_B230400 0010003 @@ -157,10 +158,12 @@ struct target_ktermios { #define TARGET_B3000000 0010015 #define TARGET_B3500000 0010016 #define TARGET_B4000000 0010017 -#define TARGET_CIBAUD 002003600000 /* input baud rate (not used) */ +#define TARGET_CIBAUD 002003600000 /* input baud rate */ #define TARGET_CMSPAR 010000000000 /* mark or space (stick) parity */ #define TARGET_CRTSCTS 020000000000 /* flow control */ =20 +#define TARGET_IBSHIFT 16 /* Shift from CBAUD to CIBAUD */ + /* c_lflag bits */ #define TARGET_ISIG 0000001 #define TARGET_ICANON 0000002 diff --git a/linux-user/sparc/termbits.h b/linux-user/sparc/termbits.h index 588d7e8dcd..f64ea87d97 100644 --- a/linux-user/sparc/termbits.h +++ b/linux-user/sparc/termbits.h @@ -150,6 +150,7 @@ struct target_ktermios { #define TARGET_HUPCL 0x00000400 #define TARGET_CLOCAL 0x00000800 #define TARGET_CBAUDEX 0x00001000 +#define TARGET_BOTHER 0x00001000 /* We'll never see these speeds with the Zilogs, but for completeness... */ #define TARGET_B57600 0x00001001 #define TARGET_B115200 0x00001002 @@ -176,10 +177,12 @@ struct target_ktermios { #define B3000000 0x00001011 #define B3500000 0x00001012 #define B4000000 0x00001013 */ -#define TARGET_CIBAUD 0x100f0000 /* input baud rate (not used) */ +#define TARGET_CIBAUD 0x100f0000 /* input baud rate */ #define TARGET_CMSPAR 0x40000000 /* mark or space (stick) parity */ #define TARGET_CRTSCTS 0x80000000 /* flow control */ =20 +#define TARGET_IBSHIFT 16 /* Shift from CBAUD to CIBAUD */ + /* c_lflag bits */ #define TARGET_ISIG 0x00000001 #define TARGET_ICANON 0x00000002 diff --git a/linux-user/syscall.c b/linux-user/syscall.c index d80d3ded7b..9443eb3a17 100644 --- a/linux-user/syscall.c +++ b/linux-user/syscall.c @@ -5762,27 +5762,70 @@ static const bitmask_transtbl oflag_tbl[] =3D { { TARGET_FFDLY, TARGET_FF1, FFDLY, FF1 }, }; =20 +#if defined(TARGET_CIBAUD) && defined(CIBAUD) + +# define BAUD_TRANSTBL(baud) \ + { TARGET_CBAUD, TARGET_##baud, CBAUD, baud }, \ + { TARGET_CIBAUD, TARGET_##baud << TARGET_IBSHIFT, CIBAUD, baud << IBSH= IFT }, + +#else + +/* Alpha in particular does not have CIBAUD/IBSHIFT */ + +# define BAUD_TRANSTBL(baud) \ + { TARGET_CBAUD, TARGET_##baud, CBAUD, baud }, + +#endif + static const bitmask_transtbl cflag_tbl[] =3D { - { TARGET_CBAUD, TARGET_B0, CBAUD, B0 }, - { TARGET_CBAUD, TARGET_B50, CBAUD, B50 }, - { TARGET_CBAUD, TARGET_B75, CBAUD, B75 }, - { TARGET_CBAUD, TARGET_B110, CBAUD, B110 }, - { TARGET_CBAUD, TARGET_B134, CBAUD, B134 }, - { TARGET_CBAUD, TARGET_B150, CBAUD, B150 }, - { TARGET_CBAUD, TARGET_B200, CBAUD, B200 }, - { TARGET_CBAUD, TARGET_B300, CBAUD, B300 }, - { TARGET_CBAUD, TARGET_B600, CBAUD, B600 }, - { TARGET_CBAUD, TARGET_B1200, CBAUD, B1200 }, - { TARGET_CBAUD, TARGET_B1800, CBAUD, B1800 }, - { TARGET_CBAUD, TARGET_B2400, CBAUD, B2400 }, - { TARGET_CBAUD, TARGET_B4800, CBAUD, B4800 }, - { TARGET_CBAUD, TARGET_B9600, CBAUD, B9600 }, - { TARGET_CBAUD, TARGET_B19200, CBAUD, B19200 }, - { TARGET_CBAUD, TARGET_B38400, CBAUD, B38400 }, - { TARGET_CBAUD, TARGET_B57600, CBAUD, B57600 }, - { TARGET_CBAUD, TARGET_B115200, CBAUD, B115200 }, - { TARGET_CBAUD, TARGET_B230400, CBAUD, B230400 }, - { TARGET_CBAUD, TARGET_B460800, CBAUD, B460800 }, + BAUD_TRANSTBL(B0) + BAUD_TRANSTBL(B50) + BAUD_TRANSTBL(B75) + BAUD_TRANSTBL(B110) + BAUD_TRANSTBL(B134) + BAUD_TRANSTBL(B150) + BAUD_TRANSTBL(B200) + BAUD_TRANSTBL(B300) + BAUD_TRANSTBL(B600) + BAUD_TRANSTBL(B1200) + BAUD_TRANSTBL(B1800) + BAUD_TRANSTBL(B2400) + BAUD_TRANSTBL(B4800) + BAUD_TRANSTBL(B9600) + BAUD_TRANSTBL(B19200) + BAUD_TRANSTBL(B38400) + BAUD_TRANSTBL(B57600) + BAUD_TRANSTBL(B115200) + BAUD_TRANSTBL(B230400) + BAUD_TRANSTBL(B460800) + BAUD_TRANSTBL(B500000) + BAUD_TRANSTBL(B576000) + BAUD_TRANSTBL(B921600) + BAUD_TRANSTBL(B1000000) + BAUD_TRANSTBL(B1152000) + BAUD_TRANSTBL(B1500000) + BAUD_TRANSTBL(B2000000) + + BAUD_TRANSTBL(BOTHER) + + /* SPARC in particular is missing these higher baud rates */ + +#if defined(TARGET_B2500000) && defined(B2500000) + BAUD_TRANSTBL(B2500000) +#endif + +#if defined(TARGET_B3000000) && defined(B3000000) + BAUD_TRANSTBL(B3000000) +#endif + +#if defined(TARGET_B3500000) && defined(B3500000) + BAUD_TRANSTBL(B3500000) +#endif + +#if defined(TARGET_B4000000) && defined(B4000000) + BAUD_TRANSTBL(B4000000) +#endif + { TARGET_CSIZE, TARGET_CS5, CSIZE, CS5 }, { TARGET_CSIZE, TARGET_CS6, CSIZE, CS6 }, { TARGET_CSIZE, TARGET_CS7, CSIZE, CS7 }, --=20 2.52.0 From nobody Sun Jan 25 09:59:04 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=quarantine dis=none) header.from=kernel.org ARC-Seal: i=1; a=rsa-sha256; t=1769244888; cv=none; d=zohomail.com; s=zohoarc; b=WkExEUGMFf8SdpjF8omAL+DGwdNv/+bqePwwgNW07v8N2MtpeodDrrOshVUX919/afsLNHT7scuRlGUoZHEdh7LZDewIcxfhaYfQRM0IJfqqEkxgTukxLb1cKJwDUCWD5ebOrV4UZGXQIxF8frGEbH+XUG2xj4ouixl060sbxbM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1769244888; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=dAyZv9hz+x+XXrdI0JFeWLkgNjA0GAiqrmOMMd7X7MU=; b=TqYIX0JWOhXkZ7AZZHFMURIJO/2X3L+nCl6owvUdLnZQZm0BLmJJaGh69qEonw7fovpI+x1fmY2aneaTGBFMIpb6kCJfTL+9ERJ0cFijVH0vrZfQ3ul6m5rkj/6v8qBt7u3C2pt9RNEfAAMVoS01/8Yq8sbQvJjTfbeTLNQl55Y= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1769244887937975.2884003557505; Sat, 24 Jan 2026 00:54:47 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vjZOd-000222-42; Sat, 24 Jan 2026 03:53:31 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vjZOc-00020j-1b for qemu-devel@nongnu.org; Sat, 24 Jan 2026 03:53:30 -0500 Received: from sea.source.kernel.org ([2600:3c0a:e001:78e:0:1991:8:25]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vjZOa-0002TU-JL for qemu-devel@nongnu.org; Sat, 24 Jan 2026 03:53:29 -0500 Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by sea.source.kernel.org (Postfix) with ESMTP id 43A8D41AA3; Sat, 24 Jan 2026 08:53:27 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id B0C4AC19422; Sat, 24 Jan 2026 08:53:25 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1769244807; bh=htgvuWU3qi6a5+MCqA3gyM24viQXphmb4VmeDkuJMNQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=vNGJkzuDObJxVmBFMskHU65yrLvUn/G8XJAeN0yvfmu1VeDmCjLai4qZbOea9poE7 4gBzG2Ufi5dyVSsToXNI2lpCcHr1zZuifrse+UlHVWJ1m4CT+C6sPttN1khcNcOA5R vOnNoLHXRR53KD/kFoyNR5iTvIwqFfXl3l89STtCC2D4C7wR6qrnkpANycUhxVUMM7 t5/ohmLjzC7HbtrWOC3eHed91wMTPkmHEDnpEZp5SvIcMxw5J92TaBLBphovdGBK9K d3oO7NmOOB0DdfDmZ/O1acaoDVdeR0BDeIUPldZawho//xMR6y1xIOGTrUPw+i7RSe XNAadkEu7oYsw== From: deller@kernel.org To: Richard Henderson , qemu-devel@nongnu.org Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Laurent Vivier , deller@gmx.de, Jiaxun Yang Subject: [PULL v2 09/11] linux-user: fixup termios2 related things on PowerPC Date: Sat, 24 Jan 2026 09:53:04 +0100 Message-ID: <20260124085306.3996-10-deller@kernel.org> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20260124085306.3996-1-deller@kernel.org> References: <20260124085306.3996-1-deller@kernel.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2600:3c0a:e001:78e:0:1991:8:25; envelope-from=deller@kernel.org; helo=sea.source.kernel.org X-Spam_score_int: -21 X-Spam_score: -2.2 X-Spam_bar: -- X-Spam_report: (-2.2 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.079, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @kernel.org) X-ZM-MESSAGEID: 1769244888626158500 Content-Type: text/plain; charset="utf-8" From: Icenowy Zheng The termios things on PowerPC equal to termios2 things otherwhere. Use some simple #define's to allow both termios and termios2 to map to termios on PowerPC. Signed-off-by: Icenowy Zheng Link: https://github.com/AOSC-Dev/aosc-os-abbs/blob/8d77eeaa76e9b159c3f35ad= af73c875751aa7d17/app-virtualization/qemu/01-shared/patches/0005-AOSCOS-lin= ux-user-fixup-termios2-related-things-on-P.patch Link: https://lore.kernel.org/qemu-devel/4403eb94ddbb2934f1f75d94ce921f0f10= 78ad9f.camel@icenowy.me Reviewed-by: Helge Deller --- linux-user/syscall.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/linux-user/syscall.c b/linux-user/syscall.c index 9443eb3a17..64a2f1cbb2 100644 --- a/linux-user/syscall.c +++ b/linux-user/syscall.c @@ -148,6 +148,21 @@ #include "fd-trans.h" #include "user/cpu_loop.h" =20 +#if defined(__powerpc__) +/* + * On PowerPC termios2 is lacking and termios along with ioctls w/o 2 + * behaves like termios2 and things with 2 on other architectures. + * + * Just define termios2-related things to be the same with termios-related + * ones to support PowerPC. + */ +#define host_termios2 host_termios +#define TCGETS2 TCGETS +#define TCSETS2 TCSETS +#define TCSETSW2 TCSETSW +#define TCSETSF2 TCSETSF +#endif + #ifndef CLONE_IO #define CLONE_IO 0x80000000 /* Clone io context */ #endif --=20 2.52.0 From nobody Sun Jan 25 09:59:04 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=quarantine dis=none) header.from=kernel.org ARC-Seal: i=1; a=rsa-sha256; t=1769244846; cv=none; d=zohomail.com; s=zohoarc; b=MAjIJUCeC7yhqqh1evJxS0akkB4FY7tbQDb+zV0FGpbu4j6iMAo6Ozol7USPcC4jU6CLqFBnV55qOe+0XhEGveYr8zFszr0VMZWE3ne0nb4o/ieYmheO3q+lv17XQtPQBUyPgy3EDrnlwR276xuu88YVTW1wl0eVJuivjES/2dU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1769244846; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=zo1UbLcGjere0vuyT757HQuJu8LNXFX41bdUA8xdHqU=; b=OKLWZDN1gsi0DkWY4qPTRxaB3QY0/yv8EFfpmse8aclCGEhImg6oDmPBwsR3cKGLKLK7b9+9dYDKOjqnFPpsSD9jfz9i9/HM/kxcHTHOK8vQVrQI36TCpjsFsKpPCo9sDGKVo4f5jGY2SCufR8VSzwv7O2FGx1nFDUwzNQ82rhY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1769244846931479.5936537102548; Sat, 24 Jan 2026 00:54:06 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vjZOf-00023q-53; Sat, 24 Jan 2026 03:53:33 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vjZOd-00022I-I8 for qemu-devel@nongnu.org; Sat, 24 Jan 2026 03:53:31 -0500 Received: from sea.source.kernel.org ([172.234.252.31]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vjZOc-0002Tk-8d for qemu-devel@nongnu.org; Sat, 24 Jan 2026 03:53:31 -0500 Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by sea.source.kernel.org (Postfix) with ESMTP id 265BB43FA2; Sat, 24 Jan 2026 08:53:29 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 91B90C116D0; Sat, 24 Jan 2026 08:53:27 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1769244809; bh=Jf62z9nlMLpALlcWZJZDbVgTeJxR/J8Rcqx9XgcCPa0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=WpAsM1uOWX6nttushE3OiRM97m9Sl2tYRjsCvc2iIyz0TDYo9LlWBzdhWDvjkBzZp 0AmXhrk3J8d4jovB7b+SKQBOOhlbywdudBdwPj3vqZ6mT6K+RCDOf2i26zWJcgCwTR goYOLerd25T4Q8Y3BAgJb91NTRCYpvDQd6PwcYaF+XZHz8T9cLoOUdAS1jjm51x40E OnLKtUdId02uM8WsyviVUMP/wyq6CA8Skyni+MDw33WX1YJjHHCSMxzPGuDmLaxcoV v/jDh1mt/Y+v55p97FFzzEYSQNkGkZA1Sa291q0+ZI/rFFX7ye90SAWbcSai82v2Ww tZG0+yDepekAQ== From: deller@kernel.org To: Richard Henderson , qemu-devel@nongnu.org Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Laurent Vivier , deller@gmx.de, Jiaxun Yang Subject: [PULL v2 10/11] linux-user: strace: Fix 5th argument of futex syscall Date: Sat, 24 Jan 2026 09:53:05 +0100 Message-ID: <20260124085306.3996-11-deller@kernel.org> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20260124085306.3996-1-deller@kernel.org> References: <20260124085306.3996-1-deller@kernel.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=172.234.252.31; envelope-from=deller@kernel.org; helo=sea.source.kernel.org X-Spam_score_int: -21 X-Spam_score: -2.2 X-Spam_bar: -- X-Spam_report: (-2.2 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.079, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @kernel.org) X-ZM-MESSAGEID: 1769244849555154100 Content-Type: text/plain; charset="utf-8" From: Helge Deller The 5th argument isn't printed, but instead the 4th argument is shown twice. Fix this, and print the FUTEX_BITSET_MATCH_ANY string constant instead of -1 if the op is FUTEX_WAIT_BITSET or FUTEX_WAKE_BITSET. Signed-off-by: Helge Deller Reviewed-by: Peter Maydell --- linux-user/strace.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/linux-user/strace.c b/linux-user/strace.c index 18bc6c800c..ca67cfd09d 100644 --- a/linux-user/strace.c +++ b/linux-user/strace.c @@ -4150,7 +4150,12 @@ print_futex(CPUArchState *cpu_env, const struct sysc= allname *name, break; } print_pointer(arg4, 0); - print_raw_param("%d", arg4, 1); + if ((op =3D=3D FUTEX_WAIT_BITSET || (op =3D=3D FUTEX_WAKE_BITSET)) && + (arg5 =3D=3D FUTEX_BITSET_MATCH_ANY)) { + qemu_log("FUTEX_BITSET_MATCH_ANY"); + } else { + print_raw_param("%#x", arg5, 1); + } print_syscall_epilogue(name); } #endif --=20 2.52.0 From nobody Sun Jan 25 09:59:04 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=quarantine dis=none) header.from=kernel.org ARC-Seal: i=1; a=rsa-sha256; t=1769244875; cv=none; d=zohomail.com; s=zohoarc; b=eZ0O1niCVHaa/37tyIZV0dGD+slwYOI59eSrzA2jd3pXlYMLb+UTX7kRv1kR+XXE6pFXRbTr0Ut6PQe+PH6KRwotHbQgTzClaE1COcd3Y4A1pmEgH0yxVEM4PL2qdCQE9ObL3dau/EsUqtxkjCkrTX+lzhfcCjei+Wqp6kxHZbU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1769244875; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=GgHi1j3HeIrEmpnYD9d39NTaoajZ1Ei+Zm+TBuONqec=; b=l26qJlSOfhvB2i4THO4Jft6P30l5FQRqTsb6nXHamcCd2YvZT0ZATk/+QSSSDb0H8BOQDSoaXAS8uJZ4hJTLesTwHaiT8Q4O+w7WHXl0KoYI2jpSlJjHlFtAyIBRij3M0aYqPjaZZd3p9JHjQs+2Slnz0xhsZ9XqBbj4diOWgSc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1769244875193115.60791002401959; Sat, 24 Jan 2026 00:54:35 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vjZOg-00024h-I7; Sat, 24 Jan 2026 03:53:34 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vjZOf-00023r-7j for qemu-devel@nongnu.org; Sat, 24 Jan 2026 03:53:33 -0500 Received: from sea.source.kernel.org ([2600:3c0a:e001:78e:0:1991:8:25]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vjZOd-0002Tw-Rd for qemu-devel@nongnu.org; Sat, 24 Jan 2026 03:53:33 -0500 Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by sea.source.kernel.org (Postfix) with ESMTP id 06F4B41AA3; Sat, 24 Jan 2026 08:53:31 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 73171C116D0; Sat, 24 Jan 2026 08:53:29 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1769244810; bh=Zlew345yXRVgAr6Uar4LjRiTWs09Vw/bnpXL9OCbrTw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=XRQZuTSO1GgkxTTL5hdaLFcFVaPr9lwopK1mrkq/cysIK8YQkQY6GyF7lyjuczaFH MBL0CVMsH6PBfutU3psmZehuxYuhW+XIvIzj7wbVWNNtZaaqCULpX1iF8prhEABCVe c/HLvUxN9JQvpVr4DVwKb8q9fvw5c/AvXgYX6tTPOc39fiYqXdUdsfcCzycmJfbKib rsNbkhG2YgRJGzUvJnJE1bTXs1WpQ5wDdy9wauAmLHTJ3M2VECzAj4+xXphVJzQrrM p7OweklsR6HFZEqn2U6f3thWRTf1kbPgi5501KGGHzPCRlu/eAPhDpajULDSrihXO6 rbtrkVjqRpnDA== From: deller@kernel.org To: Richard Henderson , qemu-devel@nongnu.org Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Laurent Vivier , deller@gmx.de, Jiaxun Yang Subject: [PULL v2 11/11] linux-user: Fix MADV_XXX constants on hppa target Date: Sat, 24 Jan 2026 09:53:06 +0100 Message-ID: <20260124085306.3996-12-deller@kernel.org> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20260124085306.3996-1-deller@kernel.org> References: <20260124085306.3996-1-deller@kernel.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2600:3c0a:e001:78e:0:1991:8:25; envelope-from=deller@kernel.org; helo=sea.source.kernel.org X-Spam_score_int: -21 X-Spam_score: -2.2 X-Spam_bar: -- X-Spam_report: (-2.2 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.079, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @kernel.org) X-ZM-MESSAGEID: 1769244876617158500 Content-Type: text/plain; charset="utf-8" From: Helge Deller Older hppa binaries may still use the old MADV_XXX constants for the madivise() syscall. Fix it up in the same manner as it's done in the Linux kernel in the parisc_madvise() function. Signed-off-by: Helge Deller Reviewed-by: Peter Maydell --- linux-user/syscall.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/linux-user/syscall.c b/linux-user/syscall.c index 64a2f1cbb2..3944004568 100644 --- a/linux-user/syscall.c +++ b/linux-user/syscall.c @@ -12922,6 +12922,22 @@ static abi_long do_syscall1(CPUArchState *cpu_env,= int num, abi_long arg1, =20 #ifdef TARGET_NR_madvise case TARGET_NR_madvise: +#ifdef TARGET_HPPA + /* Emulate old hppa mapping of MADV_xxx constants. */ + switch (arg3) { + case 65: arg3 =3D MADV_MERGEABLE; break; + case 66: arg3 =3D MADV_UNMERGEABLE; break; + case 67: arg3 =3D MADV_HUGEPAGE; break; + case 68: arg3 =3D MADV_NOHUGEPAGE; break; + case 69: arg3 =3D MADV_DONTDUMP; break; + case 70: arg3 =3D MADV_DODUMP; break; + case 71: arg3 =3D MADV_WIPEONFORK; break; + case 72: arg3 =3D MADV_KEEPONFORK; break; + #ifdef MADV_COLLAPSE + case 73: arg3 =3D MADV_COLLAPSE; break; + #endif + } +#endif /* TARGET_HPPA */ return target_madvise(arg1, arg2, arg3); #endif #ifdef TARGET_NR_fcntl64 --=20 2.52.0