From nobody Wed Feb 4 12:15:58 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail header.i=@rwth-aachen.de; 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=none dis=none) header.from=nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1767709603; cv=none; d=zohomail.com; s=zohoarc; b=SfoO04/mQ37Rf5LwDJ05aMH6O7Eovdk6JXdOP0iE1bFy/7OshZtLKNMshMpz/9E2XB1Ug0Is9cMVRAPAwNX9HGbb5S/OzUuLNbnBEYOfv1Pi3nCBTfv+Ry8g95Dch21gl8lEn+paVfDH3FwmQcFMqNLgBKp/4pi5UN7KXCrW0hg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1767709603; h=Content-Type: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:Reply-To:Reply-To:References:Sender:Subject:Subject:To:To:Message-Id; bh=sbl5Azn+lxKvfUAUl/zu0lKFbroNMuZV5puG9PgcVBA=; b=YYMzI3WrorbfTNTpijk9hAgTpuPADFoIqqscM3D0FY4fHw1uZGnvewFnxyUvvO+SvSMfiejbk1Q0yKS5O/ZEyXUOJzxsqFl8C2NfUVnVDjkMxaI4EYIOus8ogri+1ugXRssiM1nSlzQMqppK2tcdNvm+2p6PDL5JlcVNAG5jYyk= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail header.i=@rwth-aachen.de; 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=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1767709603414333.9571620483533; Tue, 6 Jan 2026 06:26:43 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vd811-0000XT-TU; Tue, 06 Jan 2026 09:26: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 1vd7LM-0001De-NX for qemu-devel@nongnu.org; Tue, 06 Jan 2026 08:43:28 -0500 Received: from mail-out-4.itc.rwth-aachen.de ([2a00:8a60:1:e501::5:49]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vd7LK-0006Qa-Re for qemu-devel@nongnu.org; Tue, 06 Jan 2026 08:43:28 -0500 Received: from rwthex-s2-a.rwth-ad.de ([134.130.26.154]) by mail-in-4.itc.rwth-aachen.de with ESMTP; 06 Jan 2026 14:43:18 +0100 Received: from mkroening-ud22.fritz.box (2a0a:a54a:c75:0:1df6:38e8:59e6:777c) by rwthex-s2-a.rwth-ad.de (2a00:8a60:1:e500::26:154) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.35; Tue, 6 Jan 2026 14:43:17 +0100 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=rwth-aachen.de; i=@rwth-aachen.de; q=dns/txt; s=20240516-RWTH; t=1767707007; x=1799243007; h=from:date:subject:mime-version:content-transfer-encoding: message-id:references:in-reply-to:to:cc; bh=Gyc605Oee09BkDbNn+RqelOfUjVXDdOvnXFHhbqMjiM=; b=MRfLvhfv67jvTYZFlDd1SgI7q8jB12n3Phns1NBlLXwxyKX8rqZt4Gk6 GKEKq2kimfCpu+HbvkGkHml8FlWFLjxLlfQppm087RkgL2N6OE6E2Hy1H XUUm8d8JdD3pTWuULcRBPGRf9NsZdfKQ6ep1DunCnh/wsukqu9tHVfeG8 B2qpqHspk2HlVKt6N4xMOJWFA2p71f5DwFkMR3conigBvCPkoEgx+Tg6n /oKZenbWR94F6axp/M/hZjLG64aI5KMWoIakn4U5wyDC91Fd+7XFL3FuB PVtl8F/nI5QsOMo7qwvmFD9PB/bCctSHEH+b+QvDaMo5x9qXuxyYNcPR5 g==; X-CSE-ConnectionGUID: ztqdPzYHQ0aDwZOvvZqE0Q== X-CSE-MsgGUID: 2wsSQh8+S5+Mfm6nh8vYfw== X-IPAS-Result: =?us-ascii?q?A2CiAwD6D11p/5oagoZagQmEJ3GBagiET6wMhgQPAQEBA?= =?us-ascii?q?QEBAQEBCAFKBwQBAYITgi5GAoxsKDgTAQIEAQEBAQMCAwEBAQEBAQEBAQEBC?= =?us-ascii?q?wEBBgEBAQEBAQYFgSGGCUYNhlsGIw8BRhAlAiYCAkYQBg4FgwIBgnMUBrAzg?= =?us-ascii?q?TKBAYR82gSBHwEFBgkBCgGBCi6IUwGBb4QAhHiCT4FKgj12gmECAoIrgw6Ca?= =?us-ascii?q?QSCInoUlRAJP4ECeCwBVRMNCgsHBWGBBQM1EioVbjIdgSM+Fz5jIQkFgmwGi?= =?us-ascii?q?QAPiVqBFQMLGA1IESw3FBtDAW4HkAqCd3sTLCKZNq9WB4I4gWeMHpVUATKXY?= =?us-ascii?q?JMLLphYigqDf5ZQhD0CBAIEBQIYgX+BaQ4HcYM2UhcCD5Ihwxd3AjoCBwEKA?= =?us-ascii?q?QEDCYI5kS4BAQ?= IronPort-Data: A9a23:/x4/iKIFQhzM2rWtFE+RopQlxSXFcZb7ZxGr2PjKsXjdYENS1jcAz WIfDGDXOfqCamOmL4gib4jl8B4CsMPXmIdgHAsd+CA2RRqmiyZk6fexcx2sZXPCdqUvaGo9s q3yv/GZdJhcokf0/0nrav666yEgiclkf5KkYMbcICd9WAR4fykojBNnioYRj5Vh6TSDK1rlV eja/YuFYTdJ5xYuajhKs/vb9ks21BjPkGpwUmIWNKgjUGD2yiF94KI3fcmZM3b+S49IKe+2L 86r5K255G7Q4yA2AdqjlLvhGmVSKlIFFVHT4pb+c/HKbilq/kTe4I5iXBYvQRs/ZwGyojxE4 I4lWaqYFF11ZP2cwIzxZDEDe812FfUuFLYquhFTu+TLp6HNWyOEL/mDkCjaMKVAktubD12i+ tQKNCkBVgKyp9vuyZ6keM5ymPY6AZHSadZ3VnFIlVk1DN48XozDTrWP/oUd1XEqmdxOWP/SI cYUAdZtRE2bP1sWYQ9RUsx4xbr07pX8W2QwRFa9oKMt/2nVig9r17XrMdzaUtGNQ8hPlQCCu X7Gum3wCREXMpqTxFJp91r12LWfwHmqBer+EpXi6eVRuV3DhVdOSzgYUAW9oamnu0ChDoc3x 0s8v3BGQbIJ3FWmS8S4UxCmrXqsuBkaVNxNVeog52mlw67Z80CTC24CQzNpbN0gvdUxAzsw2 Te0c8jBHyNzsLCFDGnHs77StyyuOW0cISkOaEfoUDc43jUqm6lr5jqnczqpOPfdYgHdcd0o/ w23kQ== IronPort-HdrOrdr: A9a23:4Bx0sag7Fa0wqCgBANXIgIWWMnBQXiwji2hC6mlwRA09TyXBrb HLoB1p726StN9xYgBcpTnuAsm9qB/nmKKdpLNhWItKPzOWxFdATrsSjrcKqgeIc0aVygce79 YDT0EUMrLN5C1B7PoSlzPXLz9P+rW6GeuT9IHjJj9WPHhXg4oJ1XYANi+LVkltAAVWD5swE5 SRotBHryGtdHAebsGxAGhARO7eut3NmprpbRkaQwc97gODlyml5dfBYmKlNzklIkhy/Ys= X-Talos-CUID: 9a23:nXo/8G/i+o8lxVts7b+Vv1wIA8wdYEz99S/ZD1CKLnh3eqS4EWbFrQ== X-Talos-MUID: 9a23:nmhCJgacwASLu+BT7SD3vwhiZIRTvueLBkVTl5VWpfiKKnkl X-IronPort-Anti-Spam-Filtered: true X-IronPort-AV: E=Sophos;i="6.21,204,1763420400"; d="scan'208";a="16285295" Date: Tue, 6 Jan 2026 14:43:06 +0100 Subject: [PATCH 2/2] semihosting/uaccess: Use the cpu_tswap() functions MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-ID: <20260106-semihosting-cpu-tswap-v1-2-646576c25f56@eonerc.rwth-aachen.de> References: <20260106-semihosting-cpu-tswap-v1-0-646576c25f56@eonerc.rwth-aachen.de> In-Reply-To: <20260106-semihosting-cpu-tswap-v1-0-646576c25f56@eonerc.rwth-aachen.de> To: CC: =?utf-8?q?Alex_Benn=C3=A9e?= , =?utf-8?q?Martin_Kr=C3=B6ning?= X-Mailer: b4 0.14.3 X-Originating-IP: [2a0a:a54a:c75:0:1df6:38e8:59e6:777c] X-ClientProxiedBy: RWTHEX-W2-A.rwth-ad.de (2a00:8a60:1:e500::26:158) To rwthex-s2-a.rwth-ad.de (2a00:8a60:1:e500::26:154) 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 (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=2a00:8a60:1:e501::5:49; envelope-from=martin.kroening@eonerc.rwth-aachen.de; helo=mail-out-4.itc.rwth-aachen.de X-Spam_score_int: -42 X-Spam_score: -4.3 X-Spam_bar: ---- X-Spam_report: (-4.3 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Mailman-Approved-At: Tue, 06 Jan 2026 09:26:27 -0500 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-to: =?utf-8?q?Martin_Kr=C3=B6ning?= From: =?utf-8?q?Martin_Kr=C3=B6ning?= via Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1767709605515158501 The semihosting ABI [1] states: > Multi-byte values in memory must be formatted as pure little-endian or pu= re > big-endian to match the endianness mapping configuration of the processor. This commits ensures that semihosting data is properly byte-swapped if the guest's CPU is currently in a different runtime-configurable endianness than the host's CPU. Resolves: https://gitlab.com/qemu-project/qemu/-/issues/3258 Buglink: https://github.com/taiki-e/semihosting/issues/18 [1]: https://github.com/ARM-software/abi-aa/blob/2025Q1/semihosting/semihos= ting.rst#the-semihosting-interface Signed-off-by: Martin Kr=C3=B6ning --- include/semihosting/uaccess.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/include/semihosting/uaccess.h b/include/semihosting/uaccess.h index 2093a49827..6813873a2a 100644 --- a/include/semihosting/uaccess.h +++ b/include/semihosting/uaccess.h @@ -28,7 +28,7 @@ ({ uint64_t val_ =3D 0; \ int ret_ =3D cpu_memory_rw_debug(env_cpu(env), (addr), \ &val_, sizeof(val_), 0); \ - (val) =3D tswap64(val_); ret_; }) + (val) =3D cpu_tswap64(cs, val_); ret_; }) =20 /** * get_user_u32: @@ -39,7 +39,7 @@ ({ uint32_t val_ =3D 0; \ int ret_ =3D cpu_memory_rw_debug(env_cpu(env), (addr), \ &val_, sizeof(val_), 0); \ - (val) =3D tswap32(val_); ret_; }) + (val) =3D cpu_tswap32(cs, val_); ret_; }) =20 /** * get_user_u8: @@ -65,7 +65,7 @@ * Returns: 0 on success, -1 on error. */ #define put_user_u64(val, addr) \ - ({ uint64_t val_ =3D tswap64(val); \ + ({ uint64_t val_ =3D cpu_tswap64(cs, val); \ cpu_memory_rw_debug(env_cpu(env), (addr), &val_, sizeof(val_), 1); = }) =20 /** @@ -74,7 +74,7 @@ * Returns: 0 on success, -1 on error. */ #define put_user_u32(val, addr) \ - ({ uint32_t val_ =3D tswap32(val); \ + ({ uint32_t val_ =3D cpu_tswap32(cs, val); \ cpu_memory_rw_debug(env_cpu(env), (addr), &val_, sizeof(val_), 1); = }) =20 /** --=20 Git-155)