From patchwork Thu Mar 24 08:20:08 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Laurent Vivier X-Patchwork-Id: 553897 Delivered-To: patch@linaro.org Received: by 2002:a05:7000:1248:0:0:0:0 with SMTP id z8csp4184575mag; Thu, 24 Mar 2022 01:21:58 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzbYi39VLneTYuLLQfPyOx4+hzk5mTc/HrgmZXPPwG+zh+XeUbtlGTi7cCg2t3VYzU7aQX3 X-Received: by 2002:a05:6214:d0a:b0:441:2e06:8822 with SMTP id 10-20020a0562140d0a00b004412e068822mr3367705qvh.123.1648110118828; Thu, 24 Mar 2022 01:21:58 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1648110118; cv=none; d=google.com; s=arc-20160816; b=nra7hdrqnoWWgFlVFPr6NUYbsXflPkr81yP4kDTKFEzH0NDOP1jyMfP0R9qcxIXfea +0O38NmWRRjdg4iNhcCaymzQ5K+myjtkLhG/uGRkZrldwd+cFdpyjLnUqyDTLhvcvO5l xcSPjX322YUIlUE0ie6iuIAgYnRk7Ark/sN8QdG9lc6agv0mzHUbRwMmOCjkT04lM1wg x/g9m5wqvFnMn6Cr0YJ81iK68sVPmfavrXI+wBtLTm3U2haVQtLSwnA3kdQdSWT1XWo/ UA2r4BP1q3l5oPZa69WOnXbSOvlQQSaFMrko8TCTiJKShDlxoCKcGJSfG29mdkMvcxca 0lSw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:to:from; bh=FgrGQjODeI1ZB/L9qbSOoXvaHTOyQoJ8AzvJOQm7FTg=; b=CCCzd0f7HaXQHK2qz4/PUMjLNwwG+VNUKC2yi2N/j/AnxuWWysAX9z3g+Jnl0nqQyg BkZTsaMFmq9wlxuDCJSIx8ibbd2vns9zyufQ/Nx3s77s0Yu6hxeLsVFMrFxg/Gsbjs36 XWFVYywJQ/zwtDKGSXve1Z2qJy5oLnQUXl4GXO4IYgW7KCjkWbJhMjMqJoWCI3IhxTms fOMZgwDaFlWAb0DAQNznjaKfr4Zgv1cPo/lUQUANOAJShnYeyzX6sb8744wG/8t1DSAX EKcpxXtOmYWucyR2rxjyUcHqzMPhK3KoZVTkT10j9u6q6x9uSNNtqR3arAmkE+ys5R59 BO+Q== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org" Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id bp9-20020a05620a458900b0067ec954803bsi2732570qkb.716.2022.03.24.01.21.58 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Thu, 24 Mar 2022 01:21:58 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org" Received: from localhost ([::1]:56906 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nXIjG-0005xn-Cb for patch@linaro.org; Thu, 24 Mar 2022 04:21:58 -0400 Received: from eggs.gnu.org ([209.51.188.92]:52192) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nXIhm-0005wJ-4A for qemu-devel@nongnu.org; Thu, 24 Mar 2022 04:20:26 -0400 Received: from mout.kundenserver.de ([212.227.126.135]:37997) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nXIhk-0003OF-Ao for qemu-devel@nongnu.org; Thu, 24 Mar 2022 04:20:25 -0400 Received: from quad ([82.142.12.150]) by mrelayeu.kundenserver.de (mreue011 [212.227.15.167]) with ESMTPSA (Nemesis) id 1Mxlmw-1oHAUs2r8g-00zHFM; Thu, 24 Mar 2022 09:20:20 +0100 From: Laurent Vivier To: qemu-devel@nongnu.org Subject: [PULL 02/10] linux-user/alpha: Fix sigsuspend for big-endian hosts Date: Thu, 24 Mar 2022 09:20:08 +0100 Message-Id: <20220324082016.3463521-3-laurent@vivier.eu> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220324082016.3463521-1-laurent@vivier.eu> References: <20220324082016.3463521-1-laurent@vivier.eu> MIME-Version: 1.0 X-Provags-ID: V03:K1:43bgUBuOuPLymVy2drw/4Xgq5LQTluwPpkoFEOmKPZ2duv5PnCW ZpWiF3dZW8gLgJTbVsHNNtYh8Naq93PJBY73MxKhwVI41r3fb6rWYNU+ok1rCE2CkGD8Fj+ TozOzgVhC63z8EA6iNQT6RpT3+lsmPsI3vP4Brup6pxdJBEj0qf8Y+lVtMt3vcwZLfaVviT CE+a5hG+0nyJLxAmkvcgg== X-UI-Out-Filterresults: notjunk:1;V03:K0:h7SI9Mo7S84=:P6PGxjkOyd+M02QKJv7UCP etm+Kj0tZ074dvtbpTeo0WKtxdZvkw0P1gVuTglaTnoD2+i1kcNWTq2OZub/nNG2DpFWG/C2c GeTsHIrmYeWN9Fz0jlb2cfLJfQYD/dQwx2dgSsy/yZMZL6VlLdjAYn9H5vDttiKGqq8gYsxhx smQxIm+uXgBT/VS4nW6o+Xj8GZZaYYkoDB1PcxAS0C46aO2ByXjARnjd34BbTA18TsP2aQ7e2 S7lWEFi6Qdol/YbT2AcdCAi0jBjUIewU7tJDYS0+F+EHYPU2Ro/x/wh2gjLszsuTUn9e/JqFW Z5Ibr5lO/vUPjdAtwmDQTaHiwUI6/vfBhuqjZafHJ3Mz7ULNXckGIP4b/s2ovwh9snbzHjvAL ahwy6cQARp81HRA0jcz4LRMaFeZ/TOL8HmsI+TRfJ0qTjECO9wR/gu8/siEzMv3YZyBZWEjEs 2ERDoSE4yglRGaf/4yWOuLFVIT7to12aXtUIvrCiSNrZuTMZDCwOHTMMsEWt6bFybv/EjkWGF LhavNZVUEhf1WJ6Is4jhZQMyDYA4rPXXX58xe1Sqe8GY0Dkl/Xeym8PR3pvsffXOxgGuR6gNS Wupd49ffLxJAcGdrV2BSrsZ92I85j1MFOHYijUxz1/qFFOZSAnZ4pDNW6fqvzv4kPL0ck8+3+ A3xSAiPI+KEzE+Lo5GoFMjUyav9gOMVUJUEyxdINMibJaeRhxKtdoVXgvfVORx4Le+bE= Received-SPF: none client-ip=212.227.126.135; envelope-from=laurent@vivier.eu; helo=mout.kundenserver.de X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_NONE=0.001, T_SCC_BODY_TEXT_LINE=-0.01 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: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Richard Henderson , Laurent Vivier Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" From: Richard Henderson On alpha, the sigset argument for sigsuspend is in a register. When we drop that into memory that happens in host-endianness, but target_to_host_old_sigset will treat it as target-endianness. Signed-off-by: Richard Henderson Reviewed-by: Laurent Vivier Message-Id: <20220315084308.433109-2-richard.henderson@linaro.org> Signed-off-by: Laurent Vivier --- linux-user/syscall.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/linux-user/syscall.c b/linux-user/syscall.c index 75ed71eb461d..77cd88b53785 100644 --- a/linux-user/syscall.c +++ b/linux-user/syscall.c @@ -9559,7 +9559,8 @@ static abi_long do_syscall1(void *cpu_env, int num, abi_long arg1, { TaskState *ts = cpu->opaque; #if defined(TARGET_ALPHA) - abi_ulong mask = arg1; + /* target_to_host_old_sigset will bswap back */ + abi_ulong mask = tswapal(arg1); target_to_host_old_sigset(&ts->sigsuspend_mask, &mask); #else if (!(p = lock_user(VERIFY_READ, arg1, sizeof(target_sigset_t), 1)))