From nobody Fri Nov 14 18:20:01 2025 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=reject dis=none) header.from=oss.qualcomm.com ARC-Seal: i=1; a=rsa-sha256; t=1760040039; cv=none; d=zohomail.com; s=zohoarc; b=UZZo7gEziXt1R8KBX0VnJwChD5AYX/ZzvWrhDkdCO8MIWMmlSmeoXD7OxByprejPH7AYc8sRDPIrQImNflviruClHOxsdBbwGePnRVzii4LztfZ9FePjuh81asVQPQlOeQqWJHHuKoHLo8J2B3uD7BUyKgA5A0EofhmgWNeebaA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1760040039; 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:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=PP+4ie1zTiiEi0s6QfSjlJ6hIagLZtd/s50VkpI/dVw=; b=Lwlnp1TIjRyXdzuqU3uzaRmQKmXwcfnX+YlNQIXeXm48a1B1kyBJwYtn7UX9BJATIbDcdjWOP8BFgJTAWs7Zw2OJHBtgG8ryg1w9WhEJ7rQGK2AQgvpW6ZsrAwxgZRFHHlZcS9pCEtcE9GUaDA6OYAV8XOU380fTjhlY3FLwqL4= 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=reject dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1760040039412999.3469046905927; Thu, 9 Oct 2025 13:00:39 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1v6wny-0003j8-T3; Thu, 09 Oct 2025 16:00:03 -0400 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 1v6wnw-0003iC-N2 for qemu-devel@nongnu.org; Thu, 09 Oct 2025 16:00:00 -0400 Received: from mx0a-0031df01.pphosted.com ([205.220.168.131]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1v6wnt-0005BU-HD for qemu-devel@nongnu.org; Thu, 09 Oct 2025 16:00:00 -0400 Received: from pps.filterd (m0279865.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 599EuG39030119 for ; Thu, 9 Oct 2025 19:59:54 GMT Received: from mail-pl1-f200.google.com (mail-pl1-f200.google.com [209.85.214.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 49nv4kv600-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Thu, 09 Oct 2025 19:59:53 +0000 (GMT) Received: by mail-pl1-f200.google.com with SMTP id d9443c01a7336-27356178876so14724065ad.1 for ; Thu, 09 Oct 2025 12:59:53 -0700 (PDT) Received: from hu-bcain-lv.qualcomm.com (Global_NAT1.qualcomm.com. [129.46.96.20]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-29034f32d6fsm36678805ad.96.2025.10.09.12.59.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 09 Oct 2025 12:59:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:content-type:date:from :in-reply-to:message-id:mime-version:references:subject:to; s= qcppdkim1; bh=PP+4ie1zTiiEi0s6QfSjlJ6hIagLZtd/s50VkpI/dVw=; b=EC vUtQK+Gr99ZA5EFCWtI2e+Il8dhKpFtclDxM7lKR1oobRYc6Psa1US4UHmpl8g0P 4sWqGWEHKJ/+yEAW4OZWXkN5Z/HzNdV7Upmh/ZvQAF73V8RHLYpB6k1jnsuCA+tt 6PpCl6odzVJi82V2WGBeqGxDsYIqGH7E1j75eqod4faytHcAjYmk+j6u0pgNXeMl c7aB18T4kNaK453lqpfLwvhgisGpFzAaSkGuckUmpvM8Z71dYK91tsLVIDy+pGYh J49sATDRwGm9kFmqiNMZCUGK4uvLvtvZN5YlyL7R3nk4QP9AFPPZDqkvsfHmVoWs XIUn/B7P40HM3mA/gCeQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760039993; x=1760644793; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=PP+4ie1zTiiEi0s6QfSjlJ6hIagLZtd/s50VkpI/dVw=; b=R/VFAqXJDinosf7K4LSML7U/JNLQDzg8r8tAAnMqG1Hkv7a89zmFzD8q1CcyxGkCOv ymPmePdljOO2E8siaZ3Gk5HThh1VlbYSe5WQkxJx4MxtX3avAIXTVRKBwDq4pyaAGU5P FsLFm+6i0knhUBW2sXRd+X3GHBZw9sn9Sikk37ZfwmsVV5ONBFBJwCSfV83ANJPvJCnI Z2sJZ196JddiNM1HQB9LbD/mhDzBvAoLGrhcx8bnvaxAwRiNGOnTDqKPoa4fSNiTI7RN dlqZwESEdtXk8whgtVwnhIvfTwwdZwfCNmQIaG07ug4GFMifgPl+lhV2kPE06E4A9k6+ i+vw== X-Gm-Message-State: AOJu0YzZGlNvohzTvMLfbr3dv78evEhsZM1lf/UYtM1fn6+ie2FaVmH3 fPf4pAz1mWmgKPjQtwaieMVC1UYXhPAPUDNOFtB4aaAcfjF4FzXlZj3YdPF8uDaafPpkvz3CjCs zOxLJuBsIuFa8L8C5lVorE/cUtkUdVrRmLZILqCSHiJgQ15HqQx/Y9fAX8r3Lxhd6+Q== X-Gm-Gg: ASbGnctrAK9Acx8p58RQayMHHd5XDcDCT6yQjL49ADwGtIlNXz626/RgcNR4zGD2gc5 k/5pJzdKPyLVS8FORqM51XBz6CnPCdDlF60m/1yKDJs++j3CMMRmD+/n8pm7ttRHcBcFdLyswTG wEvdJrd57mj8PIl2i+x0OEYhTV5lJUf0Jdy/vDGhiom5yQudLKVvnGEiM053wNDlt7b0I+FER76 PXEbgDvdCReppfader/wf6vKGXlj3kpibg38pTHQv8YQarHiDQN9uhRTW9ustg8/ypBU6syPlPN E3HKzol8otN489ub5stHd2UVfstYFD5hbj0aYT8H1x5ziTbVpH4zhgY4RcZ0bTEr7Xqz7bHW3h1 E27bEeEd6IUWZG6I6qw== X-Received: by 2002:a17:903:11cf:b0:252:50ad:4e6f with SMTP id d9443c01a7336-2902741d0bdmr104937485ad.54.1760039992412; Thu, 09 Oct 2025 12:59:52 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGzZvGq3uoreaxEGv1ef7Qd5915n3bswMzQyrev8EnI8DtIKOBMe/WYOojFmMaelLXbeVWBdQ== X-Received: by 2002:a17:903:11cf:b0:252:50ad:4e6f with SMTP id d9443c01a7336-2902741d0bdmr104937105ad.54.1760039991863; Thu, 09 Oct 2025 12:59:51 -0700 (PDT) From: Brian Cain To: qemu-devel@nongnu.org Cc: brian.cain@oss.qualcomm.com, richard.henderson@linaro.org, philmd@linaro.org, matheus.bernardino@oss.qualcomm.com, ale@rev.ng, anjo@rev.ng, marco.liebel@oss.qualcomm.com, ltaylorsimpson@gmail.com, alex.bennee@linaro.org, quic_mburton@quicinc.com, sid.manning@oss.qualcomm.com, =?UTF-8?q?Alex=20R=C3=B8nne=20Petersen?= , Laurent Vivier Subject: [PATCH v2 1/4] linux-user/hexagon: Fix sigcontext Date: Thu, 9 Oct 2025 12:59:40 -0700 Message-Id: <20251009195943.438454-2-brian.cain@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20251009195943.438454-1-brian.cain@oss.qualcomm.com> References: <20251009195943.438454-1-brian.cain@oss.qualcomm.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMDA4MDEyMSBTYWx0ZWRfX14b7g6HMt/cO KgIM5w1kohi9run61QcqsxG6ahGyh5s0jxCx/RtcVxuOMMX7y154IKVPKA3uwACuwluWggRGp/t UDjyXSpsszPipjGxEbHRzaoSCWLVwz7Wa/yqIMdHCRuoow2bYVfdegAV5UOu2J3kEuSW59cwzRe P2Kbo56CaYItqh0+lNmZ/qLIqwNgyhdP368CRq0wKr6B7z4Kq5lJgx2LSh6sMuteosAw0z+/suT 9wcqXELW1mHsdWrqCip05Wk66D/JLBkJEFPxPdf0RRdwd0+08GcfDIy/7DHgrtGBujHbBHIsWFb CjxFSTXQfXZlaY8VqsEV9QsJvchfG/EEBRV9/PgjxAfOohRbdXJUy+olFfddMKmJSlpscerN82e I07NaOwRIbPJhajrSOG1l+ag5n8ysw== X-Authority-Analysis: v=2.4 cv=CbcFJbrl c=1 sm=1 tr=0 ts=68e81439 cx=c_pps a=IZJwPbhc+fLeJZngyXXI0A==:117 a=ouPCqIW2jiPt+lZRy3xVPw==:17 a=IkcTkHD0fZMA:10 a=x6icFKpwvdMA:10 a=Z3Pf_jetAAAA:8 a=EUspDBNiAAAA:8 a=xdaGQENHFgu-g-JqPgkA:9 a=QEXdDO2ut3YA:10 a=uG9DUKGECoFWVXl0Dc02:22 a=yHs3G5endCJexrGSZ2Xt:22 X-Proofpoint-GUID: L5Db4USm-aF5AZdt2rwiqh928roSvTMA X-Proofpoint-ORIG-GUID: L5Db4USm-aF5AZdt2rwiqh928roSvTMA X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1117,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-10-09_07,2025-10-06_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 priorityscore=1501 malwarescore=0 spamscore=0 impostorscore=0 lowpriorityscore=0 bulkscore=0 clxscore=1015 phishscore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2510020000 definitions=main-2510080121 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=205.220.168.131; envelope-from=brian.cain@oss.qualcomm.com; helo=mx0a-0031df01.pphosted.com X-Spam_score_int: -26 X-Spam_score: -2.7 X-Spam_bar: -- X-Spam_report: (-2.7 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_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: 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 @qualcomm.com) X-ZM-MESSAGEID: 1760040045243116600 Content-Type: text/plain; charset="utf-8" In order to correspond with the kernel, we've now (1) moved the preds[] to the right offset and combined the representation as a single ulong "p3_0", (2), added the cs{0,1} registers, (3) added a pad for 48 words, (4) added the user regs structure to an 8-byte aligned target_sigcontext structure. Co-authored-by: Alex R=C3=B8nne Petersen Signed-off-by: Brian Cain Reviewed-by: Richard Henderson Reviewed-by: Taylor Simpson --- linux-user/hexagon/signal.c | 209 ++++++++++++++++++++---------------- 1 file changed, 117 insertions(+), 92 deletions(-) diff --git a/linux-user/hexagon/signal.c b/linux-user/hexagon/signal.c index 492b51f155..2847952216 100644 --- a/linux-user/hexagon/signal.c +++ b/linux-user/hexagon/signal.c @@ -23,7 +23,7 @@ #include "signal-common.h" #include "linux-user/trace.h" =20 -struct target_sigcontext { +struct target_user_regs_struct { target_ulong r0, r1, r2, r3; target_ulong r4, r5, r6, r7; target_ulong r8, r9, r10, r11; @@ -39,14 +39,23 @@ struct target_sigcontext { target_ulong m0; target_ulong m1; target_ulong usr; + target_ulong p3_0; target_ulong gp; target_ulong ugp; target_ulong pc; target_ulong cause; target_ulong badva; - target_ulong pred[NUM_PREGS]; + target_ulong cs0; + target_ulong cs1; + target_ulong pad1; /* pad to 48 words */ }; =20 +QEMU_BUILD_BUG_ON(sizeof(struct target_user_regs_struct) !=3D 48 * 4); + +struct target_sigcontext { + struct target_user_regs_struct sc_regs; +} QEMU_ALIGNED(8); + struct target_ucontext { unsigned long uc_flags; target_ulong uc_link; /* target pointer */ @@ -76,53 +85,63 @@ static abi_ulong get_sigframe(struct target_sigaction *= ka, =20 static void setup_sigcontext(struct target_sigcontext *sc, CPUHexagonState= *env) { - __put_user(env->gpr[HEX_REG_R00], &sc->r0); - __put_user(env->gpr[HEX_REG_R01], &sc->r1); - __put_user(env->gpr[HEX_REG_R02], &sc->r2); - __put_user(env->gpr[HEX_REG_R03], &sc->r3); - __put_user(env->gpr[HEX_REG_R04], &sc->r4); - __put_user(env->gpr[HEX_REG_R05], &sc->r5); - __put_user(env->gpr[HEX_REG_R06], &sc->r6); - __put_user(env->gpr[HEX_REG_R07], &sc->r7); - __put_user(env->gpr[HEX_REG_R08], &sc->r8); - __put_user(env->gpr[HEX_REG_R09], &sc->r9); - __put_user(env->gpr[HEX_REG_R10], &sc->r10); - __put_user(env->gpr[HEX_REG_R11], &sc->r11); - __put_user(env->gpr[HEX_REG_R12], &sc->r12); - __put_user(env->gpr[HEX_REG_R13], &sc->r13); - __put_user(env->gpr[HEX_REG_R14], &sc->r14); - __put_user(env->gpr[HEX_REG_R15], &sc->r15); - __put_user(env->gpr[HEX_REG_R16], &sc->r16); - __put_user(env->gpr[HEX_REG_R17], &sc->r17); - __put_user(env->gpr[HEX_REG_R18], &sc->r18); - __put_user(env->gpr[HEX_REG_R19], &sc->r19); - __put_user(env->gpr[HEX_REG_R20], &sc->r20); - __put_user(env->gpr[HEX_REG_R21], &sc->r21); - __put_user(env->gpr[HEX_REG_R22], &sc->r22); - __put_user(env->gpr[HEX_REG_R23], &sc->r23); - __put_user(env->gpr[HEX_REG_R24], &sc->r24); - __put_user(env->gpr[HEX_REG_R25], &sc->r25); - __put_user(env->gpr[HEX_REG_R26], &sc->r26); - __put_user(env->gpr[HEX_REG_R27], &sc->r27); - __put_user(env->gpr[HEX_REG_R28], &sc->r28); - __put_user(env->gpr[HEX_REG_R29], &sc->r29); - __put_user(env->gpr[HEX_REG_R30], &sc->r30); - __put_user(env->gpr[HEX_REG_R31], &sc->r31); - __put_user(env->gpr[HEX_REG_SA0], &sc->sa0); - __put_user(env->gpr[HEX_REG_LC0], &sc->lc0); - __put_user(env->gpr[HEX_REG_SA1], &sc->sa1); - __put_user(env->gpr[HEX_REG_LC1], &sc->lc1); - __put_user(env->gpr[HEX_REG_M0], &sc->m0); - __put_user(env->gpr[HEX_REG_M1], &sc->m1); - __put_user(env->gpr[HEX_REG_USR], &sc->usr); - __put_user(env->gpr[HEX_REG_GP], &sc->gp); - __put_user(env->gpr[HEX_REG_UGP], &sc->ugp); - __put_user(env->gpr[HEX_REG_PC], &sc->pc); + target_ulong preds =3D 0; =20 - int i; - for (i =3D 0; i < NUM_PREGS; i++) { - __put_user(env->pred[i], &(sc->pred[i])); + __put_user(env->gpr[HEX_REG_R00], &sc->sc_regs.r0); + __put_user(env->gpr[HEX_REG_R01], &sc->sc_regs.r1); + __put_user(env->gpr[HEX_REG_R02], &sc->sc_regs.r2); + __put_user(env->gpr[HEX_REG_R03], &sc->sc_regs.r3); + __put_user(env->gpr[HEX_REG_R04], &sc->sc_regs.r4); + __put_user(env->gpr[HEX_REG_R05], &sc->sc_regs.r5); + __put_user(env->gpr[HEX_REG_R06], &sc->sc_regs.r6); + __put_user(env->gpr[HEX_REG_R07], &sc->sc_regs.r7); + __put_user(env->gpr[HEX_REG_R08], &sc->sc_regs.r8); + __put_user(env->gpr[HEX_REG_R09], &sc->sc_regs.r9); + __put_user(env->gpr[HEX_REG_R10], &sc->sc_regs.r10); + __put_user(env->gpr[HEX_REG_R11], &sc->sc_regs.r11); + __put_user(env->gpr[HEX_REG_R12], &sc->sc_regs.r12); + __put_user(env->gpr[HEX_REG_R13], &sc->sc_regs.r13); + __put_user(env->gpr[HEX_REG_R14], &sc->sc_regs.r14); + __put_user(env->gpr[HEX_REG_R15], &sc->sc_regs.r15); + __put_user(env->gpr[HEX_REG_R16], &sc->sc_regs.r16); + __put_user(env->gpr[HEX_REG_R17], &sc->sc_regs.r17); + __put_user(env->gpr[HEX_REG_R18], &sc->sc_regs.r18); + __put_user(env->gpr[HEX_REG_R19], &sc->sc_regs.r19); + __put_user(env->gpr[HEX_REG_R20], &sc->sc_regs.r20); + __put_user(env->gpr[HEX_REG_R21], &sc->sc_regs.r21); + __put_user(env->gpr[HEX_REG_R22], &sc->sc_regs.r22); + __put_user(env->gpr[HEX_REG_R23], &sc->sc_regs.r23); + __put_user(env->gpr[HEX_REG_R24], &sc->sc_regs.r24); + __put_user(env->gpr[HEX_REG_R25], &sc->sc_regs.r25); + __put_user(env->gpr[HEX_REG_R26], &sc->sc_regs.r26); + __put_user(env->gpr[HEX_REG_R27], &sc->sc_regs.r27); + __put_user(env->gpr[HEX_REG_R28], &sc->sc_regs.r28); + __put_user(env->gpr[HEX_REG_R29], &sc->sc_regs.r29); + __put_user(env->gpr[HEX_REG_R30], &sc->sc_regs.r30); + __put_user(env->gpr[HEX_REG_R31], &sc->sc_regs.r31); + __put_user(env->gpr[HEX_REG_SA0], &sc->sc_regs.sa0); + __put_user(env->gpr[HEX_REG_LC0], &sc->sc_regs.lc0); + __put_user(env->gpr[HEX_REG_SA1], &sc->sc_regs.sa1); + __put_user(env->gpr[HEX_REG_LC1], &sc->sc_regs.lc1); + __put_user(env->gpr[HEX_REG_M0], &sc->sc_regs.m0); + __put_user(env->gpr[HEX_REG_M1], &sc->sc_regs.m1); + __put_user(env->gpr[HEX_REG_USR], &sc->sc_regs.usr); + __put_user(env->gpr[HEX_REG_GP], &sc->sc_regs.gp); + __put_user(env->gpr[HEX_REG_UGP], &sc->sc_regs.ugp); + __put_user(env->gpr[HEX_REG_PC], &sc->sc_regs.pc); + + /* Consolidate predicates into p3_0 */ + for (int i =3D 0; i < NUM_PREGS; i++) { + preds |=3D (env->pred[i] & 0xff) << (i * 8); } + __put_user(preds, &sc->sc_regs.p3_0); + + /* Set cause and badva to 0 - these are set by kernel on exceptions */ + __put_user(0, &sc->sc_regs.cause); + __put_user(0, &sc->sc_regs.badva); + + __put_user(env->gpr[HEX_REG_CS0], &sc->sc_regs.cs0); + __put_user(env->gpr[HEX_REG_CS1], &sc->sc_regs.cs1); } =20 static void setup_ucontext(struct target_ucontext *uc, @@ -192,53 +211,59 @@ badframe: static void restore_sigcontext(CPUHexagonState *env, struct target_sigcontext *sc) { - __get_user(env->gpr[HEX_REG_R00], &sc->r0); - __get_user(env->gpr[HEX_REG_R01], &sc->r1); - __get_user(env->gpr[HEX_REG_R02], &sc->r2); - __get_user(env->gpr[HEX_REG_R03], &sc->r3); - __get_user(env->gpr[HEX_REG_R04], &sc->r4); - __get_user(env->gpr[HEX_REG_R05], &sc->r5); - __get_user(env->gpr[HEX_REG_R06], &sc->r6); - __get_user(env->gpr[HEX_REG_R07], &sc->r7); - __get_user(env->gpr[HEX_REG_R08], &sc->r8); - __get_user(env->gpr[HEX_REG_R09], &sc->r9); - __get_user(env->gpr[HEX_REG_R10], &sc->r10); - __get_user(env->gpr[HEX_REG_R11], &sc->r11); - __get_user(env->gpr[HEX_REG_R12], &sc->r12); - __get_user(env->gpr[HEX_REG_R13], &sc->r13); - __get_user(env->gpr[HEX_REG_R14], &sc->r14); - __get_user(env->gpr[HEX_REG_R15], &sc->r15); - __get_user(env->gpr[HEX_REG_R16], &sc->r16); - __get_user(env->gpr[HEX_REG_R17], &sc->r17); - __get_user(env->gpr[HEX_REG_R18], &sc->r18); - __get_user(env->gpr[HEX_REG_R19], &sc->r19); - __get_user(env->gpr[HEX_REG_R20], &sc->r20); - __get_user(env->gpr[HEX_REG_R21], &sc->r21); - __get_user(env->gpr[HEX_REG_R22], &sc->r22); - __get_user(env->gpr[HEX_REG_R23], &sc->r23); - __get_user(env->gpr[HEX_REG_R24], &sc->r24); - __get_user(env->gpr[HEX_REG_R25], &sc->r25); - __get_user(env->gpr[HEX_REG_R26], &sc->r26); - __get_user(env->gpr[HEX_REG_R27], &sc->r27); - __get_user(env->gpr[HEX_REG_R28], &sc->r28); - __get_user(env->gpr[HEX_REG_R29], &sc->r29); - __get_user(env->gpr[HEX_REG_R30], &sc->r30); - __get_user(env->gpr[HEX_REG_R31], &sc->r31); - __get_user(env->gpr[HEX_REG_SA0], &sc->sa0); - __get_user(env->gpr[HEX_REG_LC0], &sc->lc0); - __get_user(env->gpr[HEX_REG_SA1], &sc->sa1); - __get_user(env->gpr[HEX_REG_LC1], &sc->lc1); - __get_user(env->gpr[HEX_REG_M0], &sc->m0); - __get_user(env->gpr[HEX_REG_M1], &sc->m1); - __get_user(env->gpr[HEX_REG_USR], &sc->usr); - __get_user(env->gpr[HEX_REG_GP], &sc->gp); - __get_user(env->gpr[HEX_REG_UGP], &sc->ugp); - __get_user(env->gpr[HEX_REG_PC], &sc->pc); + target_ulong preds; =20 - int i; - for (i =3D 0; i < NUM_PREGS; i++) { - __get_user(env->pred[i], &(sc->pred[i])); + __get_user(env->gpr[HEX_REG_R00], &sc->sc_regs.r0); + __get_user(env->gpr[HEX_REG_R01], &sc->sc_regs.r1); + __get_user(env->gpr[HEX_REG_R02], &sc->sc_regs.r2); + __get_user(env->gpr[HEX_REG_R03], &sc->sc_regs.r3); + __get_user(env->gpr[HEX_REG_R04], &sc->sc_regs.r4); + __get_user(env->gpr[HEX_REG_R05], &sc->sc_regs.r5); + __get_user(env->gpr[HEX_REG_R06], &sc->sc_regs.r6); + __get_user(env->gpr[HEX_REG_R07], &sc->sc_regs.r7); + __get_user(env->gpr[HEX_REG_R08], &sc->sc_regs.r8); + __get_user(env->gpr[HEX_REG_R09], &sc->sc_regs.r9); + __get_user(env->gpr[HEX_REG_R10], &sc->sc_regs.r10); + __get_user(env->gpr[HEX_REG_R11], &sc->sc_regs.r11); + __get_user(env->gpr[HEX_REG_R12], &sc->sc_regs.r12); + __get_user(env->gpr[HEX_REG_R13], &sc->sc_regs.r13); + __get_user(env->gpr[HEX_REG_R14], &sc->sc_regs.r14); + __get_user(env->gpr[HEX_REG_R15], &sc->sc_regs.r15); + __get_user(env->gpr[HEX_REG_R16], &sc->sc_regs.r16); + __get_user(env->gpr[HEX_REG_R17], &sc->sc_regs.r17); + __get_user(env->gpr[HEX_REG_R18], &sc->sc_regs.r18); + __get_user(env->gpr[HEX_REG_R19], &sc->sc_regs.r19); + __get_user(env->gpr[HEX_REG_R20], &sc->sc_regs.r20); + __get_user(env->gpr[HEX_REG_R21], &sc->sc_regs.r21); + __get_user(env->gpr[HEX_REG_R22], &sc->sc_regs.r22); + __get_user(env->gpr[HEX_REG_R23], &sc->sc_regs.r23); + __get_user(env->gpr[HEX_REG_R24], &sc->sc_regs.r24); + __get_user(env->gpr[HEX_REG_R25], &sc->sc_regs.r25); + __get_user(env->gpr[HEX_REG_R26], &sc->sc_regs.r26); + __get_user(env->gpr[HEX_REG_R27], &sc->sc_regs.r27); + __get_user(env->gpr[HEX_REG_R28], &sc->sc_regs.r28); + __get_user(env->gpr[HEX_REG_R29], &sc->sc_regs.r29); + __get_user(env->gpr[HEX_REG_R30], &sc->sc_regs.r30); + __get_user(env->gpr[HEX_REG_R31], &sc->sc_regs.r31); + __get_user(env->gpr[HEX_REG_SA0], &sc->sc_regs.sa0); + __get_user(env->gpr[HEX_REG_LC0], &sc->sc_regs.lc0); + __get_user(env->gpr[HEX_REG_SA1], &sc->sc_regs.sa1); + __get_user(env->gpr[HEX_REG_LC1], &sc->sc_regs.lc1); + __get_user(env->gpr[HEX_REG_M0], &sc->sc_regs.m0); + __get_user(env->gpr[HEX_REG_M1], &sc->sc_regs.m1); + __get_user(env->gpr[HEX_REG_USR], &sc->sc_regs.usr); + __get_user(env->gpr[HEX_REG_GP], &sc->sc_regs.gp); + __get_user(env->gpr[HEX_REG_UGP], &sc->sc_regs.ugp); + __get_user(env->gpr[HEX_REG_PC], &sc->sc_regs.pc); + + /* Restore predicates from p3_0 */ + __get_user(preds, &sc->sc_regs.p3_0); + for (int i =3D 0; i < NUM_PREGS; i++) { + env->pred[i] =3D (preds >> (i * 8)) & 0xff; } + + __get_user(env->gpr[HEX_REG_CS0], &sc->sc_regs.cs0); + __get_user(env->gpr[HEX_REG_CS1], &sc->sc_regs.cs1); } =20 static void restore_ucontext(CPUHexagonState *env, struct target_ucontext = *uc) --=20 2.34.1 From nobody Fri Nov 14 18:20:01 2025 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=reject dis=none) header.from=oss.qualcomm.com ARC-Seal: i=1; a=rsa-sha256; t=1760040085; cv=none; d=zohomail.com; s=zohoarc; b=XCPN/QA1HHGhMU/7rHVsGWg6Wk1wVV/IT6/EQ6eIM+NTXdTF7L+0byl40gPZj808eNduvbomtTTQWbeyOn94wDrzSBwYRMLKUQnR/nT9te32GZ/Vwc5f8H6fHUnx3skWPRoDMrFa4gFKC4ltVC33S7TEhGbn+LjF7uU8aoJSpmQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1760040085; 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:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=78hUiLIwqfw1lF8IcpkP2DM8dbcUxGbMRrlS2cIjl3U=; b=ZfmBLgssTOr182a+GXDXicnfkqm81aCVsSrLabV1PaiAfGciWm9sxCLVOQSuiagaasEpneDRgLlu5UMaihbpx3C1/2nLsEFd0B7OmZ1jLJ/t+EIR/+2XTS91XtV1eAKkEhIdgStj5cAh/9RE0uTPhI8w+xTmi9CqRgtNQbjuGPo= 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=reject dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1760040084995426.1943670750734; Thu, 9 Oct 2025 13:01:24 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1v6woJ-0003pt-K7; Thu, 09 Oct 2025 16:00:23 -0400 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 1v6wnz-0003jJ-Ak for qemu-devel@nongnu.org; Thu, 09 Oct 2025 16:00:04 -0400 Received: from mx0a-0031df01.pphosted.com ([205.220.168.131]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1v6wnt-0005Bb-Ur for qemu-devel@nongnu.org; Thu, 09 Oct 2025 16:00:02 -0400 Received: from pps.filterd (m0279863.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 599EV4Dg023282 for ; Thu, 9 Oct 2025 19:59:54 GMT Received: from mail-pl1-f199.google.com (mail-pl1-f199.google.com [209.85.214.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 49nv4m45mm-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Thu, 09 Oct 2025 19:59:54 +0000 (GMT) Received: by mail-pl1-f199.google.com with SMTP id d9443c01a7336-26985173d8eso51811685ad.1 for ; Thu, 09 Oct 2025 12:59:54 -0700 (PDT) Received: from hu-bcain-lv.qualcomm.com (Global_NAT1.qualcomm.com. [129.46.96.20]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-29034f32d6fsm36678805ad.96.2025.10.09.12.59.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 09 Oct 2025 12:59:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= 78hUiLIwqfw1lF8IcpkP2DM8dbcUxGbMRrlS2cIjl3U=; b=USnQexUV2PhBrByF NdmWEYYcU0PWYVpQubPBBHC5MZBazgDtEtjigKnubcFhehuLCTvgTUySp3P+/LVl gEHZQo8CvZLYNASEEAW2ohZ5j9Smfi+Wvr4twkcZ39tI+chpyfDly50eENZWVj9O QPGkd6p6fOj6Pdi08qTn1L4Nd5slQY8jHOfjmvqzTUFW/om5EJDe3dhqu0HgB1u/ LBGkcsL6HL+y+/KsDchTHUESYVMYaVgxa3g4qf34PmYEq2TaK8MQazd0OHiZ2GWu Rfa8XvFZOXpQkRE0YZiSJS+My1GNR3R9a8x4YIlJFp4CxhXiWyrBGzeEZ9mBYQtc zdJS7w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760039993; x=1760644793; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=78hUiLIwqfw1lF8IcpkP2DM8dbcUxGbMRrlS2cIjl3U=; b=A7X8rqTqHm5M5peXj/iItfpixfSgBZgDa7kvCNo0pyS8eM7ZS1OthrEpWpb58JTmq1 6BzY00sKg3TfVWjVwo2TQcTcQEnvcPGav7ppFbPW4dxzixjt4vV1XNZDS9jJkK6uYqyv YVok5HE4BYqDar+yhrxqvLpPrVMz/A5qaY4ec35O15ISgmqKJzb8LIrIrtLM2MM4I8H0 GyNXxMO6aZAv+eHjYbx0KtRMPHwGfWRz1c2lbvQgh8lsqTw57JF9tIVwf/w/m46+zxeO CGycGTThkBuShW2Quynd7rTUvYxJ21r3aIoTBPepUD/HPXhrqMis+bgeoN0GFLQVtnj4 yxMA== X-Gm-Message-State: AOJu0Yyrn2IgLw3Y6MYXizNYF/Q4Uy4zChGB/vAVadNJycSibaXRT3SL UUrX2/8QTvCTrq9Tv9xGsZhEslpZO04Y22kyTcVYQnjQfYkdZaZeVoogwteWK1J7FMHqBnSo5cQ Su4JPBdtWZTpTTE2dIJKNVVod/4imwyjoPqMjxhwv+16hmGYF0egJ98uRfK9352pQvA== X-Gm-Gg: ASbGncsj+8R0r6XfHZNR/tK+OsOw7VPfDAkhjheWPc1HsSwGpVNY8tdK7E4IuaOOqCh SQWoWsQK+RancgOYryCCE7L9/B1l9vfRsjLC1rKjyL2rfhYHSEag2i/9TxZ9J4OmwgFAgR0FXBN IO4WebMxuzLZbnMEd2jCNAGCpovwUZ0pO1/mmWmHxmLKaREhWuIBoQqe3wL7oWn9XOAhP4QVI/1 gRZqpBtBSFtd4enGvD+xwVzjgiZPDbKK4fuqS1OkJN8QBvC+HU9zbGX1OOH/8mmvEFvLblleU1y RkTYmOROnAqHrn0QqW9KzZvOjtJHk9hatW7vE5x6DIU+27SMyMXoreGxQO+EeEiKiFuCUuRlPXj ypYiewqsHdaCBFaowSA== X-Received: by 2002:a17:903:3885:b0:256:9c51:d752 with SMTP id d9443c01a7336-290273069bbmr115733105ad.56.1760039993507; Thu, 09 Oct 2025 12:59:53 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEY8smY1TCBqyjiyoo2f6rI+IjR+pb0LeibPm19LO5IHCiOGaoJmeKur03lcGg1yLKqQiuqgA== X-Received: by 2002:a17:903:3885:b0:256:9c51:d752 with SMTP id d9443c01a7336-290273069bbmr115732805ad.56.1760039993060; Thu, 09 Oct 2025 12:59:53 -0700 (PDT) From: Brian Cain To: qemu-devel@nongnu.org Cc: brian.cain@oss.qualcomm.com, richard.henderson@linaro.org, philmd@linaro.org, matheus.bernardino@oss.qualcomm.com, ale@rev.ng, anjo@rev.ng, marco.liebel@oss.qualcomm.com, ltaylorsimpson@gmail.com, alex.bennee@linaro.org, quic_mburton@quicinc.com, sid.manning@oss.qualcomm.com, Laurent Vivier Subject: [PATCH v2 2/4] linux-user/hexagon: use abi_ulong Date: Thu, 9 Oct 2025 12:59:41 -0700 Message-Id: <20251009195943.438454-3-brian.cain@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20251009195943.438454-1-brian.cain@oss.qualcomm.com> References: <20251009195943.438454-1-brian.cain@oss.qualcomm.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMDA4MDEyMSBTYWx0ZWRfX9lOQ0kCRU8GE 61ZmMKRm12ojvTlSKkAruWq1dU/5zUAvZuUoFzz0/DBBfNhOMD3uADJKIx79eKViBbNtPHlQRWR WxL/kBbLOkncaA11amSc7K+zHIjqOZzSPfA85IcjAFTSLQ240JAiwRHjsLmJlC4UFqn3le6T1vt 2FvWAM2tzm3oVuEu0VxUpyxwE3Z00AoXb74WqipWLZ8+mvTjsAwMgwGHEYTSE7pPogUG4Bh3xpY ABoYvNZq4q6dfO3OISeNmIdYeLJYStiIw8p/0h3Yrh4XeFigWM6S/xAqtXl2h3UnvPgWzVEpfLz fWLSojWBKgHHZRXwEwYNjkG7NVahSwcbgYaHQciId7U/SNGUI27pMQsSksrySo0UL7RHt/hRgns GrNeqz2n7srEOIxArrb82+0BSvLy6A== X-Authority-Analysis: v=2.4 cv=B6G0EetM c=1 sm=1 tr=0 ts=68e8143a cx=c_pps a=JL+w9abYAAE89/QcEU+0QA==:117 a=ouPCqIW2jiPt+lZRy3xVPw==:17 a=IkcTkHD0fZMA:10 a=x6icFKpwvdMA:10 a=VwQbUJbxAAAA:8 a=KKAkSRfTAAAA:8 a=EUspDBNiAAAA:8 a=bKXqxLCKRvHHRPj8uRoA:9 a=QEXdDO2ut3YA:10 a=324X-CrmTo6CU4MGRt3R:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-GUID: x2Rp_oxQREDiuSsn19QJZey5zXy8K6R8 X-Proofpoint-ORIG-GUID: x2Rp_oxQREDiuSsn19QJZey5zXy8K6R8 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1117,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-10-09_07,2025-10-06_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 lowpriorityscore=0 bulkscore=0 clxscore=1015 suspectscore=0 malwarescore=0 adultscore=0 priorityscore=1501 phishscore=0 impostorscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2510020000 definitions=main-2510080121 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=205.220.168.131; envelope-from=brian.cain@oss.qualcomm.com; helo=mx0a-0031df01.pphosted.com X-Spam_score_int: -26 X-Spam_score: -2.7 X-Spam_bar: -- X-Spam_report: (-2.7 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_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: 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 @qualcomm.com) X-ZM-MESSAGEID: 1760040086251154100 Change the user_regs_struct to use abi_ulong instead of target_ulong. Link: https://lore.kernel.org/qemu-devel/7bf3d8c5-df07-4cbd-ba62-4c7246a5f9= 6b@linaro.org/ Suggested-by: Richard Henderson Signed-off-by: Brian Cain Reviewed-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Reviewed-by: Taylor Simpson --- linux-user/hexagon/signal.c | 52 ++++++++++++++++++------------------- 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/linux-user/hexagon/signal.c b/linux-user/hexagon/signal.c index 2847952216..e5514b2bec 100644 --- a/linux-user/hexagon/signal.c +++ b/linux-user/hexagon/signal.c @@ -24,30 +24,30 @@ #include "linux-user/trace.h" =20 struct target_user_regs_struct { - target_ulong r0, r1, r2, r3; - target_ulong r4, r5, r6, r7; - target_ulong r8, r9, r10, r11; - target_ulong r12, r13, r14, r15; - target_ulong r16, r17, r18, r19; - target_ulong r20, r21, r22, r23; - target_ulong r24, r25, r26, r27; - target_ulong r28, r29, r30, r31; - target_ulong sa0; - target_ulong lc0; - target_ulong sa1; - target_ulong lc1; - target_ulong m0; - target_ulong m1; - target_ulong usr; - target_ulong p3_0; - target_ulong gp; - target_ulong ugp; - target_ulong pc; - target_ulong cause; - target_ulong badva; - target_ulong cs0; - target_ulong cs1; - target_ulong pad1; /* pad to 48 words */ + abi_ulong r0, r1, r2, r3; + abi_ulong r4, r5, r6, r7; + abi_ulong r8, r9, r10, r11; + abi_ulong r12, r13, r14, r15; + abi_ulong r16, r17, r18, r19; + abi_ulong r20, r21, r22, r23; + abi_ulong r24, r25, r26, r27; + abi_ulong r28, r29, r30, r31; + abi_ulong sa0; + abi_ulong lc0; + abi_ulong sa1; + abi_ulong lc1; + abi_ulong m0; + abi_ulong m1; + abi_ulong usr; + abi_ulong p3_0; + abi_ulong gp; + abi_ulong ugp; + abi_ulong pc; + abi_ulong cause; + abi_ulong badva; + abi_ulong cs0; + abi_ulong cs1; + abi_ulong pad1; /* pad to 48 words */ }; =20 QEMU_BUILD_BUG_ON(sizeof(struct target_user_regs_struct) !=3D 48 * 4); @@ -85,7 +85,7 @@ static abi_ulong get_sigframe(struct target_sigaction *ka, =20 static void setup_sigcontext(struct target_sigcontext *sc, CPUHexagonState= *env) { - target_ulong preds =3D 0; + abi_ulong preds =3D 0; =20 __put_user(env->gpr[HEX_REG_R00], &sc->sc_regs.r0); __put_user(env->gpr[HEX_REG_R01], &sc->sc_regs.r1); @@ -211,7 +211,7 @@ badframe: static void restore_sigcontext(CPUHexagonState *env, struct target_sigcontext *sc) { - target_ulong preds; + abi_ulong preds; =20 __get_user(env->gpr[HEX_REG_R00], &sc->sc_regs.r0); __get_user(env->gpr[HEX_REG_R01], &sc->sc_regs.r1); --=20 2.34.1 From nobody Fri Nov 14 18:20:01 2025 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=reject dis=none) header.from=oss.qualcomm.com ARC-Seal: i=1; a=rsa-sha256; t=1760040126; cv=none; d=zohomail.com; s=zohoarc; b=RvjvLNzddfLSKjVihGNo4wRS7c11aSgW3ksmpkIJhz4lXqlmPQKRoUQjMbUpHQEMEFPn4vcswVMcrb9QU4x+Y60suisu2Mneh6Kvn6JwAUpesuj2FHVFEzDQVTD2SZJb7SpWfnbQdRdcX7MfGDbT7qUGh1GWR0OhD2m+0DM2Tm8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1760040126; 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:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=Isa/eockiO2T6XwpPtCm0webMPD/XLU/FpyDbbZgWZ0=; b=YluMjzjAVk0p9gx6O5sGaiGa/fEKIwIbq5ypjltQ8OfUCAzXHRqH7jED2e4DEVmw6u2CFBbop3khHZRuHDNv8BG0c/fp+B5K8MTgIM/j+Z4KK7GxfNOXqreGX7AimI6xoDqLeedRRDKanj0kSxXjPa9i6sRLbxJ4T6njpxwVECg= 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=reject dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1760040126904447.6889447468858; Thu, 9 Oct 2025 13:02:06 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1v6woQ-0003rq-Fo; Thu, 09 Oct 2025 16:00:30 -0400 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 1v6wnz-0003jK-Bz for qemu-devel@nongnu.org; Thu, 09 Oct 2025 16:00:04 -0400 Received: from mx0a-0031df01.pphosted.com ([205.220.168.131]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1v6wnt-0005Bk-Na for qemu-devel@nongnu.org; Thu, 09 Oct 2025 16:00:02 -0400 Received: from pps.filterd (m0279867.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 599EXTVD004534 for ; Thu, 9 Oct 2025 19:59:56 GMT Received: from mail-pl1-f197.google.com (mail-pl1-f197.google.com [209.85.214.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 49nv4j45wg-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Thu, 09 Oct 2025 19:59:56 +0000 (GMT) Received: by mail-pl1-f197.google.com with SMTP id d9443c01a7336-277f0ea6ee6so24865085ad.0 for ; Thu, 09 Oct 2025 12:59:56 -0700 (PDT) Received: from hu-bcain-lv.qualcomm.com (Global_NAT1.qualcomm.com. [129.46.96.20]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-29034f32d6fsm36678805ad.96.2025.10.09.12.59.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 09 Oct 2025 12:59:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= Isa/eockiO2T6XwpPtCm0webMPD/XLU/FpyDbbZgWZ0=; b=APZ+3TNMX1fGVGlV yUWJXDc+JJaLO8ibbyRtOHCdYqfwRYDunmGWJh7+Dl39kurTCmFt4bmpwFaZWrAG m9r4jukDajytmqqnipmYzv+9/37mATgZKWUBxX6Of/M6ptFBYGGOAGeEeXCui1jo RWdnwVN4aP4jF9xpoxBGyc9qADRJUSKtGGvCYVghXAa0Cc/JDNBPAL1qBnjE9o3m etXi5thKISP7KsHI6krzMSoTzH0PVc5VFvCexFEM7ccGoW0gWTlL20wrp8zHEmHL fr9JpJlvaUwqOgYPA0jhVCOFcICc6Xld+MYsyNLaawgW5idCuwMenObaZ8JAM7sW KdPaqw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760039995; x=1760644795; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Isa/eockiO2T6XwpPtCm0webMPD/XLU/FpyDbbZgWZ0=; b=a6NSiVbFhM1Q7BdetoPDfQ8MPfo2ktbDXoOc8tO5oRSrWCPYQBU6RZ/Si4wGdpSV5s Iea3dltw9fjm/iNPSA5OesT8X0IcPRGHB5wVcVSEYwXRAuNSkjxlTAUnD9NnzgHmT2Iy Lb8uuEYv1Kp9Wi7zKUuFOAuO6KH27yLV8g54YU544NXTxFcihxQnYCafzboyu4NPplvL HQm/EFbAx92XWLIVp5jn5Dr3knOA+Q77j8XdCGqpSwUUgiqeCCIMeU6Kfdzp0pVXU1WL KCX08Fz5G3yzH7qha9+2LhvUrFUzRSD8SjA6gn6PKXlAE/vj417fxO2xZZJ/c65oYhiD aK7Q== X-Gm-Message-State: AOJu0YwNiqH+BEflemnZqFVj0fvL2jIzCyPgrVjC8i2rEda1Wp2XxYZ1 Qm42JVqWsaBhhQC9y2XsuVhRYkJancLDih/urf87udHV3q99YEXQZsKTiDhd10per4CLpukTVNU 2AwOBX2ReI2YrmHyWLDThUrgcBD/hpXSv+bt4N2uSYeF7gBgIR9obrX4Ibk7ZwImgMA== X-Gm-Gg: ASbGnctFG9JU054D3B9r4xCEu4PByARrV7PTtI5anBPBF3DMNlOU/cDimDyZyOu4P6i p/NIRn33nhxqetxbcmMXObpJXzf/NjYspcT27MtSiuqZ+5hj9P1ksk6pPSEOuYXvnhWW773texy yX8hzVegKToN3jxROxP4RFda+K/AawqvHmHVvTlU1Bo7UftPUn6ugmiFlEKnaN6EG+TyNON7I9r 6W8V1NMAiwWR8KnAvJAUXAd+/AO10gQLZzHRXhoYVSZzbGhFomUGRkmqXWoGwa7Sk5yQHRq8I4x QG19QfM/J0pqY4qJZSJOZ2rR2gAuBUckoV6mhUwWvw44AGBlOAlBgbqIJmfJOzi7PkSeNKdtUU6 MvQxccM9kuvDDIssgqQ== X-Received: by 2002:a17:903:a90:b0:27e:ef09:4ab6 with SMTP id d9443c01a7336-290270fa624mr111250685ad.0.1760039994995; Thu, 09 Oct 2025 12:59:54 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEhQGaXLOyYkxUIbE3kTVzqp971L4TQ95XJIgxe7s2EmSzuU+bisN5iYCO6kc+JOEqjvnDbYA== X-Received: by 2002:a17:903:a90:b0:27e:ef09:4ab6 with SMTP id d9443c01a7336-290270fa624mr111250245ad.0.1760039994399; Thu, 09 Oct 2025 12:59:54 -0700 (PDT) From: Brian Cain To: qemu-devel@nongnu.org Cc: brian.cain@oss.qualcomm.com, richard.henderson@linaro.org, philmd@linaro.org, matheus.bernardino@oss.qualcomm.com, ale@rev.ng, anjo@rev.ng, marco.liebel@oss.qualcomm.com, ltaylorsimpson@gmail.com, alex.bennee@linaro.org, quic_mburton@quicinc.com, sid.manning@oss.qualcomm.com, Laurent Vivier Subject: [PATCH v2 3/4] linux-user/hexagon: Use an array for GPRs Date: Thu, 9 Oct 2025 12:59:42 -0700 Message-Id: <20251009195943.438454-4-brian.cain@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20251009195943.438454-1-brian.cain@oss.qualcomm.com> References: <20251009195943.438454-1-brian.cain@oss.qualcomm.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Proofpoint-GUID: TW_G-wUXv-RVCFTXSWoYY6aCpbiDEPov X-Proofpoint-ORIG-GUID: TW_G-wUXv-RVCFTXSWoYY6aCpbiDEPov X-Authority-Analysis: v=2.4 cv=f91FxeyM c=1 sm=1 tr=0 ts=68e8143c cx=c_pps a=cmESyDAEBpBGqyK7t0alAg==:117 a=ouPCqIW2jiPt+lZRy3xVPw==:17 a=IkcTkHD0fZMA:10 a=x6icFKpwvdMA:10 a=VwQbUJbxAAAA:8 a=pGLkceISAAAA:8 a=EUspDBNiAAAA:8 a=5cUriBZxpbMuX0570IYA:9 a=QEXdDO2ut3YA:10 a=1OuFwYUASf3TG4hYMiVC:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMDA4MDEyMSBTYWx0ZWRfX2zKzhnoz2Qna y3cODlc63gNU4VLVRhOwoy9dUjZtOufYJ0Jr3dFFTp0ygn6j5cL/kHngghcRkqDABWN6Qb/S1Mt u95mFq4eM0DmjugQDja2dmlcW3+jNP/zFFvlG06HnRhDTw95La/xGzZl255vIPeWbG4CFRue4Ee Y0XQ533QBtiYxa0fketppXor1LO2LZ1Ug4/mw+DYBcHFk1iKGkR+7vwkSjSHF4US24QN4HtnY5B ZRkfaxmRIraOobWqjMgloKzxp7S4iJ6fVo9mIHAl1X0WJhvFomw8xGbsiIYW9Iynr9FDrRixG9a Q6TrhGul+3c6zGflP5boQvNzsiujNomKXm0Z7qhVhRbOoDrYuEDVvVtMJzJZbYY5vId2Nw+Xr5s fXI9KZVGOAxg+8HjXHnk//unBJg8SQ== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1117,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-10-09_07,2025-10-06_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 clxscore=1015 adultscore=0 priorityscore=1501 malwarescore=0 suspectscore=0 lowpriorityscore=0 impostorscore=0 bulkscore=0 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2510020000 definitions=main-2510080121 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=205.220.168.131; envelope-from=brian.cain@oss.qualcomm.com; helo=mx0a-0031df01.pphosted.com X-Spam_score_int: -26 X-Spam_score: -2.7 X-Spam_bar: -- X-Spam_report: (-2.7 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_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: 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 @qualcomm.com) X-ZM-MESSAGEID: 1760040128420154100 Link: https://lore.kernel.org/qemu-devel/023e01dc389c$faf84320$f0e8c960$@gm= ail.com/ Suggested-by: Taylor Simpson Signed-off-by: Brian Cain Reviewed-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Reviewed-by: Taylor Simpson --- linux-user/hexagon/signal.c | 79 ++++--------------------------------- 1 file changed, 7 insertions(+), 72 deletions(-) diff --git a/linux-user/hexagon/signal.c b/linux-user/hexagon/signal.c index e5514b2bec..183ecfaa19 100644 --- a/linux-user/hexagon/signal.c +++ b/linux-user/hexagon/signal.c @@ -24,14 +24,7 @@ #include "linux-user/trace.h" =20 struct target_user_regs_struct { - abi_ulong r0, r1, r2, r3; - abi_ulong r4, r5, r6, r7; - abi_ulong r8, r9, r10, r11; - abi_ulong r12, r13, r14, r15; - abi_ulong r16, r17, r18, r19; - abi_ulong r20, r21, r22, r23; - abi_ulong r24, r25, r26, r27; - abi_ulong r28, r29, r30, r31; + abi_ulong gpr[32]; abi_ulong sa0; abi_ulong lc0; abi_ulong sa1; @@ -87,38 +80,9 @@ static void setup_sigcontext(struct target_sigcontext *s= c, CPUHexagonState *env) { abi_ulong preds =3D 0; =20 - __put_user(env->gpr[HEX_REG_R00], &sc->sc_regs.r0); - __put_user(env->gpr[HEX_REG_R01], &sc->sc_regs.r1); - __put_user(env->gpr[HEX_REG_R02], &sc->sc_regs.r2); - __put_user(env->gpr[HEX_REG_R03], &sc->sc_regs.r3); - __put_user(env->gpr[HEX_REG_R04], &sc->sc_regs.r4); - __put_user(env->gpr[HEX_REG_R05], &sc->sc_regs.r5); - __put_user(env->gpr[HEX_REG_R06], &sc->sc_regs.r6); - __put_user(env->gpr[HEX_REG_R07], &sc->sc_regs.r7); - __put_user(env->gpr[HEX_REG_R08], &sc->sc_regs.r8); - __put_user(env->gpr[HEX_REG_R09], &sc->sc_regs.r9); - __put_user(env->gpr[HEX_REG_R10], &sc->sc_regs.r10); - __put_user(env->gpr[HEX_REG_R11], &sc->sc_regs.r11); - __put_user(env->gpr[HEX_REG_R12], &sc->sc_regs.r12); - __put_user(env->gpr[HEX_REG_R13], &sc->sc_regs.r13); - __put_user(env->gpr[HEX_REG_R14], &sc->sc_regs.r14); - __put_user(env->gpr[HEX_REG_R15], &sc->sc_regs.r15); - __put_user(env->gpr[HEX_REG_R16], &sc->sc_regs.r16); - __put_user(env->gpr[HEX_REG_R17], &sc->sc_regs.r17); - __put_user(env->gpr[HEX_REG_R18], &sc->sc_regs.r18); - __put_user(env->gpr[HEX_REG_R19], &sc->sc_regs.r19); - __put_user(env->gpr[HEX_REG_R20], &sc->sc_regs.r20); - __put_user(env->gpr[HEX_REG_R21], &sc->sc_regs.r21); - __put_user(env->gpr[HEX_REG_R22], &sc->sc_regs.r22); - __put_user(env->gpr[HEX_REG_R23], &sc->sc_regs.r23); - __put_user(env->gpr[HEX_REG_R24], &sc->sc_regs.r24); - __put_user(env->gpr[HEX_REG_R25], &sc->sc_regs.r25); - __put_user(env->gpr[HEX_REG_R26], &sc->sc_regs.r26); - __put_user(env->gpr[HEX_REG_R27], &sc->sc_regs.r27); - __put_user(env->gpr[HEX_REG_R28], &sc->sc_regs.r28); - __put_user(env->gpr[HEX_REG_R29], &sc->sc_regs.r29); - __put_user(env->gpr[HEX_REG_R30], &sc->sc_regs.r30); - __put_user(env->gpr[HEX_REG_R31], &sc->sc_regs.r31); + for (int i =3D 0; i < 32; i++) { + __put_user(env->gpr[HEX_REG_R00 + i], &sc->sc_regs.gpr[i]); + } __put_user(env->gpr[HEX_REG_SA0], &sc->sc_regs.sa0); __put_user(env->gpr[HEX_REG_LC0], &sc->sc_regs.lc0); __put_user(env->gpr[HEX_REG_SA1], &sc->sc_regs.sa1); @@ -213,38 +177,9 @@ static void restore_sigcontext(CPUHexagonState *env, { abi_ulong preds; =20 - __get_user(env->gpr[HEX_REG_R00], &sc->sc_regs.r0); - __get_user(env->gpr[HEX_REG_R01], &sc->sc_regs.r1); - __get_user(env->gpr[HEX_REG_R02], &sc->sc_regs.r2); - __get_user(env->gpr[HEX_REG_R03], &sc->sc_regs.r3); - __get_user(env->gpr[HEX_REG_R04], &sc->sc_regs.r4); - __get_user(env->gpr[HEX_REG_R05], &sc->sc_regs.r5); - __get_user(env->gpr[HEX_REG_R06], &sc->sc_regs.r6); - __get_user(env->gpr[HEX_REG_R07], &sc->sc_regs.r7); - __get_user(env->gpr[HEX_REG_R08], &sc->sc_regs.r8); - __get_user(env->gpr[HEX_REG_R09], &sc->sc_regs.r9); - __get_user(env->gpr[HEX_REG_R10], &sc->sc_regs.r10); - __get_user(env->gpr[HEX_REG_R11], &sc->sc_regs.r11); - __get_user(env->gpr[HEX_REG_R12], &sc->sc_regs.r12); - __get_user(env->gpr[HEX_REG_R13], &sc->sc_regs.r13); - __get_user(env->gpr[HEX_REG_R14], &sc->sc_regs.r14); - __get_user(env->gpr[HEX_REG_R15], &sc->sc_regs.r15); - __get_user(env->gpr[HEX_REG_R16], &sc->sc_regs.r16); - __get_user(env->gpr[HEX_REG_R17], &sc->sc_regs.r17); - __get_user(env->gpr[HEX_REG_R18], &sc->sc_regs.r18); - __get_user(env->gpr[HEX_REG_R19], &sc->sc_regs.r19); - __get_user(env->gpr[HEX_REG_R20], &sc->sc_regs.r20); - __get_user(env->gpr[HEX_REG_R21], &sc->sc_regs.r21); - __get_user(env->gpr[HEX_REG_R22], &sc->sc_regs.r22); - __get_user(env->gpr[HEX_REG_R23], &sc->sc_regs.r23); - __get_user(env->gpr[HEX_REG_R24], &sc->sc_regs.r24); - __get_user(env->gpr[HEX_REG_R25], &sc->sc_regs.r25); - __get_user(env->gpr[HEX_REG_R26], &sc->sc_regs.r26); - __get_user(env->gpr[HEX_REG_R27], &sc->sc_regs.r27); - __get_user(env->gpr[HEX_REG_R28], &sc->sc_regs.r28); - __get_user(env->gpr[HEX_REG_R29], &sc->sc_regs.r29); - __get_user(env->gpr[HEX_REG_R30], &sc->sc_regs.r30); - __get_user(env->gpr[HEX_REG_R31], &sc->sc_regs.r31); + for (int i =3D 0; i < 32; i++) { + __get_user(env->gpr[HEX_REG_R00 + i], &sc->sc_regs.gpr[i]); + } __get_user(env->gpr[HEX_REG_SA0], &sc->sc_regs.sa0); __get_user(env->gpr[HEX_REG_LC0], &sc->sc_regs.lc0); __get_user(env->gpr[HEX_REG_SA1], &sc->sc_regs.sa1); --=20 2.34.1 From nobody Fri Nov 14 18:20:01 2025 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=reject dis=none) header.from=oss.qualcomm.com ARC-Seal: i=1; a=rsa-sha256; t=1760040039; cv=none; d=zohomail.com; s=zohoarc; b=e3EITfFJ2+prt9y5xlEPs7KZS2Cmciqup+eDsHMmXGW+OlwDCVD2LT+fRNRwm0K7HQaDMUeWQ8nzYVJ4EdFmRgS4nWmhwZZbfLc6rMotz4E57xlGNzmH9oEYq0VWoRycrOqQJXTiINum2mTipjPUOV1FIWdAUzm2aCTLP/dAMzQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1760040039; 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:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=oA4ozt3fYHKu9orcATS/76PnZrz9p+EYtMwaMzHl5GE=; b=fnJpImTZLDqPBJSAj65tfHeL3+pRm2V7QvGuvcI3fKzP/myWpWg/uCUuIMbZc8mR3c0kXhy/Jr4G5CMQqFTJ5VNhpgex08zzLy92bbcFydSpHOZDDJssEAAeecCbRd8qwciWbnSYRvs3UABJUNl5BWkkLnbqtYNDBz7mxBaEO3I= 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=reject dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1760040039377789.8384357506098; Thu, 9 Oct 2025 13:00:39 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1v6wo8-0003p0-HZ; Thu, 09 Oct 2025 16:00:16 -0400 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 1v6wny-0003j9-TY for qemu-devel@nongnu.org; Thu, 09 Oct 2025 16:00:02 -0400 Received: from mx0a-0031df01.pphosted.com ([205.220.168.131]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1v6wnu-0005Bt-SH for qemu-devel@nongnu.org; Thu, 09 Oct 2025 16:00:01 -0400 Received: from pps.filterd (m0279865.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 599EbccT029641 for ; Thu, 9 Oct 2025 19:59:57 GMT Received: from mail-pl1-f199.google.com (mail-pl1-f199.google.com [209.85.214.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 49nv4kv608-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Thu, 09 Oct 2025 19:59:57 +0000 (GMT) Received: by mail-pl1-f199.google.com with SMTP id d9443c01a7336-28d1747f23bso22998265ad.3 for ; Thu, 09 Oct 2025 12:59:57 -0700 (PDT) Received: from hu-bcain-lv.qualcomm.com (Global_NAT1.qualcomm.com. [129.46.96.20]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-29034f32d6fsm36678805ad.96.2025.10.09.12.59.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 09 Oct 2025 12:59:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= oA4ozt3fYHKu9orcATS/76PnZrz9p+EYtMwaMzHl5GE=; b=gseuXUS3mHxiD/bA +28j6/Fixs3wkdale0QEGhwodETHMpmeS7SXMOQ3Y3rLrR92NmsjB1hf8L4lHEGt R31gyH0b7e65rt7+GqVBfShk9pEjgAjeaql1pocVL7G9/4KfphSjZBIpkyq41Jrk ahPvBR9Un8ibDJkglTpcfnf2Q7bxgTZaRnbkLDEYxj1/aPgVKwWUcNIZFLwYZAcx 5tBmxjH62+G5q8Ui0ULJs+zEW6DmfickzwsfVY403/Z/M/nz/97iRBgGD75XuVKF zHHgieequeuqZ9xU+Td+B3OPR60cqcfJgJEgLu8zcqhuo9VZBaxzr5MoE4NkMhMB hyh/IQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760039996; x=1760644796; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=oA4ozt3fYHKu9orcATS/76PnZrz9p+EYtMwaMzHl5GE=; b=L81R2hGCxexqzgKELyaNFodcCA2ODElefI3XsqUkClyUkgecPFT598Fr8zAvBuGoqM dwEkvIvcaWgI3UT1BR3MZHenH3tJeVzqkPbdWURfVn0AMjSMVPwFOzfZ/F8hIXrnYhx/ odmSXRfBcUQXhVN9BeKB3EcwdjEw+fcKiPJCNemnyNywVG584RUQU97D9BhuWdzlvZlx A0mXa8qLGoQLaXao+zLL77QLe7E8LqBNNN3p09c9DbRfVzF0MvIufFUnJeFJUAq2ycJU sL9uN6ScI6raUsGEk0o0vjcvDm5ODHQKbsII+FGt6xeezrIyE27mduQAPWc5ojIIwMQg XK1A== X-Gm-Message-State: AOJu0YylmjNQeFtIkOaZkRqY8Hw6DGTlwNt2KNNX5QT08I5Ic3LGQx1L MUhAOLm+Tt0v2AOfgvEYo2blG0Dnakf3CwaHcmoBVunuTe2FXqWEo1cgj786//KPOKkqi2a4eLj bSz/vnw4Fcj8UzcWDOxrbrRrpxo0seh3uby2T4p4EeXNthBN1syyeAtYgfdXl9Kq1Iw== X-Gm-Gg: ASbGncvSPeh1HOhQUPEAyqRTqK5z00fe8MTV8OyvbfUT5f/4Q/UtD54dNrN9UberLGs gIECh4Je8RwBXSDqhgf8cHkHCIvPcrx63LVtoY5ylJqFpz0anU32GqGA8wGC21NBbQFd1D5WfCg qAQf38VNK1u7dPW6Vih1Yc7XiByRRubOwKXwd21c4vcsCLJgHO6w93Vs3xGCeVhO8ds9uOl75fs sTRKZVyZdMx+ExxpLLREldVGihv3JI/ETkhj6aoLn7ePd3eW/BnjHQq6o7jCG9nn8DHFo+Z/5hw Hk6TEj10x73OPE2fWZVlXsfnnYr7j/6cscJIrwYtov5LJlsF17R9j5O/3hiAmQFFuG0g5OumDqE QwYsqQmpe1giuYAzkzw== X-Received: by 2002:a17:903:fa7:b0:275:f156:965c with SMTP id d9443c01a7336-2902741e441mr114877005ad.52.1760039996091; Thu, 09 Oct 2025 12:59:56 -0700 (PDT) X-Google-Smtp-Source: AGHT+IF6JPwHDxY1Abm3u/N6B92ykde+YxsugwgeYUjSJ9gtqZumYL7qDAdT0Fu79lvIglc/oR8hTw== X-Received: by 2002:a17:903:fa7:b0:275:f156:965c with SMTP id d9443c01a7336-2902741e441mr114876655ad.52.1760039995622; Thu, 09 Oct 2025 12:59:55 -0700 (PDT) From: Brian Cain To: qemu-devel@nongnu.org Cc: brian.cain@oss.qualcomm.com, richard.henderson@linaro.org, philmd@linaro.org, matheus.bernardino@oss.qualcomm.com, ale@rev.ng, anjo@rev.ng, marco.liebel@oss.qualcomm.com, ltaylorsimpson@gmail.com, alex.bennee@linaro.org, quic_mburton@quicinc.com, sid.manning@oss.qualcomm.com Subject: [PATCH v2 4/4] tests/tcg/hexagon: Add cs{0,1} coverage Date: Thu, 9 Oct 2025 12:59:43 -0700 Message-Id: <20251009195943.438454-5-brian.cain@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20251009195943.438454-1-brian.cain@oss.qualcomm.com> References: <20251009195943.438454-1-brian.cain@oss.qualcomm.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMDA4MDEyMSBTYWx0ZWRfX1RRXsFTxijZ+ umicJvcB6AIjieRjYh3krQ/Byj9XKYY0MLBg73GnpnctQRrLlH7JruiU188xNXq87+7dPyaHVKG oNG3dblSss3qUEwFJHLnlocscjeumRcA0krD86rdvLZPqDdwS83cOs8i9W1krKpzcYQt6lclJMX m4vIzGwUiQDYzqrk6hFPkSWLecmun1gIDsde1a4eAv5WOiUYgsjm67eoyfJpb9SXAYZYudkEqeT 70odvwMjcgebKredE0tip1fyPXJvH782lPLJwq8MjNYKXWOm/j+5reuNRkURy81wfS2uoWQd785 B3prjCHRbylPZetiOkvuiKTGVNwc3sWcWR8EIXDEMNIyR7INIpqSXxS7ctdyFIvdcgP92F+9O7L bVZIGv0fjjbeGTAWBYRKjjp+6d0G9Q== X-Authority-Analysis: v=2.4 cv=CbcFJbrl c=1 sm=1 tr=0 ts=68e8143d cx=c_pps a=JL+w9abYAAE89/QcEU+0QA==:117 a=ouPCqIW2jiPt+lZRy3xVPw==:17 a=IkcTkHD0fZMA:10 a=x6icFKpwvdMA:10 a=EUspDBNiAAAA:8 a=gohRq8mKNrDRu6Qpr2AA:9 a=QEXdDO2ut3YA:10 a=324X-CrmTo6CU4MGRt3R:22 X-Proofpoint-GUID: YZ4NzGsv1LZokb-VrD1yqPCjuHrQJVLw X-Proofpoint-ORIG-GUID: YZ4NzGsv1LZokb-VrD1yqPCjuHrQJVLw X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1117,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-10-09_07,2025-10-06_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 priorityscore=1501 malwarescore=0 spamscore=0 impostorscore=0 lowpriorityscore=0 bulkscore=0 clxscore=1015 phishscore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2510020000 definitions=main-2510080121 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=205.220.168.131; envelope-from=brian.cain@oss.qualcomm.com; helo=mx0a-0031df01.pphosted.com X-Spam_score_int: -26 X-Spam_score: -2.7 X-Spam_bar: -- X-Spam_report: (-2.7 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_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: 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 @qualcomm.com) X-ZM-MESSAGEID: 1760040041902154100 Cover cs0,1 register corruption in the signal_context test case. Reviewed-by: Anton Johansson Signed-off-by: Brian Cain Reviewed-by: Richard Henderson --- tests/tcg/hexagon/signal_context.c | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/tests/tcg/hexagon/signal_context.c b/tests/tcg/hexagon/signal_= context.c index 7202fa64b6..00bbb3efc7 100644 --- a/tests/tcg/hexagon/signal_context.c +++ b/tests/tcg/hexagon/signal_context.c @@ -26,7 +26,11 @@ void sig_user(int sig, siginfo_t *info, void *puc) "p1 =3D r7\n\t" "p2 =3D r7\n\t" "p3 =3D r7\n\t" - : : : "r7", "p0", "p1", "p2", "p3"); + "r6 =3D #0x12345678\n\t" + "cs0 =3D r6\n\t" + "r6 =3D #0x87654321\n\t" + "cs1 =3D r6\n\t" + : : : "r6", "r7", "p0", "p1", "p2", "p3"); } =20 int main() @@ -52,7 +56,11 @@ int main() it.it_value.tv_nsec =3D 100000; timer_settime(tid, 0, &it, NULL); =20 - asm("loop0(1f, %1)\n\t" + asm("r9 =3D #0xdeadbeef\n\t" + " cs0 =3D r9\n\t" + " r9 =3D #0xbadc0fee\n\t" + " cs1 =3D r9\n\t" + " loop0(1f, %1)\n\t" "1: r8 =3D #0xff\n\t" " p0 =3D r8\n\t" " p1 =3D r8\n\t" @@ -74,10 +82,18 @@ int main() " r8 =3D p3\n\t" " p0 =3D cmp.eq(r8, #0xff)\n\t" " if (!p0) jump 2b\n\t" + " r8 =3D cs0\n\t" + " r9 =3D #0xdeadbeef\n\t" + " p0 =3D cmp.eq(r8, r9)\n\t" + " if (!p0) jump 2b\n\t" + " r8 =3D cs1\n\t" + " r9 =3D #0xbadc0fee\n\t" + " p0 =3D cmp.eq(r8, r9)\n\t" + " if (!p0) jump 2b\n\t" "4: {}: endloop0\n\t" : : "r"(&err), "r"(i) - : "memory", "r8", "p0", "p1", "p2", "p3"); + : "memory", "r8", "r9", "p0", "p1", "p2", "p3"); =20 puts(err ? "FAIL" : "PASS"); return err; --=20 2.34.1