{"id":2224539,"url":"http://patchwork.ozlabs.org/api/1.2/patches/2224539/?format=json","web_url":"http://patchwork.ozlabs.org/project/qemu-devel/patch/20260417144905.178056-6-djordje.todorovic@htecgroup.com/","project":{"id":14,"url":"http://patchwork.ozlabs.org/api/1.2/projects/14/?format=json","name":"QEMU Development","link_name":"qemu-devel","list_id":"qemu-devel.nongnu.org","list_email":"qemu-devel@nongnu.org","web_url":"","scm_url":"","webscm_url":"","list_archive_url":"","list_archive_url_format":"","commit_url_format":""},"msgid":"<20260417144905.178056-6-djordje.todorovic@htecgroup.com>","list_archive_url":null,"date":"2026-04-17T14:49:13","name":"[v8,5/7] target/riscv: Fix page table walk endianness for big-endian harts","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"6bf9d371901936c1761fae33dd4ac76c90d33921","submitter":{"id":90738,"url":"http://patchwork.ozlabs.org/api/1.2/people/90738/?format=json","name":"Djordje Todorovic","email":"Djordje.Todorovic@htecgroup.com"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/qemu-devel/patch/20260417144905.178056-6-djordje.todorovic@htecgroup.com/mbox/","series":[{"id":500355,"url":"http://patchwork.ozlabs.org/api/1.2/series/500355/?format=json","web_url":"http://patchwork.ozlabs.org/project/qemu-devel/list/?series=500355","date":"2026-04-17T14:49:12","name":"Add RISC-V big-endian target support","version":8,"mbox":"http://patchwork.ozlabs.org/series/500355/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/2224539/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/2224539/checks/","tags":{},"related":[],"headers":{"Return-Path":"<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=htecgroup.com header.i=@htecgroup.com\n header.a=rsa-sha256 header.s=selector1 header.b=DXTSTKTe;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org\n (client-ip=209.51.188.17; helo=lists1p.gnu.org;\n envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n receiver=patchwork.ozlabs.org)","dkim=none (message not signed)\n header.d=none;dmarc=none action=none header.from=htecgroup.com;"],"Received":["from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17])\n\t(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fxyWP434sz1yDF\n\tfor <incoming@patchwork.ozlabs.org>; Sat, 18 Apr 2026 00:51:29 +1000 (AEST)","from localhost ([::1] helo=lists1p.gnu.org)\n\tby lists1p.gnu.org with esmtp (Exim 4.90_1)\n\t(envelope-from <qemu-devel-bounces@nongnu.org>)\n\tid 1wDkVf-0004xe-5n; Fri, 17 Apr 2026 10:49:31 -0400","from eggs.gnu.org ([2001:470:142:3::10])\n by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <Djordje.Todorovic@htecgroup.com>)\n id 1wDkVc-0004vX-TI; Fri, 17 Apr 2026 10:49:28 -0400","from mail-francecentralazlp170130007.outbound.protection.outlook.com\n ([2a01:111:f403:c20a::7] helo=PA4PR04CU001.outbound.protection.outlook.com)\n by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <Djordje.Todorovic@htecgroup.com>)\n id 1wDkVb-0007Cr-Cy; Fri, 17 Apr 2026 10:49:28 -0400","from PA2PR09MB7634.eurprd09.prod.outlook.com (2603:10a6:102:412::6)\n by VI0PR09MB8150.eurprd09.prod.outlook.com (2603:10a6:800:2ad::17)\n with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9818.25; Fri, 17 Apr\n 2026 14:49:14 +0000","from PA2PR09MB7634.eurprd09.prod.outlook.com\n ([fe80::c461:b510:b6b9:f442]) by PA2PR09MB7634.eurprd09.prod.outlook.com\n ([fe80::c461:b510:b6b9:f442%3]) with mapi id 15.20.9818.023; Fri, 17 Apr 2026\n 14:49:14 +0000"],"ARC-Seal":"i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;\n b=WIxtnGUcV3R3HxTFXZTp22GjH3XfWeE0RrkHlUMCAOTZAMDWJmrwcqg8Y9Xc3MSHxqroh9EO4QzvsAtNiJ1z1SsTRmnJkUCsaCSErae+FPFOJLDb4nEyzp45W4jFobNsj81NJr7vFcfYF52x8WiehF0f+DQgA086KJJNNN4oEpGTpn1Kn14IaNGdYppvn5vTUpPs47hm3gLGqGb4f02WGC8q2mnP2iu3ddKPsCEF6ZDJBZ6RHq0wAPAvejjGZTrokvAuG/wsLz5qAc3+2J7tEzR2oIjsNqghg3jRgySVzmCch2veYhv4UcUSYMfRdarjHrbtPc132ucgVV/IMXT4VA==","ARC-Message-Signature":"i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n s=arcselector10001;\n 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;\n bh=TVlOz68TH6Rn29Kd8vfhWLfqyIhG54uGQnnB6efYGDo=;\n b=LhmiXBoRiLOiHTY3QW1x3fBifP7bxoTfFkig7LRLQaH168AX9HLb3bEY0uBQ5o0sRtH7WFGUjgRZcToWCqs/j2QUMNSucRGzQzS8yIZ12n/gLjERprNn6CwrttQd0N9kEFgt1t0JUEcnUDHEakvGjRW1Wsx0RMMnjPfH3JWZZQYPLeQcnW5NfcE2+slFnL6BlBsOGJ6LDZHftcFgAHWPirFX42UXizm5nmofWI9RNXTHJuF6/ICkA1brOq9E1ViX1sl+1tMNegmPvJLjMz5UbCyry9HPM8RV5ujgk3UqFdrc50gjpxDitcH5ZBxOHp7GmkKv6or63Gi6Cs/GMlDfzg==","ARC-Authentication-Results":"i=1; mx.microsoft.com 1; spf=pass\n smtp.mailfrom=htecgroup.com; dmarc=pass action=none\n 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;\n s=selector1;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=TVlOz68TH6Rn29Kd8vfhWLfqyIhG54uGQnnB6efYGDo=;\n b=DXTSTKTeVvdNlKI8WDJj2j/GDOnMy1FvMEdX7tUJHGkDIHr1PTTuUNvSX2nfUcbo7rD16v7aOg/OhYW5HVjr7h3LC1hVsWits/H3Jjh6ykbzGLVHArUQQ84p2qiNYFJlPPaH9op7jkvAqa1+3ZcfocuuuZTuf6VgQrPHWnn5QhFbPtZtJdNnk/XqvvVt0X6UMbNkk1LrkH7FDitER7MJfs+lZJAjnbaaQCO3ornnWmjm19Jwe4PpIxX0Hluwa4hQ1QVkbpvWjQhjDsb0kCBIOPaHTow6616y4h6ytGS/F0/280mrSSoy1O83blfmPpw9neu3mtOlKQC9bFrDO7vtkw==","From":"Djordje Todorovic <Djordje.Todorovic@htecgroup.com>","To":"\"qemu-devel@nongnu.org\" <qemu-devel@nongnu.org>","CC":"\"qemu-riscv@nongnu.org\" <qemu-riscv@nongnu.org>, \"cfu@mips.com\"\n <cfu@mips.com>, \"mst@redhat.com\" <mst@redhat.com>,\n \"marcel.apfelbaum@gmail.com\" <marcel.apfelbaum@gmail.com>,\n \"dbarboza@ventanamicro.com\" <dbarboza@ventanamicro.com>, \"philmd@linaro.org\"\n <philmd@linaro.org>, \"alistair23@gmail.com\" <alistair23@gmail.com>,\n \"thuth@redhat.com\" <thuth@redhat.com>, Djordje Todorovic\n <Djordje.Todorovic@htecgroup.com>","Subject":"[PATCH v8 5/7] target/riscv: Fix page table walk endianness for\n big-endian harts","Thread-Topic":"[PATCH v8 5/7] target/riscv: Fix page table walk endianness for\n big-endian harts","Thread-Index":"AQHcznlbFaOs6yoF8ke8J7vJguSfcA==","Date":"Fri, 17 Apr 2026 14:49:13 +0000","Message-ID":"<20260417144905.178056-6-djordje.todorovic@htecgroup.com>","References":"<20260417144905.178056-1-djordje.todorovic@htecgroup.com>","In-Reply-To":"<20260417144905.178056-1-djordje.todorovic@htecgroup.com>","Accept-Language":"en-US","Content-Language":"en-US","X-MS-Has-Attach":"","X-MS-TNEF-Correlator":"","authentication-results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=htecgroup.com header.i=@htecgroup.com\n header.a=rsa-sha256 header.s=selector1 header.b=DXTSTKTe;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org\n (client-ip=209.51.188.17; helo=lists1p.gnu.org;\n envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n receiver=patchwork.ozlabs.org)","dkim=none (message not signed)\n header.d=none;dmarc=none action=none header.from=htecgroup.com;"],"x-ms-publictraffictype":"Email","x-ms-traffictypediagnostic":"PA2PR09MB7634:EE_|VI0PR09MB8150:EE_","x-ms-office365-filtering-correlation-id":"19218b47-d457-442b-7cb9-08de9c907e8d","x-ms-exchange-senderadcheck":"1","x-ms-exchange-antispam-relay":"0","x-microsoft-antispam":"BCL:0;\n ARA:13230040|376014|1800799024|366016|38070700021|18002099003|56012099003|22082099003;","x-microsoft-antispam-message-info":"\n o4p/cpZ/wY9vdNlK0KwA0FuER2sC5KGHnCuxphaRJ2cubPeiS/AYDuEOA1Ai5i3CzdMeaHT3eH5dhOLzJTOQO9C6pN8gkhyALtU20lcrD587niMGHtwgCVI1s7VN9H6Lm9cpV5GrE1AUniuGIDDuUTV24RrPf9Ra5C0g/Z4VcgEq4Z1j+gfWTMl78GhbNil4jxZhXMbnUfYnXY3QaGc12J+KR7ZM6gwbxtgJ5us6E+d8fSoBP2Rc04xoDwAQGu1R+MrQVKopD96YPm2NbRwCyVwZyJ5PNGZe3NpA0lm05vKRTFf+HVmrcToF4cvqhuiOdBT6d5SfXc2profTpxWCqCFaRneHDveX3/wO0FR5Lx2+mPTvETUdIdM1paGFhJ3dwvpoukyodpwWXBQH+gzyJHbznIM8FA6Ag72XoT7LmmHb0NgsbDvJeacDQAswR5Z78ZlUa44+1iX0NLNhpYOCpTl6v2XIHP55Sxu2EDM/PYSlAolFpJSUU8+aeXBbRadumCkUpdMoP+avCaLiOSyzO5mkFLWsOeYP9dDbbx/B05dJVlK35Q9PGfJqRMwowESlbs5geYucwWTZZjT38MSC2utnEFrpnElMdT/AtfudG7kTrcj2SRU02niWfGhL1AmiM1AX9Cdr4dmAfua6kYyNoX+1oKex37FAC2eN1j5TD1nka6Bod1URwD9V3dpn/uifKED5JCg7t7VL8zlrgQ8ovEdNZ3AMyRf8kj7XIPmQHLiSCOq7vrgAC/CP2lXLhFQEiy+aXOYjpkCzCLCuIixMjCMg8HLMY2qeJQFgf8ZxLgk=","x-forefront-antispam-report":"CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;\n IPV:NLI; SFV:NSPM; H:PA2PR09MB7634.eurprd09.prod.outlook.com; PTR:; CAT:NONE;\n SFS:(13230040)(376014)(1800799024)(366016)(38070700021)(18002099003)(56012099003)(22082099003);\n DIR:OUT; SFP:1102;","x-ms-exchange-antispam-messagedata-chunkcount":"1","x-ms-exchange-antispam-messagedata-0":"=?utf-8?q?EoVNn8o4h32AGAPdhbKccXfOcE0m?=\n\t=?utf-8?q?pE2k+jCMzwxsWbghYa4OlwPkVXQTxmXlHE/cusdQhep7uqtaV7kKYnOmWQ0uxsmF3?=\n\t=?utf-8?q?EDlS9xTdIkeOu79PjSsVTH3NQkywuFeLAMx0rxv/vtcoyKq4nEQOcTHllG5gjdUQ/?=\n\t=?utf-8?q?cKwRvXYXNQnZxkxZvknPRclovuxBqSQ6KnU3+HI7/tpx9xBJ+/y+EeyC3AiVy5/RJ?=\n\t=?utf-8?q?EbHz/+ewD1bE2GeytdCRsUv+j3bOR1EMS9j2JqVp0Q39+mM/ejg1LQ33biLWXpl8V?=\n\t=?utf-8?q?32Vi6o5ZXgN2lR8D/HwKiMZNmNELPJAFSngCkoau588Arb7koMkQ8IV9szzGiq98k?=\n\t=?utf-8?q?+yVQIJEAJhkpx4t1VO+il+07oMPtFGF0acLarH5tdl10h5nYjJ+U/sowbdamLZQQx?=\n\t=?utf-8?q?I05wn7idOanp4mYgM4V6nafNFaxs8Jlp1erXGjdl7b1GmLidBLIARgqGv5FT9cbVG?=\n\t=?utf-8?q?axdWLk5vW5lRMEZdUlB/tnAuOd7a/5eCrAO3I9V3rjmzbTFoaHg/8j4MM3tNo5Kyy?=\n\t=?utf-8?q?INBkS+DtqsOvHkGMckXxJL/FZ+USRm5gZo/OhBsEzc2V+Kr1zk97Oag21/TBPAOIS?=\n\t=?utf-8?q?S0tIVplMa/vfLtxDCEPDb4YReM1MPEeEGd+FANsNLIqvkcLVVWRDlvFNfaGxrpPtc?=\n\t=?utf-8?q?ffI7wV1vrPGsYcxnDx7vv+oBBKbPP3p0IMfcIIRL/Z8Gi/22Dt+py5OT9CEDQ9zyU?=\n\t=?utf-8?q?6QGFc6WS/K/03AWh3aI42UizroCmdsmFWueTma9A+YVaYq2wPfX5c0rMakAxpL2J+?=\n\t=?utf-8?q?Y6DE9OCNg8M/w9xE9dPiwX9LrJiWpPZWTfzurXUiQriMtuk5my+myrBg6wzL1LRRF?=\n\t=?utf-8?q?yGfxol6wgiBvP1JSccT4ZWpB0D4qWHlvuUNax7/tP2opIPXxM3OAcGufP2WjLxsFF?=\n\t=?utf-8?q?aFW+2Nb1zPoHDfMUiXVmwCD64aAYtCooXCaXwTQJVQ3l7/zqRJ3m6Avy5FgCIeh3N?=\n\t=?utf-8?q?g40YSV1O8GeZ0Z0eySKppC9Q+nFZM3X6cpTypDj+wyDWiEK4CqZ+A1NHHQq0+dlz6?=\n\t=?utf-8?q?M8iOKv+Nft6IfeZmnX1Voq0cKRJK7u4Ju8KtAelu39nQZMVlCvtxfhVdCa7sSEzIX?=\n\t=?utf-8?q?N7y4j1FcCiqxtXDITNMwPooUVk7omKO8kaTc9I4LLpJvUWIJgoEJ2yoBhzNQ4sIGc?=\n\t=?utf-8?q?gYkmcBJHwnFtJm5Fk3U9LEDW9UJo4sNP9Gv6La3mW03L9CnNhD0HLsFAd5eg+onYF?=\n\t=?utf-8?q?ankoYIsxxW1Hr27Joz6rCiK1RwgKYC+GUlpan5laSuLCv4NUZxfkOKNzbA95i9rch?=\n\t=?utf-8?q?KA6cx/vSX0Z3xJG10br3JMq9Y3Rt0P96RZnC/SXdNTM2eAdP1KpoNQOa7ImtvHKw1?=\n\t=?utf-8?q?TVIK1mvZ3VEP6/c/bn847bRebcYnJCDoB8HPgDmO4JVSrx9/SwA16LdVkXsCWvawt?=\n\t=?utf-8?q?+slvqbv0dBiAy1Gyb149U41HKJ9cpWcVYJk2Tmxgf1bRmpJ0Oz32I9QRUM3MCOrsc?=\n\t=?utf-8?q?xv6NOv4fUnGAkMJirzALriVh0M1XaIaArElB3ZCxAcEOAJkguXsa0pVEj5f3l0Q7z?=\n\t=?utf-8?q?HaH1pMK+rLWbZT2bGwU2KA6lRNV3071kFnXhkctBqp5IcZjDEVZmp4z26mP1w2n0A?=\n\t=?utf-8?q?DXlfmNmY3XWDXg9A2RtsAqo5G1SzY/SLqCFOedFi6S9/LvY62j9UpsM7C7UxLY/Ld?=\n\t=?utf-8?q?UXTg6jRWSL6mOcMUISpm/KBLOH9isWz5fOX+Ekp/DfCVrBqUVXh8CCN7r7GFH/Hid?=\n\t=?utf-8?q?LOHVQfSx9?=","Content-Type":"text/plain; charset=\"utf-8\"","Content-ID":"<84FD844A31FCF04FB44BB770CDF8E204@eurprd09.prod.outlook.com>","Content-Transfer-Encoding":"base64","MIME-Version":"1.0","X-OriginatorOrg":"htecgroup.com","X-MS-Exchange-CrossTenant-AuthAs":"Internal","X-MS-Exchange-CrossTenant-AuthSource":"PA2PR09MB7634.eurprd09.prod.outlook.com","X-MS-Exchange-CrossTenant-Network-Message-Id":"\n 19218b47-d457-442b-7cb9-08de9c907e8d","X-MS-Exchange-CrossTenant-originalarrivaltime":"17 Apr 2026 14:49:13.9997 (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":"\n q3C/s8D7C2vnruzOsIAOaNB6th6qOPlYR+2j8yVC4RTzFZEFs6x376YHLdZVSmYwp1FEnAz12ys63smJeFZRPuiUXKjrkhNDiUI2JVu0rEc=","X-MS-Exchange-Transport-CrossTenantHeadersStamped":"VI0PR09MB8150","Received-SPF":"pass client-ip=2a01:111:f403:c20a::7;\n envelope-from=Djordje.Todorovic@htecgroup.com;\n helo=PA4PR04CU001.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,\n DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1,\n RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_PASS=-0.001,\n 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 <qemu-devel.nongnu.org>","List-Unsubscribe":"<https://lists.nongnu.org/mailman/options/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=unsubscribe>","List-Archive":"<https://lists.nongnu.org/archive/html/qemu-devel>","List-Post":"<mailto:qemu-devel@nongnu.org>","List-Help":"<mailto:qemu-devel-request@nongnu.org?subject=help>","List-Subscribe":"<https://lists.nongnu.org/mailman/listinfo/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=subscribe>","Errors-To":"qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org","Sender":"qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org"},"content":"The page table walker reads PTEs using address_space_ldl/ldq which use\ncompile-time native endianness (always LE for RISC-V). However, when a\nbig-endian kernel writes PTEs via normal store instructions, they are\nstored in big-endian byte order. The walker then misinterprets the PTE\nvalues, causing page faults and a hang when the kernel enables the MMU.\n\nThe RISC-V privileged specification states that implicit data memory\naccesses to supervisor-level memory management data structures follow\nthe hart's endianness setting (MSTATUS SBE/MBE bits).\n\nFix both PTE reads and atomic A/D bit updates to use the explicit _le\nor _be memory access variants based on the hart's runtime endianness.\n\nSigned-off-by: Djordje Todorovic <djordje.todorovic@htecgroup.com>\nReviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>\n---\n target/riscv/cpu_helper.c | 28 ++++++++++++++++++++++------\n 1 file changed, 22 insertions(+), 6 deletions(-)","diff":"diff --git a/target/riscv/cpu_helper.c b/target/riscv/cpu_helper.c\r\nindex c28832e0e3..b3d33da13e 100644\r\n--- a/target/riscv/cpu_helper.c\r\n+++ b/target/riscv/cpu_helper.c\r\n@@ -1365,9 +1365,13 @@ static int get_physical_address(CPURISCVState *env, hwaddr *physical,\r\n         }\r\n \r\n         if (riscv_cpu_mxl(env) == MXL_RV32) {\r\n-            pte = address_space_ldl_le(cs->as, pte_addr, attrs, &res);\r\n+            pte = riscv_cpu_data_is_big_endian(env)\r\n+                ? address_space_ldl_be(cs->as, pte_addr, attrs, &res)\r\n+                : address_space_ldl_le(cs->as, pte_addr, attrs, &res);\r\n         } else {\r\n-            pte = address_space_ldq_le(cs->as, pte_addr, attrs, &res);\r\n+            pte = riscv_cpu_data_is_big_endian(env)\r\n+                ? address_space_ldq_be(cs->as, pte_addr, attrs, &res)\r\n+                : address_space_ldq_le(cs->as, pte_addr, attrs, &res);\r\n         }\r\n \r\n         if (res != MEMTX_OK) {\r\n@@ -1566,12 +1570,24 @@ static int get_physical_address(CPURISCVState *env, hwaddr *physical,\r\n         if (memory_region_is_ram(mr)) {\r\n             target_ulong *pte_pa = qemu_map_ram_ptr(mr->ram_block, addr1);\r\n             target_ulong old_pte;\r\n+            bool be = riscv_cpu_data_is_big_endian(env);\r\n             if (riscv_cpu_sxl(env) == MXL_RV32) {\r\n-                old_pte = qatomic_cmpxchg((uint32_t *)pte_pa, cpu_to_le32(pte), cpu_to_le32(updated_pte));\r\n-                old_pte = le32_to_cpu(old_pte);\r\n+                uint32_t cmp = be ? cpu_to_be32(pte)\r\n+                                  : cpu_to_le32(pte);\r\n+                uint32_t val = be ? cpu_to_be32(updated_pte)\r\n+                                  : cpu_to_le32(updated_pte);\r\n+                old_pte = qatomic_cmpxchg((uint32_t *)pte_pa,\r\n+                                          cmp, val);\r\n+                old_pte = be ? be32_to_cpu(old_pte)\r\n+                             : le32_to_cpu(old_pte);\r\n             } else {\r\n-                old_pte = qatomic_cmpxchg(pte_pa, cpu_to_le64(pte), cpu_to_le64(updated_pte));\r\n-                old_pte = le64_to_cpu(old_pte);\r\n+                target_ulong cmp = be ? cpu_to_be64(pte)\r\n+                                      : cpu_to_le64(pte);\r\n+                target_ulong val = be ? cpu_to_be64(updated_pte)\r\n+                                      : cpu_to_le64(updated_pte);\r\n+                old_pte = qatomic_cmpxchg(pte_pa, cmp, val);\r\n+                old_pte = be ? be64_to_cpu(old_pte)\r\n+                             : le64_to_cpu(old_pte);\r\n             }\r\n             if (old_pte != pte) {\r\n                 goto restart;\r\n","prefixes":["v8","5/7"]}