From nobody Tue Apr 7 23:45:07 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; arc=pass (i=1 dmarc=pass fromdomain=htecgroup.com); dmarc=pass(p=reject dis=none) header.from=htecgroup.com ARC-Seal: i=2; a=rsa-sha256; t=1775490675; cv=pass; d=zohomail.com; s=zohoarc; b=YNBHfssetynWZ6YKYGxv+MgP/hMRatINWdFv9D8amXi1BSJxbnUtY7AA0g8qQ7b1Grr6EPuYlBsfoQDXaMk5/JyGXasQ5vWhoxIhda+LCY33EAQae32/l6l64ynxIZskLckqaU7x9h1aRYj+oc7h9IWSEP3onchd8AuNTZzfiro= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1775490675; h=Content-ID: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=TVlOz68TH6Rn29Kd8vfhWLfqyIhG54uGQnnB6efYGDo=; b=HOq9lOzp+SvJzsLeibtPsF3jrcoW4uLcabmwlEA+iQBy2VTU2Ec0cVWqO9KhykbqC/9Ag1lQKPKWpfWT95Vb1lpdVVYlObuN9s6EVJNDBVnFe1/vPbeMgZJ0ZrXszKgocRlTbeBj6iTy2VCebTX79OKz7Vp7dwB75W6IPTVg1P4= ARC-Authentication-Results: i=2; 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; arc=pass (i=1 dmarc=pass fromdomain=htecgroup.com); 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 1775490675540729.397822171881; Mon, 6 Apr 2026 08:51:15 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1w9mDC-0005eE-P3; Mon, 06 Apr 2026 11:50:02 -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 1w9mDB-0005dm-77; Mon, 06 Apr 2026 11:50:01 -0400 Received: from mail-swedencentralazlp170130007.outbound.protection.outlook.com ([2a01:111:f403:c202::7] helo=GVXPR05CU001.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1w9mD9-00021U-L8; Mon, 06 Apr 2026 11:50:00 -0400 Received: from GV2PR09MB8755.eurprd09.prod.outlook.com (2603:10a6:150:358::6) by VI1PR09MB6903.eurprd09.prod.outlook.com (2603:10a6:800:1e2::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9769.19; Mon, 6 Apr 2026 15:49:43 +0000 Received: from GV2PR09MB8755.eurprd09.prod.outlook.com ([fe80::939c:95df:4890:ce63]) by GV2PR09MB8755.eurprd09.prod.outlook.com ([fe80::939c:95df:4890:ce63%3]) with mapi id 15.20.9769.014; Mon, 6 Apr 2026 15:49:43 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=VXYyIefMU5XMdWG4w3eOtCsYpwwrqPa/RAiqxeoJrUiA/HnjYeqV5/LPjab2woJpNaEsdANAM99OsSjDdOq3U4zk2Xe9+hbsFTfadwKCeHVVXhmVdKI63HNz/MbCKVwzrLq+VqBuyIUl5cY3bUyyJXdatsi7l9o1EbjA8rMt1hEEIm4qJXkj9ZRHuEA62QlKth1iInGcnk3R0SYv3BfbBrpdgU+9Lm9FMn/4/8jW2W8zBFhzRM0OEfjT1+ScfFEsLO6Qc5mxb50TLjWmJg+1oynMedtDF/l3ByTtdUK2hGweuF+iyPK4M40gpuFtWNmpZYpI/ND3+tKu88Md4YUKwg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=TVlOz68TH6Rn29Kd8vfhWLfqyIhG54uGQnnB6efYGDo=; b=ADixOhDhJ9ExIMkg0VIcMqQEIIVmzu1hjdmJtvArH2cxT2gaNvAz+HKTXonWTtWMX5d6DnckgIRNwJPBG0lBwmR3U7sF2amiYDVusv51DMVpA3kkS8AJGIn9Fbq1XGglspWawL8rwRML/EPCBiq4tvFfZS2cPL01RMAQA0jsRJlLt27N+ENSM0vGOyCJFrJU3yL7nAisRxFCIc7Ek2xEu86Y8/q0X0Jhdsw8UPGhpEFZvy+Z2M/c96PEhSqzkn7Xc3aqCivoI38DV+9Cqy/nyDpD4ym4wtIUqu+8Mb0Gm6NINoZ3obqPL0Gl2pRZVi32micnE/na+r4kFPrX66VJ1g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=htecgroup.com; dmarc=pass action=none header.from=htecgroup.com; dkim=pass header.d=htecgroup.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=htecgroup.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=TVlOz68TH6Rn29Kd8vfhWLfqyIhG54uGQnnB6efYGDo=; b=njA1Q5AmDDSM528ByVtg3kiBYa6ZdUpXThvX6TXrNp/A3ID/Io8O+a5ed9DXAN95tC54gYhdFoDtXK6EQAqpNCINTsy4b5VjaUIgxydrlNa7UqMLnOUkcJxpGrGCTdBo6Hw3yTHCYwZDRs2/SMmILBh3BGbEtNzh5BWTMBWSIthEckxWRAS9tJ/GUI1jjGHwu+fUlOAVj07Al+ifPy+MzEkbkfh7ggetu24EiO366cxeNOawKwQb7l+D0oZNJe0M4TwHZ3yZQvblmnffZVIEK4O5RVVNdas9GZBmY1vm948zW38bRNIYbvcPTpze2tEwjFgiVE9br1EcNbSq/++vOg== From: Djordje Todorovic To: "qemu-devel@nongnu.org" CC: "qemu-riscv@nongnu.org" , "cfu@mips.com" , "mst@redhat.com" , "marcel.apfelbaum@gmail.com" , "dbarboza@ventanamicro.com" , "philmd@linaro.org" , "alistair23@gmail.com" , "thuth@redhat.com" , Djordje Todorovic Subject: [PATCH v6 6/7] target/riscv: Fix page table walk endianness for big-endian harts Thread-Topic: [PATCH v6 6/7] target/riscv: Fix page table walk endianness for big-endian harts Thread-Index: AQHcxdz85GQ32f8AqkK1O7gP1A+/Sw== Date: Mon, 6 Apr 2026 15:49:42 +0000 Message-ID: <20260406154935.144674-7-djordje.todorovic@htecgroup.com> References: <20260406154935.144674-1-djordje.todorovic@htecgroup.com> In-Reply-To: <20260406154935.144674-1-djordje.todorovic@htecgroup.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=htecgroup.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: GV2PR09MB8755:EE_|VI1PR09MB6903:EE_ x-ms-office365-filtering-correlation-id: c70ab610-5457-410e-69a2-08de93f41f0b x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|366016|376014|1800799024|18002099003|38070700021|22082099003|56012099003; x-microsoft-antispam-message-info: XLzaSgEO+nPUcxDfMwmtYXfTNvLcL3uMUPnPib2IUboWrWQ+so4u4ELKRbg29UG6c9D02qwaKRjcp3mNbKgqOvRrM6SNeoJ8h45ygdqO00KKRci0bL0BdzLJ78rzSW/dYNEPxQ0Eqf8KaAOcBH29bN5DvaHS3w+chwG0OJbKsWAtUWPVNsA0EKKrpInOiIF58TrtW8tV/KE+TxqovRxOy55sMpuWSz9r92VDJl1GtljHnp2iK/8AMuzT3rVUe8C3/4V8wfeGFTITML24Q/i5X2X5MVa16LMrp9s+AaBIyPcvn/mxrLTPoCKkJ82etwoBlD1gdjVGTgLE0K5+Sfh7tM5PBPrDIWLWJO5RWtxQnCfCE4bWM996ah8bRPIESx/paDsZQN5pVJdrsHSALkbXcehfhtlUo+xHUF+cB+JjRORq6TGc9asz/Wn7XR2L8ZMpNq0GeGUiVOX8vjA88gmeRA7dHNr3JCPn7EqcFZGDkZn6pev7/+gcAlBRvYUbs8WcILec/2GewNDvmPDbrG7VFmh9xw9pssgcjFvut1aW4SKMbPEErHxHqJ9+DYLQjBUxzUPCRiq35zKXgFkRtx2RJKshTr+VceBXgXJrFKnmVGDw7tOmofGBe2dwiUfLT0H55z0n8QHZGSzr36e9yAsg14aou9GSs5tlPtmQaui8fNAMPG7YBEKrsedACj9kNFyPLiWYKZVKAOCAIYp4voMiKwsfVg8vai6WtE9lipRutIfEfEg0bGz7D2+K34y8K4sp0rGRCul33UKcFeqvaKzYxJJ1rZOObWGhIueDH+I15+E= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:GV2PR09MB8755.eurprd09.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(366016)(376014)(1800799024)(18002099003)(38070700021)(22082099003)(56012099003); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?eHlNYU94ckpQb3hXTnlzMW4rS2ptbCtwVk9XaXMwVzZZSFNRQ1prQXFkemdj?= =?utf-8?B?RWxaVzBHZy9nMDZmUTZzU3BIaTNFeHJreXZRN0Yxd0Ixcmo0dE54TzYvVWlR?= =?utf-8?B?R012emhLZDcyd2RLajF2WTM2NzZQSDBBMGJTQnBrTW8wVHBOVDRNU3FKelBw?= =?utf-8?B?SHlBcUFMdUNFOUlDY24rWkNMWGJ4eVpnUmlra0s0eWNKWWczZ3ZBZzBOSEtG?= =?utf-8?B?d2ZyamVBWFpZOFUxQW5HMDB6NlZYbm5IYW1nbjFiSDVyZkV6NEk4Mml5aWdU?= =?utf-8?B?d2VXc2ZIbzVkZjUwL3F2SHk4b1lyaDNXZFFQanZob2hkTmNYVjR1QlA5TjF1?= =?utf-8?B?WTQ3R2lzRi9rUFFKd3l5WXJzQWFUTGZ4YkVqNlBQVTFCZEl2VHZ1N3poWTB3?= =?utf-8?B?dlBxS0VxSVNrRHlRVGdybFRXdzdLN2pDM0FsUWlQaXFEUDAwMHgrdzRvdVhU?= =?utf-8?B?d3E2L01WblpRY2xWbFk5bmVhN0x6cGFBWlFrWGZMOFo2MWNTaDdzYWVJRlpS?= =?utf-8?B?eUk4c09kR2FKd2hZVU9jSDFaL0Fad2hwUE9nK0gxQldISVhEMzdiOXcrVnNE?= =?utf-8?B?Y1JHNUpmeEgxVzVWdnJqOFpuYzVVMzU5bi9hMjJWR3lKaVVTd0lZeHp1MEN1?= =?utf-8?B?eWpMSXFabW9ERFE3Y2ZnQ2tVUFpIVmJzbmgyUFlEclg4Z09MZUw2NEF3SXFN?= =?utf-8?B?TzBRbWlNOC8vSVZPZCtXOXBKTFFBSmxMckhNMTFBOVZqNzNjTFVLWGpCa2Zi?= =?utf-8?B?RUxGMzlsQUEvbG9nRjh6SnVOcXpBWThsbDVMaW1ubGJKSU1DRmp5OXVodTZH?= =?utf-8?B?NG5QNnB2QTFoVWZkVHBjZzQwMFBoVlY5Nnk3YndPdlFyR3JOd0VHUnZNemN1?= =?utf-8?B?VkcvTW5pdXhEdUllUCs2N2tpeVVRZTlmZlAxUTFpZGZRM3MrRkl3OFB6clR1?= =?utf-8?B?dWFTditvY1JKRVJFZkJwaUVaUjhmN1BUVTRwZXRLcmY5TTQvUFVDcXlkWTE5?= =?utf-8?B?NWlzbVdSMUxJdERERXBTVnV3OEZkdjdsQzFwVWRCQnQ5dG5OWnQrdlhxWExu?= =?utf-8?B?UU9ia3ZBdDJJM0RkOTk5aUJSR2VkZW1xd2F0L1N2WHd0c2hBTEpTd2hkL2pT?= =?utf-8?B?UWNlSkhaeFdGMU1hbFlvZEdONEpFNC9YOUpzZmRtbGlkNE5CYlRrYmdCRG0w?= =?utf-8?B?dnpidERkSG5nc3B3ZWNQdmU4RmR4K3BtWWQ1cG5xZGFnbTAvakwrcnBzY3VZ?= =?utf-8?B?QmhNTnBXbnczKyt3dTcvUEtlWkJkZXgvOEE3TmlSL2Fsb3VCWS9BOFJLc2xa?= =?utf-8?B?NGxnR2h6endQVy9TKzhUdmhWc01lbXFFak1yK01KM2RrcUx5NWpzcHNMSWd3?= =?utf-8?B?dmQxb2VoTnRMWit1L0VFczRRdDdaUE9JcUZtNjlDaHFvWjJEWnEycFBVU1Vh?= =?utf-8?B?OWxtWUcxaDZaZ2dqWUJKNjlUS05UN2cwWlNSNmlPdUI3U3NEZmhpOVBPQVNE?= =?utf-8?B?WEJ1RDd6dWdOWTIza3M0a1VQU3h4b09ESTZvU05yc1d0clc4OWhLSkZVaEcw?= =?utf-8?B?ODVZOVFrY2dSNjA0MHBCU2lNTnlsQkt1V3IwWkswUUMrM0JVRmtSZjFYSHhB?= =?utf-8?B?NXc2eERPZ0ZDTlEyblhWZDVscStaNEFwZnd0L0hwTzY2cFQ1MzdCUWNIc1N3?= =?utf-8?B?Vno4bW1WY0w2RXl5U3duV1VSN0hwUnk1YWg4MkNIdTNOTkQvQkw0K2lVM2Nm?= =?utf-8?B?TXBwUlV3ZWFzZ3N6VGZkcTl1TkczdHF3NGxuYVlQbXlJTVZnKzZ5andJOVBv?= =?utf-8?B?dktvdk0wQk4zVnovTVNTU21zTkVPaGxyT0xaZUZwN2VzWXg0b2ZhTStQd3g1?= =?utf-8?B?Yzh4MHE2OUUxVzEzUWpWTGd3TDFhbVlrNXNQMCt6b3Z6Y2NZNmR6SEFhbThN?= =?utf-8?B?R21zVmNqSFVaSWlZcVNCZDZNS0Y1WTQrNnJnRkYxNHd1aW9CdjZwMFRIZUhQ?= =?utf-8?B?NDVPeEVjL1VvM3pRUiswNVNpMFZUWTg5TjNUbmNMSXpXM0ZPdWFMOFZ4cmZF?= =?utf-8?B?a3JWMnE0UTBjZHY2ZzZRMVNzeXZwdjRRTGdoZUxrQTdlL2ErcDRXTEhPN2h5?= =?utf-8?B?aUFxSXhTT295N0VDVVhOL2dxWXZNQ0M5RFMwWVNERWo1ZDRDOFJsT2tDbTBq?= =?utf-8?B?bkhnbXRZNjBtRVVOOFlxRU80Wno2UkozcGZ5dStiLzZEdHlUTWJ3VFZpZ2ZV?= =?utf-8?B?Yk5DbnBYOXhkQ0pUS3JuamxBUW5MSWNjSlE2eEd6NURmRU9SZUNFdmg1cjFP?= =?utf-8?B?Q3ZzVGw5S0xCc0NqVy9wQVVlaDBqRlBwaXZrUEI3SlFESEoyMC9jTzNoRDhy?= =?utf-8?Q?kpnMH7S1EKKhsrQnnDRv6sDmtN+1lZRlbzOaS?= Content-Type: text/plain; charset="utf-8" Content-ID: <38ECEEB28EE1694497EBA60BAE2F0E3C@eurprd09.prod.outlook.com> Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: htecgroup.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: GV2PR09MB8755.eurprd09.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: c70ab610-5457-410e-69a2-08de93f41f0b X-MS-Exchange-CrossTenant-originalarrivaltime: 06 Apr 2026 15:49:42.7849 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 9f85665b-7efd-4776-9dfe-b6bfda2565ee X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: JKbsZGYypgozre9bIZUfcvQWuggvu7rF2w2Twl4WB4ZpV99YB3uieBLXQcfHHGRE5WHKKUVSrq5iTAPu0vTgIcSKHz6+yAszca6eqBpGSyU= X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR09MB6903 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=2a01:111:f403:c202::7; envelope-from=Djordje.Todorovic@htecgroup.com; helo=GVXPR05CU001.outbound.protection.outlook.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, 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 @htecgroup.com) X-ZM-MESSAGEID: 1775490676939154100 The page table walker reads PTEs using address_space_ldl/ldq which use compile-time native endianness (always LE for RISC-V). However, when a big-endian kernel writes PTEs via normal store instructions, they are stored in big-endian byte order. The walker then misinterprets the PTE values, causing page faults and a hang when the kernel enables the MMU. The RISC-V privileged specification states that implicit data memory accesses to supervisor-level memory management data structures follow the hart's endianness setting (MSTATUS SBE/MBE bits). Fix both PTE reads and atomic A/D bit updates to use the explicit _le or _be memory access variants based on the hart's runtime endianness. Signed-off-by: Djordje Todorovic Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- target/riscv/cpu_helper.c | 28 ++++++++++++++++++++++------ 1 file changed, 22 insertions(+), 6 deletions(-) diff --git a/target/riscv/cpu_helper.c b/target/riscv/cpu_helper.c index c28832e0e3..b3d33da13e 100644 --- a/target/riscv/cpu_helper.c +++ b/target/riscv/cpu_helper.c @@ -1365,9 +1365,13 @@ static int get_physical_address(CPURISCVState *env, = hwaddr *physical, } =20 if (riscv_cpu_mxl(env) =3D=3D MXL_RV32) { - pte =3D address_space_ldl_le(cs->as, pte_addr, attrs, &res); + pte =3D riscv_cpu_data_is_big_endian(env) + ? address_space_ldl_be(cs->as, pte_addr, attrs, &res) + : address_space_ldl_le(cs->as, pte_addr, attrs, &res); } else { - pte =3D address_space_ldq_le(cs->as, pte_addr, attrs, &res); + pte =3D riscv_cpu_data_is_big_endian(env) + ? address_space_ldq_be(cs->as, pte_addr, attrs, &res) + : address_space_ldq_le(cs->as, pte_addr, attrs, &res); } =20 if (res !=3D MEMTX_OK) { @@ -1566,12 +1570,24 @@ static int get_physical_address(CPURISCVState *env,= hwaddr *physical, if (memory_region_is_ram(mr)) { target_ulong *pte_pa =3D qemu_map_ram_ptr(mr->ram_block, addr1= ); target_ulong old_pte; + bool be =3D riscv_cpu_data_is_big_endian(env); if (riscv_cpu_sxl(env) =3D=3D MXL_RV32) { - old_pte =3D qatomic_cmpxchg((uint32_t *)pte_pa, cpu_to_le3= 2(pte), cpu_to_le32(updated_pte)); - old_pte =3D le32_to_cpu(old_pte); + uint32_t cmp =3D be ? cpu_to_be32(pte) + : cpu_to_le32(pte); + uint32_t val =3D be ? cpu_to_be32(updated_pte) + : cpu_to_le32(updated_pte); + old_pte =3D qatomic_cmpxchg((uint32_t *)pte_pa, + cmp, val); + old_pte =3D be ? be32_to_cpu(old_pte) + : le32_to_cpu(old_pte); } else { - old_pte =3D qatomic_cmpxchg(pte_pa, cpu_to_le64(pte), cpu_= to_le64(updated_pte)); - old_pte =3D le64_to_cpu(old_pte); + target_ulong cmp =3D be ? cpu_to_be64(pte) + : cpu_to_le64(pte); + target_ulong val =3D be ? cpu_to_be64(updated_pte) + : cpu_to_le64(updated_pte); + old_pte =3D qatomic_cmpxchg(pte_pa, cmp, val); + old_pte =3D be ? be64_to_cpu(old_pte) + : le64_to_cpu(old_pte); } if (old_pte !=3D pte) { goto restart; --=20 2.34.1