From nobody Tue May 26 03:33:44 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=aspeedtech.com); dmarc=pass(p=quarantine dis=none) header.from=aspeedtech.com ARC-Seal: i=2; a=rsa-sha256; t=1777863356; cv=pass; d=zohomail.com; s=zohoarc; b=F2D9o6l/UNFGPWp7Q1nri5Tp1k6/F6mg56L2C0mlH94hGEvBleKhEW+15kUUR69mrXrIB2evbgKAovpP+Yd26SGBcoljKYbWwghjw1UvoIYs/QumUJoM0NeiHLOrkWrIKENlEKt4+zD0U0XBiAb3A+bgUniaSg2pjl2NleX2ZTo= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1777863356; 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=iwR4naIx23sJKPSRHSeZ4okd+xkvAW4yP6Gm6sin8q4=; b=i5hbrBTJGjaBno+BdPainBgvzp4fjnAAqf3P6jhIWfMN9GLRlZSVcjqlvlY0w/8gERVqvTa0ILNvc/Jz+A4qCGaRyiGwAsV2WNVDPcmlt4/WkVMqgp71DpkBgN3SXh8nlLo2ACOgVdWKAw2iq9jLYhJz/56vGl8Y/8/XtgaVjmU= 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=aspeedtech.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 177786335614998.70083862696015; Sun, 3 May 2026 19:55:56 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wJjRR-0001VP-Pr; Sun, 03 May 2026 22:53:53 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wJjRP-0001Ub-IJ; Sun, 03 May 2026 22:53:51 -0400 Received: from mail-japanwestazlp170120003.outbound.protection.outlook.com ([2a01:111:f403:c406::3] helo=OS8PR02CU002.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 1wJjRO-0003sY-4N; Sun, 03 May 2026 22:53:51 -0400 Received: from TYPPR06MB8206.apcprd06.prod.outlook.com (2603:1096:405:383::19) by TYUPR06MB6098.apcprd06.prod.outlook.com (2603:1096:400:358::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9870.25; Mon, 4 May 2026 02:53:44 +0000 Received: from TYPPR06MB8206.apcprd06.prod.outlook.com ([fe80::e659:1ead:77cb:f6d3]) by TYPPR06MB8206.apcprd06.prod.outlook.com ([fe80::e659:1ead:77cb:f6d3%2]) with mapi id 15.20.9870.023; Mon, 4 May 2026 02:53:44 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=KdicvdyH8x3p+TN0SOTee+TJqMA03uEtamXaJAhh6QzqwJOzaWeNGtNb3lu4yphWobUdUigGhGfgT0XWYZ0lRCtWFniIGYcS98oG8Jyk49NMuWRD62zb0mhdyroZ74eTEf1UEPtJaSUDTKW/MeGI3DhOvxUIq8O/ARdLU/KNWuBVxZW8ASx+RWpujZd5VaQ5qXSinZda+FmVzlqCzuCRkaEcx+gzKnnLTHXlabBuPAIfjqHzDA9KKrtpuxzzogrxRnqKxFqikCKz5695jZNmHKU7VM0ium428nJkcRODibX2qVW8t/HsxLb03q4+D4lsM8gOsEWBMJIomqUA8EHRVw== 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=iwR4naIx23sJKPSRHSeZ4okd+xkvAW4yP6Gm6sin8q4=; b=j6uo18o6IVG3RnnoZImuSgcrD1j6kW/ghk1D0Sj7vnn97f6jTNEsT+l7D6PNVD0lwg6xI2KESD/pPgpnPp+RQgOTB15d5MprmKA0wUvama02DLqxnIobcEJqrVbNaMVd/EwDNZyy+0Yh4kZbgQAwwHCPxP+gPwVYXwi5/4dcWfaRVdh15vj6g7W++KoejTGiAO3OvyyRmlBbQTjm3/BzW+t1dElEwToGnHWbDPo/ZGmDWS/Zv+HjoTVwp70OD8j0M9ZicA1WwrZqqtdLj7dKeWmgmoMeYDJLDQO7Zvh5XneU5nyn4W0Hl0F/R2662mjs2oLRkTdDKs30Gw/WnImi3Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=aspeedtech.com; dmarc=pass action=none header.from=aspeedtech.com; dkim=pass header.d=aspeedtech.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=aspeedtech.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=iwR4naIx23sJKPSRHSeZ4okd+xkvAW4yP6Gm6sin8q4=; b=gJJfhahve5NATQQS2bn40MhnLjmSh5qaS8UrCJ+DA9Fc0ygJNaZKxozjRfwV4nRUQXDt+wEhHX2SS1kITdWzTqUBAWgZUZL5fH0/zOk6SIb6cNdaPpz2CY+VjqABnAeGAfk9gNzoljvbIdZQJBT9rpkxnmaMGST8v0EHhCEV/1hZ/9XxeuMw6Yolbn1aInb8o+15WuiNd4ezkiunNE4kXuH0Mg3InFN6GDr7rK4KrfN1mdSYHlZtCiV0oIxhhGZrVGPQtDvJuCSD9Ue/WhcPL1XXaMtMbTcplkXooRytfb5XInxkKvP6n8u3HlPTjf07sFp9bNvo2Xua1c4W1Hz89Q== From: Jamin Lin To: "philmd@linaro.org" , "peterx@redhat.com" , =?iso-8859-1?Q?C=E9dric_Le_Goater?= , Peter Maydell , Steven Lee , Troy Lee , Kane Chen , Andrew Jeffery , Joel Stanley , Zhao Liu , "open list:ASPEED BMCs" , "open list:All patches CC here" CC: Jamin Lin , Troy Lee , "farosas@suse.de" , "flwu@google.com" , "nabihestefan@google.com" Subject: [PATCH v6 01/11] tests/functional/arm/test_aspeed_ast2600_sdk: Add USB EHCI test for AST2600 SDK Thread-Topic: [PATCH v6 01/11] tests/functional/arm/test_aspeed_ast2600_sdk: Add USB EHCI test for AST2600 SDK Thread-Index: AQHc23E4qRAVI95nnkuEmU9S4CPmgQ== Date: Mon, 4 May 2026 02:53:44 +0000 Message-ID: <20260504025342.1452605-2-jamin_lin@aspeedtech.com> References: <20260504025342.1452605-1-jamin_lin@aspeedtech.com> In-Reply-To: <20260504025342.1452605-1-jamin_lin@aspeedtech.com> Accept-Language: zh-TW, 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=aspeedtech.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: TYPPR06MB8206:EE_|TYUPR06MB6098:EE_ x-ms-office365-filtering-correlation-id: cefc48b5-3fbd-461b-34eb-08dea9885b51 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|1800799024|366016|7416014|376014|18002099003|22082099003|56012099003|921020|38070700021; x-microsoft-antispam-message-info: 0v/5FNgXJ450/BVPOBeMAOVrrKeCCW/MRNdaiSxLI1zSq5EOB/hwT03X9QkZSNQXV56MM7mQHRa1RsD/HdspO1PBr8ntlj2K16vmEDOu0ZQHYhLut2PmzIydDHh9wNz0z87aC02/wTu1wBY5UDfJ6U6UDMmvyTc4loDPw/+GdWBATZlsVoF3xwaYq9F3sJyduxY9REdPbrlAXzHBe3u3x67mahIxpBwapH0drlQKP90CMg9pKmNQe9Z12/jjQ+W5K89Svt/CsLRbLOGQJKQW82JqOomCX36eNkxVnpOPm14jAvhQEgA2ZBq5QFga0pYtuBoMuHrI00kI9BG17hotKcijP/VBv7BU/9ofD0CyKI6z22dlXSrUp0PP8A3pE9XJmb7dx5e4FMJEU1urNzriN99QyvIzJdygJ/jPFAdFfuQw74y/RE6pxC/intGQ+VwSEqN0Za/AcjTbod3TCIacBKALqsioTKBIZFt/VQ3e84ZoaA3uNVcXWCeMCFnOZaaR3w/dGqugjeyZOGi6T435mCJQ4s1FXgnPKnFG66gzxA3hTbUpDe8Qf0gPdTeK0bDAaA+1H9OViMM12XZE1LJPqezKV8TTtJ2LFw7o+F1BRoEjfcd7dqZ9QgHHx239oAsIfxc0KpjApKQ0xZRmstTjGj2jrx+MISQeZKvu5mNQBFOYPJ19qGuKcPkGNVDXKP50syNzUpLp9jbEKMZ0XVwZNfk/TPk7TW16MyrkG6gmuMkj3V2ll3gSDaGAgXTRWD67u2zfWAc002Ee341B3IhiBA== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:TYPPR06MB8206.apcprd06.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(1800799024)(366016)(7416014)(376014)(18002099003)(22082099003)(56012099003)(921020)(38070700021); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?p3zpZAGOheuOvXBQNEa3VgWKEr3QKXRr2FSvDfzQ8tKXu/mhJB3KXpuAQ4?= =?iso-8859-1?Q?vmNG3n4hoUNGh9CMW+9bC3u1G9JuQtHxugQ+E0T2l/hnNTGX3UB12W2fEx?= =?iso-8859-1?Q?QhbFdXw4nt9d3GwCzSCqddsdYVxRZzmBfWbFdx4rUx8Or3NOjgqXPvxDJE?= =?iso-8859-1?Q?3VukTuREYClHYMQbjCCOGspOhsjmOJkXZ3vv2+W6lZvPQPA6jBq326UrQD?= =?iso-8859-1?Q?6WflLVKhw6j7sNa53mxz7doEvZdvd8ga4301qupb9MpJ4YhvB0Ftl6Ome3?= =?iso-8859-1?Q?RTP9Q4x5CR8LWgz0V8HGAA/Vqlz2Xlo4CI9D6gQQYE0fq6Mj8d4equxjzb?= =?iso-8859-1?Q?W9TFRfOlHGexmVFfsZKUqaGDQIrHJhJSoQaKKC9Ba0q7HAcEkOO+KhrEdY?= =?iso-8859-1?Q?FS4qT87zQmgCi1x2TRpT8DTjspD7rSjw9GNvxlEx73IE9pBOGuNfA37svD?= =?iso-8859-1?Q?A4aXrLf+Gd9OXTnhFmdXt8LOEh9NV9GlZ5gxQEyKIWJvj+IgqPAacPxUaI?= =?iso-8859-1?Q?80xSuODx63eIBDJ89y5JCvMM6shC4wJs270/DCkrbTRfb5NCi/Jj52j/z0?= =?iso-8859-1?Q?5gN6cQnGFrJ18tKrEUT4OvbDgrI7m5W4UbDWaJQEaaiOIAmDUGj3GFj5hT?= =?iso-8859-1?Q?zFAXoRahjgZms1LoNhfFei9uS6A+PSqfLW3O1JZPye/Kp4JfnbPoBT+NEy?= =?iso-8859-1?Q?2bm9yyYtMYZH8gk4UzHRG1OcFXYlR65Ssxi2y5s4cAtgkLGbhnqR3/2GnB?= =?iso-8859-1?Q?dWnMOcwOs/1vY2RH4uH4gfe+XiVs3x9z7uJZwH+s9pTiIvW9XkTBve/dUD?= =?iso-8859-1?Q?UycsSYpI4cw45VnAYDhYLk+5l929xHzHJZ3XdEnhKlParTBigK4hjorEX0?= =?iso-8859-1?Q?ucnmr2UxEWWhN/cvAeNqKmCIV6CIKdQz1iopC6Cvgcr89ZMKpUHEr1jVsP?= =?iso-8859-1?Q?arGgLC9gCSYZHzibEVXHyXooVJqhMznDXpQV5Z+iHm3ahpYF1KSsulV846?= =?iso-8859-1?Q?ViD37EpHNv3lIv/9xVG7BiIeIMxs2qTRZ5/uSmHAK/KyK/EOyY7WdHFa+p?= =?iso-8859-1?Q?TKpQzKyBJgBPuM/0YqJhmW/cNokM3XIcbRrbxMWA6nvMf1vXY9BHeucHmc?= =?iso-8859-1?Q?XYc8SX2ROTpE3Q11wJyjlbl6+AiqTyM+nU+kM62gl5LP1y0SV8WGjTrs1K?= =?iso-8859-1?Q?XEVXb9nFqKJ7MAzDRVHmH2cswg9xsmnVduiZ4YY/LgqxMZf1AbrviKDGP+?= =?iso-8859-1?Q?HEea/3URNeu7KHIbXxwfW2MTYKzqM9/O7Wmyfr5wifYS+PgbW5E+YjYxs5?= =?iso-8859-1?Q?EQiRLMlcbC9Cg7lSS/WSvwRNG8c8IJof6u+YWxslc2V1a29++lusDApSDM?= =?iso-8859-1?Q?tB7jCAYhdvOPyMfPGNZcpdxAai1bxrft2AMJPIXxGLlM1waSO/NbBq7V3G?= =?iso-8859-1?Q?5BoAqTsm9LC04viA/bXmcT9h/4CGHlHYItXMJS09X8QQf3Hy1ojAs0G5MX?= =?iso-8859-1?Q?s3bwQxg9hruY0oviqhlmuUn1hbshQqob69HaYf/ELB8VXY7nFUJUg1NeEd?= =?iso-8859-1?Q?N2xpkIHVuUP4rKFmz6f7yWtJ0jxG/kW1HRcFhr//3SVTrmRB5Pm8gyCM/p?= =?iso-8859-1?Q?R4l2H0s6XQ62r3R/aZYXNuV5J98GVP7mwMXGGoeaHI7UzLUdF32ZqZG4Wj?= =?iso-8859-1?Q?xzjIpwQyLGYfeaaOpP4xOM6iq4z69X31sXkBJq10KI/d9pog0yquLe9wRT?= =?iso-8859-1?Q?raW9qtrrtxWG+P0OwXxAsl+x8OXQUGyxx5XGKVzAXApcNI90Nt5Iu3+jOO?= =?iso-8859-1?Q?qwEJIjDlOg=3D=3D?= Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Exchange-RoutingPolicyChecked: b7mVO5LVEaAqtddH0rJrG+eeGP2M8NAMFrbcms6gRYS7sAg7kTHT8IGv1/U8uJCJUYLu20OxsuzXsrFHip8dpZys+2cY9jUXx+KmHbSNNg8CNUGUP6LRfWjBiG0yBvySHYBIXDofL1VmLs9sTYs5wkYEjMgxKOhl0YCEy/0Hc9qU+ND4uuMNCLFJaz/uGqDoMQ3GUfw8Lck5g8dBUX3uiITy/irx7aUYgh3yCaWRerOejsecelKaWl8zHkutDYaVNVRakj+T4OQ6E+coqBrBW7hSdp1RSdKN1dKgeubZNeqHvTWFbbajw8TLwcfzfQWgO/71QXd0PY7BgP0qLiCdEw== X-OriginatorOrg: aspeedtech.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: TYPPR06MB8206.apcprd06.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: cefc48b5-3fbd-461b-34eb-08dea9885b51 X-MS-Exchange-CrossTenant-originalarrivaltime: 04 May 2026 02:53:44.5732 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 43d4aa98-e35b-4575-8939-080e90d5a249 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: hdca0m3vuDnUxB80gTDXqUtRONOXAkX4EIrM/Gy74wZJj+2QvSB44O8Jvps24lBdny3iLZ0HqaKMd60eq5Td0OrOJFwVcjDv/gvLS9W0vYI= X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYUPR06MB6098 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=lists1p.gnu.org; Received-SPF: pass client-ip=2a01:111:f403:c406::3; envelope-from=jamin_lin@aspeedtech.com; helo=OS8PR02CU002.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 @aspeedtech.com) X-ZM-MESSAGEID: 1777863357024158500 Content-Type: text/plain; charset="utf-8" Add a functional test to verify USB EHCI support on the AST2600 SDK machine by attaching a USB keyboard device and checking its enumeration via lsusb. This introduces a helper routine that runs lsusb in the guest and validates that the emulated "QEMU USB Keyboard" is detected. Signed-off-by: Jamin Lin Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- tests/functional/arm/test_aspeed_ast2600_sdk.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/tests/functional/arm/test_aspeed_ast2600_sdk.py b/tests/functi= onal/arm/test_aspeed_ast2600_sdk.py index d787e90d10..01548dd135 100755 --- a/tests/functional/arm/test_aspeed_ast2600_sdk.py +++ b/tests/functional/arm/test_aspeed_ast2600_sdk.py @@ -40,6 +40,11 @@ def do_ast2600_i3c_test(self): 'i3ctransfer -d /dev/bus/i3c/5-1234567890ab -r 8 | grep 0x | x= args', '0x12 0x34 0x56 0x78 0x90 0xab 0xcd 0xef') =20 + def do_ast2600_usb_ehci_test(self): + exec_command_and_wait_for_pattern(self, + 'lsusb', + 'QEMU QEMU USB Keyboard') + def test_arm_ast2600_evb_sdk(self): self.set_machine('ast2600-evb') self.require_netdev('user') @@ -54,6 +59,7 @@ def test_arm_ast2600_evb_sdk(self): self.vm.add_args('-netdev', 'user,id=3Dnet1') self.vm.add_args('-device', 'mock-i3c-target,bus=3Ddw.i3c.5,pid=3D0xab9078563412') + self.vm.add_args('-device', 'usb-kbd,bus=3Dusb-bus.1') self.do_test_arm_aspeed_sdk_start( self.scratch_file("ast2600-default-image", "image-bmc")) =20 @@ -81,6 +87,7 @@ def test_arm_ast2600_evb_sdk(self): '/sbin/hwclock -f /dev/rtc1', year) self.do_ast2600_pcie_test() self.do_ast2600_i3c_test() + self.do_ast2600_usb_ehci_test() =20 =20 if __name__ =3D=3D '__main__': --=20 2.43.0 From nobody Tue May 26 03:33:44 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=aspeedtech.com); dmarc=pass(p=quarantine dis=none) header.from=aspeedtech.com ARC-Seal: i=2; a=rsa-sha256; t=1777863277; cv=pass; d=zohomail.com; s=zohoarc; b=aKoFykgktWQRDkQPx6fpx8x3Z+JB0ZHBaUteWxd/nSYKlO891+dqlb0eNaOUmxtS/iGGCeiLNyDcdwBKvlKqvPwsC48fKYhb6oBprSD3V3us7FblvBkdOvCyMN9nj8/TB5QPk+6GzQfDK2HxxpA6/a2LjiKx1ausLoCEYzdXYec= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1777863277; 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=CBKDWc9GPHnxs7NXRmSikQbp5iAiCjREuP5CfqQsUeg=; b=e8ip9m2QOC+jw34H6ZPRnnLwUxwWmXllz68/9O8r7GlMN2l2rfmtsZGwBD0WOYvJual1O83D6orbQOhGlWAV644d/RMVPuV7+u0W/hY7Yvy2pK/k+7wgb3ZGOpct7btJLvYfmj9Bnd6XROc7Uj8HomIFH/5QDWyJSJeVj+X2L+M= 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=aspeedtech.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1777863277078411.508063025111; Sun, 3 May 2026 19:54:37 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wJjRX-0001Wh-H2; Sun, 03 May 2026 22:53:59 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wJjRS-0001Vi-Rf; Sun, 03 May 2026 22:53:55 -0400 Received: from mail-japanwestazlp170120003.outbound.protection.outlook.com ([2a01:111:f403:c406::3] helo=OS8PR02CU002.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 1wJjRQ-0003sY-8N; Sun, 03 May 2026 22:53:54 -0400 Received: from TYPPR06MB8206.apcprd06.prod.outlook.com (2603:1096:405:383::19) by TYUPR06MB6098.apcprd06.prod.outlook.com (2603:1096:400:358::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9870.25; Mon, 4 May 2026 02:53:45 +0000 Received: from TYPPR06MB8206.apcprd06.prod.outlook.com ([fe80::e659:1ead:77cb:f6d3]) by TYPPR06MB8206.apcprd06.prod.outlook.com ([fe80::e659:1ead:77cb:f6d3%2]) with mapi id 15.20.9870.023; Mon, 4 May 2026 02:53:45 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=qvzbLdj5x5oPIXxR6LImTr4vjNLcUbYouOyQbkJYK370Lb7cvZuJnTwRhC/ckLnRtwAq4f/tQTRioJm9IFFENOe5hMX8Irjx04m0fDnWUhU3FP3RyVMyT9Fjhbgdkm0KhIobRhwmb5B3MFinCiZbID4lQK9FLfkYp5CV8Sx+56w8i59YWoDl0E8+1ozGcgVjicEbcuuBdyPwR0arIXRmQK6/3WQFZ6RtX2UxDxv+G9BL6yLQgN3IRYs1Zm3nMRLSoabf/ZSDaoX3zDHwWPa2a/l+5pehss5RkV0WMw7d2/rlME8U7Zgus5nR+B+ebSVA6s3coD1df2c7YqjmHD47HQ== 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=CBKDWc9GPHnxs7NXRmSikQbp5iAiCjREuP5CfqQsUeg=; b=EfVcrac+dfnq7W99zXsXSh8thPXg0fxn/pj0iJ/o62638EgxHsvltHU0BScYgzmKWC5YrKjDfuTC/XN3wZp7qKPDayI9T1GYFXNjiGEFczeab2VasZfffKTVg4bdt3hZKfQ3S0Yxj3heUX0zJylePRYY8FAUCww2Si0w3uNLqdx2QeCK6GzfAh5YD46jQA6dU08PkiIjM4f8c0JRdWp6MLBYci3inDERokFIeCiKC1Xev+S2X7hvarAWYt/8HQV7r2RzAgCVIuySbSNTyPAbfFgmhX0nKiTwhK5rMZN7abP/xgnOFbzXHGorarWnnWUUKcQumOhYDBy8v2TqBnaJ+Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=aspeedtech.com; dmarc=pass action=none header.from=aspeedtech.com; dkim=pass header.d=aspeedtech.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=aspeedtech.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=CBKDWc9GPHnxs7NXRmSikQbp5iAiCjREuP5CfqQsUeg=; b=qXw24f7g4O34iuUluZBDPswuI9QlcavKadcJ2nHLVsQ8QHp/fDtWRAu5kkICj19YJapxzHGJzBOM40SLRzM7GT2nFoLyBlPqLWtnvya3qF7bbyKuTfiJmiyWRf4YT99Uw6GyNFSxRHYRLzD72nMmbAdSp0+feuz0eiT1/Qf+ebJ4vOqekH7tPZomKnOWNrcNhVyOdo4oOvce6+AIUZrs6S53Y3lkmBiqS8M/dQS16JrwEheK26v0gxQXheOMMAxUgQEDtyXhY6fNVin2jLF/VvDPwafebgioktvn2myLxSki9xR/rzzlpvgytehmNPbauiMFj4XyFuAmKnDaRlhq0Q== From: Jamin Lin To: "philmd@linaro.org" , "peterx@redhat.com" , =?iso-8859-1?Q?C=E9dric_Le_Goater?= , Peter Maydell , Steven Lee , Troy Lee , Kane Chen , Andrew Jeffery , Joel Stanley , Zhao Liu , "open list:ASPEED BMCs" , "open list:All patches CC here" CC: Jamin Lin , Troy Lee , "farosas@suse.de" , "flwu@google.com" , "nabihestefan@google.com" Subject: [PATCH v6 02/11] hw/usb/hcd-ehci: Change descriptor addresses to 64-bit with migration compatibility Thread-Topic: [PATCH v6 02/11] hw/usb/hcd-ehci: Change descriptor addresses to 64-bit with migration compatibility Thread-Index: AQHc23E5LWTS40X8DUGYrctiTBLxCg== Date: Mon, 4 May 2026 02:53:45 +0000 Message-ID: <20260504025342.1452605-3-jamin_lin@aspeedtech.com> References: <20260504025342.1452605-1-jamin_lin@aspeedtech.com> In-Reply-To: <20260504025342.1452605-1-jamin_lin@aspeedtech.com> Accept-Language: zh-TW, 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=aspeedtech.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: TYPPR06MB8206:EE_|TYUPR06MB6098:EE_ x-ms-office365-filtering-correlation-id: 02900ec1-caaf-4525-0c63-08dea9885bf7 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|1800799024|366016|7416014|376014|18002099003|22082099003|56012099003|921020|38070700021; x-microsoft-antispam-message-info: VERUUHVInI5pAQ8wADoTW4ENQZ8//t84JOJOV6BhyHdqy/bNunlPGP07q7xJJxBTc7x+AirJX+Dm0FXIokDhYMQOHxxxu7Y8BouyVlktBJzPaetgoIrSvJ6G1uZS6lxu6UyVIdZn5iBKvRLxu5E8DODbb9m7p/xxKHlKRFQzx/XxFaHljTIwCWh8nTi2Dp6v4QZc8lyvJhTaWkkLq/L+Aeun5mXe9lC1bdumDd0rt2tJmqp8mW+ZoqlNSHidbXWuPRCW+QlSVA9iCPzDBO9xd53nU764oTrvb+WBfx9K8/VD83BTkKAZnIZYXWb6ielQoW4jqpJMDIsIXGg54GRJHPlfvAW58xgisua/+uKEpakEutk1uVLBV5ctry06Caxr4WBxe6OBRdiNp4Ymh1jwZ4JKEMLkjzjVlbGk0OjpxADK+G+o50O8iFuJ1nDntSGYmDfa1qAPLwQZK1pUJOhQzeFJTWwASdhjx1xwNYVlyGMrNl4Pvm+cdvH6LDbE+sZ3Nm6bpkAiaKUcS488gRUb6S5rNKR8yhda5oJKNvk8I4C+wJEml0qsn4VrDjxkIQUhFJ4KVDbKCUac1/GhPOAI+CJp12GwCwhIammRdX1+FSucsYmLCkAbAQ4ilnAoZbdxr2451DY3xaehg5Ais2Cw3A79J3zEdfKvMjYW2Tc5QVLazQhZ0JbHOPIMxBiCjY8kCOYMWWuRD31X9uz2oKhcrMiFvju4Q1kvjufCS4vnCWtCRK4xp/XRSfKInOqg9gmLc2PW6vjPTB8SzTy0aEiXbA== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:TYPPR06MB8206.apcprd06.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(1800799024)(366016)(7416014)(376014)(18002099003)(22082099003)(56012099003)(921020)(38070700021); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?FinKgbH9Xysq3p6c+gFzEtZCfQilDpQeU+WxI/x0cax330wPUyzyVVjxCv?= =?iso-8859-1?Q?FMNpXFewOhhG1/FvGTQmvl6XzkJKrGcXDEx5bJk5BvQvjR4DedDg4bmahl?= =?iso-8859-1?Q?b4JdKf4YJJkObNmm5aGCOJ4Jlh8OTdalmUTfDuLOAVwbRL7Tk1IEPArUq5?= =?iso-8859-1?Q?4zcp8MRCexPOaYfpSYFuwkJeW0lVwcCI38D2mUa4/maw/j3pthDlBwQFk5?= =?iso-8859-1?Q?cfJC9ydl/sQnW0TSBy8GJ8bdSlJuaXmoY6WKvXoQQo1fVt7MAHs0mB9TFr?= =?iso-8859-1?Q?fo7U6cHe25AmrzE0VbDCNs3+fahbu8wA5cKbUOHKdRmmrxI71QPD2O/Aqw?= =?iso-8859-1?Q?+StaKTchOwJI8dPo/bkpnhUyy7PyhZEA+mjrg43fXEBYArB00TOVl61vuy?= =?iso-8859-1?Q?obBtyP5W1TDdQi15gXJ01t+Qle++nBaEkcjaIabFqvwOob8tvBGQz6A2ij?= =?iso-8859-1?Q?t4L1e6kPcQiAIPxrEcBHI46bplbEZ7czGRgOEuTW2hcy6sc4boPd7Egsl+?= =?iso-8859-1?Q?wCQet+bgOjLAo/CzltNV/d3bHzQ4eoWpqzqqMajJo+Kka12m1GkfoCzI/J?= =?iso-8859-1?Q?PiVWScXvhHxHZ5g6EKXaUZ1Xb+7Y95lMsiH0fwm9Dl4JhDlo8mbwJZfJGB?= =?iso-8859-1?Q?y4BYbJ5jL5SXpF09ur1ZtvdF7LVhQuOVtFgy83xtOqcsS5h7QMXBfL3yss?= =?iso-8859-1?Q?/d5HWcGYRH9pG/OOZGnXEn94ha6lGxLkWH1nJaXDrvsoriu2Hdyz3h0xv2?= =?iso-8859-1?Q?cYhQNON665SzFyABHrs1y4MnoMgwa3pwOIUV8Z05PWcg01Hs8SbPGTLnwP?= =?iso-8859-1?Q?mItBrHjeskz4x3f9udLJHUk9SQQIPgNtvBwq8uMzSLk+i94adc1MjTeA5Q?= =?iso-8859-1?Q?2YNrjhRQse43lWAyOFC9ZodoyT/2mKFm93TZ3wnQKIJneqGIzWB5Q2vBj6?= =?iso-8859-1?Q?LlQEaVKKVCb5GpoNUD4eZWN68oVjUPSCymFIFKSOYuGEDizXJ+gqrCu3T9?= =?iso-8859-1?Q?GgC0TAd+X+QUp0GEQiYPHN7GXyV4azn30IZGnDFE0TQdKRuBeUFlqdkmc+?= =?iso-8859-1?Q?8mfeQ9HQpz3I6vXv/f8TkDJrHLzF0h/OI16wZm7JiIKkdgZkzsHsBtlLO3?= =?iso-8859-1?Q?4hzC1OYQ8CHCAqL70aMbD3dZFI3Iqb39esaXDD8aX/n+P7I7afOphHB5S+?= =?iso-8859-1?Q?F87NsP8NCRp/x49QcWaZ2yUbsidxLpUK8JwmOQ7IZsT49NXy4wroXZYP8S?= =?iso-8859-1?Q?XrtW3i8jpRRbLwiurvLy2gD5JLmvDZ35k1fxqhzO/4k/fdj2q7iJHI4uSv?= =?iso-8859-1?Q?otuOAD7aWnG0QKhtdBan780kQbyS+Ht2JyJ9GN/8NfWGdoiVYV4+RvU7qF?= =?iso-8859-1?Q?SK9MK65xCD7rSHqiD4fj2LitlPAkx44Gg1fXY7csHBAg2+kBWGX1S4f9LJ?= =?iso-8859-1?Q?ZkhWyc8y+pxhWL/IqtyQLuPMcMeg73+FJPP0BcjkwwNg0cT6OLy8BVJr3a?= =?iso-8859-1?Q?4QTbhSULmBA6ws1KFs0erKwe8M8FV/Pucco/phCbrekswEvw2DavQIECUc?= =?iso-8859-1?Q?xr1yzhXfFcw/Z5EDxOd6y5/fNMSosF+sUUfv2AejvYKkibj8hZqMad6WXl?= =?iso-8859-1?Q?dK6K+nFiFGbsmYDNtVejC2NW+mj5XgkPv8+Pi1WmJa3numNXkbx6TXg/ct?= =?iso-8859-1?Q?ItXbGqEM1ntbl6a8t3TUKg8k1SgMbTD24zz2KDW1hzAP7mWj5UQVNM4amL?= =?iso-8859-1?Q?b2w0BXBxppdqh/ZlOscjx/PL0P5egGFutOu7je9I1gxcS/x/RiLmJjU29d?= =?iso-8859-1?Q?w8BlhOmejA=3D=3D?= Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Exchange-RoutingPolicyChecked: n2ujrWdmgI0IPDSzdWcyb/4iGWtBYfCN/xntGra8fKcWUy+QUWAccwhnFAMpUoNS7XrxckMPHosOdk2/AUwHnO3eEPPD7mKUDR1rjYUAhYVFP+6SfZXOvYDvuv6tXU4SodGLdMb3MHZYfDNuXErFko8NWM8ovVDU4JJywPvx8R9bOz7d5lZI6IbxSnZQui2s6KAGxYj0QEPKzhz3yDTw6y3aTNXtve1OOZs4+fR/xd8Ti8B6JV4vE7NaMk2BOlesPkgC1rEOHnAB285PLunYNB8PtLu+BA3tPPEkBNUl0pPbc4jOrtxKNaqc/A6SgCtbkk7yZNZa1Ot6lAWotP0Yfw== X-OriginatorOrg: aspeedtech.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: TYPPR06MB8206.apcprd06.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 02900ec1-caaf-4525-0c63-08dea9885bf7 X-MS-Exchange-CrossTenant-originalarrivaltime: 04 May 2026 02:53:45.6679 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 43d4aa98-e35b-4575-8939-080e90d5a249 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: uAUI5qid647bN22aeYhIrFthTeiabOFaizla8ciXfmOZGn+BvmxtUsD/eX4EM+K2Gy0Rz3jOZ6pGf9Xjw9hW+H9cpH83cCSuXPYlCjkKwMo= X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYUPR06MB6098 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=lists1p.gnu.org; Received-SPF: pass client-ip=2a01:111:f403:c406::3; envelope-from=jamin_lin@aspeedtech.com; helo=OS8PR02CU002.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 @aspeedtech.com) X-ZM-MESSAGEID: 1777863280383154100 Content-Type: text/plain; charset="utf-8" Change internal EHCI descriptor addresses from uint32_t to uint64_t. The following fields are updated: - EHCIPacket::qtdaddr - EHCIQueue::{qhaddr, qtdaddr} - EHCIState::{a_fetch_addr, p_fetch_addr} Update get_dwords() and put_dwords() to take 64-bit addresses and propagate the type change through the descriptor traversal paths. Adjust NLPTR_GET() to operate on 64-bit values: #define NLPTR_GET(x) ((x) & ~0x1fULL) so that link pointer masking works correctly when descriptor addresses exceed 32-bit space. The previous mask (0xffffffe0) implicitly truncated addresses to 32 bits. This patch does not change the on-wire descriptor layout yet. It only removes the internal 32-bit address limit and prepares for later patches that will add full 64-bit QH/qTD/iTD/siTD support. Update the EHCI trace-events prototypes for QH, qTD, iTD, and siTD to use uint64_t for the address argument and print it with PRIx64. This ensures full 64-bit addresses are shown in trace output and improves debugging of queue heads and transfer descriptors. Migration compatibility: To preserve backward migration compatibility, keep the legacy 32-bit fetch address fields (a_fetch_addr_32, p_fetch_addr_32) alongside the new 64-bit fields. Migration format is selected using a machine compat property "x-migrate-fetch-addr-64bit": - Old machine types migrate 32-bit fetch addresses - New machine types migrate full 64-bit fetch addresses This is implemented using VMSTATE_UINT32_TEST() and VMSTATE_UINT64_TEST() so that only the appropriate format is migrated. In pre_save, the 32-bit shadow fields are populated when migrating to old machine types. In post_load, the 32-bit values are restored into the 64-bit fields when loading old migration streams. No functional change. Signed-off-by: Jamin Lin Reviewed-by: C=C3=A9dric Le Goater --- hw/usb/hcd-ehci.h | 17 +++++++---- hw/core/machine.c | 5 +++- hw/usb/hcd-ehci.c | 72 ++++++++++++++++++++++++++++++++------------- hw/usb/trace-events | 24 +++++++-------- 4 files changed, 78 insertions(+), 40 deletions(-) diff --git a/hw/usb/hcd-ehci.h b/hw/usb/hcd-ehci.h index d038ee1e31..3acbddfc5c 100644 --- a/hw/usb/hcd-ehci.h +++ b/hw/usb/hcd-ehci.h @@ -208,7 +208,7 @@ struct EHCIPacket { QTAILQ_ENTRY(EHCIPacket) next; =20 EHCIqtd qtd; /* copy of current QTD (being worked on) */ - uint32_t qtdaddr; /* address QTD read from */ + uint64_t qtdaddr; /* address QTD read from */ =20 USBPacket packet; QEMUSGList sgl; @@ -229,8 +229,8 @@ struct EHCIQueue { * when guest removes an entry (doorbell, handshake sequence) */ EHCIqh qh; /* copy of current QH (being worked on) */ - uint32_t qhaddr; /* address QH read from */ - uint32_t qtdaddr; /* address QTD read from */ + uint64_t qhaddr; /* address QH read from */ + uint64_t qtdaddr; /* address QTD read from */ int last_pid; /* pid of last packet executed */ USBDevice *dev; QTAILQ_HEAD(, EHCIPacket) packets; @@ -256,6 +256,7 @@ struct EHCIState { =20 /* properties */ uint32_t maxframes; + bool migrate_fetch_addr_64bit; =20 /* * EHCI spec version 1.0 Section 2.3 @@ -294,8 +295,10 @@ struct EHCIState { EHCIQueueHead pqueues; =20 /* which address to look at next */ - uint32_t a_fetch_addr; - uint32_t p_fetch_addr; + uint32_t a_fetch_addr_32; + uint32_t p_fetch_addr_32; + uint64_t a_fetch_addr; + uint64_t p_fetch_addr; =20 USBPacket ipacket; QEMUSGList isgl; @@ -308,7 +311,9 @@ struct EHCIState { }; =20 #define DEFINE_EHCI_COMMON_PROPERTIES(_state) \ - DEFINE_PROP_UINT32("maxframes", _state, ehci.maxframes, 128) + DEFINE_PROP_UINT32("maxframes", _state, ehci.maxframes, 128), \ + DEFINE_PROP_BOOL("x-migrate-fetch-addr-64bit", _state, \ + ehci.migrate_fetch_addr_64bit, true) =20 extern const VMStateDescription vmstate_ehci; =20 diff --git a/hw/core/machine.c b/hw/core/machine.c index 1b661fd36a..54336da294 100644 --- a/hw/core/machine.c +++ b/hw/core/machine.c @@ -39,7 +39,10 @@ #include "hw/acpi/generic_event_device.h" #include "qemu/audio.h" =20 -GlobalProperty hw_compat_11_0[] =3D {}; +GlobalProperty hw_compat_11_0[] =3D { + { "sysbus-ehci-usb", "x-migrate-fetch-addr-64bit", "off" }, + { "pci-ehci-usb", "x-migrate-fetch-addr-64bit", "off" }, +}; const size_t hw_compat_11_0_len =3D G_N_ELEMENTS(hw_compat_11_0); =20 GlobalProperty hw_compat_10_2[] =3D { diff --git a/hw/usb/hcd-ehci.c b/hw/usb/hcd-ehci.c index 28a60e4c1a..9d74259289 100644 --- a/hw/usb/hcd-ehci.c +++ b/hw/usb/hcd-ehci.c @@ -72,7 +72,7 @@ typedef enum { } EHCI_STATES; =20 /* macros for accessing fields within next link pointer entry */ -#define NLPTR_GET(x) ((x) & 0xffffffe0) +#define NLPTR_GET(x) ((x) & ~0x1fULL) #define NLPTR_TYPE_GET(x) (((x) >> 1) & 3) #define NLPTR_TBIT(x) ((x) & 1) /* 1=3Dinvalid, 0=3Dvalid */ =20 @@ -287,7 +287,7 @@ static int ehci_get_state(EHCIState *s, int async) return async ? s->astate : s->pstate; } =20 -static void ehci_set_fetch_addr(EHCIState *s, int async, uint32_t addr) +static void ehci_set_fetch_addr(EHCIState *s, int async, uint64_t addr) { if (async) { s->a_fetch_addr =3D addr; @@ -296,7 +296,7 @@ static void ehci_set_fetch_addr(EHCIState *s, int async= , uint32_t addr) } } =20 -static int ehci_get_fetch_addr(EHCIState *s, int async) +static uint64_t ehci_get_fetch_addr(EHCIState *s, int async) { return async ? s->a_fetch_addr : s->p_fetch_addr; } @@ -373,7 +373,7 @@ static inline bool ehci_periodic_enabled(EHCIState *s) } =20 /* Get an array of dwords from main memory */ -static inline int get_dwords(EHCIState *ehci, uint32_t addr, +static inline int get_dwords(EHCIState *ehci, uint64_t addr, uint32_t *buf, int num) { int i; @@ -395,7 +395,7 @@ static inline int get_dwords(EHCIState *ehci, uint32_t = addr, } =20 /* Put an array of dwords in to main memory */ -static inline int put_dwords(EHCIState *ehci, uint32_t addr, +static inline int put_dwords(EHCIState *ehci, uint64_t addr, uint32_t *buf, int num) { int i; @@ -549,7 +549,7 @@ static void ehci_free_packet(EHCIPacket *p) =20 /* queue management */ =20 -static EHCIQueue *ehci_alloc_queue(EHCIState *ehci, uint32_t addr, int asy= nc) +static EHCIQueue *ehci_alloc_queue(EHCIState *ehci, uint64_t addr, int asy= nc) { EHCIQueueHead *head =3D async ? &ehci->aqueues : &ehci->pqueues; EHCIQueue *q; @@ -622,7 +622,7 @@ static void ehci_free_queue(EHCIQueue *q, const char *w= arn) g_free(q); } =20 -static EHCIQueue *ehci_find_queue_by_qh(EHCIState *ehci, uint32_t addr, +static EHCIQueue *ehci_find_queue_by_qh(EHCIState *ehci, uint64_t addr, int async) { EHCIQueueHead *head =3D async ? &ehci->aqueues : &ehci->pqueues; @@ -1135,7 +1135,7 @@ static void ehci_flush_qh(EHCIQueue *q) { uint32_t *qh =3D (uint32_t *) &q->qh; uint32_t dwords =3D sizeof(EHCIqh) >> 2; - uint32_t addr =3D NLPTR_GET(q->qhaddr); + uint64_t addr =3D NLPTR_GET(q->qhaddr); =20 put_dwords(q->ehci, addr + 3 * sizeof(uint32_t), qh + 3, dwords - 3); } @@ -1406,12 +1406,13 @@ static int ehci_execute(EHCIPacket *p, const char *= action) /* 4.7.2 */ static int ehci_process_itd(EHCIState *ehci, EHCIitd *itd, - uint32_t addr) + uint64_t addr) { USBDevice *dev; USBEndpoint *ep; uint32_t i, len, pid, dir, devaddr, endp; - uint32_t pg, off, ptr1, ptr2, max, mult; + uint32_t pg, off, max, mult; + uint64_t ptr1, ptr2; =20 ehci->periodic_sched_active =3D PERIODIC_ACTIVE; =20 @@ -1528,7 +1529,7 @@ static int ehci_state_waitlisthead(EHCIState *ehci, = int async) EHCIqh qh; int i =3D 0; int again =3D 0; - uint32_t entry =3D ehci->asynclistaddr; + uint64_t entry =3D ehci->asynclistaddr; =20 /* set reclamation flag at start event (4.8.6) */ if (async) { @@ -1578,7 +1579,7 @@ out: static int ehci_state_fetchentry(EHCIState *ehci, int async) { int again =3D 0; - uint32_t entry =3D ehci_get_fetch_addr(ehci, async); + uint64_t entry =3D ehci_get_fetch_addr(ehci, async); =20 if (NLPTR_TBIT(entry)) { ehci_set_state(ehci, async, EST_ACTIVE); @@ -1611,7 +1612,7 @@ static int ehci_state_fetchentry(EHCIState *ehci, int= async) default: /* TODO: handle FSTN type */ qemu_log_mask(LOG_GUEST_ERROR, - "FETCHENTRY: entry at 0x%x is of type %u " + "FETCHENTRY: entry at %" PRIx64 "is of type %" PRIu6= 4 " " "which is not supported yet\n", entry, NLPTR_TYPE_GET(entry)); return -1; @@ -1623,7 +1624,7 @@ out: =20 static EHCIQueue *ehci_state_fetchqh(EHCIState *ehci, int async) { - uint32_t entry; + uint64_t entry; EHCIQueue *q; EHCIqh qh; =20 @@ -1712,7 +1713,7 @@ out: =20 static int ehci_state_fetchitd(EHCIState *ehci, int async) { - uint32_t entry; + uint64_t entry; EHCIitd itd; =20 assert(!async); @@ -1738,7 +1739,7 @@ static int ehci_state_fetchitd(EHCIState *ehci, int a= sync) =20 static int ehci_state_fetchsitd(EHCIState *ehci, int async) { - uint32_t entry; + uint64_t entry; EHCIsitd sitd; =20 assert(!async); @@ -1802,7 +1803,7 @@ static int ehci_state_fetchqtd(EHCIQueue *q) EHCIqtd qtd; EHCIPacket *p; int again =3D 1; - uint32_t addr; + uint64_t addr; =20 addr =3D NLPTR_GET(q->qtdaddr); if (get_dwords(q->ehci, addr + 8, &qtd.token, 1) < 0) { @@ -1885,7 +1886,7 @@ static int ehci_fill_queue(EHCIPacket *p) USBEndpoint *ep =3D p->packet.ep; EHCIQueue *q =3D p->queue; EHCIqtd qtd =3D p->qtd; - uint32_t qtdaddr; + uint64_t qtdaddr; =20 for (;;) { if (NLPTR_TBIT(qtd.next) !=3D 0) { @@ -2008,7 +2009,8 @@ static int ehci_state_executing(EHCIQueue *q) static int ehci_state_writeback(EHCIQueue *q) { EHCIPacket *p =3D QTAILQ_FIRST(&q->packets); - uint32_t *qtd, addr; + uint32_t *qtd; + uint64_t addr; int again =3D 0; =20 /* Write back the QTD from the QH area */ @@ -2414,6 +2416,18 @@ static USBBusOps ehci_bus_ops_standalone =3D { .wakeup_endpoint =3D ehci_wakeup_endpoint, }; =20 +static bool ehci_fetch_addr_64_needed(void *opaque, int version_id) +{ + EHCIState *s =3D opaque; + + return s->migrate_fetch_addr_64bit; +} + +static bool ehci_fetch_addr_32_needed(void *opaque, int version_id) +{ + return !ehci_fetch_addr_64_needed(opaque, version_id); +} + static int usb_ehci_pre_save(void *opaque) { EHCIState *ehci =3D opaque; @@ -2424,6 +2438,11 @@ static int usb_ehci_pre_save(void *opaque) ehci->last_run_ns -=3D (ehci->frindex - new_frindex) * UFRAME_TIMER_NS; ehci->frindex =3D new_frindex; =20 + if (!ehci->migrate_fetch_addr_64bit) { + ehci->a_fetch_addr_32 =3D ehci->a_fetch_addr; + ehci->p_fetch_addr_32 =3D ehci->p_fetch_addr; + } + return 0; } =20 @@ -2444,6 +2463,11 @@ static int usb_ehci_post_load(void *opaque, int vers= ion_id) } } =20 + if (!s->migrate_fetch_addr_64bit) { + s->a_fetch_addr =3D s->a_fetch_addr_32; + s->p_fetch_addr =3D s->p_fetch_addr_32; + } + return 0; } =20 @@ -2504,8 +2528,14 @@ const VMStateDescription vmstate_ehci =3D { /* schedule state */ VMSTATE_UINT32(astate, EHCIState), VMSTATE_UINT32(pstate, EHCIState), - VMSTATE_UINT32(a_fetch_addr, EHCIState), - VMSTATE_UINT32(p_fetch_addr, EHCIState), + VMSTATE_UINT32_TEST(a_fetch_addr_32, EHCIState, + ehci_fetch_addr_32_needed), + VMSTATE_UINT32_TEST(p_fetch_addr_32, EHCIState, + ehci_fetch_addr_32_needed), + VMSTATE_UINT64_TEST(a_fetch_addr, EHCIState, + ehci_fetch_addr_64_needed), + VMSTATE_UINT64_TEST(p_fetch_addr, EHCIState, + ehci_fetch_addr_64_needed), VMSTATE_END_OF_LIST() } }; diff --git a/hw/usb/trace-events b/hw/usb/trace-events index 0d4318dcf1..8c90688bb3 100644 --- a/hw/usb/trace-events +++ b/hw/usb/trace-events @@ -86,15 +86,15 @@ usb_ehci_portsc_write(uint32_t addr, uint32_t port, uin= t32_t val) "wr mmio 0x%04 usb_ehci_portsc_change(uint32_t addr, uint32_t port, uint32_t new, uint32_= t old) "ch mmio 0x%04x [port %d] =3D 0x%x (old: 0x%x)" usb_ehci_usbsts(const char *sts, int state) "usbsts %s %d" usb_ehci_state(const char *schedule, const char *state) "%s schedule %s" -usb_ehci_qh_ptrs(void *q, uint32_t addr, uint32_t nxt, uint32_t c_qtd, uin= t32_t n_qtd, uint32_t a_qtd) "q %p - QH @ 0x%08x: next 0x%08x qtds 0x%08x,0= x%08x,0x%08x" -usb_ehci_qh_fields(uint32_t addr, int rl, int mplen, int eps, int ep, int = devaddr) "QH @ 0x%08x - rl %d, mplen %d, eps %d, ep %d, dev %d" -usb_ehci_qh_bits(uint32_t addr, int c, int h, int dtc, int i) "QH @ 0x%08x= - c %d, h %d, dtc %d, i %d" +usb_ehci_qh_ptrs(void *q, uint64_t addr, uint32_t nxt, uint32_t c_qtd, uin= t32_t n_qtd, uint32_t a_qtd) "q %p - QH @ 0x%" PRIx64 ": next 0x%08x qtds 0= x%08x,0x%08x,0x%08x" +usb_ehci_qh_fields(uint64_t addr, int rl, int mplen, int eps, int ep, int = devaddr) "QH @ 0x%" PRIx64 " - rl %d, mplen %d, eps %d, ep %d, dev %d" +usb_ehci_qh_bits(uint64_t addr, int c, int h, int dtc, int i) "QH @ 0x%" P= RIx64 " - c %d, h %d, dtc %d, i %d" usb_ehci_qh_tbytes(uint32_t tbytes) "updating tbytes to %d" -usb_ehci_qtd_ptrs(void *q, uint32_t addr, uint32_t nxt, uint32_t altnext) = "q %p - QTD @ 0x%08x: next 0x%08x altnext 0x%08x" -usb_ehci_qtd_fields(uint32_t addr, int tbytes, int cpage, int cerr, int pi= d) "QTD @ 0x%08x - tbytes %d, cpage %d, cerr %d, pid %d" -usb_ehci_qtd_bits(uint32_t addr, int ioc, int active, int halt, int babble= , int xacterr) "QTD @ 0x%08x - ioc %d, active %d, halt %d, babble %d, xacte= rr %d" -usb_ehci_itd(uint32_t addr, uint32_t nxt, uint32_t mplen, uint32_t mult, u= int32_t ep, uint32_t devaddr) "ITD @ 0x%08x: next 0x%08x - mplen %d, mult %= d, ep %d, dev %d" -usb_ehci_sitd(uint32_t addr, uint32_t nxt, uint32_t active) "ITD @ 0x%08x:= next 0x%08x - active %d" +usb_ehci_qtd_ptrs(void *q, uint64_t addr, uint32_t nxt, uint32_t altnext) = "q %p - QTD @ 0x%" PRIx64 ": next 0x%08x altnext 0x%08x" +usb_ehci_qtd_fields(uint64_t addr, int tbytes, int cpage, int cerr, int pi= d) "QTD @ 0x%" PRIx64 " - tbytes %d, cpage %d, cerr %d, pid %d" +usb_ehci_qtd_bits(uint64_t addr, int ioc, int active, int halt, int babble= , int xacterr) "QTD @ 0x%" PRIx64 " - ioc %d, active %d, halt %d, babble %d= , xacterr %d" +usb_ehci_itd(uint64_t addr, uint32_t nxt, uint32_t mplen, uint32_t mult, u= int32_t ep, uint32_t devaddr) "ITD @ 0x%" PRIx64 ": next 0x%08x - mplen %d,= mult %d, ep %d, dev %d" +usb_ehci_sitd(uint64_t addr, uint32_t nxt, uint32_t active) "SITD @ 0x%" P= RIx64 ": next 0x%08x - active %d" usb_ehci_port_attach(uint32_t port, const char *owner, const char *device)= "attach port #%d, owner %s, device %s" usb_ehci_port_detach(uint32_t port, const char *owner) "detach port #%d, o= wner %s" usb_ehci_port_reset(uint32_t port, int enable) "reset port #%d - %d" @@ -104,15 +104,15 @@ usb_ehci_port_resume(uint32_t port) "port #%d" usb_ehci_port_disable(uint32_t port) "port #%d" usb_ehci_queue_action(void *q, const char *action) "q %p: %s" usb_ehci_packet_action(void *q, void *p, const char *action) "q %p p %p: %= s" -usb_ehci_packet_submit(uint32_t qhaddr, uint32_t next, uint32_t qtdaddr, i= nt pid, size_t len, int endp, int status, int actual_length) "qh=3D0x%x, ne= xt=3D0x%x, qtd=3D0x%x, pid=3D0x%x, len=3D%zd, endp=3D0x%x, status=3D%d, act= ual_length=3D%d" +usb_ehci_packet_submit(uint64_t qhaddr, uint32_t next, uint64_t qtdaddr, i= nt pid, size_t len, int endp, int status, int actual_length) "qh=3D0x%" PRI= x64 ", next=3D0x%x, qtd=3D0x%" PRIx64 ", pid=3D0x%x, len=3D%zd, endp=3D0x%x= , status=3D%d, actual_length=3D%d" usb_ehci_irq(uint32_t level, uint32_t frindex, uint32_t sts, uint32_t mask= ) "level %d, frindex 0x%04x, sts 0x%x, mask 0x%x" usb_ehci_guest_bug(const char *reason) "%s" usb_ehci_doorbell_ring(void) "" usb_ehci_doorbell_ack(void) "" usb_ehci_dma_error(void) "" -usb_ehci_execute_complete(uint32_t qhaddr, uint32_t next, uint32_t qtdaddr= , int status, int actual_length) "qhaddr=3D0x%x, next=3D0x%x, qtdaddr=3D0x%= x, status=3D%d, actual_length=3D%d" -usb_ehci_fetchqh_reclaim_done(uint32_t qhaddr) "QH 0x%08x H-bit set, recla= mation status reset - done processing" -usb_ehci_fetchqh_dbg(uint32_t qhaddr, uint32_t h, uint32_t halt, uint32_t = active, uint32_t next) "QH 0x%08x (h 0x%x halt 0x%x active 0x%x) next 0x%08= x" +usb_ehci_execute_complete(uint64_t qhaddr, uint32_t next, uint64_t qtdaddr= , int status, int actual_length) "qhaddr=3D0x%" PRIx64 ", next=3D0x%x, qtda= ddr=3D0x%" PRIx64 ", status=3D%d, actual_length=3D%d" +usb_ehci_fetchqh_reclaim_done(uint64_t qhaddr) "QH 0x%" PRIx64 " H-bit set= , reclamation status reset - done processing" +usb_ehci_fetchqh_dbg(uint64_t qhaddr, uint32_t h, uint32_t halt, uint32_t = active, uint32_t next) "QH 0x%" PRIx64 " (h 0x%x halt 0x%x active 0x%x) nex= t 0x%08x" usb_ehci_periodic_state_advance(uint32_t frame, uint32_t list, uint32_t en= try) "frame=3D%d, list=3D0x%x, entry=3D0x%x" usb_ehci_skipped_uframes(uint64_t skipped_uframes) "skipped %" PRIu64 " uf= rames" usb_ehci_log(const char *msg) "%s" --=20 2.43.0 From nobody Tue May 26 03:33:44 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=aspeedtech.com); dmarc=pass(p=quarantine dis=none) header.from=aspeedtech.com ARC-Seal: i=2; a=rsa-sha256; t=1777863293; cv=pass; d=zohomail.com; s=zohoarc; b=UQzIxN/EenZLV+K+TzyxrMEBbULbUmJQhswKg+DMZB54YioeMvyQcrjovXfKLzdJUEImq9gNN/uJJDyaUTmfI/1W4NX1V0J4lqAc/YND4J/K0LgO4ffV8NaxwOReRpuMEfPKRkS6cfQQfg9Vs3HDTXZlpQvDECHTeMwab8JsSjU= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1777863293; 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=g5YMZlkh6bJg1DmrzXM4Ot5jvd0kMYaXk3pupCY1/mY=; b=O0XbSJuWgTl+P0X4yT3v0nfcpCh1GV3lYRW8JFUgfXwu99y9QPiRoZ/Am8YafFxE4JN3aRWH16q3+mPQNzH6HfR6LtglvaflEz+ycTPMP0N5XPMkXsvi5tkarKA41JZODMWacHanvi1qpJCQhe38452MXFtN+AsWAvVOcV8zs7A= 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=aspeedtech.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1777863293514809.1688488691756; Sun, 3 May 2026 19:54:53 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wJjRZ-0001Xl-TV; Sun, 03 May 2026 22:54:01 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wJjRV-0001WO-67; Sun, 03 May 2026 22:53:57 -0400 Received: from mail-japanwestazlp170120003.outbound.protection.outlook.com ([2a01:111:f403:c406::3] helo=OS8PR02CU002.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 1wJjRT-0003sY-KJ; Sun, 03 May 2026 22:53:56 -0400 Received: from TYPPR06MB8206.apcprd06.prod.outlook.com (2603:1096:405:383::19) by TYUPR06MB6098.apcprd06.prod.outlook.com (2603:1096:400:358::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9870.25; Mon, 4 May 2026 02:53:46 +0000 Received: from TYPPR06MB8206.apcprd06.prod.outlook.com ([fe80::e659:1ead:77cb:f6d3]) by TYPPR06MB8206.apcprd06.prod.outlook.com ([fe80::e659:1ead:77cb:f6d3%2]) with mapi id 15.20.9870.023; Mon, 4 May 2026 02:53:46 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=uH9wp6TiqK5kf0b390iKrHkUR86np69Ao2CWXpP/+uq0FsKm8NLKVPrjuTeOfF82yohjCDVTTfL37w6Fmeu16EIjJv/qLvxaQx/GvsQqHnd1F9GdElRLwUYjQTj89YkPjfW6B8SGffwWzrXXwkIkn8T66WYm6n/XYy3ioP2usE6XMOybNMQBx8oN7vZvpls8+DxEV28HkXsLHmtWgmgFp3gagupTJ8zBbnVGpn+JWVn3SQKcnyCtIttrhZomgbg0PSCyjhMU5lrnEpDhxUXaySGhsDlFnbDTCfNQV7tI2w2+Q2fMREY4EIcq4Me9h2KYZwMw7xdycWF0lJZdXV8pbw== 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=g5YMZlkh6bJg1DmrzXM4Ot5jvd0kMYaXk3pupCY1/mY=; b=RvFmKHcXEZ797ULdOFKQill4msI3nGZISC1ojDMW8Ixw+7JJimi0ExjhKNOaEdmbwHGdwyePOKsVC/ljaZeDk3qFMokRVyGxo7vFJZvl/GBWlRSEbLCdcLipa1TMNSY48OkajmYUvgwWvl7CFLLTo6DlPm8mDpYPpXkvgZ0njUU91g2Vi7TSEsFdWoRwPzZnJILZ7Ns8urZsYcNKMPK3QiKUSlJil8TSBu4w2i2vVEDSDw1+hi50iapXuPtt2qjoltXQLr9Boxsxy2n5E6ArzFpidFJQt0c2Pu7TtRlb38cEMU1PsDFrY5DvYoGdGaGZiVdZfZ76iijMiUUQ3X+4Zg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=aspeedtech.com; dmarc=pass action=none header.from=aspeedtech.com; dkim=pass header.d=aspeedtech.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=aspeedtech.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=g5YMZlkh6bJg1DmrzXM4Ot5jvd0kMYaXk3pupCY1/mY=; b=TtvAZ1/dL4C1JohQaaKW8i+uwkOfsVPsPiIuiwPx1ljgDmnvSQ+M9sWFtTjJVAAbu/3plg3MlepcIGO4+RVSSYcbwO5cktAnTTZGln38GZTUM7737Cn81BRPkbxW8GL+SCc7NtUx7FYDDEwSHhDPoOKmveUEGEVn6oIpAvN53i2T16RZkEubKctnNzDku/lHyqMNveSxpIgFU1wQgSdbyDJb3OyyEaRbvNZ+d2lQg6vLb77DGSzjiCvh1FWL1gZ8BAlokojKQdAudqDDy4+DcKgV2z4GP3Y+9dj5skkLpPVOIEhaOAF4RFeePITqOOQbR/tM2Yh3WptB6VrfhpvnTQ== From: Jamin Lin To: "philmd@linaro.org" , "peterx@redhat.com" , =?iso-8859-1?Q?C=E9dric_Le_Goater?= , Peter Maydell , Steven Lee , Troy Lee , Kane Chen , Andrew Jeffery , Joel Stanley , Zhao Liu , "open list:ASPEED BMCs" , "open list:All patches CC here" CC: Jamin Lin , Troy Lee , "farosas@suse.de" , "flwu@google.com" , "nabihestefan@google.com" , =?iso-8859-1?Q?C=E9dric_Le_Goater?= Subject: [PATCH v6 03/11] hw/usb/hcd-ehci: Add property to advertise 64-bit addressing capability Thread-Topic: [PATCH v6 03/11] hw/usb/hcd-ehci: Add property to advertise 64-bit addressing capability Thread-Index: AQHc23E6V3NEomWYNkCHOyFAl9cmzw== Date: Mon, 4 May 2026 02:53:46 +0000 Message-ID: <20260504025342.1452605-4-jamin_lin@aspeedtech.com> References: <20260504025342.1452605-1-jamin_lin@aspeedtech.com> In-Reply-To: <20260504025342.1452605-1-jamin_lin@aspeedtech.com> Accept-Language: zh-TW, 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=aspeedtech.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: TYPPR06MB8206:EE_|TYUPR06MB6098:EE_ x-ms-office365-filtering-correlation-id: fdf377a3-ce2e-4fe1-c99d-08dea9885c9a x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|1800799024|366016|7416014|376014|18002099003|22082099003|56012099003|921020|38070700021; x-microsoft-antispam-message-info: MsOVy9tkUTEOyJeJd4TU/qiRlFycyxqgPYm54Y/sa2tnNSnpemrUQ6GmBUTxZeajoj+QNCCOnjVZx6pjjnAud7ukmMICqspZ1XTKUKMRTP+XssCS5MOes8fdW0nP4x8aYnz2rdlvE+dsVrBZZCTZiV9EQ7yBe9YAj8EQVilUCDvr6RsFb7mrIFcpBpezDaVgMnArCqVyvKONUh2Anb/Y5kMzJ4FIVgKf+jZOCi8CXF8w2XKMAX47Tc0zfTWWLyks9FnjPbcXtYEgbQiD7yoLNLeYVbp2qpencorhYR8MIvTdu9G88EZvnmwNBjC/v14ihDPxL5CO8BarDweG0XY+NVR4Em58AICnwhmIzJvAGGKdjqplhjKyCLNxgndTTmA8vs9378kVckJhOhBHnvtMFgAle7yIki05U0ROqZPQvqrqkximkHN1EtqFyjqrQhKz07MkJTdpim2S7ityLYPGO0FOw4MNqeeMqqznBpwojAwby4HF8aa4iY5eIhv5C7wNWCeWaDQ/7sFkeM5nkFlraG4l9vrqB1pzmGobm72qwTB2CIp7JU9TP+ZWpsSJiArFYDwGOIjxfVtbplg3YBVTuCwmJk93Z69JayUbpk7AGa494dftYc2h2auFgr1a/nKHG/EYqTExEqAdWML6FD3zWg+xn0keXo8X6M7HxjXkkrHyILbkb/Ca5rpOHQO1M2LctXXG3QQkkZ79crhttTy95wa0vMaqZUBrUSeIf758pV/u1I4/LvepFM7SC/sh6/sZxnFwc0E5zJSlmZL8cYVJwA== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:TYPPR06MB8206.apcprd06.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(1800799024)(366016)(7416014)(376014)(18002099003)(22082099003)(56012099003)(921020)(38070700021); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?SQA/tOsaZTNcltxEuetO3XKkRyKh59L7HaQ8wECPEKdQi7wPYaq+24Ae43?= =?iso-8859-1?Q?VoGskoR9NqCzMX3JfUwa0d2amuNYctNgJuWt7TS1TX0OVNDG9zJdshrjey?= =?iso-8859-1?Q?MR0mfxOvkfb8CdDHtOygwPvgwvJuzKuNfRaK5aD3NfORpXqC/Ky4DvBdxp?= =?iso-8859-1?Q?87d3/kMr696bXrlTXVpWOguyTvDTcsAcAjrRo86hbMoC+qgvp8tdloiWXs?= =?iso-8859-1?Q?64H71qeB0Ba4ZwapqGHusb/5wWrKOTqvj7kPgwtxy5TNwJILsIQtDtM7SX?= =?iso-8859-1?Q?ACI8PtIJRTw92wXTcd13TiJeESUHVbqPi7rfRoTiITR0TRUeQcEwcpUOWf?= =?iso-8859-1?Q?EJQljUETLVwR9G3txNoE4/Nfh3zmMnTdUR+PHHbreBtVMZ8DM/L5tC/tkc?= =?iso-8859-1?Q?dK2vsR3b3M8yxK3IonReEKNABXxjxpYjc/xtI4lR8V1xTawWuzWItmDUT6?= =?iso-8859-1?Q?VGAzxEx4102amOUZWcXz6/j3veo0zM0C8v336aKCy5L5NHjx3HLEKVT9S4?= =?iso-8859-1?Q?Gn7nmTI+3ieWuEUDbCaWnNa1p0Fb7wC9MlFp/uI2aX1rEnXzhguoJhYKKg?= =?iso-8859-1?Q?KUE5BhrNbXmLeKAaQ71WdB/hUoTZ3o79qOKBLqjc5kjuOqoSoSPy0c3Uqv?= =?iso-8859-1?Q?v2Gcozxlqf9CwpWZw0nOCES3eOfchruai1LqkEJSgJzfHbryoEZReGxlUu?= =?iso-8859-1?Q?t8zL4+JgGlkUou8qUBM7tBy8mqgz3YFIigoMhOcaX5lu5HYma0O/pvogKr?= =?iso-8859-1?Q?sODc6FRV3Ns6QObEdpZTYkBz24oOhURpCtXw8wn0ymfLgh3GF86ba9GH3G?= =?iso-8859-1?Q?y0lPduG7Tt+xfqYrsLsEA8E6BYhI5LwVduxGArAiV7Z1aoEW3Y8XqxFoqR?= =?iso-8859-1?Q?jftGjSSa+qTsnoOCzsIGfO7bcxq9JIJc8CL9fTTDUYAWnyyyUzmuWjsi+t?= =?iso-8859-1?Q?IRLX/Y82KcMoK+0oOE9wxLkBknfwv9BudXMLStaO5RwoZNlgpwwk+D57RV?= =?iso-8859-1?Q?zAfQLqrY9GLHKslJMUiBhyWuek6jqDF8ko/1R/vcqzGRc9CH/xxbflPaqq?= =?iso-8859-1?Q?01h5Mi+Ht42Hr28p1CSgYImUkkN5AyIyGK2KuBEYT6KTLJGHBs7XKkMmFf?= =?iso-8859-1?Q?AWlhAQ3P+MFuDLwph18cH4U/nwK2CVctZSaUbCPUFhXEiM1p/HcAEGN9/X?= =?iso-8859-1?Q?LqCCVMYcsNUdNPq9Cg+VprJ1wnHZJUImGsA+fYDe/ay0qTVKUvjwVDb9qV?= =?iso-8859-1?Q?ft8vTJUNkWlrb13mOmDYs/UJ6oSlGom6B81+RGotoWFtV/oLtZxZFXf9ki?= =?iso-8859-1?Q?Z4TFggWaXuE04kVSM1fxfvJlL5Sspsl3CVBwkpE83vf3efk0NNV2scJWd1?= =?iso-8859-1?Q?kag4YGKMXSww5sfTZm2wFb5f97hcsO6ST298IcOGR+fxsQwbv2doTsk8DC?= =?iso-8859-1?Q?DAyn3Sy52PRA+ykYgQewM/iMYumjdcUX9o+XP33OwshiA4Zxq9aOVeQh9p?= =?iso-8859-1?Q?hSQcz0/9nIJ84RWSh5jjq+1V/D92e5k1roz7juI9IE+8EnD12nJyjIl80d?= =?iso-8859-1?Q?oDCk9BOAvOXPCaBj7OPUhnYre4iO0j9gOzF+qHywlYJvBuwdXV4kh9bjwH?= =?iso-8859-1?Q?C4L2WEThmbihdHHjmxjXS47k9jDXoGonSsMYyM7sXi05A4oJV3p0rri//F?= =?iso-8859-1?Q?tSqz28oToBJjdLII+csTc0uOci9dMD3TPAxzSsyC/RgCXRXeYP4gw9aAaW?= =?iso-8859-1?Q?CEWNn/fwTc8kQRe7x80xAyuTHieWbNN+WDs3Z3FAC39ic5s7MEVldmewNp?= =?iso-8859-1?Q?baZkICcZHw=3D=3D?= Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Exchange-RoutingPolicyChecked: ecB5LieDUZid/iEJOXzXyqXdKsRAURrktTG6ByksgjIKDjEBQW/VnPCH7bBWx9KcEzAYSmq81u5Oe5kseKEet7RMxc88yaGWLkafTri5wxXh+KK6jcDPIVt4QYkU5VXlHGGS+RknvhSOUNG/8L6xyZQApwoSwstRIyR5CcN4ZNZItmsc49NtOnxFOp3K9aOj2x3cctxUxBBVKGCFi1uHtZIB0fXSx1ocap57n3Zoipc6VPRxZAJcp/sGVQCJcFAMCMfitvkoomnSYQmsLVk6OT3N1OtD70vC1zkjOZ68MwmPp4oE8bMrDXUPFxFOLqgFiYUKIXv3Bmo7ahBUaqU9Iw== X-OriginatorOrg: aspeedtech.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: TYPPR06MB8206.apcprd06.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: fdf377a3-ce2e-4fe1-c99d-08dea9885c9a X-MS-Exchange-CrossTenant-originalarrivaltime: 04 May 2026 02:53:46.7430 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 43d4aa98-e35b-4575-8939-080e90d5a249 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: Wcx+PdSPTdfzPKKEDzh2Y5VHHdhHhCpQqXsTU+Y4GJFycMnwNyZKjK6caVWGbvtXLGr4hFztjLuQNTpMjcGYOT3h94pK6eQrSvqWZ/J4sSw= X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYUPR06MB6098 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=lists1p.gnu.org; Received-SPF: pass client-ip=2a01:111:f403:c406::3; envelope-from=jamin_lin@aspeedtech.com; helo=OS8PR02CU002.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 @aspeedtech.com) X-ZM-MESSAGEID: 1777863295207158500 Content-Type: text/plain; charset="utf-8" Introduce a new boolean property, "caps-64bit-addr", to control HCCPARAMS[0] (64-bit Addressing Capability). When enabled, the EHCI controller advertises support for 64-bit address memory pointers as defined in the EHCI specification (Table 2-7, HCCPARAMS). This allows software to use the 64-bit data structure formats described in Appendix B. When disabled (default), the controller reports 32-bit addressing capability and uses the standard 32-bit data structures. The EHCI CTRLDSSEGMENT register provides the upper 32 bits [63:32] used to form 64-bit addresses for EHCI control data structures. Per EHCI 1.0 spec section 2.3.5, when the HCCPARAMS 64-bit Addressing Capability bit is zero, CTRLDSSEGMENT is not used: software cannot write it and reads must return zero. Add a capability check in the operational register write handler and reject guest writes to CTRLDSSEGMENT when 64-bit addressing is not enabled. Signed-off-by: Jamin Lin Reviewed-by: C=C3=A9dric Le Goater Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- hw/usb/hcd-ehci.h | 5 ++++- hw/usb/hcd-ehci.c | 14 +++++++++++++- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/hw/usb/hcd-ehci.h b/hw/usb/hcd-ehci.h index 3acbddfc5c..f1f2fde578 100644 --- a/hw/usb/hcd-ehci.h +++ b/hw/usb/hcd-ehci.h @@ -257,6 +257,7 @@ struct EHCIState { /* properties */ uint32_t maxframes; bool migrate_fetch_addr_64bit; + bool caps_64bit_addr; =20 /* * EHCI spec version 1.0 Section 2.3 @@ -313,7 +314,9 @@ struct EHCIState { #define DEFINE_EHCI_COMMON_PROPERTIES(_state) \ DEFINE_PROP_UINT32("maxframes", _state, ehci.maxframes, 128), \ DEFINE_PROP_BOOL("x-migrate-fetch-addr-64bit", _state, \ - ehci.migrate_fetch_addr_64bit, true) + ehci.migrate_fetch_addr_64bit, true), \ + DEFINE_PROP_BOOL("caps-64bit-addr", _state, \ + ehci.caps_64bit_addr, false) =20 extern const VMStateDescription vmstate_ehci; =20 diff --git a/hw/usb/hcd-ehci.c b/hw/usb/hcd-ehci.c index 9d74259289..7166a93fd2 100644 --- a/hw/usb/hcd-ehci.c +++ b/hw/usb/hcd-ehci.c @@ -1109,6 +1109,15 @@ static void ehci_opreg_write(void *ptr, hwaddr addr, } break; =20 + case CTRLDSSEGMENT: + if (!s->caps_64bit_addr) { + qemu_log_mask(LOG_GUEST_ERROR, + "ehci: write to CTRLDSSEGMENT while " + "64-bit addressing capability is disabled\n"); + return; + } + break; + case ASYNCLISTADDR: if (ehci_async_enabled(s)) { qemu_log_mask(LOG_GUEST_ERROR, @@ -2554,6 +2563,9 @@ void usb_ehci_realize(EHCIState *s, DeviceState *dev,= Error **errp) s->maxframes); return; } + if (s->caps_64bit_addr) { + s->caps[0x08] |=3D BIT(0); + } =20 memory_region_add_subregion(&s->mem, s->capsbase, &s->mem_caps); memory_region_add_subregion(&s->mem, s->opregbase, &s->mem_opreg); @@ -2613,7 +2625,7 @@ void usb_ehci_init(EHCIState *s, DeviceState *dev) s->caps[0x05] =3D 0x00; /* No companion ports at present */ s->caps[0x06] =3D 0x00; s->caps[0x07] =3D 0x00; - s->caps[0x08] =3D 0x80; /* We can cache whole frame, no 64-bit = */ + s->caps[0x08] =3D 0x80; /* We can cache whole frame */ s->caps[0x0a] =3D 0x00; s->caps[0x0b] =3D 0x00; =20 --=20 2.43.0 From nobody Tue May 26 03:33:44 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=aspeedtech.com); dmarc=pass(p=quarantine dis=none) header.from=aspeedtech.com ARC-Seal: i=2; a=rsa-sha256; t=1777863352; cv=pass; d=zohomail.com; s=zohoarc; b=aJCO7r4mQKv7Ih3v8vslylWaqu4NSpR3rzj4nvTVYGD++yDLIFvkuJ/VbvsyiZ09GJn3AupUUqmHR2frk9jeMSfKqxFqvXVHRcdu11ZsBt+xOmeVnR8T+gyaQjhF55GVgIyBwXYOldufbl8akSmuaTxgTcdo83WOIRpakZxi+Bs= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1777863352; 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=8WSgMOQpGNOHC2DBPlWhfJj0J3VxElXrHXPibtMafH8=; b=BbtTH4urGOw+jtJb9KhGrLy4+TSH5Qwl62wEWfV47tiZbgNLGo3gAHZdUCVbpj2BaP3dSFwtAUmGfJdnXmHTxtpPuY1ZCjLeZ+yAhYqzMe9OH2UaYZTU8spXTvr8wS/2BIgazMcCJ5EXLQcpd4/VuATfl5GpBATmZaBlYSzaEzI= 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=aspeedtech.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1777863352597300.73676706071024; Sun, 3 May 2026 19:55:52 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wJjRb-0001Xw-8r; Sun, 03 May 2026 22:54:03 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wJjRT-0001WD-U6; Sun, 03 May 2026 22:53:55 -0400 Received: from mail-japaneastazlp170130007.outbound.protection.outlook.com ([2a01:111:f403:c405::7] helo=TYDPR03CU002.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 1wJjRR-000403-RH; Sun, 03 May 2026 22:53:55 -0400 Received: from TYPPR06MB8206.apcprd06.prod.outlook.com (2603:1096:405:383::19) by OSNPR06MB8442.apcprd06.prod.outlook.com (2603:1096:604:486::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9870.25; Mon, 4 May 2026 02:53:48 +0000 Received: from TYPPR06MB8206.apcprd06.prod.outlook.com ([fe80::e659:1ead:77cb:f6d3]) by TYPPR06MB8206.apcprd06.prod.outlook.com ([fe80::e659:1ead:77cb:f6d3%2]) with mapi id 15.20.9870.023; Mon, 4 May 2026 02:53:47 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=sTxb9NWgndVGtE+b3jJ7bL9sgJulxjh4cyu7Bw1zWimCBVVp+aZLm7vz/OF7atbhM3bdQ4lPE520LNmVHuYnOMGyb12+lX4X28/I2wSPIPDNc2SoJ4VhKeKVgJKsJmiXC3I/JtOLM5sre7SvXJpvyezU0oz7NlTeeeUsqqlEYdyojQu9BEcDz6hmLuzTbNRLwPKW5Nfsru87zUN+ypTu9/AkLDN1c9A7MUo+cijwsL/3Oq3fNB/T+G8EtGXm3veyyd1ReFptVtCtOuYyajOCLtQx3Qj4po00JhwmNJseCQ1/kdwkbPEZ/Gz1G9elWZcBgdA0V/z82wfNwId+50DM3g== 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=8WSgMOQpGNOHC2DBPlWhfJj0J3VxElXrHXPibtMafH8=; b=HxYfzUeKDVwNQlot8IgMNYnT/Ow/Lo+48fpyXhc+2JfEF/O886vNBUd9A6AE60GmDm+1N7G61bO8k5GKVWILYoDuHbJxbKqN3BpbI7H8SFcVojzvOQa1jCbcVUZo9kbmEsw1P2RIOj33rwib8vUxBuihtXMgb2Ng7SgLp46gb5OsTV3aFlL2ZmWv8peRC/a7UJZX26xZ2gFdmpGsQtdpNiJU86+3eJxlgszK0f+qGmJE0r5Kz1QzAdPde0HvPFCyKnqM7D7krp6BrGw2H/NB+mG+F4J335RyihJpWHaEF76yAge+ASFS01or3RWdhotlQoFBP2K7EkdydIdto3o4Dw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=aspeedtech.com; dmarc=pass action=none header.from=aspeedtech.com; dkim=pass header.d=aspeedtech.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=aspeedtech.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=8WSgMOQpGNOHC2DBPlWhfJj0J3VxElXrHXPibtMafH8=; b=O8KBV53pR0k3CzubmYWwCnveh8ECIg0zhfbLVMqD0ERSTwSQwZZn33lSrTDvg178Wd5bEpY+Pbk2vwcCp8h+sQDb3Mycz/5wwUz4UkNf/H/rOjrKjuCOieGICwrX2Veu6uoUQl0cZ7R/ExIh93ASppJZqkpD94FnHz3NkfXRIVDss7BQekm3c1Xx8DamOOlEiUsRwQPXNXRO2qXr04eKCIg6rhhzhfjV0LYNj7oLHt7HyCNmJ2h77K2WWerFA1z3I6uHLTV43MOK0octz/B+Oktpwzlsm1OfihcIvmwdYGhA5QHK1bLiUV6vIef/CIDbqN2oiAQQb17GZjxIihbu3w== From: Jamin Lin To: "philmd@linaro.org" , "peterx@redhat.com" , =?iso-8859-1?Q?C=E9dric_Le_Goater?= , Peter Maydell , Steven Lee , Troy Lee , Kane Chen , Andrew Jeffery , Joel Stanley , Zhao Liu , "open list:ASPEED BMCs" , "open list:All patches CC here" CC: Jamin Lin , Troy Lee , "farosas@suse.de" , "flwu@google.com" , "nabihestefan@google.com" Subject: [PATCH v6 04/11] hw/usb/hcd-ehci: Implement 64-bit QH descriptor addressing Thread-Topic: [PATCH v6 04/11] hw/usb/hcd-ehci: Implement 64-bit QH descriptor addressing Thread-Index: AQHc23E6EmTdcjXkvkO41MSGG3nK9w== Date: Mon, 4 May 2026 02:53:47 +0000 Message-ID: <20260504025342.1452605-5-jamin_lin@aspeedtech.com> References: <20260504025342.1452605-1-jamin_lin@aspeedtech.com> In-Reply-To: <20260504025342.1452605-1-jamin_lin@aspeedtech.com> Accept-Language: zh-TW, 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=aspeedtech.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: TYPPR06MB8206:EE_|OSNPR06MB8442:EE_ x-ms-office365-filtering-correlation-id: 8cfafa79-5921-4cce-40b5-08dea9885d3e x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|366016|1800799024|7416014|376014|22082099003|18002099003|56012099003|921020|38070700021; x-microsoft-antispam-message-info: e0rb+msLajPqv5UJu4U4YONqGH2uxe7clAiEF+aGVuqxDjJaEnlJ/5kHhyCL2M/RE3N0zxfZJVtGC8INTMCRljUCp5jWs+cf2Y0wHFcmxBDguowWOCxh1dE319m0U/4A+haKDw8UFyZRPWSIHgPXjuosKH9ynLb54+pa/1uqu8dlvco75EeJC8IRcMFNkryYiJEJWjQit50Cv49oXJ72vqwK2q89DKnDA06HLyVF24SWRpqymnpVmlN88Qk21kHqCnaK6Vt+Uvky6YAr2CpLOx4EAdFxxLpWReu3wuHfsFj3wRdOMISpu9oW07lq7OdKpnPEdZ7PZZzNUIgT+7TZVVKwVK2KS0abLrC8NoSQt60qSOhkrGPXqFjm/0bzzjshlSkAL4LUqnkN39vDdMspuAS2oxwI7SxGbx5OxsC9vAvSv9L38kzAK/jA3k8XkTgBSPJMqzeVTBxocs50pv0P/fsilhuM/VXrT6w37T7dvXgt30QVoYlFyc1hIffGA32/RLK4NgEL6Hh/e35b/1lc8yN7ByAwGtO0jSHBr4ICnYuv7OIPvFbB9EP7sYGFsisHpPFAq5pxyC6eyg0Qz+iD1VwO6LdquJsHn+T0r5LRtUoIZaZs8DJbzASDzdcC2y2O3zQ2l4xm3n+9CakDtu2SSIqoW9JFE+R5HwoQEv8FSLzd8nsEDWtesdWIC6U0DwX3paj0BQINJ8Hu9Eo+UqAUHAY0Pc5JW0p8Y6O0hYH38QSivzv5tkIDbUpxkEJUpgQvfp7NdMrqtVRy7Qo+flCKAg== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:TYPPR06MB8206.apcprd06.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(366016)(1800799024)(7416014)(376014)(22082099003)(18002099003)(56012099003)(921020)(38070700021); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?NIjmf02MF259Yyvy24ihpiti2Jm9YEKPTXkWgr8so/BicubMVQtBzbN8HA?= =?iso-8859-1?Q?Qtcxb9imeki7unmHU4QF845ZyItK3f2buPCGXBYDGuMzrtZYbMNABlys1Z?= =?iso-8859-1?Q?aBMlpYafE47JAyOCbbs4U/siUanNrQo3r/1YqjRaTcAmwymsG55NoRvw+V?= =?iso-8859-1?Q?G6zAaB3x8o8QWgC6QCGJQiuQmqmHDxXUWr6xEWvVhP5MlXDHurMMtxtBr1?= =?iso-8859-1?Q?sAPlbkJbdKW3jjAZAByZM4s6I4i+PPF2JHSSabs0hntECabTZoH0h1/ml+?= =?iso-8859-1?Q?Uwdfb8RTPAej4qnwyNQXyf7aA4LJJcGhEbsVDddF6mqI42JwSRLmnFLEOh?= =?iso-8859-1?Q?OLuD/ClgNvIKm59SYvjYajoGP0i/e9r429tRRn4HxmwXNiG4EvcjGuLyYy?= =?iso-8859-1?Q?cRKESQtzH/x3kKeveFQknEcTqLe7lS9yrGDkmb3QZJoDaVr7RfhokL0Ea9?= =?iso-8859-1?Q?CirD9YCKCNjJ55aRidCJmAPdCwiYjN1BBjEzoDWx6vVAIU/W0jyzOj4XK5?= =?iso-8859-1?Q?2JM0Uy17Y5ijuoHDXiWVtINoKzFiZaJXLqMT9DlUDND2kHofwyWtrUeKVW?= =?iso-8859-1?Q?yfF6pkYosv6rKy9C5eGvvF+XgirrBde5oJkD2S+DhdhG/jmFOB33UFouQu?= =?iso-8859-1?Q?LutvBmQ/NsU/5iMO+6//RDnCQsirYfgEK6ye3J0v5wA/2PAGfbMWqWlpSs?= =?iso-8859-1?Q?zTy1it67SjP2ezRPhE7e7kVPBAysZqY7g1X0TXQ0Lsg1v+mn/AJjsYiFzC?= =?iso-8859-1?Q?OCHz84+w5irZlD46UCAxqNvs8EJS791q2TJ1Frd+UGAvj4aYHLy41EwAJU?= =?iso-8859-1?Q?DME6I6kKBnA0M1a4mSDhEM9LPKPNuiqbSY/6Vc7qm35zJhknRn7OMw838l?= =?iso-8859-1?Q?cNFFXgJ2AuiN/qXcS/DDRXaKrkS397A9vQcjEp9lPckWTtQfFfWoc4pEbz?= =?iso-8859-1?Q?0iSBE/kHPt8uMfnciIIjIqkIZWaOIWMpzL20qp3Y+s/8gzxIkvJj19IQmC?= =?iso-8859-1?Q?avVkQj3oxYcqS1lMRZ7Sp/5dVRSJ7ILYn9o+eW7mpjvzBZQf3pgtrLb/hV?= =?iso-8859-1?Q?eoNuu1kLiDihbhBFkAs8BamVolFrrJNwBmCz17KwArBlQab7Ai5Z2IMsTz?= =?iso-8859-1?Q?eS9UStGhEwy6DPitoDkglvEu/C+kfkAOrcZOhlRY+lvmRAbnRMbSpFjR6b?= =?iso-8859-1?Q?PwYTIUAczCIQwRK7j/f4ogHUWwFgEmkPbsLQfwjZFDK9WNmijfrMRPSw3s?= =?iso-8859-1?Q?0jiMlAcitUGwcJf/wwzksFBZKDCxr/t31Pfnp1/Pc3I0CVSi9FrAbiJ8+I?= =?iso-8859-1?Q?n2P5Wr2p4sgp2pM/BT7hHGqH0DFlbWLg7/d8psP+oI/mM3SNXvs6/qZ5XM?= =?iso-8859-1?Q?3TESszoKGIdZouYWrgnQOAZAKGYvl0r0aiU47f6OXD+Ts8MiusvTJreep0?= =?iso-8859-1?Q?b3K3cTZk5zFtCWTQPZ4wNNKfjoHnNc3h8V32SneDlfnltxWxaiAobZcLU/?= =?iso-8859-1?Q?PObjjKVJ8ZVGIJfeIPrX58+4SyVvay+IVoQ5HQwpTi3ePZKQVyQf6jt+1d?= =?iso-8859-1?Q?5XQhm6Y5TRuqo9HhKHJmgwI8BbBE537DIvsaQp8tBNcyHD2UZmGKpu0nLN?= =?iso-8859-1?Q?ckxyiL1vckhIWXEBvki0Duyx65MBO12N+2v50xizLyzpqzXcuW539hCKMF?= =?iso-8859-1?Q?d1hSAGpZkCK37LAq9XSu+YQdC5bLNDy/26kHDFF4fuLP6ahI3Z108GSaSv?= =?iso-8859-1?Q?PbYEVSkaXP4SRhTz9TCrFdcFI7vBaePaCq8PWWoUwOcacePNjQqc2Zq9m9?= =?iso-8859-1?Q?5fHyCq8YsQ=3D=3D?= Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Exchange-RoutingPolicyChecked: lNolUV+kX5Yl+4F06PdDwkktcqy1dM/JIZJsa09PaQmoQnGXTlZ2knia3BwO9P2YFcEEJ8W90rZSUzX5ukr9OuwILdmT9rrD5GSUsvMXc9kM9Bl7SNr1GoABjqZ9UKCa4mRde8+ifn0C98KaM5cnDJq1fTmgZRHi/Gtprxc0EMEKe9b50L5pduPJLeV7fjeQPNe1vaNvnwdLwZJZIIaK1c0UbRAXa4YLUATaKJwnADWGkmabTW5KnOSs71AqCUx/XKBpW+BvEY3nilCLTRs+T05/1AMX7CxL1lNoOeHisLk2bvTqNC8JEBEOopESXb9glFLSeSWkiLFK3C6ObbPhPg== X-OriginatorOrg: aspeedtech.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: TYPPR06MB8206.apcprd06.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8cfafa79-5921-4cce-40b5-08dea9885d3e X-MS-Exchange-CrossTenant-originalarrivaltime: 04 May 2026 02:53:47.8075 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 43d4aa98-e35b-4575-8939-080e90d5a249 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 254b1S1eXTuLOujV4F3YA9JmJL9pzw6N+LGOn5gQpNty+p5eIOFeqhmriErYPEvJQ6eRjjqMrH8wwMeNNqULnGE3YCVorLR8K6pnMKNU/Cs= X-MS-Exchange-Transport-CrossTenantHeadersStamped: OSNPR06MB8442 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=lists1p.gnu.org; Received-SPF: pass client-ip=2a01:111:f403:c405::7; envelope-from=jamin_lin@aspeedtech.com; helo=TYDPR03CU002.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 @aspeedtech.com) X-ZM-MESSAGEID: 1777863353092158500 Content-Type: text/plain; charset="utf-8" EHCI supports 64-bit control data structure addressing when the 64-bit Addressing Capability bit in HCCPARAMS is set. In that mode, the CTRLDSSEGMENT register supplies the upper 32 bits which are concatenated with 32-bit link pointer fields to form full 64-bit descriptor addresses (EHCI 1.0, section 2.3.5 and Appendix B). The current implementation assumes 32-bit QH descriptor addresses and directly uses link pointer values without applying the CTRLDSSEGMENT upper dword. Introduce a helper, ehci_get_desc_addr(), to construct full 64-bit descriptor addresses when 64-bit capability is enabled. Update QH traversal paths (async list walk, horizontal QH link, and periodic schedule entry handling) to use the translated 64-bit addresses. EHCI 64-bit buffer pointer fields are defined in Appendix B as split 32-bit low/high parts located at separate offsets, rather than a single contiguous 64-bit field. Therefore, the buffer pointers cannot be represented as uint64_t bufptr[5] without violating the descriptor layout defined by the specification. Introduce ehci_get_buf_addr() to construct full 64-bit buffer addresses from bufptr[] and bufptr_hi[] fields. Use this helper when calculating transfer buffer addresses so that data buffers above 4GB are correctly handled. Also add bufptr_hi[5] to EHCIqh to support 64-bit buffer pointer fields as defined in Appendix B. When 64-bit capability is disabled, descriptor addresses remain 32-bit and existing behaviour is unchanged. Note: Similar split 64-bit buffer pointer handling is required for qTD, iTD and siTD descriptors, which will be addressed in follow-up changes. Signed-off-by: Jamin Lin Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- hw/usb/hcd-ehci.h | 4 ++++ hw/usb/hcd-ehci.c | 47 ++++++++++++++++++++++++++++++++++----------- hw/usb/trace-events | 2 +- 3 files changed, 41 insertions(+), 12 deletions(-) diff --git a/hw/usb/hcd-ehci.h b/hw/usb/hcd-ehci.h index f1f2fde578..3428839ec6 100644 --- a/hw/usb/hcd-ehci.h +++ b/hw/usb/hcd-ehci.h @@ -141,6 +141,9 @@ typedef struct EHCIqtd { #define QTD_BUFPTR_SH 12 } EHCIqtd; =20 +/* QH overlay: altnext_qtd, token, bufptr[5], bufptr_hi[5] */ +#define EHCI_QH_OVERLAY_COUNT 12 + /* * EHCI spec version 1.0 Section 3.6 */ @@ -194,6 +197,7 @@ typedef struct EHCIqh { #define BUFPTR_FRAMETAG_MASK 0x0000001f #define BUFPTR_SBYTES_MASK 0x00000fe0 #define BUFPTR_SBYTES_SH 5 + uint32_t bufptr_hi[5]; } EHCIqh; =20 enum async_state { diff --git a/hw/usb/hcd-ehci.c b/hw/usb/hcd-ehci.c index 7166a93fd2..e770f0a7fa 100644 --- a/hw/usb/hcd-ehci.c +++ b/hw/usb/hcd-ehci.c @@ -147,6 +147,23 @@ static const char *addr2str(hwaddr addr) return nr2str(ehci_mmio_names, ARRAY_SIZE(ehci_mmio_names), addr); } =20 +static uint64_t ehci_get_buf_addr(const EHCIState *s, uint32_t hi, + uint32_t lo, uint32_t lo_mask) +{ + uint64_t addr =3D lo & lo_mask; + + if (s->caps_64bit_addr) { + addr =3D deposit64(addr, 32, 32, hi); + } + + return addr; +} + +static uint64_t ehci_get_desc_addr(const EHCIState *s, uint32_t lo) +{ + return ehci_get_buf_addr(s, s->ctrldssegment, lo, UINT32_MAX); +} + static void ehci_trace_usbsts(uint32_t mask, int state) { /* interrupts */ @@ -440,7 +457,7 @@ static bool ehci_verify_qh(EHCIQueue *q, EHCIqh *qh) (qh->current_qtd !=3D q->qh.current_qtd) || (q->async && qh->next_qtd !=3D q->qh.next_qtd) || (memcmp(&qh->altnext_qtd, &q->qh.altnext_qtd, - 7 * sizeof(uint32_t)) !=3D 0) || + EHCI_QH_OVERLAY_COUNT * sizeof(uint32_t)) !=3D 0) || (q->dev !=3D NULL && q->dev->addr !=3D devaddr)) { return false; } else { @@ -1538,7 +1555,9 @@ static int ehci_state_waitlisthead(EHCIState *ehci, = int async) EHCIqh qh; int i =3D 0; int again =3D 0; - uint64_t entry =3D ehci->asynclistaddr; + uint64_t entry =3D 0; + + entry =3D ehci_get_desc_addr(ehci, ehci->asynclistaddr); =20 /* set reclamation flag at start event (4.8.6) */ if (async) { @@ -1566,8 +1585,8 @@ static int ehci_state_waitlisthead(EHCIState *ehci, = int async) goto out; } =20 - entry =3D qh.next; - if (entry =3D=3D ehci->asynclistaddr) { + entry =3D ehci_get_desc_addr(ehci, qh.next); + if (entry =3D=3D ehci_get_desc_addr(ehci, ehci->asynclistaddr)) { break; } } @@ -1693,7 +1712,7 @@ static EHCIQueue *ehci_state_fetchqh(EHCIState *ehci,= int async) } =20 if (trace_event_get_state_backends(TRACE_USB_EHCI_FETCHQH_DBG)) { - if (q->qhaddr !=3D q->qh.next) { + if (q->qhaddr !=3D ehci_get_desc_addr(ehci, q->qh.next)) { trace_usb_ehci_fetchqh_dbg(q->qhaddr, q->qh.epchar & QH_EPCHAR_H, q->qh.token & QTD_TOKEN_HALT, @@ -1876,10 +1895,12 @@ static int ehci_state_fetchqtd(EHCIQueue *q) =20 static int ehci_state_horizqh(EHCIQueue *q) { + uint64_t addr; int again =3D 0; =20 - if (ehci_get_fetch_addr(q->ehci, q->async) !=3D q->qh.next) { - ehci_set_fetch_addr(q->ehci, q->async, q->qh.next); + addr =3D ehci_get_desc_addr(q->ehci, q->qh.next); + if (ehci_get_fetch_addr(q->ehci, q->async) !=3D addr) { + ehci_set_fetch_addr(q->ehci, q->async, addr); ehci_set_state(q->ehci, q->async, EST_FETCHENTRY); again =3D 1; } else { @@ -2205,6 +2226,8 @@ static void ehci_advance_periodic_state(EHCIState *eh= ci) uint32_t entry; uint32_t list; const int async =3D 0; + uint64_t entry64; + uint64_t list64; =20 /* 4.6 */ =20 @@ -2229,12 +2252,14 @@ static void ehci_advance_periodic_state(EHCIState *= ehci) break; } list |=3D ((ehci->frindex & 0x1ff8) >> 1); - - if (get_dwords(ehci, list, &entry, 1) < 0) { + list64 =3D ehci_get_desc_addr(ehci, list); + if (get_dwords(ehci, list64, &entry, 1) < 0) { break; } - trace_usb_ehci_periodic_state_advance(ehci->frindex / 8, list, ent= ry); - ehci_set_fetch_addr(ehci, async, entry); + entry64 =3D ehci_get_desc_addr(ehci, entry); + trace_usb_ehci_periodic_state_advance(ehci->frindex / 8, + list64, entry64); + ehci_set_fetch_addr(ehci, async, entry64); ehci_set_state(ehci, async, EST_FETCHENTRY); ehci_advance_state(ehci, async); ehci_queues_rip_unused(ehci, async); diff --git a/hw/usb/trace-events b/hw/usb/trace-events index 8c90688bb3..67249d69c2 100644 --- a/hw/usb/trace-events +++ b/hw/usb/trace-events @@ -113,7 +113,7 @@ usb_ehci_dma_error(void) "" usb_ehci_execute_complete(uint64_t qhaddr, uint32_t next, uint64_t qtdaddr= , int status, int actual_length) "qhaddr=3D0x%" PRIx64 ", next=3D0x%x, qtda= ddr=3D0x%" PRIx64 ", status=3D%d, actual_length=3D%d" usb_ehci_fetchqh_reclaim_done(uint64_t qhaddr) "QH 0x%" PRIx64 " H-bit set= , reclamation status reset - done processing" usb_ehci_fetchqh_dbg(uint64_t qhaddr, uint32_t h, uint32_t halt, uint32_t = active, uint32_t next) "QH 0x%" PRIx64 " (h 0x%x halt 0x%x active 0x%x) nex= t 0x%08x" -usb_ehci_periodic_state_advance(uint32_t frame, uint32_t list, uint32_t en= try) "frame=3D%d, list=3D0x%x, entry=3D0x%x" +usb_ehci_periodic_state_advance(uint32_t frame, uint64_t list, uint64_t en= try) "frame=3D%d, list=3D0x%" PRIx64 ", entry=3D0x%" PRIx64 usb_ehci_skipped_uframes(uint64_t skipped_uframes) "skipped %" PRIu64 " uf= rames" usb_ehci_log(const char *msg) "%s" =20 --=20 2.43.0 From nobody Tue May 26 03:33:44 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=aspeedtech.com); dmarc=pass(p=quarantine dis=none) header.from=aspeedtech.com ARC-Seal: i=2; a=rsa-sha256; t=1777863355; cv=pass; d=zohomail.com; s=zohoarc; b=crefsLbzaDBFVSQeMvH9tDfYD+GI9mRbkoxWUrTSmwXtjjrZMVywO9Ig4cdE8PJTvk508682ASzpPPqVxr5ZFjtULKBA76GgLrOefvhwPuASC7xwWpTCb1q5fCn+6j8T9MgLuP3mSllur0P8RlqAZ1yZwKpuSm4psXqU0JjFvS4= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1777863355; 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=MRNT6cKI+GntcOBpk2TLwkRHFyDRSAaU1uULt+xMJ0o=; b=Ov9PbwlwVPX9Pcp13noN7jDbrGXx5iJ35GgAx1K9E6wZtlYoHO74rDCsTsHYW8fEF8YCEqpAefas5NjqoYG9VuxAvN7g3W5k+crLLxzoNHs3wzcYuIv7qHSLKbJmcBKN2SMS89Tb3Ga+WuHOyCDztc5KsBkItI27WeS/LoA7ZME= 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=aspeedtech.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1777863355507295.6144988524602; Sun, 3 May 2026 19:55:55 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wJjRd-0001ao-BP; Sun, 03 May 2026 22:54:05 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wJjRX-0001Wv-2y; Sun, 03 May 2026 22:53:59 -0400 Received: from mail-japaneastazlp170130007.outbound.protection.outlook.com ([2a01:111:f403:c405::7] helo=TYDPR03CU002.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 1wJjRV-000403-5F; Sun, 03 May 2026 22:53:58 -0400 Received: from TYPPR06MB8206.apcprd06.prod.outlook.com (2603:1096:405:383::19) by OSNPR06MB8442.apcprd06.prod.outlook.com (2603:1096:604:486::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9870.25; Mon, 4 May 2026 02:53:49 +0000 Received: from TYPPR06MB8206.apcprd06.prod.outlook.com ([fe80::e659:1ead:77cb:f6d3]) by TYPPR06MB8206.apcprd06.prod.outlook.com ([fe80::e659:1ead:77cb:f6d3%2]) with mapi id 15.20.9870.023; Mon, 4 May 2026 02:53:49 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=KdLxu89RSSnY06TCVOh/Yivy0SJ1kcw9GGrdBumFymKQtg7hwfSx7haBRPbltFY7QA/fZVoD0YxVtJZccKkh0z2NsaLKmYeyMfKofobHzvxrgQY869hGiyRhXr8uCPW/tVVA1HlOqVRgRHN4jUfeBq9EiCBRfk0HGXvCVl64qy/qTz1US1o4iBjp/bw0xzB2jWApZyM5y5/1u2n76MRXL5w1YlR/SseAfoBVZwoQ8YIR0Ch2ccsrxqHbv9GDDeDo97m1DGo+H29sRvyucSD4ROw3g+NZW9iG0vIsDW8MahlucFp/QAKee2QAdzzCqx0BCw6BBNF+x2mrfDuDFklilg== 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=MRNT6cKI+GntcOBpk2TLwkRHFyDRSAaU1uULt+xMJ0o=; b=m2GqFIv7xlTjsvHadQe6IwaEqbPr1WtAoafnPZ9a2ZvV0IdezgAZYww3ApddK+bjxT/p5wc7veoaPFRUtr70LuiB88M+6iN7i3OQtNEGK5pzpe6ASHLp5Sqo/YpUwAVRVEP17Mj7X9OkiUepz3qIT3UGTSnFzHohCko7p1ws9GuL1weR38EhPbCsW4RykXRhECF2oDxv0H4V6wC3w8y1ANOFs9fa+SLWX2qvvUBqfJi95B8wwhYpPoYcpeYGFtJHWn2Ge4P/fL00GSa2H5GG45uwCpcGFPZjXbLNqojkbSei1O7INd2tk/6CqGG0nW/AOG1zDII9BROjRf3NIcDxHA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=aspeedtech.com; dmarc=pass action=none header.from=aspeedtech.com; dkim=pass header.d=aspeedtech.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=aspeedtech.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=MRNT6cKI+GntcOBpk2TLwkRHFyDRSAaU1uULt+xMJ0o=; b=HKhJ1o2aDYVF/jYlnB23Ifi2U8Obk/mFFO74nGJa7HxkM7T19YMpbZfjk+KmYnozHmwH3hQhe6yalQb0V10YnztjwwyPnlgbIIxMUIH04jTJ2Jj5moOldYnGXkzoTY7Uf9VqVITbLQdOsV8IzwlnTIsuTJbi6mswpf1zwL65J8MzL3SlTMg+uRFlvhTIUHR2Gz0+p/Pm9wEG7aYDfEAxzr2QlEw9RLbl78VGvrBweIqVPDJtrS9dglHkFyvURF0+Yhib+IeccZoWqnDUgGBZeKXSMskcuAVWlmBqOwPvtqwCd0Y+3+q1e4U82BNUpfCv4uugDw3LLzdni7h/jpK6Dw== From: Jamin Lin To: "philmd@linaro.org" , "peterx@redhat.com" , =?iso-8859-1?Q?C=E9dric_Le_Goater?= , Peter Maydell , Steven Lee , Troy Lee , Kane Chen , Andrew Jeffery , Joel Stanley , Zhao Liu , "open list:ASPEED BMCs" , "open list:All patches CC here" CC: Jamin Lin , Troy Lee , "farosas@suse.de" , "flwu@google.com" , "nabihestefan@google.com" Subject: [PATCH v6 05/11] hw/usb/hcd-ehci: Implement 64-bit qTD descriptor addressing Thread-Topic: [PATCH v6 05/11] hw/usb/hcd-ehci: Implement 64-bit qTD descriptor addressing Thread-Index: AQHc23E74ZBaR5tI2UyI+h2eiu20cg== Date: Mon, 4 May 2026 02:53:49 +0000 Message-ID: <20260504025342.1452605-6-jamin_lin@aspeedtech.com> References: <20260504025342.1452605-1-jamin_lin@aspeedtech.com> In-Reply-To: <20260504025342.1452605-1-jamin_lin@aspeedtech.com> Accept-Language: zh-TW, 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=aspeedtech.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: TYPPR06MB8206:EE_|OSNPR06MB8442:EE_ x-ms-office365-filtering-correlation-id: 96d9aa65-2bc1-4e2e-8d50-08dea9885e08 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|366016|1800799024|7416014|376014|22082099003|18002099003|56012099003|921020|38070700021; x-microsoft-antispam-message-info: wCzm/uBOiZDMPnPwPC6uJhXG3EVEhFBwcqmvrjxf4fMYE2albkWZOfJlXWTf7tfj1AyIpQozHpNA+fosZKvwoYX5ieAh9F5L/cR7Ww7XhIzwxGhbhFxP/DUg6Zr8K8fxegC7dqLWHJSDLenMG1bWX4y6iFiMxyOcCzLzDgsa8awOQMyWHyoQmZmc77v34XcClBCD/SNWghHL9EEW1yEBQNtJCa7MJ7iOQWsGTRmMa/hC5HBaae1sZY1uJrYyQ0wRQLvGW0l4/atncDZqKmB8M40ccwp6xursGR1ajnV/dNwPLyHGi4Gx4boWWpeBbsJTYbOnNYnn9GepMQ40hco3cKcLIUPTr4+FnEX3TiIECSJlf3SdF61I5WavF2QJorFSP5xCudT5XGPxVSWmfwYB24SFv+6WaDPe6qkj+0WO2ALhPruONC2T4xJkIPrMg6MSAOYOPellnsKVgyElbJTHwC4XZN86yau/psGBBVcrobh+8VnMmBP1vxQQjsbb4kCWP5w7Reaexr4/6kBaR0OZggD38Jwx9FYB4i8fGe6scPLYZnp8/4XhdOCTzXw3NogtyM7R1mWtWTT4PqaiTlukC2SPa7QaoGiqMDCozn7LGWiHqPCOHFejPqjHvE127USbq1uO3BAivYd3js3zZgO06kDEy8yFPSYUg62GtCyhgjN9nFPC/uM0yBpHfwT6DSeXMc5TQQf7pyFVW65N+RibY9jz0Bzq+KOsJu8vagQACn3hZPgXhTZg/31VUmcBA6YuyoL1wcAxfh+nLzFiypIOZw== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:TYPPR06MB8206.apcprd06.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(366016)(1800799024)(7416014)(376014)(22082099003)(18002099003)(56012099003)(921020)(38070700021); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?OIIUEhRYvKll++z9v0spamG4rTYA5IJRnziNCinI/+ds08GlfErFa+bMl3?= =?iso-8859-1?Q?ELV3R6AvXvYor38Tcddb67g9Jc4cJmnyXSYAEEPrNw+wcEjXqqnTVOTvLc?= =?iso-8859-1?Q?6igOYVXbXLWOjVOXY7IfQ8Dn1/mwzjpzYrAbhUt1pNvzYA+rrAetei7JB1?= =?iso-8859-1?Q?2PlmhGwqosTKYHust16eow/JjjGYwpfxpsviytzlIyQn8bZ/AC3wU5e5sE?= =?iso-8859-1?Q?bQSfM87eJ3VMN0cBrN1+5zD9WNPagfG9Wwd25D4PTqU4iRoCSFbYQG8l3K?= =?iso-8859-1?Q?eBNccnuEUfvIdmfvqAw4rQ1vKOvsOYfCUGBkq/Hsc8/od523G0Y4srCryS?= =?iso-8859-1?Q?haqZWOFS/x9VBJsT7d5Tzhw+s0y6TgowACTRbI1KtzGqZjaqPAE29Xi6Ru?= =?iso-8859-1?Q?whKEWwBAPebM8q+RuHWSIaRPoCFfSUI/j7Es5o2up7w5LItcHhpGeq/5OC?= =?iso-8859-1?Q?AwozP29ftJE8v/pGiLDVXU5sXgULV8GVKENlklVX3dlF17uaaZBGWRBqpk?= =?iso-8859-1?Q?jAzJH8RcG0eLUkNNeaiNVBLMQe2OD2MCD+lXL6zTAcTEevbceasCn/kzEN?= =?iso-8859-1?Q?QPNDOmOvtfkm7pZQMLTOUzG1eDRNsh6ISE4zXZYatLISocpzNapn1jZSLI?= =?iso-8859-1?Q?4bX40FQi6JJyhBomTn6/vfWmfkO+Y1CToS2t4skD/clh/ZieLIzkzSRzRS?= =?iso-8859-1?Q?2YHj/RwIGtAy2L55BARsjW9tW/UghjPSTIMbT0Ww1xxiPB4tTjD6DI9fGj?= =?iso-8859-1?Q?Z49eFa6NhZ6aMTgxDrjQpLzp/q1VEcQbBdKxYsm7zbn8Tps6XOeFG0CL1p?= =?iso-8859-1?Q?G/x2NNw7j9FvXMmLrvBhUzKls/vT++k6WPGM45d3SKdN4X/dGOY6/+W5SO?= =?iso-8859-1?Q?x3xMGSH8rrMQpzbjBQA3UimAmYsGRgi7fHiuad4gKKOt7Ey/qOTqckmIT0?= =?iso-8859-1?Q?J09x5XQmk6VgNhqxOTdDJgPa1WKHeJ7nj9nVGTeRqoP3Ke8m1jIB+wLMtV?= =?iso-8859-1?Q?f9foV3mmZzv8cgHaVt7HJFOg/nm0+xg0CUdoo8NtZPjocE4xRqpHlii69j?= =?iso-8859-1?Q?Fv6btkGNs4CycfVxxYFhVLhizjaIWflDqLrlCAMKn4TLz8I/emKCPhwipY?= =?iso-8859-1?Q?TpvAgD2b3wkl9OvBHynxuZANI/nTj+ilS1bB/oHofF6lWIjtE7uq1s5bnd?= =?iso-8859-1?Q?BA/26XYspylMnnte6KsIvE4ENUc+MAR/WGcjtxFd90GhoJNnVx3JuisMEq?= =?iso-8859-1?Q?Y6t2efI0Nx0CKJk6E4n6Vuy80Y67bUs++qyFVKJCCe+Zay+BEHPZMdLfhO?= =?iso-8859-1?Q?Jhi3j/tEC75Wzm35ABnN7iNTFZZ9Se5S9jcIn5Iq9V7+xxhD9yIu/Q7ahQ?= =?iso-8859-1?Q?yBRFMJL2fbnRyMU0sQtqNr6ON0A/qGI8O7dPspLhpUQBXPLuWHGvQm3xjL?= =?iso-8859-1?Q?L/qbgVYtQS0BWRdivGopMlnifHuzksBHbpVb3pR8AVYxQ8KfjLH7jXrJkf?= =?iso-8859-1?Q?53G8vu0ZNV8aG9iMgQNDQF4kSBd00fVBaIrQwQNjo1Rl6a+QGet3TKYbfe?= =?iso-8859-1?Q?odAQL4DE3CjrSg8uJ9HJCdxKG4SMIRSl+09bt7JEoRESka4VEGPK4xexxG?= =?iso-8859-1?Q?4EHOu4Uj00ypt86kyY9YMN9c1qmoneDceu0w19a3zQUn+g9+TelnbiLZGC?= =?iso-8859-1?Q?rnD65tLitSh5FsqiAs7r5TMzzGyfCNB4/YPAkeWJCpi4FEFr3+M6tohbtq?= =?iso-8859-1?Q?bUsSfPWRYrcNsWia/oPngcK1z5dC2xS1udjjo82dGSU0xQZMTlau3BpyH3?= =?iso-8859-1?Q?nJW4fW0PIQ=3D=3D?= Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Exchange-RoutingPolicyChecked: fB20cY/HfQ3LZ3iB3D2wYyTMCoYbUKf+Gf5sAiNc8rtNlprH1IMC/CXMUOsKGw2z8hjmr3eXR3KWMfa4jJ07IARnsz67i/NP6oGv7fJbK9FHlIouaYCAGMZsI/9ppK9cZaH3cuXGB5HXDMfZjK5q0HOepsw8Q/+lCr1O39QXWHo7+rLAAPORrgXphfJmP5OL6wFn1f96bCgrMZKeWYYVkkad5Osg4N7HD6gExEvCxntTwDCoP480c4sskIUm0d9RhZThCCmKpJoLZXUN9PxBPJc659bv7dkJRPwsrR7jxmI8Lv8V/3KeUtn+96wyjnvuPDlPHX9XxTY/SO+epeGZVA== X-OriginatorOrg: aspeedtech.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: TYPPR06MB8206.apcprd06.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 96d9aa65-2bc1-4e2e-8d50-08dea9885e08 X-MS-Exchange-CrossTenant-originalarrivaltime: 04 May 2026 02:53:49.0863 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 43d4aa98-e35b-4575-8939-080e90d5a249 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: xFaXDCj6+vgWe0D6cZMx596/2Fo7o3WDfGreY8mUTXC7oUQYQ2JRQRhUL7zm/sdizmbxTEMyuVNi9DLYFVwyQeyPerrgLGOAwPqcU8E8wgc= X-MS-Exchange-Transport-CrossTenantHeadersStamped: OSNPR06MB8442 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=lists1p.gnu.org; Received-SPF: pass client-ip=2a01:111:f403:c405::7; envelope-from=jamin_lin@aspeedtech.com; helo=TYDPR03CU002.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 @aspeedtech.com) X-ZM-MESSAGEID: 1777863357239154100 Content-Type: text/plain; charset="utf-8" EHCI supports 64-bit addressing when the 64-bit Addressing Capability bit in HCCPARAMS is set. In that mode, the CTRLDSSEGMENT register provides the upper 32 bits that are concatenated with 32-bit link pointer values to form 64-bit control data structure addresses (EHCI 1.0, section 2.3.5 and Appendix B). qTD link pointers (current_qtd/next_qtd/altnext_qtd and qTD.next) are stored as 32-bit values in the data structures and must be expanded to full 64-bit descriptor addresses when 64-bit mode is enabled. Update the qTD traversal paths to use ehci_get_desc_addr() when following link pointers. Appendix B also defines high dword fields for qTD buffer pointers. Add bufptr_hi[5] to EHCIqtd and extend qTD fetch and QH overlay handling to load and propagate the high buffer pointer fields. When 64-bit capability is disabled, descriptor and buffer addresses remain 32-bit and existing behaviour is unchanged. Signed-off-by: Jamin Lin Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- hw/usb/hcd-ehci.h | 1 + hw/usb/hcd-ehci.c | 19 ++++++++++++------- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/hw/usb/hcd-ehci.h b/hw/usb/hcd-ehci.h index 3428839ec6..fc66aacd9f 100644 --- a/hw/usb/hcd-ehci.h +++ b/hw/usb/hcd-ehci.h @@ -139,6 +139,7 @@ typedef struct EHCIqtd { uint32_t bufptr[5]; /* Standard buffer pointer */ #define QTD_BUFPTR_MASK 0xfffff000 #define QTD_BUFPTR_SH 12 + uint32_t bufptr_hi[5]; } EHCIqtd; =20 /* QH overlay: altnext_qtd, token, bufptr[5], bufptr_hi[5] */ diff --git a/hw/usb/hcd-ehci.c b/hw/usb/hcd-ehci.c index e770f0a7fa..238f08b4a5 100644 --- a/hw/usb/hcd-ehci.c +++ b/hw/usb/hcd-ehci.c @@ -472,7 +472,8 @@ static bool ehci_verify_qtd(EHCIPacket *p, EHCIqtd *qtd) (p->qtd.next !=3D qtd->next)) || (!NLPTR_TBIT(p->qtd.altnext) && (p->qtd.altnext !=3D qtd->altnext)= ) || p->qtd.token !=3D qtd->token || - p->qtd.bufptr[0] !=3D qtd->bufptr[0]) { + p->qtd.bufptr[0] !=3D qtd->bufptr[0] || + p->qtd.bufptr_hi[0] !=3D qtd->bufptr_hi[0]) { return false; } else { return true; @@ -1200,6 +1201,7 @@ static int ehci_qh_do_overlay(EHCIQueue *q) =20 for (i =3D 0; i < 5; i++) { q->qh.bufptr[i] =3D p->qtd.bufptr[i]; + q->qh.bufptr_hi[i] =3D p->qtd.bufptr_hi[i]; } =20 if (!(q->qh.epchar & QH_EPCHAR_DTC)) { @@ -1233,7 +1235,8 @@ static int ehci_init_transfer(EHCIPacket *p) return -1; } =20 - page =3D p->qtd.bufptr[cpage] & QTD_BUFPTR_MASK; + page =3D ehci_get_buf_addr(p->queue->ehci, p->qtd.bufptr_hi[cpage], + p->qtd.bufptr[cpage], QTD_BUFPTR_MASK); page +=3D offset; plen =3D bytes; if (plen > 4096 - offset) { @@ -1727,7 +1730,7 @@ static EHCIQueue *ehci_state_fetchqh(EHCIState *ehci,= int async) } else if ((q->qh.token & QTD_TOKEN_ACTIVE) && (NLPTR_TBIT(q->qh.current_qtd) =3D=3D 0) && (q->qh.current_qtd !=3D 0)) { - q->qtdaddr =3D q->qh.current_qtd; + q->qtdaddr =3D ehci_get_desc_addr(ehci, q->qh.current_qtd); ehci_set_state(ehci, async, EST_FETCHQTD); =20 } else { @@ -1805,14 +1808,14 @@ static int ehci_state_advqueue(EHCIQueue *q) */ if (((q->qh.token & QTD_TOKEN_TBYTES_MASK) !=3D 0) && (NLPTR_TBIT(q->qh.altnext_qtd) =3D=3D 0)) { - q->qtdaddr =3D q->qh.altnext_qtd; + q->qtdaddr =3D ehci_get_desc_addr(q->ehci, q->qh.altnext_qtd); ehci_set_state(q->ehci, q->async, EST_FETCHQTD); =20 /* * next qTD is valid */ } else if (NLPTR_TBIT(q->qh.next_qtd) =3D=3D 0) { - q->qtdaddr =3D q->qh.next_qtd; + q->qtdaddr =3D ehci_get_desc_addr(q->ehci, q->qh.next_qtd); ehci_set_state(q->ehci, q->async, EST_FETCHQTD); =20 /* @@ -1841,7 +1844,9 @@ static int ehci_state_fetchqtd(EHCIQueue *q) if (get_dwords(q->ehci, addr + 0, &qtd.next, 1) < 0 || get_dwords(q->ehci, addr + 4, &qtd.altnext, 1) < 0 || get_dwords(q->ehci, addr + 12, qtd.bufptr, - ARRAY_SIZE(qtd.bufptr)) < 0) { + ARRAY_SIZE(qtd.bufptr)) < 0 || + get_dwords(q->ehci, addr + 32, qtd.bufptr_hi, + ARRAY_SIZE(qtd.bufptr_hi)) < 0) { return 0; } ehci_trace_qtd(q, NLPTR_GET(q->qtdaddr), &qtd); @@ -1922,7 +1927,7 @@ static int ehci_fill_queue(EHCIPacket *p) if (NLPTR_TBIT(qtd.next) !=3D 0) { break; } - qtdaddr =3D qtd.next; + qtdaddr =3D ehci_get_desc_addr(q->ehci, qtd.next); /* * Detect circular td lists, Windows creates these, counting on the * active bit going low after execution to make the queue stop. --=20 2.43.0 From nobody Tue May 26 03:33:44 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=aspeedtech.com); dmarc=pass(p=quarantine dis=none) header.from=aspeedtech.com ARC-Seal: i=2; a=rsa-sha256; t=1777863354; cv=pass; d=zohomail.com; s=zohoarc; b=oE97BVm2/PLhGq2m9pZrNNFCK0b2Tgic4rfpSn/IVgPuRHTXE5WXD8JceKCJnbmVZlVHqAZymNE8SrWZopsXaiiDRtmWMp+obHwGULvSXqxqU0aXMCznOf1yhRDXMTkVGxzJ7ZAONIfnjpARpLw4b+WwQ3mHGz5pbNhaLaXacmk= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1777863354; 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=X28GScWEV9fXKaS4RGKXlaybbJ1oTaFZq6mBazoT3CQ=; b=hbyGZrWx8QooqXIWTTGZpTpEvmARnMfInkgfYc5i2zYbwWoJZwnVvrg5Ib4aWT125rZVBM8AkLN5PxDZKfZYw9K61WH7lMOeAUJ2c/X+RnREsxQ3UKSXpJ+mpThsSuC9TdiSR/E+Y5xzP9AhaDCtOQvyBb0nkqNi8q0vG5Th8M4= 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=aspeedtech.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1777863354657671.1110362338796; Sun, 3 May 2026 19:55:54 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wJjRd-0001an-BD; Sun, 03 May 2026 22:54:05 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wJjRW-0001Wk-JN; Sun, 03 May 2026 22:53:59 -0400 Received: from mail-japaneastazlp170120005.outbound.protection.outlook.com ([2a01:111:f403:c405::5] helo=TYPPR03CU001.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 1wJjRV-00040F-1C; Sun, 03 May 2026 22:53:58 -0400 Received: from TYPPR06MB8206.apcprd06.prod.outlook.com (2603:1096:405:383::19) by SEYPR06MB5111.apcprd06.prod.outlook.com (2603:1096:101:57::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9870.25; Mon, 4 May 2026 02:53:50 +0000 Received: from TYPPR06MB8206.apcprd06.prod.outlook.com ([fe80::e659:1ead:77cb:f6d3]) by TYPPR06MB8206.apcprd06.prod.outlook.com ([fe80::e659:1ead:77cb:f6d3%2]) with mapi id 15.20.9870.023; Mon, 4 May 2026 02:53:50 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=MmlSja+pq8DnUUyuwCIWBygbzrHPDfOFkXANR/e01qUQAxNMd/xwJChduGRsKWtskjTvyN/3ZSy7o4/wzCl0UkP6mrJti591V+zGz59ILRCltbeG5GFqxrqtoKUHglldpeLeyLuxvBtYXPi1gGlpDzlNDb93jRqiPMbQ1/J7vc6sXNzeK8IV8LIGKvU6+iFje9DBvB9swVRwPnaRLQVyNFuLwJV3wRy7odLsPM4xorXdsYZPxfzfMg+ooRmQwJwzox0Kr9tzk0gaJeBnd1ao37zUvFgH8JDGMUP6UJGfAihupUuGPaZw2/uIsBBFOLPEvTGdNq/hTIleVG6CQIVW3Q== 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=X28GScWEV9fXKaS4RGKXlaybbJ1oTaFZq6mBazoT3CQ=; b=rEWl50YBxuFKZT6VS8JAp/pLOxrnSrHsh2DumH/Wd5kAYnQSfunpCbSsOvjpXFlNlGLq1LaCP18fqXW3BRpIHNaTHyzgErqYL1vF6T+492VAV5rM7QHb11D/tECCEyoXkm3boS3tZqdPAmCWuNm2Re5q7g77TqUZhbExC3wRPiWpqhhRzUfEga8OFc9Rpr0TvkR5e3SM+1hVrlnMz+1Rg/KKQ76Ff57SqgWiN8PlVrfDnVlP741XwkwhHZLSYuak11I+GC90iDrc5p+qzN/Wj/zPehH9DmdnKhos42a3PzZJipLqu3IvEmn5kFIKPnYigsfNlYNY2IthQRCBIF7Z7g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=aspeedtech.com; dmarc=pass action=none header.from=aspeedtech.com; dkim=pass header.d=aspeedtech.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=aspeedtech.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=X28GScWEV9fXKaS4RGKXlaybbJ1oTaFZq6mBazoT3CQ=; b=aFSPP5nXGNgLzVRrpv294uIEK0tPNnz6CY9bHUr+hlwhNir1SRCX8cki4Lwtkhly+Pq6EhN41901G1+l9OeeQ0iwNtT+h6QHlaY/wPuUuZJXfQVcVt6T1uevoa6ZF06/8II83AYrRnmIDk/g38OtV2SnJp38i+d7x9/mMGs492xahrZZhhqnf4soKahazO6XXNj65Hnsl56xfm7RytSOIlA5DnkN43/UW1QrFVjVQalKrpgAxOhOqQaY2KuMxS138QmhpL49UdBq4Jm39qdphdk+KbXwWd6fG3GkzFFwVpP3IkU0UO1uYdStJzQ/QDcYCncpRXcuVctRX655xljhbQ== From: Jamin Lin To: "philmd@linaro.org" , "peterx@redhat.com" , =?iso-8859-1?Q?C=E9dric_Le_Goater?= , Peter Maydell , Steven Lee , Troy Lee , Kane Chen , Andrew Jeffery , Joel Stanley , Zhao Liu , "open list:ASPEED BMCs" , "open list:All patches CC here" CC: Jamin Lin , Troy Lee , "farosas@suse.de" , "flwu@google.com" , "nabihestefan@google.com" Subject: [PATCH v6 06/11] hw/usb/hcd-ehci: Implement 64-bit iTD descriptor addressing Thread-Topic: [PATCH v6 06/11] hw/usb/hcd-ehci: Implement 64-bit iTD descriptor addressing Thread-Index: AQHc23E8Pw5tqStWhUydAG5guIsiAg== Date: Mon, 4 May 2026 02:53:50 +0000 Message-ID: <20260504025342.1452605-7-jamin_lin@aspeedtech.com> References: <20260504025342.1452605-1-jamin_lin@aspeedtech.com> In-Reply-To: <20260504025342.1452605-1-jamin_lin@aspeedtech.com> Accept-Language: zh-TW, 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=aspeedtech.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: TYPPR06MB8206:EE_|SEYPR06MB5111:EE_ x-ms-office365-filtering-correlation-id: 88e6e78a-5536-44df-b03d-08dea9885ea2 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|366016|1800799024|376014|7416014|38070700021|921020|18002099003|22082099003|56012099003; x-microsoft-antispam-message-info: 9+ed/5g1kBtNoF6z/RQQkQ8TwQfdSrQqRRjw31IyQMn43y4SGRhqLsrHvsOntB+c9j29nCVfSQ648O0j74lq7DYLuzSUQXSRWab9Nq9ZgMGdzGxJwFpUyOQBmcaxNSKgcJ6TSn6Y8tyq59Pbzix9rTM9FpNwGwp5paNT86tyKp/J9/QLYsAQngNQ7UJOuBnsBVCEhpW0awbjLT0EYl1o3H+uKHVnA8rxYkkT6VwEzWFx7kDx4hi8/GvrMhJOfBpV6tbzSkI7Q14CoGvcrlDVIragjJpT8XeQ1j4vqcFDnCvKVRna8KQVgwEj4cJYFnUhmmMsmrk1/xJ8eG6oIyYze+ZmM0sKgFg7s9U026uyhgJMWh+9cbPWmHNsmw8ANwvOi3bHutLN68lOLhP8vN09Vx6hqE81GJtelcrd7ly13vzB3H9jj1X+SRLJm+7caQt/MHm+w275DhYAQu8HrgHTQhRoILe5CbDAkbZmfJVCnJsI+ykgo15Q6mElB4iUyfuFfyaMZTSwMWiA+d7xSFHhwc2XzRfBid1MDVVXemwomFlkkB+UXKjCercIVJqHat4lakK+N4WsMTVQrMphCrEDfCuTH0kb2XwtLgjeDxaNukDbk0mC+TOdaszq2flhJb56PxVtqtPWdHEiA+8gqjnAVsW+2X/lsDZXDnqIfoOF5ExlVoAaPt+CEUY8gbyJg3ey00q9sbp0rJEyxZvXMIojzKIeSgNpiKFFFH8s7lnRlv3bJmmjNzWSB6HupejcJqKcemZyC9X6h3OFf3rebzit0g== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:TYPPR06MB8206.apcprd06.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(366016)(1800799024)(376014)(7416014)(38070700021)(921020)(18002099003)(22082099003)(56012099003); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?g8ZtgcHdOB2mtZfv+eIUuWs0PuZ91jeG+N1onWvPCdLA/LNaMhf3CpyWm6?= =?iso-8859-1?Q?A5p6C8DV9c5GG8AoB3UGN1UR1PXUGM0RRSWmMY/u6JZMZmF/YVPDfvTTP0?= =?iso-8859-1?Q?Vu8qivf2t5ItLw4WNgZHq0DZJKG2fniugdrL4FU357YPhGQDD4Hc1wJZz+?= =?iso-8859-1?Q?d0IpC6l2lyI1ow1l6evX8v2vJI7c+kxARzGUr96HCzP/lL/yLYcczHUGaW?= =?iso-8859-1?Q?QcV3gAY0BnPaXcAvOuGLje7MrfXYPDL9TSRWYRxHHGUBtOkZItkkXl2pAF?= =?iso-8859-1?Q?R3xO/TZMYdrA16gJg7WldSW6MMfGxOAjKW+3X4xXMUE6rFAY5f62FInOBA?= =?iso-8859-1?Q?KYYOL0aNHMzUtK8Z+C7t4LIXxm6C1y2Uz0Zx+DOe3Hj0wPPEAYrailZljj?= =?iso-8859-1?Q?bWkDcaUxXjIw1uViA/N7nC2xJ6car1f+m3IwvFXeRjB8pNWYfWTmiJVKEL?= =?iso-8859-1?Q?DjeGHWo34AG4K+nQRr64uKW18khICmdggrRon5AcBnpfHR5Odxdld/dAgs?= =?iso-8859-1?Q?djkqfXz2AOqkPT8Xms0FCDkahIC8ZL/aZ18ySwIfAX5qstv+0rfa/ZauAx?= =?iso-8859-1?Q?GnKe0x7i4Nw3OSHMolFI8ChJTK9daMy4ooBEyi/sMDTvfsc5x8E18+o1fu?= =?iso-8859-1?Q?FMOcdC7O6R7HgD6puS7mRlHWDYqiJeVNNmSkxQ7wnFl6G2HYJ+JjtNcmh4?= =?iso-8859-1?Q?3a5TJ7qynCffgJOyppHStVRkopUQQYQio7HFJyEdAaSj1UpWnza0rvS4Q6?= =?iso-8859-1?Q?2Zw40+qf/tou9K6vVA7kM7O9uD2DB6RdAQZuzfndg7ahgBGJsIbKq/SvA5?= =?iso-8859-1?Q?NeRbNVvwr5bZOowhaU8cWzPnQiz5Ex7izwD2Bo8U33mnhd0ANpo/st4nw1?= =?iso-8859-1?Q?aC2Qd60au4jFu+QUbRVgrBqh4nhMmlmqpwUWSL7u2gfHrt4YSZfCt6CRWp?= =?iso-8859-1?Q?ObywOeyOZtbXxG4b4CpK2ffOYDVncnkeuh1Kj+o42Y/Izk+Y0rcKiZa/K6?= =?iso-8859-1?Q?1hoUb9YjBN1xiJTMvc66H6XQ4ymMzmNL4OdTGUEcGCksTfvm1XeTHpBKeA?= =?iso-8859-1?Q?cJtvbF+uMc6xVxqLTiw+KT9U0fQScmnbvwg5pxR1f3Ycov7/UcyabTnfUU?= =?iso-8859-1?Q?woLtVO/0vCrfmVwKsAh+7YksprXi3HH5XRBtAg88jeehGNpfLe/+QZCcUt?= =?iso-8859-1?Q?q5F2DnfFA6s/SUYO8c+t/Vl96D2T4l4vv9WcxkN/+YBnAwX9SkAjzFLbLl?= =?iso-8859-1?Q?c6hNmvPl0xEggmquscb4PgFQJLFlk62frWmDiWAVivPvDeXFCG0kEv9TzA?= =?iso-8859-1?Q?Y2gD4A/eKUQ4V8b2hQes8vpHK3Mpjv43l7/D5uPVKzH2OS0jil2HAsd5Se?= =?iso-8859-1?Q?lpWj63OmE0lrQefW9Yhg+wbNtEqgzXgp9LeDTY/NqdBxRZs+znG/V18cOY?= =?iso-8859-1?Q?GexH5rhahjWAmRte/Aajlm63x0kQmaoPrcWaSvDAMLRoeUzG3i85YpELqw?= =?iso-8859-1?Q?Ju5IeMp7W8Nm48cpwYTgn4vxXuNQwXdHgE76wV1jL+g10uIx/tdcI7QA+X?= =?iso-8859-1?Q?j7nfQt8yb5JUjTdbL5aPyn5qSuuYCnwFqq3zp3vs1TN0uBoUvqSKN0rueh?= =?iso-8859-1?Q?vvbPOLi1OIIESxRvXfI10FfU5fmkRr8el+VHeilNvxySujWWkCPzAHtsKa?= =?iso-8859-1?Q?LdbRmRdthLTkRgcsc5m5XEcIhVdpBSJy+miP8iGghIXLG/nxKTiJHnSSs/?= =?iso-8859-1?Q?93Ii+3VNwMVaUmz4bzXfuKs5dHDL4Rndt3+66qByUlJ7QUrntHEBXAX69p?= =?iso-8859-1?Q?TuCFtDtNhw=3D=3D?= Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Exchange-RoutingPolicyChecked: GVkbCCuVuq0DIfuSWiVtrwzqCBDIcoaupyQQJ3NllIznM7eLElz60Nyb0znUYJLWPSQUHs5oMpArt8U+AXZ/C3V6WDZdR5HF+hicLerf9B10XOiBX9NA8m5n3wOdseNaNiuWG99b7nE8efhcV7ycacmgQ1w4QVPWcEgZvui5X1/lhZBSZx9hDT9Cz8U0vcHrGomwbUNyqvK+o9ITZXGaJklQ3GX2CNWv/MEP22Qo6oo5/I4PHkQQEkpbjszHOV+FmMVy2ttmNZWnf/aEAKFtgce79mM7psf1p5F6+ynf5dVCwRRn0HxOF1Mz5Xn7y3FZkSRb2d8fatA1D2RfoWsOQQ== X-OriginatorOrg: aspeedtech.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: TYPPR06MB8206.apcprd06.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 88e6e78a-5536-44df-b03d-08dea9885ea2 X-MS-Exchange-CrossTenant-originalarrivaltime: 04 May 2026 02:53:50.0787 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 43d4aa98-e35b-4575-8939-080e90d5a249 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: X/DlxWq/CgroqTfdOuPMAAJQcYfnPsi8rGsRwss3K5wc48XVjQ9LfwR907raqkPbkqyK4QJqn95MrbS/GAyI4r7XgrHvwe0l1y592XRLZXc= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SEYPR06MB5111 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=lists1p.gnu.org; Received-SPF: pass client-ip=2a01:111:f403:c405::5; envelope-from=jamin_lin@aspeedtech.com; helo=TYPPR03CU001.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_PASS=-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 @aspeedtech.com) X-ZM-MESSAGEID: 1777863357364154100 Content-Type: text/plain; charset="utf-8" EHCI supports 64-bit control data structure addressing when the 64-bit Addressing Capability bit in HCCPARAMS is set. In that mode, the CTRLDSSEGMENT register provides the upper 32 bits that are concatenated with 32-bit link pointer values to form full 64-bit descriptor addresses (EHCI 1.0, section 2.3.5 and Appendix B). iTD link pointers are stored as 32-bit values and must be expanded to full 64-bit descriptor addresses when 64-bit mode is enabled. Update the iTD traversal path to use ehci_get_desc_addr() when following link pointers. Appendix B also defines high dword fields for iTD buffer pointers. Add bufptr_hi[7] to EHCIitd and use ehci_get_buf_addr() to construct full 64-bit buffer addresses from bufptr[] and bufptr_hi[] fields when processing isochronous transfers. This allows buffers above 4GB to be handled correctly. When 64-bit capability is disabled, descriptor and buffer addresses remain 32-bit and existing behaviour is unchanged. Signed-off-by: Jamin Lin Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- hw/usb/hcd-ehci.h | 1 + hw/usb/hcd-ehci.c | 9 ++++++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/hw/usb/hcd-ehci.h b/hw/usb/hcd-ehci.h index fc66aacd9f..8e6a8cdfb0 100644 --- a/hw/usb/hcd-ehci.h +++ b/hw/usb/hcd-ehci.h @@ -63,6 +63,7 @@ typedef struct EHCIitd { #define ITD_BUFPTR_MAXPKT_SH 0 #define ITD_BUFPTR_MULT_MASK 0x00000003 #define ITD_BUFPTR_MULT_SH 0 + uint32_t bufptr_hi[7]; } EHCIitd; =20 /* diff --git a/hw/usb/hcd-ehci.c b/hw/usb/hcd-ehci.c index 238f08b4a5..611882ba1d 100644 --- a/hw/usb/hcd-ehci.c +++ b/hw/usb/hcd-ehci.c @@ -1464,7 +1464,8 @@ static int ehci_process_itd(EHCIState *ehci, return -1; } =20 - ptr1 =3D (itd->bufptr[pg] & ITD_BUFPTR_MASK); + ptr1 =3D ehci_get_buf_addr(ehci, itd->bufptr_hi[pg], + itd->bufptr[pg], ITD_BUFPTR_MASK); qemu_sglist_init(&ehci->isgl, ehci->device, 2, ehci->as); if (off + len > 4096) { /* transfer crosses page border */ @@ -1472,7 +1473,9 @@ static int ehci_process_itd(EHCIState *ehci, qemu_sglist_destroy(&ehci->isgl); return -1; /* avoid page pg + 1 */ } - ptr2 =3D (itd->bufptr[pg + 1] & ITD_BUFPTR_MASK); + ptr2 =3D ehci_get_buf_addr(ehci, itd->bufptr_hi[pg + 1], + itd->bufptr[pg + 1], + ITD_BUFPTR_MASK); uint32_t len2 =3D off + len - 4096; uint32_t len1 =3D len - len2; qemu_sglist_add(&ehci->isgl, ptr1 + off, len1); @@ -1762,7 +1765,7 @@ static int ehci_state_fetchitd(EHCIState *ehci, int a= sync) =20 put_dwords(ehci, NLPTR_GET(entry), (uint32_t *) &itd, sizeof(EHCIitd) >> 2); - ehci_set_fetch_addr(ehci, async, itd.next); + ehci_set_fetch_addr(ehci, async, ehci_get_desc_addr(ehci, itd.next)); ehci_set_state(ehci, async, EST_FETCHENTRY); =20 return 1; --=20 2.43.0 From nobody Tue May 26 03:33:44 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=aspeedtech.com); dmarc=pass(p=quarantine dis=none) header.from=aspeedtech.com ARC-Seal: i=2; a=rsa-sha256; t=1777863300; cv=pass; d=zohomail.com; s=zohoarc; b=IMxl2JNlMEgKKjrFvb8jA5S1Mtex5KgOwumPoMVuFsjP/iZpiwl09kEnkqmtXTaf3e2dFva568kgUJAFx+EZ4eU7scYuTYDoBNWFjtQGRE/EihLISyydwY7+npC4m8oGtg6PgRmHNmhqc6W27DamvgvMFnephsx+g4E+XRe8sIk= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1777863300; 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=n342GnTDJZgWAY0onIBs4Ng+w5/giWD5CWoq0ViXfaM=; b=PMR3qRaP+FdLqfs9OttSFzCD+rGGTfZ35JL0ZytsCK6et0aNbT9dnAV5DtgkGWZZSnEXVbp2li+rS8BDSmMpRd834Yic+TD+XaBnTwFnb1N/aNLWWcNMbHl6cvau0MpArZh3BJl348i/KaaGukAIqR5DH+7peZkLsikFDdgEClQ= 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=aspeedtech.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1777863300155681.498239938269; Sun, 3 May 2026 19:55:00 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wJjRe-0001c4-Fm; Sun, 03 May 2026 22:54:06 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wJjRZ-0001Xf-3O; Sun, 03 May 2026 22:54:01 -0400 Received: from mail-japaneastazlp170120005.outbound.protection.outlook.com ([2a01:111:f403:c405::5] helo=TYPPR03CU001.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 1wJjRX-00040F-LZ; Sun, 03 May 2026 22:54:00 -0400 Received: from TYPPR06MB8206.apcprd06.prod.outlook.com (2603:1096:405:383::19) by SEYPR06MB5111.apcprd06.prod.outlook.com (2603:1096:101:57::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9870.25; Mon, 4 May 2026 02:53:51 +0000 Received: from TYPPR06MB8206.apcprd06.prod.outlook.com ([fe80::e659:1ead:77cb:f6d3]) by TYPPR06MB8206.apcprd06.prod.outlook.com ([fe80::e659:1ead:77cb:f6d3%2]) with mapi id 15.20.9870.023; Mon, 4 May 2026 02:53:51 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=r1M0wPEoMCcnlW4LYACTj/LLXW1CtpB3JSEB/+VJuc67+mXyjJinuuRyd8zjrkES2EZWBMQ/ctHyjG585r/LXBJK9w9Kmrgw1eILeh8BgdmnsZQA1njiXIgShnBRQ6x2PytLVAkLS3ZKTsAFig7jQhMFtd1vYyG2c3FrYtJNX4ZBZecTe39iDgAOmGNyvfA/Sue+nzwfVfJtNTCqCeHB97m5YnMXWZOIY6A21ArHddG5r5TmEIafXj+QNMksvOzmlss7CLwz5lQxmsymDKtG/bna7I3eQ3wZsoOb9oebvrB3oAhwZ0kpPibMPQgFdi0lWs2nk6/3Lwj2KXDUCK3Wtg== 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=n342GnTDJZgWAY0onIBs4Ng+w5/giWD5CWoq0ViXfaM=; b=y5Ne4kXDZ221tX02ofuQhecxXVeFwKojCfYKtbIJumHx/D4QfOlXLZ1wiOYGxuSVZPA1XK6CbVNgP8pn+KPuNEV49ss1iL98BbUB+WFPiCvfM2cPSikyHSp6eApjLmghduk6P61OXDjDSW0W/yhGUnGDqbnqBusZYBR87si/yQEPcFtpfrQ0l/Ev3VkNp1iJj/yUYsVVLEOu2E+n5GZ16nl8whJBFGmoNvB5lPlz/XA/ig6xWFdgiX9Iic6WP1CUw4B3aM9vuERHjIQbeOw8z+J/3F1OYAgNXKDfogMXNhObqxdgURl6Hygwlj89OJ9/njh2wH7kFfIGQLVhQsJW7A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=aspeedtech.com; dmarc=pass action=none header.from=aspeedtech.com; dkim=pass header.d=aspeedtech.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=aspeedtech.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=n342GnTDJZgWAY0onIBs4Ng+w5/giWD5CWoq0ViXfaM=; b=NFicj1yc77hztW5nK+SHXiwWhJFYtG/3VzoRwc9B7sUrAQsmyBCXIykHRSuyfhjIuyLTWX6T5PsdOiW8c9UYbov0i42IzNunor5jgsrUXQgbemMp3flnP+5nnh2xd19gPNs2Z6AHGnDUwfEi7T+E24oGDsLVRE1K4IEKzqTps1O2eTdXOBmWxTtHyfgaQNCYzQFKtiG32Jz06Z8iH1MZGCxm7T2FdKiF/KxoCOT1QRIcLMxL+MmUm0nj21J/63SepTzE1aSR7bWtMpeDHtBUENL4h2x4s0XbH9GS0wfH3gssGiFt9EZumM9J9tzkGnBZpNyT+NfEZ/D+dA+RGoIiYg== From: Jamin Lin To: "philmd@linaro.org" , "peterx@redhat.com" , =?iso-8859-1?Q?C=E9dric_Le_Goater?= , Peter Maydell , Steven Lee , Troy Lee , Kane Chen , Andrew Jeffery , Joel Stanley , Zhao Liu , "open list:ASPEED BMCs" , "open list:All patches CC here" CC: Jamin Lin , Troy Lee , "farosas@suse.de" , "flwu@google.com" , "nabihestefan@google.com" Subject: [PATCH v6 07/11] hw/usb/hcd-ehci: Implement 64-bit siTD descriptor addressing Thread-Topic: [PATCH v6 07/11] hw/usb/hcd-ehci: Implement 64-bit siTD descriptor addressing Thread-Index: AQHc23E8qS3Mhv3SkkqA//NF/ZlJCw== Date: Mon, 4 May 2026 02:53:51 +0000 Message-ID: <20260504025342.1452605-8-jamin_lin@aspeedtech.com> References: <20260504025342.1452605-1-jamin_lin@aspeedtech.com> In-Reply-To: <20260504025342.1452605-1-jamin_lin@aspeedtech.com> Accept-Language: zh-TW, 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=aspeedtech.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: TYPPR06MB8206:EE_|SEYPR06MB5111:EE_ x-ms-office365-filtering-correlation-id: 0db081a1-21eb-4185-882d-08dea9885f45 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|366016|1800799024|376014|7416014|38070700021|921020|18002099003|22082099003|56012099003; x-microsoft-antispam-message-info: sRzeAElFJwRuVH63pPcc1pS0tbaymJj1z0Jo/uBX7RtjmyygeVvkk+btlTU8aYlIzwCKT2W/6K5/M8Nbfa+yW4iSPRNtz5113VEEe2zS5haely8bkvQ/X6m1ebblZfmXylAu8MzL36ixppoNEdMomwj0Nfjr1BOXseA5f5qa5hMMLkHSW5JulRDfIKlGdLkz/t1yYk0Qr882/IGOuZ3zBMfkNYhCJAh134zcejicJdyFRXHgXxKUZcRn75l/0+aMUuB+W+bQxk1FgvZCjv80lQAQ7UcfWo3UYjWd6OM641YgtxyNJ1e0QhQolaqE5w1m/um77wm+GxBFZhUvXmxnlVy3ubbeFrXeHkyZoUdP7FUXibwX1Eqwco5cxYP9XMvfUExPEQD2jcQs/wCM5MM/Z0QXJ6beZETXlGmG6oIBfg0nioUig7RjruATPczDta9Wp/i3WZSbFNzhW2pJvRsNhBS+QjbwhpgsCt6NJuyMnXcPjO/+bRDBFkD+c5mE8bFKzrM4pVIIXvG8WXUzMkJCps/R4jhMnPVRACdhl4PPS+ABN7odHTUMiTbap5l8Dt3Ju1FYlLTGMjVUvuEEVAFeKFJkQcxdh6i372Kmox0nZHFHW87sQpGqe0hKwScAdOyN3XPTmNxhn0FdJn0i2jieWsy61D/lyVzjlk5c2e/8qgrDa3L2xbCtjbvZw1lAFMIIRKMVdmF3thkHndDL+dHAzIsUPcWyFtvwwZj6iyWiJk9/vsM5SPHWLfsshX47bEJi1tWIB8iUVe/h4R+w9RFTlw== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:TYPPR06MB8206.apcprd06.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(366016)(1800799024)(376014)(7416014)(38070700021)(921020)(18002099003)(22082099003)(56012099003); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?5BFmQ0mEx2yXaN2iWt/B2o8qD+3o8sFh9sWE+mfJrMejl4FETWeZzyIdkU?= =?iso-8859-1?Q?oT4SBv1R8o2/7ftZnmT/2hWCkFVFgBH7zTBHYczGQkcOLLrDtZWmAHmYPJ?= =?iso-8859-1?Q?ldXJIsHzJOuuIKG4gSOggvWzTlVgrbdi3M07pM0whuHaUJ+fs01K2DkluT?= =?iso-8859-1?Q?v7il3mHAQZ35PMYy/gmNJcevPl3oqAH/0eYd/mwCriN928/6Otf2mBRYax?= =?iso-8859-1?Q?WkKe0oNuOfAjADFhp6Fgqg7UDdlzkJi7Q2cqt/F7KyIb+i+Tm7IaJg8/lU?= =?iso-8859-1?Q?dahoV+zTFocG4xVPBWL+uBIcXj5SUQwcotZeRVbx2ZRwIZE8yAVJeiBaUI?= =?iso-8859-1?Q?vpFbIaKOwFQL/FLnTBgpBwMFTRCkEtI6/wjp1UFUD+cgPV2Ch6BUtuUlsv?= =?iso-8859-1?Q?GIk7ol5eckQMO3NAL77od2L5in35zc4Lsh5OIcRNOg2urbTZA4iCdJ9SeF?= =?iso-8859-1?Q?bsfY8+rptI3cGFzGkWUTOy4dXqR/bkS5rLq1MmSMrQsdH6zyDIyQo9BWfq?= =?iso-8859-1?Q?E/zK2qStqt/WGyOi8w6SKqrYznc3b0eISnH+tJMtmATF4Dk/M6F+5dnhKL?= =?iso-8859-1?Q?fb4DkvklHnNSjWK1Cai5p+YYtQP6F035KvYK7TB2dU59rjXt/sZVMiVokS?= =?iso-8859-1?Q?deerJT0Znx3E+/elB3VOXDETGPDW9a5FMMDPWlpKProx2o+Ku8k3u/i8Tz?= =?iso-8859-1?Q?ap23L6wyqtHOCB3eDVpIZt3jX6wBztGQNc50vHhPNNQlWStmkItyT28zTV?= =?iso-8859-1?Q?DZqtVDJLYZTWHHqB4Akz77jg3J48BqYYPfTNELRx4dPCJKQPuo+9sk+N89?= =?iso-8859-1?Q?niRzN8LYc7USmr144o7U4+1Qs9tpu+SedqWT9bbB6oFyMPF2ZcESSg368M?= =?iso-8859-1?Q?7S++j2jrxAlhfO66cAQL7KhK77gGYNwbCd8Xy0+p0c1VXzgdy2goJgCMZz?= =?iso-8859-1?Q?OExoQYNrr4Xl3nwhfUSwZgZy1uXdmfD1yaCrnQpm30bd/2wxTUCeNr8kV9?= =?iso-8859-1?Q?uyw6cBYUVT7C23km4tg5ii8LmJIxzPbXM5V3T/D7V9xhD3qVdSZJoJDj5P?= =?iso-8859-1?Q?VegEtIYscCw9t2wnYZf3mNo1mRuUUAPxu4FHkOTJSNxBc4Nu2LzAcBaBJa?= =?iso-8859-1?Q?rge+6GYNFXtiNNcCgTOo2yqjJSgkAgkr8/o0HiUR8OpixjTCctCTkrKSt+?= =?iso-8859-1?Q?RuoNNuH3v4xw+7kKkGasEATQbY7DTp6myRZub7/1q70s/yYDSxEDQqlz9c?= =?iso-8859-1?Q?Q2PIm6oMTPYp4/gabfU4oPtCvo4e8TmNhqT4X5cndHEK9U6RmUQFyWj9g1?= =?iso-8859-1?Q?GAYBsKwlWf202yJljYiwTY4vi/DaVVzvYjmMiWhXtvjAWxvV0O96dSbx2b?= =?iso-8859-1?Q?WIM4vPIHxSH8ZYR10uZxvzWIGxcauTKE9t0NT8RwucAZbEhUVfjImzdh2m?= =?iso-8859-1?Q?lKGCG+YYtt3ElG6iLU7ugotXgdkVTXzZK9AC5X4zmyTufD/cNwSAYjIGdA?= =?iso-8859-1?Q?tnmPXEguN3AiYTzfotzFcDnJ8HreAfz4u9lLwbPGLCeLyIhidguB2OFZHb?= =?iso-8859-1?Q?2ZyGJsCP5v2JXOBkgFaJv++aaJKtUjduU1VqwOVMHpl3uF+d42UHZOOME4?= =?iso-8859-1?Q?1b81fHg2AGvQ1YbDePMDJyPYH8AD7jVDKc8bq0kFGA8VL1d9mUDB+vZmRx?= =?iso-8859-1?Q?XCnzkiPSWa52jWNxBFwPZu0/jYQC8Lfpnv8tat/A40MLc73RyR4scOl1Fj?= =?iso-8859-1?Q?f0pJcaY+KMka/e8AIPUiw9w31J8tBUPhrgPnRVz9rzHSIkTpIBfyTZeu+5?= =?iso-8859-1?Q?UGUV166mdA=3D=3D?= Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Exchange-RoutingPolicyChecked: YaeL04Cb0P24ncaG+tEJk6UtfO+38HLK+1LvJZXCE/N4urxNTvXcLKX3vWmTi1qCTZ+Qi1k5aYDbOxzDvM9c0yhzbeSMlMdEND1oA5iI32JanqY/EbqzMie7rwDKtMYdbsfss9Bhe5CJFVtTsfPZ4zJ/LOoNiizd5+nH2Qhp1Qa5sSM2B7pMgQtq2g35OAgzwV92O2z/lu9VSG/KtjXSbAiNhiFYBTLUA1HBJUS+iJg5Eh5mSVoGFWv9meSVHkB9qPaN6PXqgzXPEzkuZlXVgNrLQcPhh5fw/cnIKDSSF724/EfnpGQYQrN/treDAZLVxxVLPgZ8RaMYcqEiMfrg7Q== X-OriginatorOrg: aspeedtech.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: TYPPR06MB8206.apcprd06.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0db081a1-21eb-4185-882d-08dea9885f45 X-MS-Exchange-CrossTenant-originalarrivaltime: 04 May 2026 02:53:51.1616 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 43d4aa98-e35b-4575-8939-080e90d5a249 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: u9c/+Hw3CCtmtfwwZQuumrC8uGpljGwdH7qP4LVpJUniEEWeZ0mtioERf2YS+DBXIJSZrRO4ThfrZkhXqbISCTlp4pgvY1ROyd9sdOs0asI= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SEYPR06MB5111 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=lists1p.gnu.org; Received-SPF: pass client-ip=2a01:111:f403:c405::5; envelope-from=jamin_lin@aspeedtech.com; helo=TYPPR03CU001.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_PASS=-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 @aspeedtech.com) X-ZM-MESSAGEID: 1777863302468154100 Content-Type: text/plain; charset="utf-8" EHCI supports 64-bit control data structure addressing when the 64-bit Addressing Capability bit in HCCPARAMS is set. In that mode, the CTRLDSSEGMENT register provides the upper 32 bits that are concatenated with 32-bit link pointer values to form full 64-bit descriptor addresses (EHCI 1.0, section 2.3.5 and Appendix B). siTD link pointers are stored as 32-bit values and must be expanded to full 64-bit descriptor addresses when 64-bit mode is enabled. Update the siTD traversal path to use ehci_get_desc_addr() when following link pointers. When 64-bit capability is disabled, descriptor addresses remain 32-bit and existing behaviour is unchanged. Signed-off-by: Jamin Lin Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- hw/usb/hcd-ehci.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/usb/hcd-ehci.c b/hw/usb/hcd-ehci.c index 611882ba1d..b1c7bfd90c 100644 --- a/hw/usb/hcd-ehci.c +++ b/hw/usb/hcd-ehci.c @@ -1792,7 +1792,7 @@ static int ehci_state_fetchsitd(EHCIState *ehci, int = async) warn_report("Skipping active siTD"); } =20 - ehci_set_fetch_addr(ehci, async, sitd.next); + ehci_set_fetch_addr(ehci, async, ehci_get_desc_addr(ehci, sitd.next)); ehci_set_state(ehci, async, EST_FETCHENTRY); return 1; } --=20 2.43.0 From nobody Tue May 26 03:33:44 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=aspeedtech.com); dmarc=pass(p=quarantine dis=none) header.from=aspeedtech.com ARC-Seal: i=2; a=rsa-sha256; t=1777863319; cv=pass; d=zohomail.com; s=zohoarc; b=EY8AtDQEKRn19x9TrahTdx3rkt2Ek5oda240/6cBCQPfa067M8D6FcMH8N08E7LTc5TKIqzAxIxwXwmubGB+plInLOzoi6+vobtW4vTudyQeaxNQdWC0dO8a/4XbIp8NlfHmdEXDSIfK4xJIxUZnL44m3SJSUm//zT2CleyokKY= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1777863319; 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=h17ehC0Ciu4yPqEeNYFpSDfDt9Kh0r++HXNDEyx2apQ=; b=IdYBemutSeW3BPFMvRKtWjI1iO6sQYEcLvlWLV4ePjR7cF8gs2P8u0mqMdtRzMAAHTq3cj8gwIiXP78kfolqjjWCYuNXrZFkhkNbBs2RfabYyreKM5a8RSqx6wpiORc2VQrrQp9+8IY77SdTa0ikP4z5IaWrQ5qPIjo+Rx3V/6k= 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=aspeedtech.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1777863319619518.0976875294194; Sun, 3 May 2026 19:55:19 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wJjRf-0001d0-FS; Sun, 03 May 2026 22:54:07 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wJjRb-0001ZH-Gh; Sun, 03 May 2026 22:54:03 -0400 Received: from mail-japaneastazlp170120005.outbound.protection.outlook.com ([2a01:111:f403:c405::5] helo=TYPPR03CU001.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 1wJjRZ-00040F-S5; Sun, 03 May 2026 22:54:03 -0400 Received: from TYPPR06MB8206.apcprd06.prod.outlook.com (2603:1096:405:383::19) by SEYPR06MB5111.apcprd06.prod.outlook.com (2603:1096:101:57::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9870.25; Mon, 4 May 2026 02:53:52 +0000 Received: from TYPPR06MB8206.apcprd06.prod.outlook.com ([fe80::e659:1ead:77cb:f6d3]) by TYPPR06MB8206.apcprd06.prod.outlook.com ([fe80::e659:1ead:77cb:f6d3%2]) with mapi id 15.20.9870.023; Mon, 4 May 2026 02:53:52 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Zrkb1EP+Yxa5nazlc3bqnitxLSgDCCvSGfYFyZVGQUGaRw0chQHWglCr9Op9n4oURa/0d1Jqdy/Df8tr4z/we3zRtwpvxQKyrKeHi0Dk5qgqo7j2gJMOmC1Gjdn3NQw5P1nD1ywhR8icFYYyahZzgdfM8Kv/35+EnbNFv61ZjA49l+jx4T0abT0Cj6gg7ecF9jrWnZ3NSuNapuAGi0PQEHzI0edcykfm02Kw9cQmeHQCVOYu+roHLkyBNKCWXig2shmhb6vQTgu34E3fh7QT6d+8iNhk5n/0X3MnGyRG3fcU8QxhFzRnmf6K+MvI9xXrgzCMo9IiWOIX20n/t/G0Lw== 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=h17ehC0Ciu4yPqEeNYFpSDfDt9Kh0r++HXNDEyx2apQ=; b=LhXd/dXJkjZvLwzQqJoRFgLrJWiRSWP0ect+P0e3P+fNvHGr7Hg80Zna3+BxY9T6CuGYoqGer4vu9kMPb14GPS+K9GrmJ079F7gXqJBQqQZsLX6cLlZ9g0k9eQm8mqGyDpANgWEVk4TZ1ljdxaw6+bfAiyXIVlFry3sjK3gPxZ55ax0SLUGaaake9jsuJpo+J7EUhmvlpcaHr4iwMO30blUoQ06g/RxPDA3Q5MVTHXybMDqHf12CEvm+gkBDJDRIZQEHJJM6OGYi/DTBje7YuuHBBBgzQ2kQ9QEVXRqHQKb97hY8hqppAvkYnAR3R6vu4v3I5OVIWg1C6b208cDp8Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=aspeedtech.com; dmarc=pass action=none header.from=aspeedtech.com; dkim=pass header.d=aspeedtech.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=aspeedtech.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=h17ehC0Ciu4yPqEeNYFpSDfDt9Kh0r++HXNDEyx2apQ=; b=bAK1yOFSrgvCSME5PzqtHYp5BvKF+0l6cUp/VEZFgxwjpLsUSOFMqfOS9wzpaUfrPUroVDXi2bmIG7D0DLp40bJn7etMBUsT9u6miJHhC1ZuXM2oUWJJGsd2a8MdYJomuQzjb+ARgDfzLOenfu36x60zqpxEkmc5PEMBDUrk2v8qsHgGBw4uTPbRoS6dKI6Ca2W/lDPeBrgFplud6Y9Md84oe8lqJODkYDNTvh0XFSSC5wfAlf16UTK/NOA1oijOt/ytR9rJSI6NO9gWGWauNONNLmI6ihHMtqX6QPDHimxETYOVk32nd80TXUE7QfYkTMUX0iwGsCmezTYpBxEUsA== From: Jamin Lin To: "philmd@linaro.org" , "peterx@redhat.com" , =?iso-8859-1?Q?C=E9dric_Le_Goater?= , Peter Maydell , Steven Lee , Troy Lee , Kane Chen , Andrew Jeffery , Joel Stanley , Zhao Liu , "open list:ASPEED BMCs" , "open list:All patches CC here" CC: Jamin Lin , Troy Lee , "farosas@suse.de" , "flwu@google.com" , "nabihestefan@google.com" , =?iso-8859-1?Q?C=E9dric_Le_Goater?= Subject: [PATCH v6 08/11] hw/usb/hcd-ehci: Add ctrldssegment-default property Thread-Topic: [PATCH v6 08/11] hw/usb/hcd-ehci: Add ctrldssegment-default property Thread-Index: AQHc23E97LiOY55oYE6l1HWddzDthA== Date: Mon, 4 May 2026 02:53:52 +0000 Message-ID: <20260504025342.1452605-9-jamin_lin@aspeedtech.com> References: <20260504025342.1452605-1-jamin_lin@aspeedtech.com> In-Reply-To: <20260504025342.1452605-1-jamin_lin@aspeedtech.com> Accept-Language: zh-TW, 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=aspeedtech.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: TYPPR06MB8206:EE_|SEYPR06MB5111:EE_ x-ms-office365-filtering-correlation-id: 190ee07e-8bc1-46c6-e602-08dea9885fd7 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|366016|1800799024|376014|7416014|38070700021|921020|18002099003|22082099003|56012099003; x-microsoft-antispam-message-info: bLoPuM8FJlGNqJWCFSCevbE2tLTg/YaKDw/ik72q2H3I3UhOr8w2Gk82UTxWoTolebG77GbXGaEy4lDewnAehnW5lmXThYQ7Wv0lqPyi8tYd4+olPiQ90p0S3QZfokEL1Ei+lWHqKzoSeqKtEgVpLIzsTgZFjMt7/3BNzdplYLQf/isU8MI5Xveu2IEkpHinvMb94I3lREIRwn0rB6Ntd+tZQGUfP31wCTSrSzllJb9vMTgdW13AhbMO5Jb6s1+e0IvDd/d2lRZhYC6XjBNSh1LqfRsQn1CQOE17pnGYpieQ3uwW12l5Ce2IbCuG4aLF6W6lTAS+0qiKWmEn2TQd6z6+HwjoA5iejN1Rlu1fI5S6AUyzJQDDQA/dEGeumIUnW67y7W5c/StU7qkqXj3x+7x0t4iTyg4Tavvm5s81fRs0mCXw5vheivrqkNT/65NwvHqvfBY0c+iS95p2FbUV3aup5sWv3UI0zX0fHEGrE+FWPWO/MYEuoyCdybQJ9/Ez69LracBl+iI8TB/PNx/mN8PPMaBT/e/WbwI473QzvLTZi0qRrnvA/FEOrqSO77RnhVk/rJOz6YnZJFwlYNovQ2DHUzPddU39TROH/zTH+zu5lo59/Duvf0DiPP2mibNZkMRjPJEmtuh21lEUQaRHxA0HCWaD+ZYXno9bmLOI1iOyM6GeViwARdftJr8f7BdatidvBv4/EF/nVPzwyNZxw5uHsJgJT4/p+dHIXsBBGU/jw7y+eG6iqNEE5xDnD1qpv03HNl+9KGv/DUA0UNyZRg== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:TYPPR06MB8206.apcprd06.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(366016)(1800799024)(376014)(7416014)(38070700021)(921020)(18002099003)(22082099003)(56012099003); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?f9NTF9beFzroWqrQN6REQf5YA4Iw5JXJq//EdTLqzUOheAm1sTMFtXLxZ8?= =?iso-8859-1?Q?2oahly4paNpmMc8vh0uqEX2ktAOv8Qx+YeJJTwGSO1DduZz65jDa+elziY?= =?iso-8859-1?Q?euxbKF2AWd6QYUfQXB9jEI+qIXj8hVJXYVHUdO2F2KTy7EuwSml+0aisVw?= =?iso-8859-1?Q?fWxpsrOrJzh4HIZ/w2+kh+oX8OExxmHtui5Wq/cpg4Lq8y7UbizGOgzBa2?= =?iso-8859-1?Q?sDsf41tJmz6fK1ebZDfFAnXUEvbS6zVLAmKhjwr0QwvJxFGI3xYfyjwN9t?= =?iso-8859-1?Q?dIo+Hda+YzGpPxovLjqP4ScvH8MK4tBDqj3kMOXPOBK6UrMHx1Bkfc/qmt?= =?iso-8859-1?Q?/LLCNA4yjdVo7Xq7GR+Tskx1sKgIQjcTOr72Puz6hHr8z4jk9/pSuhk+y/?= =?iso-8859-1?Q?Calha1vXtQopjmfcE8EY7A6QXD0dxATHJg/BeRyq/6USMaMTJr/3kZwUMq?= =?iso-8859-1?Q?bhhpYr4dl1+sBT46DD1YdY1n0NCmujZRadY/bP8cg/7TojPBV3gZ1Ux65b?= =?iso-8859-1?Q?rFQPYWIUW6YSGim3rEoLqYqXB8khqgVYwh/EFdKCCJpa5meK950nVHcvWc?= =?iso-8859-1?Q?38hwpa9f7p/hmLUOOWgz8PUwENQiQFYDXMQi2syTo1OeUKGCA9JjQrvP1B?= =?iso-8859-1?Q?zjQxL7HielkjtkAFJP8/nxb8krN1RoBiUVKAk6nHCHl0obIIKJdiz35yCJ?= =?iso-8859-1?Q?LxVA932G0Ba0uC3D5VvpQatNBYnnJP6U6gTWBgcqBvy/7zw1Cuk3iqXk7K?= =?iso-8859-1?Q?vnUPCMbTtN+nVPKcBnatyHlAuwAaCdlg5fBlIk0o446H9OzrQdcVnnZFjj?= =?iso-8859-1?Q?drLTUEOVm4BWxSMrTSW1gvnEC/b81FSxgRbFLzBuq6OIQgNiNV1WHvSTXq?= =?iso-8859-1?Q?7eMXGUqCzOEG1QIfeMNq832QB9zq3OyZZpxGxzLsSCP3912nxTPim09OGY?= =?iso-8859-1?Q?gEqyC9TOwqGfZ5IsEo/bM53UUnzqqejX0MmWJngOf7buQI8w7niIBnBRna?= =?iso-8859-1?Q?apppOQUKIenMWzwpsJkFSkMyxD3qydHnUyu90BNWMNLVFWrX+mnnhi+ekS?= =?iso-8859-1?Q?ll7H111ebjBhPVSKhYuxkzjRSPCMD+r0nF8ESaw4Vx3c6HKhBgAotaqMPY?= =?iso-8859-1?Q?hrhAngrRoeh864l9bUaWnqr+YEsggS99b0jY43+7MKjhUsjKFn/Ym+p/JE?= =?iso-8859-1?Q?z8dgjx0bMpEgBtqZwKrejPy1sLzipk3nQkJXRJgDNYiYBbr+pAelDIVFKu?= =?iso-8859-1?Q?VQ6jSjwQXlwriYhXHkgDmZJQ/DckIH4+FUKuNSKMMvwTVtz6DobO9U0ZMa?= =?iso-8859-1?Q?dkbCQqLD1rL0UVJ8Bkj06+/CXUCYibf/kaMhU5UUeZ29/kN3QsMaQCsF6u?= =?iso-8859-1?Q?6yxqRw/XikI/fXjGNZ8jqQ2YyWZBxx+TVT8Zt+lk/b36kvjnt6DyLzhiUn?= =?iso-8859-1?Q?vyQA1DauYz0eke4ZrKt/7dzpqnxFN7sSxXWFLEPWI3AxsO828pztD5qy4K?= =?iso-8859-1?Q?qVOcKbi4y69MnqC2edMUCB0se9ktkOZ0WiMXzW9TYNu4sDMnk14TXSIw/o?= =?iso-8859-1?Q?fHQQ7idxfsO47D6wATQJMuXLJUpYi4e6D5NkmFjUakXkCB609XxIr8tkuD?= =?iso-8859-1?Q?OSo3N9xFPkpXQfKDOyyExe6UFVDnEqkqTdNqWFunGT9lE10AGD/4HOSNug?= =?iso-8859-1?Q?DTcXIXdqTVArvEtupjn1DbwIkDav2A2elc9F0T19gwt5DVxquAlvmc2dPe?= =?iso-8859-1?Q?Deqxuf+Iafi7iabAAJYgXWNkA8Lo21q2GE8Ujcw89HoKLBY/VCz2cdBvzC?= =?iso-8859-1?Q?hcZgLknqGw=3D=3D?= Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Exchange-RoutingPolicyChecked: Lv7L7gH35JvYKUZkbP2JWnzv8TQ9TpmAVxqqvMQSr+4T8qyYE7QTNQD2ILrx3EInEtLXU0L9KFO35meQlzRwRKeqk3D8Wz2DeUW+jP2Rm841MgXzRYZfieU7eXpFkRxqAbleNXaHPy3mPP09yHcMK8ebw7hH5HXqG1bip+1iJHe1qDxXhGs1AD+MLJnwbjidEN9cXfodT/jTJv78SdFl6pYTg80YPKeyj6iGM5ncNM1QCorGQjP2P90CnZ2napBHSfMYlrTlD8FMa9/vZrZiBG/B3uUVRLxS2bmftkB6c4XTMxpW/HJRxP7SpH8++khuTN3wILSKTSEswnE566hJIQ== X-OriginatorOrg: aspeedtech.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: TYPPR06MB8206.apcprd06.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 190ee07e-8bc1-46c6-e602-08dea9885fd7 X-MS-Exchange-CrossTenant-originalarrivaltime: 04 May 2026 02:53:52.1631 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 43d4aa98-e35b-4575-8939-080e90d5a249 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: R9L0mcQjNmdoCTN4bQ2M7Kle94q45kTDBGPz6MA2P1oHWCa+rbOXDZSNc3yEs6v/PdzXOoRoJ8DKviaNBMPM8ujfbxIt/K/fL71e6Za9LzQ= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SEYPR06MB5111 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=lists1p.gnu.org; Received-SPF: pass client-ip=2a01:111:f403:c405::5; envelope-from=jamin_lin@aspeedtech.com; helo=TYPPR03CU001.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_PASS=-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 @aspeedtech.com) X-ZM-MESSAGEID: 1777863320921158500 Content-Type: text/plain; charset="utf-8" When 64-bit addressing is supported, the Linux EHCI driver programs the segment register to zero. See ehci_run function: https://github.com/torvalds/linux/blob/master/drivers/usb/host/ehci-hcd.c The driver comment also notes that descriptor structures allocated from the DMA pool use segment zero semantics. Descriptor memory is allocated using the DMA API. The platform driver configures a 64-bit DMA mask so memory can be allocated above 4GB. See ehci_platform_probe function: https://github.com/torvalds/linux/blob/master/drivers/usb/host/ehci-platfor= m.c On AST2700 platforms, system DRAM is mapped above 4GB at 0x400000000. As a result, descriptor addresses constructed directly from the guest EHCI registers do not match the actual system address used by the controller when fetching queue heads (QH) and queue element transfer descriptors (qTD). Add a ctrldssegment-default property so platforms can provide a descriptor address offset when constructing descriptor addresses. This allows systems where DRAM resides above 4GB to access EHCI descriptors correctly. The default value is zero, so existing machines are not affected. Signed-off-by: Jamin Lin Reviewed-by: C=C3=A9dric Le Goater Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- hw/usb/hcd-ehci.h | 5 ++++- hw/usb/hcd-ehci.c | 1 + 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/hw/usb/hcd-ehci.h b/hw/usb/hcd-ehci.h index 8e6a8cdfb0..3d57e1de5f 100644 --- a/hw/usb/hcd-ehci.h +++ b/hw/usb/hcd-ehci.h @@ -264,6 +264,7 @@ struct EHCIState { uint32_t maxframes; bool migrate_fetch_addr_64bit; bool caps_64bit_addr; + uint32_t ctrldssegment_default; =20 /* * EHCI spec version 1.0 Section 2.3 @@ -322,7 +323,9 @@ struct EHCIState { DEFINE_PROP_BOOL("x-migrate-fetch-addr-64bit", _state, \ ehci.migrate_fetch_addr_64bit, true), \ DEFINE_PROP_BOOL("caps-64bit-addr", _state, \ - ehci.caps_64bit_addr, false) + ehci.caps_64bit_addr, false), \ + DEFINE_PROP_UINT32("ctrldssegment-default", _state, \ + ehci.ctrldssegment_default, 0) =20 extern const VMStateDescription vmstate_ehci; =20 diff --git a/hw/usb/hcd-ehci.c b/hw/usb/hcd-ehci.c index b1c7bfd90c..62c3770ac5 100644 --- a/hw/usb/hcd-ehci.c +++ b/hw/usb/hcd-ehci.c @@ -1134,6 +1134,7 @@ static void ehci_opreg_write(void *ptr, hwaddr addr, "64-bit addressing capability is disabled\n"); return; } + val |=3D s->ctrldssegment_default; break; =20 case ASYNCLISTADDR: --=20 2.43.0 From nobody Tue May 26 03:33:44 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=aspeedtech.com); dmarc=pass(p=quarantine dis=none) header.from=aspeedtech.com ARC-Seal: i=2; a=rsa-sha256; t=1777863324; cv=pass; d=zohomail.com; s=zohoarc; b=EVet14xnrMtfYmPhB71Uh2+0vvqtPIAtNARv4Gn376MzJjRkPym046/wclq/eqoziaK2oTVOO7plvwZUGm4heARV1+43EmE5e1dgYs5jKnwu8ZE5ibKE1w9M0y/nz8e4s+5aOQ7gWj1AySALxu3eJ9bQ2Flu+1dV6m83PmgCxGY= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1777863324; 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=8opvPGofLR8dFt/07zzM9lGCEIygy5c1ByGEPsBwMTo=; b=ke4oC8RH8J1iITOVbcgdOECvcG9d1L91mW4PQPuGYxqDv9R5WGrbKingy1zSe7sn6MQ3/5PjJH47pR49RUZVjnqKgkRdHHcDo7Edx3jUsK1nrke01WB3F5ll+9tIJlotYK+7AIRMK+COx4KC/m4Fb77RIY6qSbOck2zZjbHTYZ4= 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=aspeedtech.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1777863324212659.6370112269243; Sun, 3 May 2026 19:55:24 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wJjRf-0001cz-Cy; Sun, 03 May 2026 22:54:07 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wJjRd-0001aw-KS; Sun, 03 May 2026 22:54:05 -0400 Received: from mail-japaneastazlp170120005.outbound.protection.outlook.com ([2a01:111:f403:c405::5] helo=TYPPR03CU001.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 1wJjRc-00040F-93; Sun, 03 May 2026 22:54:05 -0400 Received: from TYPPR06MB8206.apcprd06.prod.outlook.com (2603:1096:405:383::19) by SEYPR06MB5111.apcprd06.prod.outlook.com (2603:1096:101:57::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9870.25; Mon, 4 May 2026 02:53:53 +0000 Received: from TYPPR06MB8206.apcprd06.prod.outlook.com ([fe80::e659:1ead:77cb:f6d3]) by TYPPR06MB8206.apcprd06.prod.outlook.com ([fe80::e659:1ead:77cb:f6d3%2]) with mapi id 15.20.9870.023; Mon, 4 May 2026 02:53:53 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=yhzWXtst9he7BmxXzfUogO86P8/3jPkdlBqT5MzpjwxYEJnIPsks7dGSLinNUN664T3MlBhdGD8bD85B6aKP1ZcLzweKTQ8R13zjOSs1o1li7BGyuOIyeCTmmp0hJH5eKdYZF1OB8nI7kh1r9YdJm0FWIfe8YqNo2qN8qD7d7Dbwi76yorqYhfvaeAi4rM3KLsF7BfqcP3pvmKYhLTXuipHAgvv+GUAs4I/LqfJNUnoWmTZPTC0LkBg0B6EIu2tz2VT6wLxR6G8BvQ5PRU2kc9vdsPMpHGXv6XWffbIpumjWHiyyH0utf34v+o2nevw6bag+RdiTlUjDwyAvhXlOYA== 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=8opvPGofLR8dFt/07zzM9lGCEIygy5c1ByGEPsBwMTo=; b=BGPc6GnjKreIAxvvjWEBsZEXARMJEQo/0vy08aoyBbaUAl85SfYav5KATd8dDfQhCXkrWjbBMZiKwQAFbcXRzqeieNjtkNavUYudKEMKYothsqkO0V3DIXAfeFZoZHJQryARE+Uy/WL6B9JX2fQvze4HB1ufCH23Zg9Ez++yp5LpjB6fKbnHDrTnKh3uHRDV4wgx3DcVQECtDgoQjFRvkEiio44kj1sgc/Mk8ckURcV64vexD1QqYvqHKbP6PD5ShKT52opsq8aETZZgExZlWC/lHQH8mvFgQEw39eA6fgDRCLAW0le3wj+SOvpvZAlCcBCdZqXQVvX9gZMEWEBTkw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=aspeedtech.com; dmarc=pass action=none header.from=aspeedtech.com; dkim=pass header.d=aspeedtech.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=aspeedtech.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=8opvPGofLR8dFt/07zzM9lGCEIygy5c1ByGEPsBwMTo=; b=AXmRz1M80U2jjlPzaiN9Q+RNB96uuuzDdBzK+Ag1zfVu85PhqkGMQ6aXH+w7kZgC9qDcY9w5jkUr2sXB17USNd3AaBMVg9uWmoDbTxnUjjB8fN7wH04GVwwFxOsqlR7alkUpf38Aa/ZoPD71Bp0mwBlp8j0XRPUANWGoPaIdeMQQmXKjSIIxU/8VQUoXZHF5V/hvXli1wA3ho3wCBpA71F4eLtHaroo+2OU8nSpQGIMTptI5JsQkDg8UGQvPE0aMXCaitzykCkDk9qsWAAU5A+GsF+u+42nX1li4tqsk/2icmEF/c+yNw0zWqIrtA9/cjhMmmWS72MBYrzDGNPdmdw== From: Jamin Lin To: "philmd@linaro.org" , "peterx@redhat.com" , =?iso-8859-1?Q?C=E9dric_Le_Goater?= , Peter Maydell , Steven Lee , Troy Lee , Kane Chen , Andrew Jeffery , Joel Stanley , Zhao Liu , "open list:ASPEED BMCs" , "open list:All patches CC here" CC: Jamin Lin , Troy Lee , "farosas@suse.de" , "flwu@google.com" , "nabihestefan@google.com" , =?iso-8859-1?Q?C=E9dric_Le_Goater?= Subject: [PATCH v6 09/11] hw/arm/aspeed_ast27x0: Set EHCI ctrldssegment-default Thread-Topic: [PATCH v6 09/11] hw/arm/aspeed_ast27x0: Set EHCI ctrldssegment-default Thread-Index: AQHc23E9LuUcfcQZ7U6ogE/V6lW0Dg== Date: Mon, 4 May 2026 02:53:53 +0000 Message-ID: <20260504025342.1452605-10-jamin_lin@aspeedtech.com> References: <20260504025342.1452605-1-jamin_lin@aspeedtech.com> In-Reply-To: <20260504025342.1452605-1-jamin_lin@aspeedtech.com> Accept-Language: zh-TW, 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=aspeedtech.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: TYPPR06MB8206:EE_|SEYPR06MB5111:EE_ x-ms-office365-filtering-correlation-id: f71cb072-32f3-4d2d-8e84-08dea988607d x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|366016|1800799024|376014|7416014|38070700021|921020|18002099003|22082099003|56012099003; x-microsoft-antispam-message-info: ihesalkcCW+4b4XAg1rYf0uaqGc1eSBToGZSPtAAhU/+OIW+Nm/KqND7rAgIQuGAF85KKqHXJiacX+vP0+ZVCFTxBdkNV2LTB/YYUulfiPLf3vIF10OJqbFaDXJBJEBnON7BcbuGVd0yNlqUY7dntTnrY7VRQ6dDz4/FIPOk9g5ryfMy5L4DUqnWJ8ju4JmPX0IM25OeNeh5cIT4qMcaJgXegvJ/jHIkuKFvK7nYq1O8JfRzF8DcMoMeHJhZoYgzB57L8mfhc0AwAS+oj7zwXW981PobES1qetW8e5f3pQpzd0sk1BQTHHblp/4W1Vyw+3D5+krx9IO26AXGrLQ/0ikbtKhtiCZl9IUwbtaOKFAdtm2kegwuqJmv5SFp9EQNPMsNWeH+AbpwjYR8HH2C9217a26tHHmwAWm3BuFSJpQLg8MCEIbtMJHTw/fp/cpRJcLdBb2DCiX9cgHQd57HCyeHnNJXHbHBBcDOKmW7iSpK3SePLSMC2we6jwY7vRQ3GyigR7TjGXVypliNY6GLQ3PPt/lrdAY7jAfevly+8ZBEjxqVEZc6LIU7K5eiNGvknY2YtoLYuHYNG/lFeOFnJX+Y6NfLGMh+GN2v4p4tH1Tj5CqVytQu2rGpLZC5KNp33WC3qbPiBViOUwLxuL1Sqf/J0NHXF81NCCFACoClM9wBRl4B5ScXmrdYpY9Q7hAeBJLYhxdfg0sP8fMVHEE1TgQ8xQC6VrXynNm9QLLKqrcw+EbQe6erlq9IbZgrIb51I1cazsu5eLbFU9YAaIUFUA== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:TYPPR06MB8206.apcprd06.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(366016)(1800799024)(376014)(7416014)(38070700021)(921020)(18002099003)(22082099003)(56012099003); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?afkdZ207GaA505ozeRErpwbqd7mU6zT5FJrqxzGYFJx7rYtl/dc0oYZGvv?= =?iso-8859-1?Q?m3xAhUVKpqMnulF+x966dyj1WwdomnF46Sk09JhtR9Sml7LXzwmOgRWzrV?= =?iso-8859-1?Q?IkA1vnERBxRrjN8vdnuX/12URzmw2i+AJZvHu7KmqeP5g3hm+i//erOPjl?= =?iso-8859-1?Q?0QvZ7d4xgtW/4VMmSE5HQpH0RV930YNgLmQSG3oKEKGyYZc25/h3YmVkRC?= =?iso-8859-1?Q?azknvanGb12bHyIIaXX/99cotMYubMSbqqY4B7BSFQuF3dXpoawWjWsSXJ?= =?iso-8859-1?Q?GyElu6HdybkV665CijAL9B3GrK3aqdBCL4NidCfoiR3xKDOcOrzUblIzXj?= =?iso-8859-1?Q?ygaPA/+J7FTDA4B0rbTYy7jgv9JEZpOEcKMBNEHPK/vav74DloacLcYcjj?= =?iso-8859-1?Q?GR4Yjey3aLkiVCXSci5sW6jERHieIhCKviV0FlZ+JFEkbnlOZs/oSlukDC?= =?iso-8859-1?Q?i0qbZyzVUDxlUAsrDJxeMAsMfHnWiyfzEbEoMID+89sLMbjYvICb1P2FVp?= =?iso-8859-1?Q?DnHXpBGVmYtk+fgEDvwbgQc4KZV9TEa809ZiNQa3J/TC3E3Hw3cmG+4ORb?= =?iso-8859-1?Q?3sbAb7mfvUm8nolKXIJmsxcAh5VSIAwoBnj8sP3X7KS5AuI4lPNn/MxoZv?= =?iso-8859-1?Q?LFyL3VGuKkh9HfcNXYRcIL1OEfn0RMu2ha1tglaFz9pgQWC4FcR1Me1yyu?= =?iso-8859-1?Q?UBQB78V95DXCD2qiLiscwg3kBD1g1Ac4OnL2crorBD18B01NoG5dOnR8+B?= =?iso-8859-1?Q?pLJxJfzZosQymdFBLFS+w+AdryGFd4Xu5LEVCyxZAGJjXHhvBAXzDN4KoV?= =?iso-8859-1?Q?Ia3bAEjx1vxTw8Xs/0yBLBCjHGD3kU/fWrSNjCDpmJTC1wIr2mU/hIzN+n?= =?iso-8859-1?Q?qNljQP+oPpQ3uuGoC1QaRp3NhZaoTGnGvGVS5b7e6PnsP/TAv7ApAFVyS3?= =?iso-8859-1?Q?GcpApPJGIn9AM4PDNJamtK4GuZQeH6XZXtrT+pajQrPEufK7rQ68BFyPKr?= =?iso-8859-1?Q?P9q7r9snWJjUBuNQXt0BljxO0Oa3233x3VWanmJ6es40uKL2FUlZbV4gOL?= =?iso-8859-1?Q?iFA6sEvooM4BCxjwpsdeD8sqjXFBqE1hb6f/8kFX1W2rsl6qwTA/7pIP1k?= =?iso-8859-1?Q?aiimBd71W+Bm4FKj9hgKqJeLtV4b2/GEhI4f/Gihcco88bVqm0kLtPIR6c?= =?iso-8859-1?Q?OlZ3sc5n8xyCWQfRqFWqkTFpxvfOmP1sNPAobfXEHEYzA2IGLiTKhvjkZk?= =?iso-8859-1?Q?xm6o/DQM+wgqfPp+ZQXlB93LK3v4XUvxIMR0nKWH32J/OPjXhqFjc/0l5s?= =?iso-8859-1?Q?4/zzh3P/F9hlszfgLr2IdCkGNCd+iIkRgvXabm2UtIJCgiLctV0muMx3l7?= =?iso-8859-1?Q?8wHDN6gN8j5gpjjokIzuB53TSsOPVLDxkGMmwK8tozX+YOi6pwcBVmttqe?= =?iso-8859-1?Q?DbaWRsarvF3vRyFIoxyWtZKjZ+49KQZJAczVoj0O3pFlk4t2JIz8HGM4Yf?= =?iso-8859-1?Q?1m5ylMrjto512VscmGSMDhiYKSoez9felOTlQKOZItyvUDHiAuGlGxRCIf?= =?iso-8859-1?Q?7SCXoi2J116AB8O8eizs9sf9wQc+poJtFDZjaEBkFQj3ia8QcAAJMyLrg0?= =?iso-8859-1?Q?8qVqBFonac3OW1QICuBih2xYRoRMonTNd9LPOLGu9jl+0d4q+zB7O/uE+B?= =?iso-8859-1?Q?5XPPHphhOWz4BqRIPevM82aaI6bEsWGt/OTxMfuVo/6klnm9FNkdUvhCF4?= =?iso-8859-1?Q?pIUB4CFyq31cXhtG1ey3thj0jCjYVgGw+9xTxgs3kEDxJUHUAAJ9TRQj8E?= =?iso-8859-1?Q?Od7UjAT0Kw=3D=3D?= Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Exchange-RoutingPolicyChecked: NbxtKRtLh2UaK1GByki5E7Ob5pQ5oqUQ7YSxrkTZDmq2dw67++JRewJGpaUg0jw0JPZ9MxHNhYgANi6XN0UVEHEnuUozHp26/K/ZKALXQIzCt6Ea1jd82VwtSV16/DvTVPB+HAaBzf+lbeSM3DBss1ZBeU+nP0BrJmGbWNQJggilRQHeOiFveeq7M3Sp/qnIdWb2xevHuaa0v/wtPol5Jn3TGoINVSUZOkbkQYq3ZysmJ98Q0/hnZAdQ+LFtPGfvt/BRM9cVaG1FRgzjFjWPL6uiMKqeDGQa7DxlgB6KX+I2K+bHk4Sb3UBy/yw7VWFMUzmujqdQK0rEyOgQnz4u3g== X-OriginatorOrg: aspeedtech.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: TYPPR06MB8206.apcprd06.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: f71cb072-32f3-4d2d-8e84-08dea988607d X-MS-Exchange-CrossTenant-originalarrivaltime: 04 May 2026 02:53:53.2230 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 43d4aa98-e35b-4575-8939-080e90d5a249 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: pHEBwlFlKv7jabG8WV8nS8u7i3bzz/rhfZKiZ/HLJ+wjnhxtxu27TnKQTzA/eVfaS28RU37oNgSsAQeL7SoM9K94pMAWRfxbWbggl63H4Hk= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SEYPR06MB5111 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=lists1p.gnu.org; Received-SPF: pass client-ip=2a01:111:f403:c405::5; envelope-from=jamin_lin@aspeedtech.com; helo=TYPPR03CU001.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_PASS=-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 @aspeedtech.com) X-ZM-MESSAGEID: 1777863324912158500 Content-Type: text/plain; charset="utf-8" On AST2700 platforms, system DRAM is mapped above 4GB with a base address at 0x400000000. The Linux EHCI driver programs the segment register to zero when 64-bit addressing is supported. As a result, descriptor addresses derived from the EHCI registers do not include the DRAM base address. Descriptor memory is allocated through the DMA API with a 64-bit DMA mask, allowing descriptors to reside in DRAM above 4GB. On AST2700, EHCI queue heads (QH) and queue element transfer descriptors (qTD) are therefore placed at addresses starting from 0x400000000. Set the ctrldssegment-default property to "sc->memmap[ASPEED_DEV_SDRAM] >> = 32" so the upper 32 bits of descriptor addresses are adjusted accordingly. This allows the emulated EHCI controller to construct correct system addresses when accessing descriptors in DRAM above 4GB. Signed-off-by: Jamin Lin Reviewed-by: C=C3=A9dric Le Goater Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- hw/arm/aspeed_ast27x0.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/hw/arm/aspeed_ast27x0.c b/hw/arm/aspeed_ast27x0.c index 87dcb82e1b..ea527479e6 100644 --- a/hw/arm/aspeed_ast27x0.c +++ b/hw/arm/aspeed_ast27x0.c @@ -856,6 +856,9 @@ static void aspeed_soc_ast2700_realize(DeviceState *dev= , Error **errp) =20 /* EHCI */ for (i =3D 0; i < sc->ehcis_num; i++) { + object_property_set_int(OBJECT(&s->ehci[i]), "ctrldssegment-defaul= t", + sc->memmap[ASPEED_DEV_SDRAM] >> 32, + &error_abort); if (!sysbus_realize(SYS_BUS_DEVICE(&s->ehci[i]), errp)) { return; } --=20 2.43.0 From nobody Tue May 26 03:33:44 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=aspeedtech.com); dmarc=pass(p=quarantine dis=none) header.from=aspeedtech.com ARC-Seal: i=2; a=rsa-sha256; t=1777863296; cv=pass; d=zohomail.com; s=zohoarc; b=PxVWxwgoobCdTsM4tpLdumvAds0mHsK7lkulR572s+7aJoTd5HvnyUoTbfdf9eq1v0EQYD0cz1dlRZMyA1kUHMsnhSszfazFksoMuRf/C993rqQpnM+2+GdT0c4+VjbtrG+24PdoUU42rtw6EoJfAGa/cNXtF83BgAqdOYIUAYQ= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1777863296; 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=NZ7C84LslWcGxMxkAkiKjxLES3iUe3F2g5ARQ+wnKcI=; b=ZjcSsvqaDdOL46CLo061V7QMknIMQYzonDrHryJPn5j20KBcc73ff8S9GaJRbIj//GETlaKGFJh1+3gbavYdhbRP2lPb1BwUHVABzmVoQf5vfsOCNDiaZVz7qiDn6qtt0ikFU/6PVWNY80+FyWKP0xoGtzRS00Zoz+wBkNHOTMI= 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=aspeedtech.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1777863296079143.62199345821068; Sun, 3 May 2026 19:54:56 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wJjRk-0001fU-Nu; Sun, 03 May 2026 22:54:12 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wJjRg-0001dB-62; Sun, 03 May 2026 22:54:09 -0400 Received: from mail-japaneastazlp170120005.outbound.protection.outlook.com ([2a01:111:f403:c405::5] helo=TYPPR03CU001.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 1wJjRe-00040F-Dj; Sun, 03 May 2026 22:54:07 -0400 Received: from TYPPR06MB8206.apcprd06.prod.outlook.com (2603:1096:405:383::19) by SEYPR06MB5111.apcprd06.prod.outlook.com (2603:1096:101:57::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9870.25; Mon, 4 May 2026 02:53:54 +0000 Received: from TYPPR06MB8206.apcprd06.prod.outlook.com ([fe80::e659:1ead:77cb:f6d3]) by TYPPR06MB8206.apcprd06.prod.outlook.com ([fe80::e659:1ead:77cb:f6d3%2]) with mapi id 15.20.9870.023; Mon, 4 May 2026 02:53:54 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=mPdStz9AcmqimNISZZXDM8wENx2ant0jNujzAuPRKdNhbCij/m0pBdRNidMrao30SYfi9PyRnj7IdGKVdkcUtRKorc41Q4F8jCXDJK8xgIhx3tfJLuqffkA0FYfnQNx9qT+Qh1c9HDEkUL0kagR1AhmNLImp+qcqgmgAFeFN05DASwzSpy5sSAWWiEqi418EEY9aa8myGJrD2sqZaIQmJ6RV7VQUv4Ew4asXcBVC1kY6zHarLszf+kvtXvfqEe7/n3vR6zbemxbKkXoT2PBR0e961d4YSVQtmLdkH3WKBzHgEtpaMmePfFM8KTX3LDCSpP6J4dDGo92MFvCaAWlDrA== 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=NZ7C84LslWcGxMxkAkiKjxLES3iUe3F2g5ARQ+wnKcI=; b=bc8URM8qE8/GxC+bzCoeIzGMGrRtjHhkUGkY3wwi2gtCPXghpxcYvWGgJJxMgB3bqbx1RgB1F2tOmrLk2hoadkNeMp929a6DTT1zfUX0cRVR2bf7NXAyvUIsBBQ8nDmJBamQ/te98nlbvdo7OoOWnptt3MGJHCP3H+NL4qiYUuJARJq6zG784F3Y0z4Bh7wt8Ze3xJ0XcTRRCdKQxLiTHbvIXahQMehjK/KeWyBNJz1XfXsH1O0UTT8xlbcToo8ncHOpY+zQgPd0zGbPhInTO3jmplxRH0aRtou1rdKta2B2bnWbfPx8TiU+gDF4ZF2ZHl58eiJcI4d/6H2DPTu4tg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=aspeedtech.com; dmarc=pass action=none header.from=aspeedtech.com; dkim=pass header.d=aspeedtech.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=aspeedtech.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=NZ7C84LslWcGxMxkAkiKjxLES3iUe3F2g5ARQ+wnKcI=; b=Bxlt5jlRTTZJXgjmF+ITK9n0DK5d2u54RXceOU9jFo92HDzB99KNE3vTAOA2ntENWVyyGcUxgKRHt9lwyLncIT7OAq5OAP0EAWdnzLv0ozmtifijQgWdFKwHUa4TGntDR3OK7jWVeO8KwQ8itEf6chXJNyiTMWMBkrtW4W6dlhJN3/SOZTBcKuFltbqDyzrz1jljEHkKqCnmzSVYGeViHySo6TyUX8qXxSNIzT+00JiZmrdKVBzkHuI9w1skTrkyTFbs1+PJasrTkKZeXW07VOp8DTqotmgB3QhaxLgkfS/N029bpFeT6vRpQfmx1ZvG3sMfBKU8X46YZQ0n/b5gdg== From: Jamin Lin To: "philmd@linaro.org" , "peterx@redhat.com" , =?iso-8859-1?Q?C=E9dric_Le_Goater?= , Peter Maydell , Steven Lee , Troy Lee , Kane Chen , Andrew Jeffery , Joel Stanley , Zhao Liu , "open list:ASPEED BMCs" , "open list:All patches CC here" CC: Jamin Lin , Troy Lee , "farosas@suse.de" , "flwu@google.com" , "nabihestefan@google.com" , =?iso-8859-1?Q?C=E9dric_Le_Goater?= Subject: [PATCH v6 10/11] hw/arm/aspeed_ast27x0: Enable 64-bit EHCI DMA addressing Thread-Topic: [PATCH v6 10/11] hw/arm/aspeed_ast27x0: Enable 64-bit EHCI DMA addressing Thread-Index: AQHc23E+09DWmngc80qI4sBHxcHD/w== Date: Mon, 4 May 2026 02:53:54 +0000 Message-ID: <20260504025342.1452605-11-jamin_lin@aspeedtech.com> References: <20260504025342.1452605-1-jamin_lin@aspeedtech.com> In-Reply-To: <20260504025342.1452605-1-jamin_lin@aspeedtech.com> Accept-Language: zh-TW, 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=aspeedtech.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: TYPPR06MB8206:EE_|SEYPR06MB5111:EE_ x-ms-office365-filtering-correlation-id: 6dbe92cc-184d-4b95-8af2-08dea9886121 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|366016|1800799024|376014|7416014|38070700021|921020|18002099003|22082099003|56012099003; x-microsoft-antispam-message-info: hW0HLkDTVxDA1oNVBaTp1Hhaczay9eDUVv2reWSocFlZyzTqQ85+Vr09emZcAViIbsm6mcQ0RTES6NqTwkGxOzZNZD1RvsqCeRGjqC7OhC+nwZVTDMem2DrcPlc9yFNDyCx8iBxGNOUbSVhmym6RL4s+hjOx8Fd4YwbLR6q2dSXmJ6KgMhosKbYRaDoAm1MLdIxxX57urdNvL0RGsG0YwF3XqJqUqn34ZIYsIL/cL57YiVTlNtEeuUIlRyQvWhlvEWnbW821vOgSbAtkWsUwj9SklzqzVzzQ8hyr3fMlhqK2086+6U3RLmSt36GAZolk81PmWYjN8l0/hfbygithuqx8BhZ6Oav6fV0sTfQ5sRfr/HsS00nkC1gOIpDQY5LOtx2NgY8FwJSs54Xs4+KRQvjZIcxEkdCXWaL99uXnibfk0FfI0TUyFZNN58HZvAY0FN+QufPR9iKOsAO5eGn4RLFcg9ydmH4TU+9X5pz5iEDVdAhO0lNocUNbV53otbyxdq0VHtqjxJ6IU02gYO3FBSlXaqA6EEsTI5lOOB/rdUE/bB2hxtWxh6/iGJR9VOEq+UQ79i8bp4qiqdK0NI+2ZYTWXrIZemLhkHWQPqUoDht8ClPN/pQcr5Dfd+k9+dREmHww9TIfTpjZPWAg3Rexi4vtanKifCSFjY3nkKfnN/4xMbCMRqfcy1WsOJH++OS3pANJWJ3khIPC6k9KaS1MAJcY6t8E5ix9bEs3DWVRXgiiBMXfOLTGgZGwGhfCiAH4ohyyFrmRWqkQJCsts5m3Zw== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:TYPPR06MB8206.apcprd06.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(366016)(1800799024)(376014)(7416014)(38070700021)(921020)(18002099003)(22082099003)(56012099003); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?ONORF/FNjYD2X/2cs+zmC9s6QwPIIcWchoxucimqkJhAEXAIU2RJHonWvU?= =?iso-8859-1?Q?VR1HCclOMducl/r2G7OzRckc3JDRlFc/8B246sEGDVjQLdsglS/OKvj99O?= =?iso-8859-1?Q?cdCEDzKC0C8DAyEKP9uDAQgeFer/UJ5GRk23yBGnIz2Ek0f1ARt7Pcl604?= =?iso-8859-1?Q?rV4Rz4ov9gjFJRbemmNuV0UIE4R1s+bjYAm2+DfXuV7B6yWQVn7ruJMI0o?= =?iso-8859-1?Q?F/njM/dn2pAkN49kcUxy0Gf7WhhnVYI/kuqjdwqGnDAEzdAoHMRjQdIUBn?= =?iso-8859-1?Q?dsfINGgtovP6HSA1fBCrCp2hHOzdmKO3vw7/vjpaaENz/fRKmU3fkUfiZC?= =?iso-8859-1?Q?e53/QxKv3n0O0d4AO2SxadR3KA0vK4ILNsEsh1DfRIrY7MsnFigrPz/mZQ?= =?iso-8859-1?Q?xBa3wRbwXCHxmBXmKmOskAnThh88QCUWw0GUq4AX7bAqmG4GCZC4B+kkGR?= =?iso-8859-1?Q?7O1A5ykkojMYvOV2FvddN1JG+LTnh05Khep2Gx47J1kVJlb1UQ/YZbvNBc?= =?iso-8859-1?Q?DCLgdJ9qCj3YLWPL9TkpAd4EhcY9S/Vt3rMn18N2i7Z6FQBpo3tkXqv08j?= =?iso-8859-1?Q?aU5UPm+Is9Pph80yhfbCQlL98cRLUpHWpUpqPTXgkKpP13f/x+llwHmT9d?= =?iso-8859-1?Q?40yW0Tqer1mt7Rrp6UbkayBO6fQilZWsDC37wJhn8B4r5+sybrWCVek5D0?= =?iso-8859-1?Q?M9ftUn3jvup2HyZaEUoUDVV6B4LDjPkd2NHap5ZWlr8sPAIwangjlxaLvJ?= =?iso-8859-1?Q?9QKDjRpR0rLlgSqwjk2e1TQQuF8LzsMRZJEam2nZqAjGg8EcLEvhf5D1t3?= =?iso-8859-1?Q?FPyYrRKyskipRvR65URXa3lwnf2Xq0mmSrPRxauDgAtaMZ0JxEDVarvXqt?= =?iso-8859-1?Q?iOlSyRe7dI8FsMvn7S0SU5ZLLLr2jbblLLpocWiaUf5kv1QXnRnatwgRp4?= =?iso-8859-1?Q?LggMfmH9ARp3s0SITObC5hbkmIcqdwaNumlLpTF0aIGDZgjmRPzlEhaFKv?= =?iso-8859-1?Q?enUGRjN4ccTxbvLcP8knAwy1UasnXO5sNj0p8mgYjWGfRh7+Z62FoYcsag?= =?iso-8859-1?Q?jVXS3aCh3CE6nt8565ECoaIbeH/GtKMDVvfhnpIvpcw8iCwqUBeN3gipdk?= =?iso-8859-1?Q?6e5O7UXZ791VQPh+flH+6fDYat3ygq/krmXuBJDcauXpexZdOfgWHu+sWn?= =?iso-8859-1?Q?7u7fnjEQEve/7QlnEzN5FDtR0mcZ/tfVoB8EKdukDNsUQCETApvkK4YRcA?= =?iso-8859-1?Q?cl8yMhTTJokul+A4T4CMYi7yGjmItQS4hZmT5HxCyQKhQ0NBOkLuAXjOM/?= =?iso-8859-1?Q?oPT39HOJPor8hGijS2veP5bx0tROLYYiu6BJMJ5XAR9xghKWsM97Q3mnsa?= =?iso-8859-1?Q?Yxd47lbWP8B+G9+DEYQO9l8pZfB99yJlYE7+66cEWFmoFmjnoMFfDAS+I9?= =?iso-8859-1?Q?a0Ao/E6islEjohgquzi9C0wxL/fcIlJE/4MlSlepUq+9I01Rl9O1KuDgt1?= =?iso-8859-1?Q?XEB80Z+VPbuFT5AmGuR+PBiPGtZOZg5e85Mb6sfUDsBGzwJMbPlcDlprGc?= =?iso-8859-1?Q?iW6eyHvxbL6AJvV34BMDVHTGN+RUQv69l1Xkvgx58TrkwFY7nIK25QnzM8?= =?iso-8859-1?Q?kOsGoXTgnneCtWYTdJvuhDe3YPa3dF4OTs59Q/Hg+7i1nsoFqAsmKioWQE?= =?iso-8859-1?Q?bztcQhV5YgCdWzKbnESUXogiebYk/mAl7qhfQe5Ni/EhS3fOIFle50Qu0O?= =?iso-8859-1?Q?tlLdQs8dtpFkZVLRjJGTIKHRzpNeUqBo2M61P5boB8eY96oo6b2D51aa13?= =?iso-8859-1?Q?7IeLdkiGjw=3D=3D?= Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Exchange-RoutingPolicyChecked: vor10AMi1b8+6KT/W0OMgWKKOVk/iCTHorDc/mnlrqB/3Zr4v8pTThn7VW3ZwBmFMkC+HS1duqhWPlBZes0fGtgYrD4aGzQTZI2YG72g+3nGhEa8ADPRTdOWXUIu9OTZwUDS4OVevKfadnvCP0Oj5rBpMmwxUYdaUlMmMv/e3iEiSpUyqb/LGqe1sRN2/dYudVST7hMQG+WwhSDl6xr4L9ceJVi2WHhnC6tx5+SpewYt/pxbM36UxhcmqUQPafVBojHVieGLSMa5shItHehJluJnDfIKkE4+1kIEbjeTfrd973JB27BKMOcAtQa+xIAowfw6Jx1rttAMdv3TvWLtUw== X-OriginatorOrg: aspeedtech.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: TYPPR06MB8206.apcprd06.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6dbe92cc-184d-4b95-8af2-08dea9886121 X-MS-Exchange-CrossTenant-originalarrivaltime: 04 May 2026 02:53:54.2948 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 43d4aa98-e35b-4575-8939-080e90d5a249 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: /c1dTVzsDYKUQ88w+9KWlr69+bgzLAjJAsXxE+sFAsZLDdBkp5B6B/uoa3tOxa5H+IUN1r6PQAkOe++oqTB+wDx4w0RodeFHyk8zjJKmaRQ= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SEYPR06MB5111 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=lists1p.gnu.org; Received-SPF: pass client-ip=2a01:111:f403:c405::5; envelope-from=jamin_lin@aspeedtech.com; helo=TYPPR03CU001.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_PASS=-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 @aspeedtech.com) X-ZM-MESSAGEID: 1777863298725154100 Content-Type: text/plain; charset="utf-8" AST2700 supports a 64-bit DRAM address space. Therefore, DMA transactions must be capable of accessing 64-bit addresses. Enable the "caps-64bit-addr" property for the EHCI controllers on AST2700 so that USB DMA operations can correctly handle 64-bit memory addresses. Signed-off-by: Jamin Lin Reviewed-by: C=C3=A9dric Le Goater Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- hw/arm/aspeed_ast27x0.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/hw/arm/aspeed_ast27x0.c b/hw/arm/aspeed_ast27x0.c index ea527479e6..a8f0bc389c 100644 --- a/hw/arm/aspeed_ast27x0.c +++ b/hw/arm/aspeed_ast27x0.c @@ -859,6 +859,8 @@ static void aspeed_soc_ast2700_realize(DeviceState *dev= , Error **errp) object_property_set_int(OBJECT(&s->ehci[i]), "ctrldssegment-defaul= t", sc->memmap[ASPEED_DEV_SDRAM] >> 32, &error_abort); + object_property_set_bool(OBJECT(&s->ehci[i]), "caps-64bit-addr", t= rue, + &error_abort); if (!sysbus_realize(SYS_BUS_DEVICE(&s->ehci[i]), errp)) { return; } --=20 2.43.0 From nobody Tue May 26 03:33:44 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=aspeedtech.com); dmarc=pass(p=quarantine dis=none) header.from=aspeedtech.com ARC-Seal: i=2; a=rsa-sha256; t=1777863269; cv=pass; d=zohomail.com; s=zohoarc; b=laBG2E57BXw33trceGPAA8MzLYj0IZ+Ludn+JLkxT0fMn+tGxtAN5RelHkCh4y83f2LEXDd9kaYMtADlotHW5CI4/7uZWphyZg5rDadeM7Z67N5fcx7SNeUJMrKMRK8YvZQuc7pYGuW/NtmlCOPmQ8MT+1b+Ch24UG0G3xzVVVY= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1777863269; 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=rZmRshDm37UDSuBxiuaZP8DuMMoer6dqKwO/mLKFHAU=; b=NukPAtXL3/wlhxo+LF0KYtV4PTRKCagdF/1Hcd0+LH8VIQDy/EZgEGKQqCRrzh01CbZeIsbyes/hcw2Tifd4VD+20a4NNPNj1l2VpVGzA9WpjcikawlFfs2wsmWLAjc9rMN2k+1rVAIqwHonBVQnZ9Eflk1v+BEeW1TClnNUsig= 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=aspeedtech.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1777863268473545.126719100811; Sun, 3 May 2026 19:54:28 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wJjRm-0001hJ-6V; Sun, 03 May 2026 22:54:14 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wJjRi-0001eh-Ly; Sun, 03 May 2026 22:54:11 -0400 Received: from mail-japaneastazlp170120005.outbound.protection.outlook.com ([2a01:111:f403:c405::5] helo=TYPPR03CU001.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 1wJjRg-00040F-VQ; Sun, 03 May 2026 22:54:10 -0400 Received: from TYPPR06MB8206.apcprd06.prod.outlook.com (2603:1096:405:383::19) by SEYPR06MB5111.apcprd06.prod.outlook.com (2603:1096:101:57::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9870.25; Mon, 4 May 2026 02:53:56 +0000 Received: from TYPPR06MB8206.apcprd06.prod.outlook.com ([fe80::e659:1ead:77cb:f6d3]) by TYPPR06MB8206.apcprd06.prod.outlook.com ([fe80::e659:1ead:77cb:f6d3%2]) with mapi id 15.20.9870.023; Mon, 4 May 2026 02:53:55 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=jCa4hCaTdOa4dHXs1N8/Klz2KSlqkGbRDtF++KE27aZ4Gi+n8iAwXQGiMSD+xOhM68Qp2b7lW6eU8uC/5c2OLRfSeneOPriYySgnzCJyuLtVPNiDHbV3b/Ob9KL27eJbwFAmc5bfv6YysYae/BWxuWtzqIAQfapC0TEsMoLJzns0Ry3SQxSZ2cH2gYvcwqWvGQw5ldKsJHLEzT3Grdaz4BPnEKwIipoTILj8FjKI934lsFdGhMgMHK4C2iqsx6phksBmDIRL64Vk5Q07KfHtBBUBg8nYGRaibJynbrWM3pbw90ejxqV2jc/nDog3h7SuDg5yY4uOHYFuX8secGhWng== 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=rZmRshDm37UDSuBxiuaZP8DuMMoer6dqKwO/mLKFHAU=; b=o/xRHCsLymOJfbYdtByKNNXRilTPrNOLvkAT4cGnxwddzMGpTnqQjvd20sBShatloAe6YfABZpF4QdWZRVqB96Ep5pSopjAjGdhuXtt4zD4aSUmbjwRxPPPk5dkruDq++apOSYvgvKT0Fu2uL8e4DZK9+LVITEV45Y8ySyZoUWCYYJRLpbDU2dmLOQwjBs3+1f/sRGsz3hU4RfB2HUn+m71P2kStBtbmxVdHcqbCNVrU4ImEev14gvqQ66zLtiiRgZR4Sa813SUgjgkBd7aPgmSxLbgsBDfGutsg8g/3WQnQzHkeMtDv54V7RPLOQUmfR+fXm5HACwQeiJP94tcKAQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=aspeedtech.com; dmarc=pass action=none header.from=aspeedtech.com; dkim=pass header.d=aspeedtech.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=aspeedtech.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=rZmRshDm37UDSuBxiuaZP8DuMMoer6dqKwO/mLKFHAU=; b=rcqKnur2D7Bm2KQyJsaqWCm0qCyaQ7Ssu8CnJgT/xVikgXoynhHXVGyFLX6/wLtdqk7Xpaua5SkbZ/fXvsgHw3F5feBp/ZG21TaWpGROgEd7vg7cq1x0x1e/Oerth01Osh49YFqNr29brF7u/KZrNW5Cz55lGoD3qw+fI5wc3jGWwNre+I+qw2+vyCfMgHqxgmgdL+oqoyuVQOKC3zKdliuj2KXCofloGL1vRfXk/jSpaPZpH4FMd4JfN0zgQN7A7hj1O1ak2DbSK3f+GpnFfmJc0d/VXj59mT1xnIv6nKXnt45aedrl3aD+quXhJF/DAcr4jkOd4Y1Kgmiefxs3Bw== From: Jamin Lin To: "philmd@linaro.org" , "peterx@redhat.com" , =?iso-8859-1?Q?C=E9dric_Le_Goater?= , Peter Maydell , Steven Lee , Troy Lee , Kane Chen , Andrew Jeffery , Joel Stanley , Zhao Liu , "open list:ASPEED BMCs" , "open list:All patches CC here" CC: Jamin Lin , Troy Lee , "farosas@suse.de" , "flwu@google.com" , "nabihestefan@google.com" , =?iso-8859-1?Q?C=E9dric_Le_Goater?= Subject: [PATCH v6 11/11] tests/functional/aarch64/test_aspeed_ast2700: Add USB EHCI test for AST2700 A1/A2 Thread-Topic: [PATCH v6 11/11] tests/functional/aarch64/test_aspeed_ast2700: Add USB EHCI test for AST2700 A1/A2 Thread-Index: AQHc23E/Qng6uCGlPUu7KSWoH/sHBw== Date: Mon, 4 May 2026 02:53:55 +0000 Message-ID: <20260504025342.1452605-12-jamin_lin@aspeedtech.com> References: <20260504025342.1452605-1-jamin_lin@aspeedtech.com> In-Reply-To: <20260504025342.1452605-1-jamin_lin@aspeedtech.com> Accept-Language: zh-TW, 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=aspeedtech.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: TYPPR06MB8206:EE_|SEYPR06MB5111:EE_ x-ms-office365-filtering-correlation-id: 0c070bca-24a7-42b3-d877-08dea98861ce x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|366016|1800799024|376014|7416014|38070700021|921020|18002099003|22082099003|56012099003; x-microsoft-antispam-message-info: vGkrSrK0Xv+IZK7XB3OdXBrcTBuqxF4IzSUNiwtAdTeYRttEHLPiDHAv2LkqQZlyW87ySWiZs8wXrC4wOPoAvE1u8mTKkaFrqUw0etiisjXbkpyLku4K0gCStbI/zIft09S9GxsH5TZSxM42xMxir6TXkCt2UTvMbYVLyUGie/jb7cbS6GBwkE73D0Bp3W0welILRBSqUetdjNNFrAVBL+oaHsIWpRnKLvf6qQ4Bej3JcBv0Sq70LW/wC/LtD8RXeAiDtcgXOINVq6GmI1KiNWHlYUSnMZKtyfEfTJ4gu9eFX3ObDf/0M9StdjNgWE8BncLNByOuv9KIQQBIYhbfWVOxZVgUWBU80gr+1QusbsesSRLX1/E5pUrOVamXSpDsOev0K7Rn5lRsVxhRSlRCVsP25AJkgA1XTRR+J1Dyl7kPxfJzxOB+D0bviddhOPu3Tldj3iK0u/VreIFaPdi89+4+1eDFF+X1t0xw84svmL9GcE8kojNhb/Z3MfhSUWFfKeS99I3C71uPU/uLPkFykMRX2Ub/RRgYdbSf8jh3GptWWJBPxDlZ8x0TVZB0sqMDVwElR3G5+TzVj7t05UwiUksHVOsc3zYbNCC2tj/7LRrNQQ2RAcRS2zCBdgyJSMbh5nYKor1cHfcwAWJy7mIXQq7+wpUaAIl4SAtRAmxyaQWchDDAEWW/THzO3ExJTb/O6z9u5MnUvA8mUsOw/SZR7JQ5FZInBcACZ3Lb0IN32ptcIVcyLs+92kKY783ONek9TcueMT9Qx2bceS0NkGvN2Q== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:TYPPR06MB8206.apcprd06.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(366016)(1800799024)(376014)(7416014)(38070700021)(921020)(18002099003)(22082099003)(56012099003); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?Dxk9Rb91Y2DbyVh1SOcHO7yx7k6Ix76O1L9ApQ8zIkK0dUEZz2+yLDJPqg?= =?iso-8859-1?Q?kW0xE3GDzfPnoxsWwnyYngKjf26Wp0AoSmr78sJ8v1x+JlIaKT5CXK5dXC?= =?iso-8859-1?Q?nsL6R984smIDb3jmPVfEZ5eykqcw+1Nl0lTZWIE+fVjpHWZPr8lUUoW1VD?= =?iso-8859-1?Q?HBtlDxI3qrUwf+Q/aSrxbFTJxyQwElSEunNuVxxPQafb56BrOPcpMgGrWO?= =?iso-8859-1?Q?j0LG51OjW3VUtJ1RgOdVOkIh3PlR7WnkIRjDtpE3lDwtY/4lgaUAFPpS9Q?= =?iso-8859-1?Q?ENXsM1nnVBnb4iOhkWLEFsWyq61GjvhNPETYX+IWysXahFNgZ4qOI6UQJt?= =?iso-8859-1?Q?VBQR/ZpIJm6kddWSZaMhPl5qT+L1LXVVy7wkIOAcgDB3I+8m3xb1IUDIyJ?= =?iso-8859-1?Q?mt8Zw04PehmPSJ6VimjiWciH9eSdDhsHN1vviTCoUbiHkq2P8NL4uVtlBR?= =?iso-8859-1?Q?+ddcfFpB2n4Q/fb0GVo3UyQJDqjyTnc+86A4t6OrOoaNx3cfwpQF1O5U1l?= =?iso-8859-1?Q?sx87WBmQW/4+WhbIkb+3xhpQxhKCFPygZ7SX5eUGkxBL/9g+X+09xTNyhJ?= =?iso-8859-1?Q?RVsgAysjgJXtfrU4qoG4G2uCNNJ7njzoqnmYHV7PPFnzaN/FR/yZihTMrf?= =?iso-8859-1?Q?01l3/+eVRIkkd3g6tEv1z46pXY0UQns/l3REclehto1J7OkwM+S/T44u+Y?= =?iso-8859-1?Q?I2uvR8ZG5cqJVm8H/1e3KNo8Id8qS99fXRcOnTxbFkVkymRdSQB+r9qDv6?= =?iso-8859-1?Q?s5Vznzb3LPJFT7BcsSV3yrnuECNHt+dClySwq3qIIiGBB8yxqQmfvPjFKB?= =?iso-8859-1?Q?wtGh2ouro4/6Emy9y1Lk0hcklCSqS49YKKUWRoIr6v3P6F2z/cRktOW53a?= =?iso-8859-1?Q?785YIIwHh4iu9+vA3fbBtwjKPmnPJbFacfTlFkY92XeAu09AYg0ZLrvNwI?= =?iso-8859-1?Q?n1AqERMXloBJm2eEs+R9weMtcuv51GGOtSAIWdzOyGDVYtWM6lUFahT88r?= =?iso-8859-1?Q?bv3d3KPMYXqldvoghSJDa29JviPveyD8U+n6KaVm5NYcpyxllmIACAi5yc?= =?iso-8859-1?Q?Wt8hXgJZWBmktN9o3yXtHo1sVdG8BlUB9Du1+RzFgPxgsVDVh3HgjXrHyF?= =?iso-8859-1?Q?PdaU7VlkQ0TTlW0SvVaAa3KZMVoIsBQVEKf9I60sSOfuBcR4gsAVsTr8ep?= =?iso-8859-1?Q?b3jPapNFL5SX3oH/uWJHnRsPVSBauBVdZC/4VimtxxPTgt4z2eFpuslxLb?= =?iso-8859-1?Q?iRcjUHaVPASZ1ZV0/lBFAQUx3ZWGfw1RnDWAXAyBp8qXjqa+0G/V/oyEAv?= =?iso-8859-1?Q?mbRLiwG5L22wmRyCCgIuHvW7Jk2gqUkYLRBw8DStrWjE35n/QlvqBAcft1?= =?iso-8859-1?Q?lqeobGEnujG/VIHDbH5X80B8h9Cz5mD0xIFUGXDIZm1L0CdPcxbM1QCfvl?= =?iso-8859-1?Q?u5VvxEzroiKW7EWiyBEmfvQ8Aw3nEnXNM4RNWPYahPbYgctnWVW/iaudGl?= =?iso-8859-1?Q?6HBFY/W+DumrwHg94gLUZ5CEBmljWLyAeaxAFjZVB+tK9yM4EXWfAFguyh?= =?iso-8859-1?Q?yeK/VrZOAoNt4RZahSGNIhK+fRT2RRZtaCdB64i+pqwvA+oA8FTQJsQ/3g?= =?iso-8859-1?Q?GD2AieLOiGF3zzxlRB2HMT4IaeqAU8B6FtPkS2CyxjAnqxENG6ICmhtFLN?= =?iso-8859-1?Q?BqeTcWZZ7IjmXzrdx1pBDqosPpUlgIb2ud9Na/LbFwYgZbAl5mrLPOS8Rt?= =?iso-8859-1?Q?GjuUxM2OmSzpA12n7D/guPTk8CYuFPS5Cw5l7y+8w9q9bA5diAtoXc36fQ?= =?iso-8859-1?Q?kcg819K69g=3D=3D?= Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Exchange-RoutingPolicyChecked: LpEX7fUEb7YUQA40UgUZuDTcCJtTAutpF+aD4EWjroEscKN5sGuJS8Xn298c+VeauqU+41PueM3+N6tfb6T0nMgUFt9mFMsrg5Hxytw+JCt3aCDrA/roFvhlF2uQN0wYySultJ2IxV09oa5TG7Uxgqin+9c3y+L4KgQHABjmFoKn6XEdCiXuoKotw66ocbdZnuas3pw4ilA9GrBjCX102m/bVxmMukWUYIgcSVvuo2s0t6rq7eyaOMCsQxwt/3MmgMLnjAXcWVlCcnTSRq4VXuAC61qDzs0VpTtumbzYk0sSIhZPBZz4mY4SAs1a+XIDtoUCL6vlRI2lZsq6BXo6mg== X-OriginatorOrg: aspeedtech.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: TYPPR06MB8206.apcprd06.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0c070bca-24a7-42b3-d877-08dea98861ce X-MS-Exchange-CrossTenant-originalarrivaltime: 04 May 2026 02:53:55.4377 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 43d4aa98-e35b-4575-8939-080e90d5a249 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: S5SZ4c0Lqc0xOK3KaZll8mym8VuT6jEpuogecgWXsoVzSDAKKCogClmULUhCOOYTWDgynpcrgtwcKNwFSEUWc5XiraFJbJsXBnF9Mq6Zr/c= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SEYPR06MB5111 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=lists1p.gnu.org; Received-SPF: pass client-ip=2a01:111:f403:c405::5; envelope-from=jamin_lin@aspeedtech.com; helo=TYPPR03CU001.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_PASS=-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 @aspeedtech.com) X-ZM-MESSAGEID: 1777863272442154100 Content-Type: text/plain; charset="utf-8" Add a functional test to verify USB EHCI support on the AST2700 A2/A1 by attaching a USB keyboard device and checking its enumeration via lsusb. This introduces a helper routine that runs lsusb in the guest and validates that the emulated "QEMU USB Keyboard" is detected. Signed-off-by: Jamin Lin Reviewed-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: C=C3=A9dric Le Goater --- tests/functional/aarch64/test_aspeed_ast2700a1.py | 7 +++++++ tests/functional/aarch64/test_aspeed_ast2700a2.py | 7 +++++++ 2 files changed, 14 insertions(+) diff --git a/tests/functional/aarch64/test_aspeed_ast2700a1.py b/tests/func= tional/aarch64/test_aspeed_ast2700a1.py index b0c08854da..42b8b200cf 100755 --- a/tests/functional/aarch64/test_aspeed_ast2700a1.py +++ b/tests/functional/aarch64/test_aspeed_ast2700a1.py @@ -118,6 +118,11 @@ def do_ast2700_pcie_test(self): 'ip addr show dev eth2', 'inet 10.0.2.15/24') =20 + def do_ast2700_usb_ehci_test(self): + exec_command_and_wait_for_pattern(self, + 'lsusb', + 'QEMU QEMU USB Keyboard') + def start_ast2700_test(self, name, bus_id): num_cpu =3D 4 load_images_list =3D [ @@ -161,10 +166,12 @@ def test_aarch64_ast2700a1_evb_sdk_v11_01(self): self.archive_extract(self.ASSET_SDK_V1101_AST2700A1) self.vm.add_args('-device', 'e1000e,netdev=3Dnet1,bus=3Dpcie.2') self.vm.add_args('-netdev', 'user,id=3Dnet1') + self.vm.add_args('-device', 'usb-kbd,bus=3Dusb-bus.3') self.start_ast2700_test('ast2700-a1-image', 1) self.verify_openbmc_boot_and_login('ast2700-a1') self.do_ast2700_i2c_test(1) self.do_ast2700_pcie_test() + self.do_ast2700_usb_ehci_test() =20 def test_aarch64_ast2700a1_evb_sdk_vbootrom_v11_01(self): self.set_machine('ast2700a1-evb') diff --git a/tests/functional/aarch64/test_aspeed_ast2700a2.py b/tests/func= tional/aarch64/test_aspeed_ast2700a2.py index ed414999f4..40e0ad81ed 100755 --- a/tests/functional/aarch64/test_aspeed_ast2700a2.py +++ b/tests/functional/aarch64/test_aspeed_ast2700a2.py @@ -121,6 +121,11 @@ def do_ast2700_pcie_test(self): 'ip addr show dev eth2', 'inet 10.0.2.15/24') =20 + def do_ast2700_usb_ehci_test(self): + exec_command_and_wait_for_pattern(self, + 'lsusb', + 'QEMU QEMU USB Keyboard') + def start_ast2700_test(self, name, bus_id): num_cpu =3D 4 load_images_list =3D [ @@ -164,10 +169,12 @@ def test_aarch64_ast2700a2_evb_sdk_v11_01(self): self.archive_extract(self.ASSET_SDK_V1101_AST2700A2) self.vm.add_args('-device', 'e1000e,netdev=3Dnet1,bus=3Dpcie.2') self.vm.add_args('-netdev', 'user,id=3Dnet1') + self.vm.add_args('-device', 'usb-kbd,bus=3Dusb-bus.3') self.start_ast2700_test('ast2700-default-image', 1) self.verify_openbmc_boot_and_login('ast2700-default') self.do_ast2700_i2c_test(1) self.do_ast2700_pcie_test() + self.do_ast2700_usb_ehci_test() =20 def test_aarch64_ast2700a2_evb_sdk_vbootrom_v11_01(self): self.set_machine('ast2700a2-evb') --=20 2.43.0