Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/1.2/patches/2224347/?format=api
{ "id": 2224347, "url": "http://patchwork.ozlabs.org/api/1.2/patches/2224347/?format=api", "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/patch/20260417100302.162260-6-djordje.todorovic@htecgroup.com/", "project": { "id": 14, "url": "http://patchwork.ozlabs.org/api/1.2/projects/14/?format=api", "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": "<20260417100302.162260-6-djordje.todorovic@htecgroup.com>", "list_archive_url": null, "date": "2026-04-17T10:03:12", "name": "[v7,5/6] 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=api", "name": "Djordje Todorovic", "email": "Djordje.Todorovic@htecgroup.com" }, "delegate": null, "mbox": "http://patchwork.ozlabs.org/project/qemu-devel/patch/20260417100302.162260-6-djordje.todorovic@htecgroup.com/mbox/", "series": [ { "id": 500299, "url": "http://patchwork.ozlabs.org/api/1.2/series/500299/?format=api", "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/list/?series=500299", "date": "2026-04-17T10:03:08", "name": "Add RISC-V big-endian target support", "version": 7, "mbox": "http://patchwork.ozlabs.org/series/500299/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/2224347/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/2224347/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=UQhLG9bE;\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 4fxr860X9rz1yHp\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 17 Apr 2026 20:04:22 +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 1wDg3F-0000uV-5Q; Fri, 17 Apr 2026 06:03:53 -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 1wDg2v-0000ZO-MA; Fri, 17 Apr 2026 06:03:35 -0400", "from mail-northeuropeazlp170100001.outbound.protection.outlook.com\n ([2a01:111:f403:c200::1] helo=DB3PR0202CU003.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 1wDg2u-0006gN-7t; Fri, 17 Apr 2026 06:03:33 -0400", "from PA2PR09MB7634.eurprd09.prod.outlook.com (2603:10a6:102:412::6)\n by AM7PR09MB3736.eurprd09.prod.outlook.com (2603:10a6:20b:10e::16)\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 10:03:12 +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 10:03:12 +0000" ], "ARC-Seal": "i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;\n b=Pceza5DiQJWkGH/uaPcsyi5Y8wV/Tr42Bq1iQpO6ZejA1R6xsEnL/jI5nwLYJ1PC78E7fajCPgEGtW+dP505+m9B8vQuRhJfE3dw67wAQKL+CzO0giFHJ7B4x0uTmQgx4OidkMR/nUBuZRtA/aQvkxs/iSMSUJ7hr4Th8aXh3Z/l8QzaUn0aniuvvya37heohlMTKcryJkuMitrdKHeuHXHh3Jjg7W4dI8JJnu8wlQbwu1l8ZFRVt/jnCjaU+dKU2leK0Y0uKw8ddGuDbTs9dYATP9ipttvGvVZYE3hQMNUasYo0BjE0kUvat1nrNGK467iztpgIP8r+23jesl+W7A==", "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=jlor9PwaoXwDvUFu+1CUXMef9g1guTU/OfBiLm9tVbYYGtvaRDveZJDAoIL7ZihCv7be9xHzxTpaTKlXpgIW7CRzCdzmJt3HQhjXCgRu3SYoeQAgr8403zYTTLel9VfoX2vmJ23BE5iNraE2XROVF+j8xXQcCt2qVzadM4wFMW3CamVGyzNLBJzzcKFcput5NI93AgcxwYgIzRCKSJsGaSvtHjAUB+NNal+moe8Qct8yvwKnvCgmu8CqSJGFn2ee8VOxWFAc3rygK72s0ZLnENAH/RWXium8eJ6f+MXAY4GuQsgU+XoYZxIds6TD/vKA2TS1tN1RSuE77zahQuRdZQ==", "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=UQhLG9bETkexVOFWnNNi5kOcjlN4l3ynDR57jegTogWUHRZ49P5FLUXJJUd/J/jT6bMRemeErsb0b6GihP1OlN2JBeHlPM9LTCnJS5i1oNq3Kf68bwRwE7VDwbf/txdQU19Jv0jNN0Cp/ZnZpDs2GinCWZ35GLA/dP/DMKVtwYdMZ2NyKi9ooRMvEvPbjuQ4V/czBw80Qf8wheb1Z9XzS7zklJvCd36rU/GSSijE5hvqUwvzfXUfG1KE8XyjDl28GXmUu3myHtGQttiAijJbd0w01JXM7nFNGNpTsWAOoUkQJgAdGjJWE1wouoMHOicfPCwfeMzGMPn5FOVBJNCCEg==", "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 v7 5/6] target/riscv: Fix page table walk endianness for\n big-endian harts", "Thread-Topic": "[PATCH v7 5/6] target/riscv: Fix page table walk endianness for\n big-endian harts", "Thread-Index": "AQHczlFm29KjLkBtMEC71rRluHeQhg==", "Date": "Fri, 17 Apr 2026 10:03:12 +0000", "Message-ID": "<20260417100302.162260-6-djordje.todorovic@htecgroup.com>", "References": "<20260417100302.162260-1-djordje.todorovic@htecgroup.com>", "In-Reply-To": "<20260417100302.162260-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=UQhLG9bE;\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_|AM7PR09MB3736:EE_", "x-ms-office365-filtering-correlation-id": "e1e73f3c-4639-4800-e9fe-08de9c68891e", "x-ms-exchange-senderadcheck": "1", "x-ms-exchange-antispam-relay": "0", "x-microsoft-antispam": "BCL:0;\n ARA:13230040|1800799024|366016|376014|38070700021|18002099003|22082099003|56012099003;", "x-microsoft-antispam-message-info": "\n AK8wTKZcu7S8rGYmsE9MO/L2oKJo2Z4IxZc4piLhYeMPHuvQmemMQM+4h9f5tq9wxwZyQLrbgHmCkPxPHV/3du3z9DUKi1U2feQDIO0h+lOITwSoBnTJw87qEqCDovjNY3KUjn0HiPo2nBpbfGe0E/2f1veqyQ5Hd5sWCPV6/mc6/hKbR0xUD+m239mWMEsNOD8IDhTesukPrPTDPUO9mUDl0lipZW1A+1Nr3dh6quY9N4WM8itGrKRW5z9KZSE6EjEo/TUctqL5mjNvYRUOHQQBn0AFznf/w3Yw75WN0buhGqARREwS9GVgL84pKIPT2CdedHk/UjcPSw8lGAbJrVUI3ul8Sy4M9zXJz2twMBqo8XO2p3wt6nXE2CBOpsXUs84qPOiG0E98vIiSdcFRP8H+egIZ1AhIMy3O/kG3EYa34K4XgQWG0lrJ6xs1MQAhtIfNWePzJVefjYe9YiCI2HrSRRd7tyRysWPptOU4p2x1c2ZA/nresGUmEV/OwgMizonlp3A6t3R4IwCO2ZoUogG670sXEXXMFcSsr7Rwn5WWJL08xa7rg9vgg7wtdW+QCcR8zDVSAYV1yNCafo/ZXr7Oyc9R/RLqrNHXNmnvtY1NjD7yh+nYfu46/Ol2Sx3zuaeX+luYHyXdQwmFqBLnk0BQ0VFkP13l46OHhM0ZlDxfomF1+iFSMTBk/WeNAU2Mbnx5DkDtBuRXLYZFrkmFNZCVpID4LXZ+nUx7KXawg9VtIpuCHzmPot5JOdNH27CzAy3uOXn62+6m3L104D0gpLN2bx4OcoZom1ba+R2h/v4=", "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)(1800799024)(366016)(376014)(38070700021)(18002099003)(22082099003)(56012099003);\n DIR:OUT; SFP:1102;", "x-ms-exchange-antispam-messagedata-chunkcount": "1", "x-ms-exchange-antispam-messagedata-0": "=?utf-8?q?dJepxUAhlU7gPOpG32fQsPmZMO2V?=\n\t=?utf-8?q?mRVo7fPBhHYLiAiAtP3+CoJGkeyh0d7rop95w7uj7f+aXq/FluUOT6WJXusXZ0itU?=\n\t=?utf-8?q?+oTg5W8P+saJDNnN8jN5mrr3RzCPAxJNVIt8h6u1au0H3E6B35TSgLXIjICx8a+dX?=\n\t=?utf-8?q?aOj/L2xLL0QP3Y+HtkGuT7MDW4dVT4D2rfV4m2lTROxRLkcdSwtCvgF2w3DY+A+vo?=\n\t=?utf-8?q?nvrBenr0oAVphRrCR3SFRWFxHdEYbCdar+JNVYFt1S0+FlvwigUigORcm+q+ykhlI?=\n\t=?utf-8?q?bE5XZxlW7VfdTOGqf1Mt1UxPcXnQ20CAB7tcs+aWQYew/wUs6alZFs5SGhyWsoFgj?=\n\t=?utf-8?q?kobksPVazhqZnw2boh6iOvyF5rPtaqLif5lTU/FY1a8zvgaO2ia5Mv6Jwp5j7Z68W?=\n\t=?utf-8?q?Q7e8XXuNv5QfrFrLYjdqR7Yu+AaAXri3VWnyPkg3MwfUYKyTVLdjc16v9mmnfaXXF?=\n\t=?utf-8?q?QayKsO2vNVslU7aTfkiqroY8qaTMEIQkQqvDFewaeMakMwMEMtTD9jxOvyFJre8g6?=\n\t=?utf-8?q?pshQuJaQMa0lqnzErp2ndMBhftqSOmi6c1c6L1FhL+F/QkiwC7qgtkCiuXrLOjLXh?=\n\t=?utf-8?q?HvZ4O69m5Wix8+6j7Wdwpxp6rJy0ncPsNhS85qhTT61tH9qJkF6633pGqoHBj1KOI?=\n\t=?utf-8?q?mUV2p4Iu5Nq06tghp1pGHrUdGJ+JXjxEuYAe6AUqCNj5QbeiU9QoPXMRHJsqCoEPd?=\n\t=?utf-8?q?KW3VLsL0eQfDfgsTJC7rqCArPDMTGN9D5qs6XNlannBysgbUbT/DN4Yvv5EmIotXv?=\n\t=?utf-8?q?YMhCcW1y+PzLnii5VIvAFAC3NU+IE0703Jacc00PG4MM449Ge6qKoUgzlHFD4tVm1?=\n\t=?utf-8?q?giiFx9MUxToQQnY7qwK/I63pP5IUNo+Nd7O78NUQhurW1+7TLKUN4XL7D8sJbDFUG?=\n\t=?utf-8?q?Y+5WqFelLIkTp22SgK0WKDcbnRK7c/pnqILUxUAAxCMxDZ6XK2KxlFjavtTyUgn9e?=\n\t=?utf-8?q?9rO5t0iXtKtdnHi5/omAIJhrqk8F+X2Hqk98W116SHENaQRmPZm0BQuZyIqIG/hQW?=\n\t=?utf-8?q?5JB1l31xqh3LXVZv+Q2MwYPRC6vIFWRspZMnV3wbQahxINKOb4I/dQS7nEclBlxz7?=\n\t=?utf-8?q?JWaB/ARRA/H3cESoaDKlvkZwK94rgJIlDMP3dowYgAz0eQ3BkftIVq8EY7+HjJ6G3?=\n\t=?utf-8?q?RZ381IznpsWXq53ytECClIw8lY6/z71uZ4HE8XslS+OTrCtakcOLd4bMHCFuLSQtp?=\n\t=?utf-8?q?7ZKVaF8AK7RdlQtH0oKnwQS41UUmwMsj4qR4kdGaUHwW3g6+1VShZvfGBGsyPjbvK?=\n\t=?utf-8?q?i80F9i8hWNFubeBxpkzBc2d12ghcRScl8oZjAJpRBXl8iVbqUejsxjgenYeM5Brb+?=\n\t=?utf-8?q?JMtRaIckLeyMjD2JhLt/rBEqTrcwxpdYSSKbl3xu0LhAhDF2mHKVEwd9p4Z05L/p6?=\n\t=?utf-8?q?GZ4uFGCFiPhR/ome8Uv2ezU3mIfyl1nsp33L9PIHirqo8L/hXjwg6S3nrEnNxo23e?=\n\t=?utf-8?q?+3WTZNsn2WBLWawSVxDXRBveTjMjVeNH711gbC9N1GPPYbm6vJdb0JaQJtHZhPF1G?=\n\t=?utf-8?q?2nFx/l07glG/4d9GY6uHCYQ8/157049JTQfd9UT5Bqb7cunRrrY1RbH1JFuVXKuOC?=\n\t=?utf-8?q?M6YfCoy+FjMA2xjLU9UyLfNavg4IYi+J+LV7bFGQ6COyd4oo2XnrOq77XQvpRAoeN?=\n\t=?utf-8?q?mzR9FRsgAcn+TLATkFUTyOExKvuC384hkWG6Ge3YLTlTZ6mziF1kNhKmL6t0uj7gs?=\n\t=?utf-8?q?rtfbwVz79?=", "Content-Type": "text/plain; charset=\"utf-8\"", "Content-ID": "<11B29EDD0532054DBFAE269AA540B1B4@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 e1e73f3c-4639-4800-e9fe-08de9c68891e", "X-MS-Exchange-CrossTenant-originalarrivaltime": "17 Apr 2026 10:03:12.4169 (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 admQbpv6/q+phs/gX5yWFCdx5js7YFQ4TXchmwO1JG9q8h5ci044VM/Hd+9x9BEGtAHmxw2NaYIURTxwi4l0F13A4IxfqLutPZNlRh8O4mg=", "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "AM7PR09MB3736", "Received-SPF": "pass client-ip=2a01:111:f403:c200::1;\n envelope-from=Djordje.Todorovic@htecgroup.com;\n helo=DB3PR0202CU003.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 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": [ "v7", "5/6" ] }