From nobody Sat Apr 11 19:55:06 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=1773214039; cv=pass; d=zohomail.com; s=zohoarc; b=EGN7a23uzPdlt/HEkgJoipLPv+HuJpfNSR4VFdiWlMB0pHxAgKN09AYegiiblzgKooM5VWQ6hjGJcOmncD+3Sgz3Gu00j2P4SWxaMS9QUK41C8WIpKQl+aAs/m3Om6V+gO2S6sR0UUeo93jQ0bIikfU1EjK6abFcrOqVYfSYOyQ= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1773214039; 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=UzuNxlXpK7egm9C3kqoDfA7vSEUNHuUtUm12GbVMeu4=; b=XheG4iTFS4GfQsjUXLzo0W01VZhKxBJXKMjx/qBiqq/3Qlt00IqMmBc019jdM2qHA3K+H44A3SF5EkGXOrO9Pg1qSfYvftPnb04utvdAK6/Bq46dnBzhb39zXsO/hgm0IB9vZych/W8zc5gL2/u8qtIy/syjXy1YanHnNThMaTI= 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 lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 177321403931218.87375036590629; Wed, 11 Mar 2026 00:27:19 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1w0Dxo-00031I-23; Wed, 11 Mar 2026 03:26:45 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1w0Dxh-0002ye-1C; Wed, 11 Mar 2026 03:26:34 -0400 Received: from mail-koreacentralazlp170130006.outbound.protection.outlook.com ([2a01:111:f403:c40f::6] helo=SEYPR02CU001.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 1w0Dxe-00052x-MY; Wed, 11 Mar 2026 03:26:31 -0400 Received: from TYPPR06MB8206.apcprd06.prod.outlook.com (2603:1096:405:383::19) by SE2PPFD6A65AC07.apcprd06.prod.outlook.com (2603:1096:108:1::7ee) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9678.20; Wed, 11 Mar 2026 07:26:17 +0000 Received: from TYPPR06MB8206.apcprd06.prod.outlook.com ([fe80::e659:1ead:77cb:f6d3]) by TYPPR06MB8206.apcprd06.prod.outlook.com ([fe80::e659:1ead:77cb:f6d3%3]) with mapi id 15.20.9700.010; Wed, 11 Mar 2026 07:26:17 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=yCn72zGoMTQTJ5XlsiGOXbxxUfzCBlOTzcufbcf4Prsqh7+k3mXuolJvVtASQNssXQStE+HoTJWFQcQRckCsYU5+PtteO+ijFvNrW+q1HShlNhJodXKATx86S7UcBaTklIe2wXZcX5f3y64CZmdvIimewArOYLIE4CyMJjIgSt9Jfaf8Mi6+Bqk6SSNfHu2H9AyYaN1+1EL9nKfsLpCZdxSjikx2XXV2rDFyR+YoFiffbVWQQS3YeAK9pFSU3+/rkJWYYv+gvypgHrr2bbvs2XpcUE32Ts8wFewy1kuWWycU390ubdcMX0TLE+7dCnJzZAzfxpsHMTpwT+SavGsSQw== 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=UzuNxlXpK7egm9C3kqoDfA7vSEUNHuUtUm12GbVMeu4=; b=gPSH/kb4vFKNsaic4FkiuL2d9ZrcJGjkRrzAvgdrBJVy+hwPvzekkQdsvZ1JRyeaKgBpezMnTw2ptLzz8jyd4iMIZyAkYK+t7cYPCBaLOxq8h2lIpPK1r3dDE+/TJ/WsVKVNomFXJ4pUfF+x8GOz0013nf7jmtsEnroaWxW425cP2sPuwT358Ip/cpkdfYgoQewI/22xK/xecMB9k9xNOPrbnHJ7HPhQPKqrlA5XJVha+rBfLnHZ0fAXT2p/C25o4rgSQq2Z906B6nD9xvdcwBNibWdg7E5TVF0ZupDWfGDS3I3pzcNvSp4A03HAtg4SCJAMWm7uddwTtJ0DuZx3Dw== 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=UzuNxlXpK7egm9C3kqoDfA7vSEUNHuUtUm12GbVMeu4=; b=R4SGYTINHhY4gdxHZtS8CV/kJbRVfqyFEOo0fMUworHqK+fX/8U5+eegUsTb5LwT6bhQ6j7sXzQPLGtIssPhPlUulnOnrKkRDJmb8s0q5vdrFo+KZ8NlqOaC2HlRFi/PgNmqNNUxE6xLoB6ZVb9BxpTs6XMub9QsR9PUuXPxH24BoC4blZ0bzQUiYa40ougiNOt6OBovgjhbgkTj8ltJpCaf9nndJSpfnv3vFt4JGTmFDAA4krzjNDawovVUauOFaZuO99v7x27YK3Fd0ItWnsT8WJKoj0eDjbcmRIxqeT5KEvXIcWtG8R0lHe+n3VV3ygUx1rokdoAwnGvXl+hWbQ== From: Jamin Lin To: =?iso-8859-1?Q?C=E9dric_Le_Goater?= , Peter Maydell , Steven Lee , Troy Lee , Andrew Jeffery , Joel Stanley , "open list:ASPEED BMCs" , "open list:All patches CC here" CC: Jamin Lin , Troy Lee , Kane Chen , "flwu@google.com" , "nabihestefan@google.com" Subject: [PATCH v1 01/13] hw/usb/hcd-ehci.h: Fix coding style issues reported by checkpatch Thread-Topic: [PATCH v1 01/13] hw/usb/hcd-ehci.h: Fix coding style issues reported by checkpatch Thread-Index: AQHcsShZVfaF3zHIYUW09f4rE3nREg== Date: Wed, 11 Mar 2026 07:26:17 +0000 Message-ID: <20260311072614.1095587-2-jamin_lin@aspeedtech.com> References: <20260311072614.1095587-1-jamin_lin@aspeedtech.com> In-Reply-To: <20260311072614.1095587-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_|SE2PPFD6A65AC07:EE_ x-ms-office365-filtering-correlation-id: a8b80a7b-eb7e-4cae-5c62-08de7f3f7bfe x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|1800799024|366016|376014|38070700021|56012099003|22082099003|18002099003; x-microsoft-antispam-message-info: 9fKDyFdIA9IAXDSHiW6tpdJOhs0Y0kK8kRd/skte5Y8/QiPi9R+gjdp7Na9tYwFkpHFOJZcdw0UlQK+IJQqNcws0l+kxO/n/3yfCRScr2svWmDk6jSVj9W0rutKXdJjoWt3MS5wxU4Y16rb5iCz8tYJ8Q3HJs1dDcJ2EMuAn0GyNPP36Av9zzepgXJqs1bAyykvNtVkKZK0AnyPDStsGTwLOajf4qq6L+2JdE2dNGT5+Fkn1znoa/bCZI3VpU//FEJIYaLcWeniD+J4yg9d578v16GjMZeFsc2O7UqpU0IrK8LQmRAOhdjmyv7foUErkyb8gdE4nJGi3kyqA5i7pNaIcWyYAsCC9fnH/NNmP7tpjbqIoVIekEGNUQ6JbUVGguyP1wjSw/AYpByRjIicV0L7/9RgCAF7rydPTcIfPIcexER6uBUnZs5wMRWyJzFdkOuHrahhA6RYL2QSqkAgbYpl23St69/g9/ppvrWHyAqxgC6FV1+Tklzv+e6CKzD4eCJGfjmPxX/JTuQjLKI4XJt2YilLWgUtM407K0QuK/FgboGpLjM3VN6xUtQzmRI1o9q3A8s82e1J0MlevCqNS7DHOSoQGOCHa+/4KtMRyyY6mXLzVGoBR94VdHGvYdSiVS5J4JIjycrb0fxohVU0g3UHeTuN+268BOitxk+z9OPIFMPd8XkGB8hAn/eFN3vf1V7UbCMOypDnskNmhoJo4bI6RB0Y4KLvWQTf2IDbzlzR63JBE+DmqLJ/4TGncl2L2le8k6ChX6qJl3bd2u1+QTFSzHkaWmNGpeZQH+zjzFfU= 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)(376014)(38070700021)(56012099003)(22082099003)(18002099003); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?tDqM1hPMv6xEF2xsIsaRYH+VSOZFap+jwKN67gn6ZEsst/llF8rYxIpGMO?= =?iso-8859-1?Q?irxu5Cl3bZYkfAEELH7FEsO+2SzEFrAa33PNi9swns2edNiX/rqUhw2O1n?= =?iso-8859-1?Q?2arkwhnyU+IGtj1pqpMZe2+LLwu731Wbv0B2JsIGrdUb2eCmNp0RSlR+tx?= =?iso-8859-1?Q?72IiFfBvuucUs+ucQLbyG8uYSRHO3SpwS/ah2rgsQFdpAbeAA5l+NQg2ro?= =?iso-8859-1?Q?YGDqho5H7acCdeP9glxD55w1iEn0PfZh6fS0kDcwtDwnqPWuBFhhGPfpV0?= =?iso-8859-1?Q?ZXcL6EWriLLhHtCZRiqEgVYMhRESkQTnaBoU6mcYJiyzOqEN7QEYlz08Rp?= =?iso-8859-1?Q?ALdqka69MASCfjyaWq+tmARpkb51aK3g/kTGHqzZLv7bwgY8hi9WsW/D2t?= =?iso-8859-1?Q?YM2itx6WMp/SDF4BrLxfkoQtOHHgig150YW+smSMMyMHuDIGKVRcGzN235?= =?iso-8859-1?Q?L9hXr+oM1fDJEBxG6byk+SxlA0/nBRUc4uI4tvpI1vdegSF4Lw0qcwTv3e?= =?iso-8859-1?Q?S7DGGxR62sFdFxkCye8bIU5qVybXK3vEJSnNZXpcs3Q7KVBYXrBf4kRTU2?= =?iso-8859-1?Q?/vFcuOYv72xS0S6pXWmMiQ57bKLbfjitshuwxNHYRzyWZthiCTOjrEkAz/?= =?iso-8859-1?Q?mWWXC7JJ2NbHwcX5TERfEYVsWY2S0OHUXhhJF4DtYA8e5mQrKRR4ss2lE9?= =?iso-8859-1?Q?6KrsBGE9k0crWejRakjDFBeLP6orn5Nj3QnT/Ih1IVQOkK6kw9Ci/SJMdO?= =?iso-8859-1?Q?fiFKu9fIU/Q6a/EDgXzbm00RsJudC9NHHTxnuA7hOPWoy1iP9zJRfE9X/w?= =?iso-8859-1?Q?Z19mHGC+QEqHxFS7yQREXPHcZZY+pKvJ5wllb3/d0HSdxB2UdSub2cQe1B?= =?iso-8859-1?Q?FDVRKGHXpN6Snrg9ihmYWIZLfhsrtJoPqycAhXc+a1RjwoEzdY4S0XhrMa?= =?iso-8859-1?Q?XoP19sizmHl6LnBR6xq5kSUxQt8GitvS2qv2Oic4IQfaxwAPQUUpGRvd8Z?= =?iso-8859-1?Q?NVA0vLqGhnA/ci1XzSYbsU3p304LlYYlastS+kGDxG0IC/A1SB+yByJDx7?= =?iso-8859-1?Q?hV+eGA3VORda92Fnhn4G8+iltKDWXclvPAhfe9A/VvhyL7+Wr4V3N8VkE9?= =?iso-8859-1?Q?FSiJvFyyfqf1AbwC8x6gqYpJuJZNYM8KcvkCpicW60xfNjpv7NncpS/Kdw?= =?iso-8859-1?Q?wLhg23EoisQBeEL0PlDp+Cqn53WksaauTgkFovkuKS5t2v9XAdYrppfxdz?= =?iso-8859-1?Q?NNHtGyKeNucmSsIR7UewDVROUk9shg6eHZSxjgBJflVyUzS7rYvKlfRYFJ?= =?iso-8859-1?Q?Tz2IvR00URJKlqrtdIC9ODaUnGURMNKHx3GFjQZH3l3yXnAxQdGa5B4qqr?= =?iso-8859-1?Q?siS7PhvfnDr7Av1lhvLTGD5fc5kyT9RB5XS9gxga4wCaHQ/e89a4niJCaO?= =?iso-8859-1?Q?qpvabDriT4wW+62l6griI5qHe481FTV9Sm3jWPpo/DnT4Yv5sT+Kx9RNof?= =?iso-8859-1?Q?aje8NDyTA+gNX06O+DTADCgAQ154M08gP2UufI9/cDg6iAPunFfr+/jKDP?= =?iso-8859-1?Q?w62RogckdplhR2DDpI3mdv8up2F2oiuC6E1LPjSN5hfFnSUW9FFGhmvzFP?= =?iso-8859-1?Q?QPHgh7/NmU6s32K52jPlLe3de7NARC+XKV9+AejmLMtHUR0v5xZU3v6wp1?= =?iso-8859-1?Q?t+lywosxE4kPxvnByhJq0mhw0n5hhcU/V0s28W8Wy2fOlImzGucMG0pJLM?= =?iso-8859-1?Q?TvDQQAEkfkeqcgkQaCry337SULVbGDjL5BiNCiu4mm8cBpHWs9jwLtPCiI?= =?iso-8859-1?Q?UsxqceIPnA=3D=3D?= Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Exchange-RoutingPolicyChecked: gUKrmbswI/vl1LJLKrRfkUbVdunb4Mpe8VWaCoBnkwRf+qxq/0xyuOCXyaQkVm9rtuwZPIk9oKlRcpgysqABBA5Fmi9rKgwRyRglrzah9mkUc+G0hVPREA1yzB0LPFG58cfvcOsUKlkkJqQt91jMcm2kSIWR7tO3Fn5xlujcI3mKe9+9DzQrLGv2UqYZaRDUOZz0Qj81UzUzSS0qLyPwzia8kPZ0xFzstsTr98LaOikFv0bt7InxR7R50PTqg3ZT/bYocME3GMl1z5rW5OGgf2z+yCje9oW3FznOuHm3YBLeAm8l6o5HETwhHmj87/12QBn6ZYq1Ha/culCMCrCBMQ== 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: a8b80a7b-eb7e-4cae-5c62-08de7f3f7bfe X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Mar 2026 07:26:17.2656 (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: YgF0l848ncSng296AYGq0BY3ERJsDuLmHfYGYD3mr8DPltGDdAkAr4JP67VQZRYtZVn41nnmFt0te4sKWPItQJVn/OIpLSSaB1hpqCFfy7E= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SE2PPFD6A65AC07 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a01:111:f403:c40f::6; envelope-from=jamin_lin@aspeedtech.com; helo=SEYPR02CU001.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: 1773214041037158500 Content-Type: text/plain; charset="utf-8" No functional change. Signed-off-by: Jamin Lin --- hw/usb/hcd-ehci.h | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/hw/usb/hcd-ehci.h b/hw/usb/hcd-ehci.h index 0ae8c06331..ed44935302 100644 --- a/hw/usb/hcd-ehci.h +++ b/hw/usb/hcd-ehci.h @@ -43,7 +43,8 @@ typedef struct EHCIPacket EHCIPacket; typedef struct EHCIQueue EHCIQueue; typedef struct EHCIState EHCIState; =20 -/* EHCI spec version 1.0 Section 3.3 +/* + * EHCI spec version 1.0 Section 3.3 */ typedef struct EHCIitd { uint32_t next; @@ -74,7 +75,8 @@ typedef struct EHCIitd { #define ITD_BUFPTR_MULT_SH 0 } EHCIitd; =20 -/* EHCI spec version 1.0 Section 3.4 +/* + * EHCI spec version 1.0 Section 3.4 */ typedef struct EHCIsitd { uint32_t next; /* Standard next link pointer */ @@ -118,7 +120,8 @@ typedef struct EHCIsitd { uint32_t backptr; /* Standard next link pointer */ } EHCIsitd; =20 -/* EHCI spec version 1.0 Section 3.5 +/* + * EHCI spec version 1.0 Section 3.5 */ typedef struct EHCIqtd { uint32_t next; /* Standard next link pointer */ @@ -148,7 +151,8 @@ typedef struct EHCIqtd { #define QTD_BUFPTR_SH 12 } EHCIqtd; =20 -/* EHCI spec version 1.0 Section 3.6 +/* + * EHCI spec version 1.0 Section 3.6 */ typedef struct EHCIqh { uint32_t next; /* Standard next link pointer */ @@ -202,7 +206,8 @@ typedef struct EHCIqh { #define BUFPTR_SBYTES_SH 5 } EHCIqh; =20 -/* EHCI spec version 1.0 Section 3.7 +/* + * EHCI spec version 1.0 Section 3.7 */ typedef struct EHCIfstn { uint32_t next; /* Standard next link pointer */ @@ -237,7 +242,8 @@ struct EHCIQueue { int async; int transact_ctr; =20 - /* cached data from guest - needs to be flushed + /* + * cached data from guest - needs to be flushed * when guest removes an entry (doorbell, handshake sequence) */ EHCIqh qh; /* copy of current QH (being worked on) */ @@ -275,7 +281,7 @@ struct EHCIState { */ uint8_t caps[CAPA_SIZE]; union { - uint32_t opreg[0x44/sizeof(uint32_t)]; + uint32_t opreg[0x44 / sizeof(uint32_t)]; struct { uint32_t usbcmd; uint32_t usbsts; --=20 2.43.0 From nobody Sat Apr 11 19:55:06 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=1773214036; cv=pass; d=zohomail.com; s=zohoarc; b=iWKiiI4e1POcaOLc7C2AEn/Inw+bB+MLheG5O3+ioHNNUOBkQhtLTMeT5LJlcMx7I0RQC9mvL9gLJ1WC06FV8pLwl0ye5qNjAQ7f9MP75OzYmy6/Z6bR/FwMUdmJE0EPbFbbEXlnzRltD06ofQRhdtat5vckHCchFYGtjapUqpE= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1773214036; 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=T4awKrVCB/aZWgqUVw/PdrxRFMfaZJ5JiBQL3hHi8ZM=; b=gRaVkDt/Q9ndaQn7/F4z5UcIO2faeA/85sqFOb1yfSTDuZAiUdpi73ZLzVUVcQLzNsyJvfYYQi1aVKf3vGqLxIPVppjdAvqBY5vI/PTmFXda8D8diqjAabnj8qWywV0GcofHF5OpWEJtUI2FWmuxVBHEim7m0SuOKyBK0ugrQ/g= 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 lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1773214035947960.7502458463815; Wed, 11 Mar 2026 00:27:15 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1w0Dxl-00030j-AX; Wed, 11 Mar 2026 03:26:37 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1w0Dxf-0002yD-F7; Wed, 11 Mar 2026 03:26:34 -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 1w0Dxc-00052E-GG; Wed, 11 Mar 2026 03:26:31 -0400 Received: from TYPPR06MB8206.apcprd06.prod.outlook.com (2603:1096:405:383::19) by SE2PPFD6A65AC07.apcprd06.prod.outlook.com (2603:1096:108:1::7ee) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9678.20; Wed, 11 Mar 2026 07:26:18 +0000 Received: from TYPPR06MB8206.apcprd06.prod.outlook.com ([fe80::e659:1ead:77cb:f6d3]) by TYPPR06MB8206.apcprd06.prod.outlook.com ([fe80::e659:1ead:77cb:f6d3%3]) with mapi id 15.20.9700.010; Wed, 11 Mar 2026 07:26:18 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=AMN+Xs+SLlYxki1+27qd51UgR7vV/y6mAo8eT2WmrDYZmY3x0nKAJ8FBqvc+C33IdAQhs38zEBnaqBTjo6tjbdJI1GDWE5G6zCbIcsp888oH+L614nToMXIBWeugltaEjOp8nOORWymI8fFADzvk5phu0NNt/P17HdVf9antX3XQmtrLoRs9FOU3uF4Gb6w3UReuxC0nShzOIKXG0kfKR8tJER4pvFnOGd5I5BcZGRsrGl6RB35vdic+NODux3zPZR5KJ3zFJ+OeJ8D4BeKTikpcbvxiJ4/CpVEin7fMVp30et7pVsy28mB4zr5fJNznrAUnact2O7QLCqIHOwK5Uw== 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=T4awKrVCB/aZWgqUVw/PdrxRFMfaZJ5JiBQL3hHi8ZM=; b=gOljaEglP5r32S6g9D1txV9ciygFPHAw4zKZ19Wz6S7IeiS/CghZFMe7Vi6faEW1bsKvjHO2BwH5dW8d0EpH7GP8NKr301uGhlaztqncLckRB98FaCPCXx1NWU7XI/0hu2gfMRvIMplhpZyPEP/Xd6snvk92Ok1pFufTEivyzlZjmK8ud2Ubq2hirk0hKZTTbCOaZll3NXcXNkmZOsyM3dkKiUdgX4FTv4ew0IukuvPo/ZA5yDKUGEP2YIa/6sNry3YKbuY5YSCyHSI5mzLUAgjZqe7n49xCiE5Ijp7e0eLbF3EzTNCTaMCYFrHyKwPlYpKc9TLfCTBbFsFlyiM7IQ== 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=T4awKrVCB/aZWgqUVw/PdrxRFMfaZJ5JiBQL3hHi8ZM=; b=In3INpO4RwJiLiSJ+uP1J2ACB2y/SpAX/qQaLq69BBLOLpsZFZ+X6Ry09yO8412hUXM8b2ju7p3/6fYsAGubCdKn6DTK5CkGmmT2TMyngzMFCkKfnncX6FbLXoy/VCWv1gTk5+itj1eUMSTDLujuX4zad1wxURq2RQQ3hLVckGSlBs3XIpnLScGQhPzOzxj9GAd7XCs2tydu6O0Dag0Q3XGjYF4SsELjABkftBWk0nB2kMBIMZ0Frx8IVhoBQ+WfljjAP4jCyut2isaIxwOZsceb4B9LtO8UHufq770/FVDpKogd1Myy3XTaZFKqgAL3L1qbeI9Z8CfbFGKcIAkRAg== From: Jamin Lin To: =?iso-8859-1?Q?C=E9dric_Le_Goater?= , Peter Maydell , Steven Lee , Troy Lee , Andrew Jeffery , Joel Stanley , "open list:ASPEED BMCs" , "open list:All patches CC here" CC: Jamin Lin , Troy Lee , Kane Chen , "flwu@google.com" , "nabihestefan@google.com" Subject: [PATCH v1 02/13] hw/usb/hcd-ehci.c: Fix coding style issues reported by checkpatch Thread-Topic: [PATCH v1 02/13] hw/usb/hcd-ehci.c: Fix coding style issues reported by checkpatch Thread-Index: AQHcsShagWXSol7ixEyYVsjaS3J/lg== Date: Wed, 11 Mar 2026 07:26:18 +0000 Message-ID: <20260311072614.1095587-3-jamin_lin@aspeedtech.com> References: <20260311072614.1095587-1-jamin_lin@aspeedtech.com> In-Reply-To: <20260311072614.1095587-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_|SE2PPFD6A65AC07:EE_ x-ms-office365-filtering-correlation-id: 403bf2e1-fa90-4b46-d1a2-08de7f3f7cab x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|1800799024|366016|376014|38070700021|7142099003|56012099003|22082099003|18002099003; x-microsoft-antispam-message-info: wAhl0HLBedK0e7kuiH5lcRzgpJCMTL22+1/12XmAu33viVTzX5B6g/hiS/z+OKDoh1Fn8Pq4tet2qH8UstZ/AP9I8O0JLZrEzQRAlnOakF54PrkQlhDYX77jGhURIBQmrfGS5b3XwiMeFbHJZJhNGD7ktdFSIrvMHHZCQFHCTGgcq5Q9gzIiWYIUN3Uk8aQiUiemrJ2Rbh9yTwg3XKyuS0ER/9Ow7mlCJrO4Sr7fWcM59AyxC+oG5kLgAYLr6kGg47ekwenyJj24GaR0xhLJnuBuAOiepcSZ7AuXMrHx1Kvskppl+jLHjYwCW3Id05FLup+IB6IuprpjnPQWYsn3TVmJB1vhpAmzQRUQyucIw/o7VwOnVQOnov1TmLRTEZ39n83XvqPRysEQGJt0HtzczmJDy8gRgCpgz/4M5ZJHE1R81kyW2xqlYNOks1d2sG2cwts42BRdHsren8pWt2HbVbxRC6K8epPQmIDhmvhpyn+eMad0u4ZY3chAD2fwZSHIq8O5mdA1KLmEn3j2um9seNiiSnpMkDK+NaCyhg6k+7x2sMntXV71yFCB6WO3AjhibHZOhqUcLTumZp7MgoDz3YhfV/CdHMdxO/YyfmmBXH2aHUuqyFZZoTbuv8ZOQr9atFrxewXiMsceOan7AILswJQshLV5DDHOv50jR3j10ZhcX8sbKe04b2xoWiudUG5mRz1l206uYXFCyAg48R17gDkgUyT8Y/yfHkxGYll5DgET3wiGrc9GntHZiJNRrobx14OQ0vNFSKd0CV7JSjDi8qx7d5nmZeWP2fhmbaLT8+c= 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)(376014)(38070700021)(7142099003)(56012099003)(22082099003)(18002099003); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?XkRjPh9MG2W9fz/wcx5InQAVdS0EF/4q3+X1gO5NVYz3Zj9sGy/nQn3M0U?= =?iso-8859-1?Q?djlBAhbNS5U0qYpSflr9XZcF7wzWDU1r1hmPryOP4AtlNTJY2DCKYVBFJx?= =?iso-8859-1?Q?RdAlxNHcE/ouB1nDaNY8V3hKS/XZjIBAmZ8JWgjQ/zafsIjjGjyRjfyoFm?= =?iso-8859-1?Q?ohZ4+A2lv+9yMqbP+wHz7tqcNuP1T9aqmTk68Db4OHcIDfGtdZTbu7Hzhl?= =?iso-8859-1?Q?ksFNozWbXySf/E9BXdL/ycObG4sXHtku0GA64aJHXwRnwLmYhOVkGtz+Wc?= =?iso-8859-1?Q?XmAFPNE0cl6KnS5qNVfPDROcKK633JbIOHIl07YtdUsdnPI+hG1BP6i1p9?= =?iso-8859-1?Q?P50c3sWs4UgVDAMpsrdfW0kMKuQFF1TGEvnfju+VyPZzXNVyW9uEH2bZ3n?= =?iso-8859-1?Q?2bdKs9RN0I4SrBSIZtKTgs9/aaetkZ5AvmoNP9UsULgNwQr9DUa1DjLPHN?= =?iso-8859-1?Q?Mr3XMPRGyO3HKSR48ZFPwV/GrHcMNt7AToUtwqS3gG0BoFRATG/qhuw0rx?= =?iso-8859-1?Q?YKDalwvj2A5iV6a4Sf7/KOS//waFEA4QdiqL/7i98s3U7VoyJFoT6G4F3Y?= =?iso-8859-1?Q?CUYhtUpyjyX+oLuxP61rRjgBTO1tpqxWgfMuRywiU8+YiE9OjcDHwfdRs2?= =?iso-8859-1?Q?TyLvbRdwgIguoFY/qXY1TMjg5SuvgOBxbPISMCvaALwsJkjZQyW0+eD0bs?= =?iso-8859-1?Q?pPZB2UDOIf6/eUF5KT4vA/CLg/uOwbcW4JBSTEDk31ihK+Ovp6ZS59KUYY?= =?iso-8859-1?Q?4qUCrSojnA5sscfgq/n+UXtcZ601K3yYGEiTgPXLsVE0EWQt6oVZXSBOfh?= =?iso-8859-1?Q?uXR/hgd13r9ijQqjkdD1qaZG6o2IeyrQlpxkmMevF3Q3PeCbKT1cz0DzPD?= =?iso-8859-1?Q?SxlUHXNEw+bLZxDevUIEaqCyKNY4lXSyBeC1U/lGpXrpw7kRmZpC1QxnrB?= =?iso-8859-1?Q?iYXZ7jLLs5HMG4C4qw5ewRTVUiqwcTvJuApVqfmhDvQN8kJKGkLFyKIKCK?= =?iso-8859-1?Q?oKtfrFGDIz5O4eyvelMN697KLqpkX1Re0L9CH9TuFum1d6bLeJOhJz1G5J?= =?iso-8859-1?Q?he9uiuT7oymphos03xCo+alcZX5ktg1i0KK2cEGc0UHtkqmp2xcg+Kr3hl?= =?iso-8859-1?Q?pDCHaEgYVuvXKEO9YKHYzpmYgwjVkqFJSu6Vx9H++Y+KXKEjy3+Z88DEFY?= =?iso-8859-1?Q?4/XUOqQ731bSn02OEA8VwpPRHs8sGBgj7hwu2foUB4dM8Gr2BO31syQR+f?= =?iso-8859-1?Q?O2QQ3Cfzgy1H5D/vinxlpc6tDSmALrVxJYN41597BzY2HZxZuWoP4rx9ZC?= =?iso-8859-1?Q?CRytqudqVtwV4gYB0H0s9v6x+yy5IZrYA1nfXOuk4iS/p6gZcKicvalDo/?= =?iso-8859-1?Q?WpXwIp+UiS1KSY+MG7+zEXTrDWU7Gb90p3x3QUipXUICmDqsotiOZGfSMm?= =?iso-8859-1?Q?fhN8wZOOMExClOml1w5/5f1vi2D48xx/3AqGYcJ/exVWU5w7OZ8BfPUZa2?= =?iso-8859-1?Q?FQnzSnoGaC8oGNUFkA9a+NwniDPa1ulFNaEjFeyQv4D+vR8oG6mIOlwI1o?= =?iso-8859-1?Q?XRYHkodL9yqgMPBxXHl2WYrg9rKAv/JkN0Gh+jlAg4vdl9SvuKQG8DVPD0?= =?iso-8859-1?Q?tn46SKN4HJNtFhh6X/tQN2qXPKrMrsl4MuakPu/7YUlBoRgLvCoJSE9r4j?= =?iso-8859-1?Q?R8337bo4x/9bqeuBV5UMmLlasasBpx6iWhQkz8j7EssZejM7imu5BEcMnT?= =?iso-8859-1?Q?lYQz2X1DX/Cpc77Aw3oYSBqwdAoDvLfdKrUikBqWpNkSl0V0/dLOg8ZQPZ?= =?iso-8859-1?Q?S8Y1ljWd7A=3D=3D?= Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Exchange-RoutingPolicyChecked: f9ESzWRTWJxykHR1Ob6kHCe+jn/km6m/HZwucqUM8AeihBNP6UsmfqAuHb8uZrPJ4L55rACNIZIVUsJQi80nhHUPmt1xULxZCEOmJmWEaqAVBPYuqUIdG1HPEMJ0G3fy14GqW0ynyzJqOBTJj7DonbqgjY+sWIH42ZnXm6pjU0ghd9BZr/xvxsOWcUEdjCthPQ1zFfBIPJpTmfYFa96wEIbYhVW8wEUGuRKiWfV/R3Quf/ToK82c38hFyvFK8yYvIsF8huo1+zTkvLec4uL67PyY4sNyp8v8cZkyCJwB4lMwINnYfelPpntu0Sn2lpFnMY/v9f+qrss4muaU5kTg2A== 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: 403bf2e1-fa90-4b46-d1a2-08de7f3f7cab X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Mar 2026 07:26:18.4196 (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: R7vnDd6eA4kzedkgkNCdkPec7r23NLqBUlQmwjHnO+mGwV8stsUgIwdiBzabpXhrrsu6JloDT4wNzEf/s2O4OZ/P5Mu1nuUjdNzRvqVHF/g= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SE2PPFD6A65AC07 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a01:111:f403: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: 1773214038751154100 Content-Type: text/plain; charset="utf-8" No functional change. Signed-off-by: Jamin Lin --- hw/usb/hcd-ehci.c | 129 +++++++++++++++++++++++++--------------------- 1 file changed, 71 insertions(+), 58 deletions(-) diff --git a/hw/usb/hcd-ehci.c b/hw/usb/hcd-ehci.c index 57f930b099..e2ff0f5874 100644 --- a/hw/usb/hcd-ehci.c +++ b/hw/usb/hcd-ehci.c @@ -41,21 +41,23 @@ #define FRAME_TIMER_NS (NANOSECONDS_PER_SECOND / FRAME_TIMER_FREQ) #define UFRAME_TIMER_NS (FRAME_TIMER_NS / 8) =20 -#define NB_MAXINTRATE 8 // Max rate at which controller issues i= nts -#define BUFF_SIZE 5*4096 // Max bytes to transfer per transaction -#define MAX_QH 100 // Max allowable queue heads in a chain +#define NB_MAXINTRATE 8 /* Max rate at which controller issues int= s */ +#define BUFF_SIZE (5 * 4096) /* Max bytes to transfer per transacti= on */ +#define MAX_QH 100 /* Max allowable queue heads in a chain = */ #define MIN_UFR_PER_TICK 24 /* Min frames to process when catching u= p */ #define PERIODIC_ACTIVE 512 /* Micro-frames */ =20 -/* Internal periodic / asynchronous schedule state machine states +/* + * Internal periodic / asynchronous schedule state machine states */ typedef enum { EST_INACTIVE =3D 1000, EST_ACTIVE, EST_EXECUTING, EST_SLEEPING, - /* The following states are internal to the state machine function - */ + /* + *The following states are internal to the state machine function + */ EST_WAITLISTHEAD, EST_FETCHENTRY, EST_FETCHQH, @@ -71,13 +73,13 @@ typedef enum { /* macros for accessing fields within next link pointer entry */ #define NLPTR_GET(x) ((x) & 0xffffffe0) #define NLPTR_TYPE_GET(x) (((x) >> 1) & 3) -#define NLPTR_TBIT(x) ((x) & 1) // 1=3Dinvalid, 0=3Dvalid +#define NLPTR_TBIT(x) ((x) & 1) /* 1=3Dinvalid, 0=3Dvalid */ =20 /* link pointer types */ -#define NLPTR_TYPE_ITD 0 // isoc xfer descriptor -#define NLPTR_TYPE_QH 1 // queue head -#define NLPTR_TYPE_STITD 2 // split xaction, isoc xfer descrip= tor -#define NLPTR_TYPE_FSTN 3 // frame span traversal node +#define NLPTR_TYPE_ITD 0 /* isoc xfer descriptor */ +#define NLPTR_TYPE_QH 1 /* queue head */ +#define NLPTR_TYPE_STITD 2 /* split xaction, isoc xfer descrip= tor */ +#define NLPTR_TYPE_FSTN 3 /* frame span traversal node */ =20 #define SET_LAST_RUN_CLOCK(s) \ (s)->last_run_ns =3D qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL); @@ -88,10 +90,10 @@ typedef enum { =20 #define set_field(data, newval, field) do { \ uint32_t val =3D *data; \ - val &=3D ~ field##_MASK; \ + val &=3D ~field##_MASK; \ val |=3D ((newval) << field##_SH) & field##_MASK; \ *data =3D val; \ - } while(0) + } while (0) =20 static const char *ehci_state_names[] =3D { [EST_INACTIVE] =3D "INACTIVE", @@ -472,8 +474,10 @@ static bool ehci_verify_pid(EHCIQueue *q, EHCIqtd *qtd) } } =20 -/* Finish executing and writeback a packet outside of the regular - fetchqh -> fetchqtd -> execute -> writeback cycle */ +/* + * Finish executing and writeback a packet outside of the regular + * fetchqh -> fetchqtd -> execute -> writeback cycle + */ static void ehci_writeback_async_complete_packet(EHCIPacket *p) { EHCIQueue *q =3D p->queue; @@ -733,7 +737,7 @@ static void ehci_detach(USBPort *port) ehci_queues_rip_device(s, port->dev, 0); ehci_queues_rip_device(s, port->dev, 1); =20 - *portsc &=3D ~(PORTSC_CONNECT|PORTSC_PED|PORTSC_SUSPEND); + *portsc &=3D ~(PORTSC_CONNECT | PORTSC_PED | PORTSC_SUSPEND); *portsc |=3D PORTSC_CSC; =20 ehci_raise_irq(s, USBSTS_PCD); @@ -858,7 +862,7 @@ void ehci_reset(void *opaque) * Do the detach before touching portsc, so that it correctly gets sen= d to * us or to our companion based on PORTSC_POWNER before the reset. */ - for(i =3D 0; i < EHCI_PORTS; i++) { + for (i =3D 0; i < EHCI_PORTS; i++) { devs[i] =3D s->ports[i].dev; if (devs[i] && devs[i]->attached) { usb_detach(&s->ports[i]); @@ -877,7 +881,7 @@ void ehci_reset(void *opaque) s->astate =3D EST_INACTIVE; s->pstate =3D EST_INACTIVE; =20 - for(i =3D 0; i < EHCI_PORTS; i++) { + for (i =3D 0; i < EHCI_PORTS; i++) { if (s->companion_ports[i]) { s->portsc[i] =3D PORTSC_POWNER | PORTSC_PPOWER; } else { @@ -942,8 +946,9 @@ static void handle_port_owner_write(EHCIState *s, int p= ort, uint32_t owner) uint32_t *portsc =3D &s->portsc[port]; uint32_t orig; =20 - if (s->companion_ports[port] =3D=3D NULL) + if (s->companion_ports[port] =3D=3D NULL) { return; + } =20 owner =3D owner & PORTSC_POWNER; orig =3D *portsc & PORTSC_POWNER; @@ -988,7 +993,7 @@ static void ehci_port_write(void *ptr, hwaddr addr, trace_usb_ehci_port_reset(port, 1); } =20 - if (!(val & PORTSC_PRESET) &&(*portsc & PORTSC_PRESET)) { + if (!(val & PORTSC_PRESET) && (*portsc & PORTSC_PRESET)) { trace_usb_ehci_port_reset(port, 0); if (dev && dev->attached) { usb_port_reset(&s->ports[port]); @@ -1065,8 +1070,10 @@ static void ehci_opreg_write(void *ptr, hwaddr addr, break; =20 case USBSTS: - val &=3D USBSTS_RO_MASK; // bits 6 through 31 are RO - ehci_clear_usbsts(s, val); // bits 0 through 5 are R/WC + /* bits 6 through 31 are RO */ + val &=3D USBSTS_RO_MASK; + /* bits 0 through 5 are R/WC */ + ehci_clear_usbsts(s, val); val =3D s->usbsts; ehci_update_irq(s); break; @@ -1131,8 +1138,7 @@ static void ehci_flush_qh(EHCIQueue *q) put_dwords(q->ehci, addr + 3 * sizeof(uint32_t), qh + 3, dwords - 3); } =20 -// 4.10.2 - +/* 4.10.2 */ static int ehci_qh_do_overlay(EHCIQueue *q) { EHCIPacket *p =3D QTAILQ_FIRST(&q->packets); @@ -1145,8 +1151,7 @@ static int ehci_qh_do_overlay(EHCIQueue *q) assert(p !=3D NULL); assert(p->qtdaddr =3D=3D q->qtdaddr); =20 - // remember values in fields to preserve in qh after overlay - + /* remember values in fields to preserve in qh after overlay */ dtoggle =3D q->qh.token & QTD_TOKEN_DTOGGLE; ping =3D q->qh.token & QTD_TOKEN_PING; =20 @@ -1170,7 +1175,7 @@ static int ehci_qh_do_overlay(EHCIQueue *q) } =20 if (!(q->qh.epchar & QH_EPCHAR_DTC)) { - // preserve QH DT bit + /* preserve QH DT bit */ q->qh.token &=3D ~QTD_TOKEN_DTOGGLE; q->qh.token |=3D dtoggle; } @@ -1397,9 +1402,7 @@ static int ehci_execute(EHCIPacket *p, const char *ac= tion) return 1; } =20 -/* 4.7.2 - */ - +/* 4.7.2 */ static int ehci_process_itd(EHCIState *ehci, EHCIitd *itd, uint32_t addr) @@ -1411,13 +1414,13 @@ static int ehci_process_itd(EHCIState *ehci, =20 ehci->periodic_sched_active =3D PERIODIC_ACTIVE; =20 - dir =3D(itd->bufptr[1] & ITD_BUFPTR_DIRECTION); + dir =3D (itd->bufptr[1] & ITD_BUFPTR_DIRECTION); devaddr =3D get_field(itd->bufptr[0], ITD_BUFPTR_DEVADDR); endp =3D get_field(itd->bufptr[0], ITD_BUFPTR_EP); max =3D get_field(itd->bufptr[1], ITD_BUFPTR_MAXPKT); mult =3D get_field(itd->bufptr[2], ITD_BUFPTR_MULT); =20 - for(i =3D 0; i < 8; i++) { + for (i =3D 0; i < 8; i++) { if (itd->transact[i] & ITD_XACT_ACTIVE) { pg =3D get_field(itd->transact[i], ITD_XACT_PGSEL); off =3D itd->transact[i] & ITD_XACT_OFFSET_MASK; @@ -1513,8 +1516,9 @@ static int ehci_process_itd(EHCIState *ehci, } =20 =20 -/* This state is the entry point for asynchronous schedule - * processing. Entry here constitutes a EHCI start event state (4.8.5) +/* + * This state is the entry point for asynchronous schedule + * processing. Entry here constitutes a EHCI start event state (4.8.5) */ static int ehci_state_waitlisthead(EHCIState *ehci, int async) { @@ -1531,7 +1535,7 @@ static int ehci_state_waitlisthead(EHCIState *ehci, = int async) ehci_queues_rip_unused(ehci, async); =20 /* Find the head of the list (4.9.1.1) */ - for(i =3D 0; i < MAX_QH; i++) { + for (i =3D 0; i < MAX_QH; i++) { if (get_dwords(ehci, NLPTR_GET(entry), (uint32_t *) &qh, sizeof(EHCIqh) >> 2) < 0) { return 0; @@ -1564,8 +1568,9 @@ out: } =20 =20 -/* This state is the entry point for periodic schedule processing as - * well as being a continuation state for async processing. +/* + * This state is the entry point for periodic schedule processing as + * well as being a continuation state for async processing. */ static int ehci_state_fetchentry(EHCIState *ehci, int async) { @@ -1674,7 +1679,7 @@ static EHCIQueue *ehci_state_fetchqh(EHCIState *ehci,= int async) =20 #if EHCI_DEBUG if (q->qhaddr !=3D q->qh.next) { - DPRINTF("FETCHQH: QH 0x%08x (h %x halt %x active %x) next 0x%08x\n", + DPRINTF("FETCHQH: QH 0x%08x (h %x halt %x active %x) next 0x%08x\= n", q->qhaddr, q->qh.epchar & QH_EPCHAR_H, q->qh.token & QTD_TOKEN_HALT, @@ -1757,7 +1762,8 @@ static int ehci_state_fetchsitd(EHCIState *ehci, int = async) static int ehci_state_advqueue(EHCIQueue *q) { #if 0 - /* TO-DO: 4.10.2 - paragraph 2 + /* + * TO-DO: 4.10.2 - paragraph 2 * if I-bit is set to 1 and QH is not active * go to horizontal QH */ @@ -1935,8 +1941,10 @@ static int ehci_state_execute(EHCIQueue *q) return -1; } =20 - // TODO verify enough time remains in the uframe as in 4.4.1.1 - // TODO write back ptr to async list when done or out of time + /* + * TODO verify enough time remains in the uframe as in 4.4.1.1 + * TODO write back ptr to async list when done or out of time + */ =20 /* 4.10.3, bottom of page 82, go horizontal on transaction counter =3D= =3D 0 */ if (!q->async && q->transact_ctr =3D=3D 0) { @@ -2047,7 +2055,7 @@ static void ehci_advance_state(EHCIState *ehci, int a= sync) int again; =20 do { - switch(ehci_get_state(ehci, async)) { + switch (ehci_get_state(ehci, async)) { case EST_WAITLISTHEAD: again =3D ehci_state_waitlisthead(ehci, async); break; @@ -2126,21 +2134,20 @@ static void ehci_advance_state(EHCIState *ehci, int= async) ehci_reset(ehci); again =3D 0; } - } - while (again); + } while (again); } =20 static void ehci_advance_async_state(EHCIState *ehci) { const int async =3D 1; =20 - switch(ehci_get_state(ehci, async)) { + switch (ehci_get_state(ehci, async)) { case EST_INACTIVE: if (!ehci_async_enabled(ehci)) { break; } ehci_set_state(ehci, async, EST_ACTIVE); - // No break, fall through to ACTIVE + /* No break, fall through to ACTIVE */ =20 case EST_ACTIVE: if (!ehci_async_enabled(ehci)) { @@ -2164,7 +2171,8 @@ static void ehci_advance_async_state(EHCIState *ehci) ehci_set_state(ehci, async, EST_WAITLISTHEAD); ehci_advance_state(ehci, async); =20 - /* If the doorbell is set, the guest wants to make a change to the + /* + * If the doorbell is set, the guest wants to make a change to the * schedule. The host controller needs to release cached data. * (section 4.8.2) */ @@ -2191,13 +2199,13 @@ static void ehci_advance_periodic_state(EHCIState *= ehci) uint32_t list; const int async =3D 0; =20 - // 4.6 + /* 4.6 */ =20 - switch(ehci_get_state(ehci, async)) { + switch (ehci_get_state(ehci, async)) { case EST_INACTIVE: if (!(ehci->frindex & 7) && ehci_periodic_enabled(ehci)) { ehci_set_state(ehci, async, EST_ACTIVE); - // No break, fall through to ACTIVE + /* No break, fall through to ACTIVE */ } else break; =20 @@ -2221,7 +2229,7 @@ static void ehci_advance_periodic_state(EHCIState *eh= ci) =20 DPRINTF("PERIODIC state adv fr=3D%d. [%08X] -> %08X\n", ehci->frindex / 8, list, entry); - ehci_set_fetch_addr(ehci, async,entry); + ehci_set_fetch_addr(ehci, async, entry); ehci_set_state(ehci, async, EST_FETCHENTRY); ehci_advance_state(ehci, async); ehci_queues_rip_unused(ehci, async); @@ -2246,7 +2254,8 @@ static void ehci_update_frindex(EHCIState *ehci, int = uframes) ehci_raise_irq(ehci, USBSTS_FLR); } =20 - /* How many times will frindex roll over 0x4000 with this frame count? + /* + * How many times will frindex roll over 0x4000 with this frame count? * usbsts_frindex is decremented by 0x4000 on rollover until it reache= s 0 */ int rollovers =3D (ehci->frindex + uframes) / 0x4000; @@ -2326,8 +2335,9 @@ static void ehci_work_bh(void *opaque) ehci->async_stepdown++; } =20 - /* Async is not inside loop since it executes everything it can once - * called + /* + * Async is not inside loop since it executes everything it can once + * called */ if (ehci_async_enabled(ehci) || ehci->astate !=3D EST_INACTIVE) { need_timer++; @@ -2345,15 +2355,18 @@ static void ehci_work_bh(void *opaque) } =20 if (need_timer) { - /* If we've raised int, we speed up the timer, so that we quickly - * notice any new packets queued up in response */ + /* + * If we've raised int, we speed up the timer, so that we quickly + * notice any new packets queued up in response + */ if (ehci->int_req_by_async && (ehci->usbsts & USBSTS_INT)) { expire_time =3D t_now + NANOSECONDS_PER_SECOND / (FRAME_TIMER_FREQ * 4); ehci->int_req_by_async =3D false; } else { - expire_time =3D t_now + (NANOSECONDS_PER_SECOND - * (ehci->async_stepdown+1) / FRAME_TIMER_FR= EQ); + expire_time =3D t_now + + (NANOSECONDS_PER_SECOND * (ehci->async_stepdown + 1) / + FRAME_TIMER_FREQ); } timer_mod(ehci->frame_timer, expire_time); } --=20 2.43.0 From nobody Sat Apr 11 19:55:06 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=1773214076; cv=pass; d=zohomail.com; s=zohoarc; b=hQEutMs9+Nm5YsKynVySsRjRCrWYA2sbdisazker3q3OacqlXhaEy/bOaqa4k9BViWg+Emcq4JcpV013aEHuNuyno/1A5wFzh+9Cg4VqoG3FR1flEsaKyRZiHya9bdd/8tdsfo4hEoQahJ4kqNgTavrJIX1gamuZWGnIyhpweB0= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1773214076; 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=uXVriGQlrCjHX2dqzuaTRY7bL/1pesiQkAJDd6l5txc=; b=M+8JqHJStWcVBskPfcGH30rP8Sgjd896i8CoeLFag3uWvwH/N85fAA+UanHlyF6+G8CnWUtD+US/g2Cm0rp2deMvxMuXXHWdYcB0tu6ENd6mE7oGW5Hbt6tCNbUDS9eWGLZI/whHz+TjKhmyLrNxWkLlccfRFJr2uFraJJxiLvQ= 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 lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1773214076827921.8041846339274; Wed, 11 Mar 2026 00:27:56 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1w0Dy4-0003AM-IY; Wed, 11 Mar 2026 03:26:56 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1w0Dxl-00030a-7E; Wed, 11 Mar 2026 03:26:37 -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 1w0Dxh-00052E-9R; Wed, 11 Mar 2026 03:26:36 -0400 Received: from TYPPR06MB8206.apcprd06.prod.outlook.com (2603:1096:405:383::19) by SE2PPFD6A65AC07.apcprd06.prod.outlook.com (2603:1096:108:1::7ee) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9678.20; Wed, 11 Mar 2026 07:26:19 +0000 Received: from TYPPR06MB8206.apcprd06.prod.outlook.com ([fe80::e659:1ead:77cb:f6d3]) by TYPPR06MB8206.apcprd06.prod.outlook.com ([fe80::e659:1ead:77cb:f6d3%3]) with mapi id 15.20.9700.010; Wed, 11 Mar 2026 07:26:19 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=i9kFohjdz2tYKzJ4TdnB/IeHq+ZwxNkK0naAMPODFRgMa4Z//nmaf4HwtzZu/OZhq8jiQUUy39wR8BYAhxQlc7njoKZ5ad4/7hJbkvhKVyloBgJBrCeFR3lAlZQa/j2xsE/Gt30Y0mxLLDHBUudmc46RH7Jq8Vw0/g3dDfidbX08owuGcPRuyrt/dI08vdVi2l6vWF94I9S6kVSUtMw22Ph0EBheAKST4/f762hFWQklnuXSWTSKli5BymHwZbVQ2Dzl3dl8fCm7HCCgTqXHhrodtCLlJOGZe9uEuQrARbGzBlwTEg9zG6a3uAWf+8z5WvtqpIH69/itEbZDXKwJsg== 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=uXVriGQlrCjHX2dqzuaTRY7bL/1pesiQkAJDd6l5txc=; b=cA+9hesGTM6Xx4vde4TjLaDNrBrmge3AW/7kfkjAZcgEubn+hJ+a3Rr6gVieLv7kiVxlsccHUGcMiF+aSXciLcVEjXgRytEgmRZHckfn6/AliXP9SSmll/sHQI8U8jXpxh7NX5D5vIYQ4RuyXxQmTBgbRzue5p7w3+HhenHAGnPHRbUPZ1yfMmkO79bs57zbeZ4NQVgUAWO0z66Ntnq6u00HVXR+Aq/cGmE97x2nLX1EbvRCc1NjerMIgzRyNTMh+1ervvYuwGPaa0WO+I2SzNPWvwFrSXm2tL22QY/sGL8Ic6yekvbMndMrt1NCiGBV94txBjpJmh6lhckam3Dj6A== 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=uXVriGQlrCjHX2dqzuaTRY7bL/1pesiQkAJDd6l5txc=; b=LMcB1rDbZMB/HneEJxT6wannhOYFtzaxRUM997J01Gx/ZlN3tdv+DdxpCKGty8JzVt+ENR6hhlcMCyPUCGo9B1cXerwVH2FaVL4NOTjW2oCpz8zaL+w9h8pCP63kt0qAoh9KAK4J6QTWgj5lV9E5oFYXWcPAlfKPNagdKuMdxVNpEbnzL3tX27LRPuEeYr8v8r0onfkMPOny8ZR8hxEt96YNkfHMjlyJSPBcmxVkPA+PCeGz24/a4Q91y+umb2kSUeXe0A8jQ31IGo+XVVOX8Cz4DxqJrFmwh9LDnjBWGgXEUAB3AT34w95duen32BgOznlOShbg2/SYkvKzi0QyNg== From: Jamin Lin To: =?iso-8859-1?Q?C=E9dric_Le_Goater?= , Peter Maydell , Steven Lee , Troy Lee , Andrew Jeffery , Joel Stanley , "open list:ASPEED BMCs" , "open list:All patches CC here" CC: Jamin Lin , Troy Lee , Kane Chen , "flwu@google.com" , "nabihestefan@google.com" Subject: [PATCH v1 03/13] hw/usb/hcd-ehci: Change descriptor addresses to 64-bit Thread-Topic: [PATCH v1 03/13] hw/usb/hcd-ehci: Change descriptor addresses to 64-bit Thread-Index: AQHcsShaZnUucCOzr0mk+y9iYEFGBQ== Date: Wed, 11 Mar 2026 07:26:19 +0000 Message-ID: <20260311072614.1095587-4-jamin_lin@aspeedtech.com> References: <20260311072614.1095587-1-jamin_lin@aspeedtech.com> In-Reply-To: <20260311072614.1095587-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_|SE2PPFD6A65AC07:EE_ x-ms-office365-filtering-correlation-id: 25ade40c-bff6-42ed-0cb5-08de7f3f7d63 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|1800799024|366016|376014|38070700021|7142099003|56012099003|22082099003|18002099003; x-microsoft-antispam-message-info: 0aqyeD6lRnYhLre/DFB6VjmrPbKv+gUZjQyhbl0PJACsc5JefnEntpdb1MYJKFq+B+XdZsZITpqJM2qfCNVmgI7VwY0cFTpkO4LLRKAPEq4IZtZqtvnyzhQLOU3k05E0bQjqVp8OyY9cntzo3SqbsUsRsQ//yNIO9LqwbQKX9umclkcyxHY6knOghQcRupd9Hhe/RllozoBA6mF7bfptEg6nzgkh0gLKnyctFHYt9TI8IvEXGcAhPrQHpbua7tXLgyMOAKoWQzy2P8plMoS7rLiwm32kUV8tlUu8NZaKySmUJW4Ob0Zoa6dS22uSXHy+9A6jRs6po0wan7ZGHI3vQ2W/ASmKMT1t1ZUZKOLYCSYgA1HIn9hPBdXdlca4/9UKxNcKFdOQVMXRn1mPtXRGrYO5R5TviWXOdCcoUOzgVjpkKRcG0aFkbJdPEYBS97y1gA5aMsRiF2OZ0iqRQsu9q5Tdo+DdIQ6PSXcDBDrEtHTmrsivARwMC5GJ7fGRhN0lRVJcITWgytkm6myp3N5y0IdAgq6NO2PuUTR1bCIcimgLcOzmSWjhGJi0un/B5H8dnmdTEnKn1BD5pdi8oST4MOCT4Iw6Qzi6wbTGnxpHrKO2vi8ZZMdjzbJqlTCaJ8mXf04N9soBHjj9QndFir/zs0SIxjyxgBevm9qa03B2Hfjw5hHe7mk+M0ZdGowVx0bNgRvCYe6S17oeGXW8poY+cUMmjYpLvT3JAz3+uKTfIqf0q3SXSvzMxoxR/HqAJ4x+ewwB5IE5cEa2lOuo4iKk1ggO2XDb8LAWf2WQA2MUeTI= 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)(376014)(38070700021)(7142099003)(56012099003)(22082099003)(18002099003); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?8xeQLc3V6G7Iadc669sHkpnqyQFsun566esearhaTxS+Kg+hwRQHskei+w?= =?iso-8859-1?Q?fIvVKf7NJJny8NaG3YFYXt356hyxhyR4kaVQzYW4cux9MO1Au55HuHG2g3?= =?iso-8859-1?Q?EeQiJgN3m6vIvNfS3bFgeOy7bPekS5JjDns9yTB7Vu1vC5dP82peOETIJ3?= =?iso-8859-1?Q?ulDHFgXoYnvHuBRelFgxBQqsWG9+7TxLKJnpv/M+URW5YtqkAxexFA8cGy?= =?iso-8859-1?Q?O7+0TO4UyUPUH8gRiMh9V1p7de9Du2oSC/t0Drh3Fs6IIYdNY44hcCL0XS?= =?iso-8859-1?Q?I04AWh29N43Wd6ci3cGwrlZcp4UYoNDtJBqbbeX91v5hQdmYuO5mzXjROx?= =?iso-8859-1?Q?2jclB9horuT0lpeWCbIJI/9K74pGqZy0+07OECiWDOc9UjxDwDQ+/rlFgB?= =?iso-8859-1?Q?I2zYG4NdALZBLmC/MYzEHeU6J36nr0HywwJHi0FS/HiUu2MI6acD+Uisw3?= =?iso-8859-1?Q?wI17lT9Sc/+X1qKkHZY7dwNuAcECzVPaOB/eH3scj+4qyRgfOpRvl5Hm3S?= =?iso-8859-1?Q?WcKZuOEK3rhyDJRgYNvOYhNuuAQY+jjIrSH/+VfWBdauOgdQQbVeOO7XNI?= =?iso-8859-1?Q?nQqTWar2rk/sjMOKZCYtuEkvWm5bIlxIgPHR6f7EVooaA7SBk2FsMnMAA7?= =?iso-8859-1?Q?4ccKi26nWytwk+GuSL7FsdaHRcMPGSdDMRTFIAYOd8AvOeSqPL+wx0WwRf?= =?iso-8859-1?Q?zK8hjdzKoGPmrzP2m+j6ZYVEFSkT8BexLGMPO6nrrIRIvDnvioh67c5KJm?= =?iso-8859-1?Q?jcXDw4yJe7taOk45+r3B9LYv6vzDhPFuTg2uPAJStFrk7XVCUX1G3m9EzQ?= =?iso-8859-1?Q?UYsgcdQFvm8stlT3/znSHoIGoANQ2J8eAbHaQigLUwq6YQ5Ut2ppAsSp+V?= =?iso-8859-1?Q?qrA85k4AM1VYtDPal1M03ex2ElEddbyJBS0XWMyde3GJZpgUZ2B3KqWRBH?= =?iso-8859-1?Q?2ccGGWJ63Hy5hP0RxRaMqCZM4yJ5anD+80KH4rVN5tB/LS+aUhSA2Td5Y2?= =?iso-8859-1?Q?REEfBcMe5vg7CUxRqdAyRKA/3XcGQWCChWI8jsZKo4QfET3VVgHrLRn6vy?= =?iso-8859-1?Q?COmEyYqArJkegEZKf56jbP5kHaCJFZIsdub218HDHCZnJJ9aXruYwwwYK/?= =?iso-8859-1?Q?lwUVSGPfNQEd+xtk+hbkRFN6a+csxS8irPZQ3QN7B72N5qm6O2CeGOviKh?= =?iso-8859-1?Q?xCoJ1VIJEz32giiYkRAPw+ThXa86s0zPYDxlnzBvxSP6+IXubuvKO4wV5+?= =?iso-8859-1?Q?n5K26pnii5Vysw3vqmoxjP8Ff9VVBtT/ltR41NIgdXS9DHnqN9iYIVaOJn?= =?iso-8859-1?Q?3xrGSJfmBQEuBArpNHyVOUme00aEuAqI2ylby14WEk9BIj77iRkrIP1EtI?= =?iso-8859-1?Q?XIwQaU8ykgiwmExbqkygNwYX9weg7GP6lktOK3mkCLMy98+FlUA9IMfXlc?= =?iso-8859-1?Q?kxIvlorfHN9sAsV8bjSgrdVdMX/zpi7enk3vliTUzeVjG1T51JJNw7Q4a/?= =?iso-8859-1?Q?aKcoJ6D0BLnfnZnIBnENVaZl+DenXejNHmE6yQh7GVFwIanEc97C/NExNN?= =?iso-8859-1?Q?KLkfuFb4K/i5K+UaMCRyrbMnSOwKvv6VyRUgMjEsMM9BFB9X3JjWprpFLP?= =?iso-8859-1?Q?vHDhmBUEP3FRk7l852V3Gge+WkVkNPMp6XIMl2l3ts+RZ0XpC3vkMef7gj?= =?iso-8859-1?Q?sPiPumrNJiVAekqcb8Drgv6O8b8boYf8r/T9z3KzAOBRgVeAdXDjT55uOh?= =?iso-8859-1?Q?7XBuFJ24wt+bq5jV89btTc2t8ofVrI7S98OgyWRxw0LqqccToCOAZTssx1?= =?iso-8859-1?Q?mBfw79Bshg=3D=3D?= Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Exchange-RoutingPolicyChecked: CkortDjRlhjeflZiZ7APW3f0eeaDYNOafVYrv+/zMcL9pL+KuRSB53SBYS3qcJt/YI+IEVExnq4O/WURFWPvlyf29t9XTG6vkyhrAQpMtVRGyIHbIiRB+q2bwLP2d6sRoYmr3LOwxqYDH11kF5RNnsiv1QhI0cpqIvJnY1vip0SU6GMCN0UclL8A5LzrB9trBDrkVsTiUt7J94JO1FW1BOchzOnEiuT6cdiZ/0ujFJ2gC/b8f+qJEKOsjcTr5wiLfmq0nQtmxIqXmJ78HJ/Mo9Z3vdVFSwFTmX4W8CMHdcAfhtw5yZTUZ6vqMD2araYkdGmZC0SoKquVDPpBiMHozw== 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: 25ade40c-bff6-42ed-0cb5-08de7f3f7d63 X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Mar 2026 07:26:19.5984 (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: k9BFI9+PCYlQ5bj4UF6jOFnUQejUdqgZoKY9KEb5JKQBFRDrRU7WjVInLzgOTsUlXLb5h3cOZ/BECdpH1JK9bzqv5JOYbhTDbXBlf1uVv8o= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SE2PPFD6A65AC07 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a01:111:f403: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: 1773214078837158500 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) & ~(uint64_t)0x1f) 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. Since the type of fetch_addr changes from 32-bit to 64-bit, bump the VMState version. No functional change. Signed-off-by: Jamin Lin --- hw/usb/hcd-ehci.h | 10 +++---- hw/usb/hcd-ehci.c | 67 +++++++++++++++++++++++++---------------------- 2 files changed, 41 insertions(+), 36 deletions(-) diff --git a/hw/usb/hcd-ehci.h b/hw/usb/hcd-ehci.h index ed44935302..df87f8145f 100644 --- a/hw/usb/hcd-ehci.h +++ b/hw/usb/hcd-ehci.h @@ -226,7 +226,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; @@ -247,8 +247,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; @@ -312,8 +312,8 @@ struct EHCIState { EHCIQueueHead pqueues; =20 /* which address to look at next */ - uint32_t a_fetch_addr; - uint32_t p_fetch_addr; + uint64_t a_fetch_addr; + uint64_t p_fetch_addr; =20 USBPacket ipacket; QEMUSGList isgl; diff --git a/hw/usb/hcd-ehci.c b/hw/usb/hcd-ehci.c index e2ff0f5874..87c3991313 100644 --- a/hw/usb/hcd-ehci.c +++ b/hw/usb/hcd-ehci.c @@ -71,7 +71,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) & ~(uint64_t)0x1f) #define NLPTR_TYPE_GET(x) (((x) >> 1) & 3) #define NLPTR_TBIT(x) ((x) & 1) /* 1=3Dinvalid, 0=3Dvalid */ =20 @@ -286,7 +286,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; @@ -295,7 +295,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; } @@ -372,7 +372,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; @@ -394,7 +394,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; @@ -548,7 +548,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; @@ -621,7 +621,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; @@ -1133,7 +1133,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); } @@ -1279,8 +1279,8 @@ static void ehci_execute_complete(EHCIQueue *q) assert(p->async =3D=3D EHCI_ASYNC_INITIALIZED || p->async =3D=3D EHCI_ASYNC_FINISHED); =20 - DPRINTF("execute_complete: qhaddr 0x%x, next 0x%x, qtdaddr 0x%x, " - "status %d, actual_length %d\n", + DPRINTF("execute_complete: qhaddr 0x%" PRIx64 ", next 0x%x, " + "qtdaddr 0x%" PRIx64 ", status %d, actual_length %d\n", q->qhaddr, q->qh.next, q->qtdaddr, p->packet.status, p->packet.actual_length); =20 @@ -1389,9 +1389,10 @@ static int ehci_execute(EHCIPacket *p, const char *a= ction) =20 trace_usb_ehci_packet_action(p->queue, p, action); usb_handle_packet(p->queue->dev, &p->packet); - DPRINTF("submit: qh 0x%x next 0x%x qtd 0x%x pid 0x%x len %zd endp 0x%x= " - "status %d actual_length %d\n", p->queue->qhaddr, p->qtd.next, - p->qtdaddr, p->pid, p->packet.iov.size, endp, p->packet.status, + DPRINTF("submit: qh 0x%" PRIx64 " next 0x%x qtd 0x%" PRIx64 + " pid 0x%x len %zd endp 0x%x status %d actual_length %d\n", + p->queue->qhaddr, p->qtd.next, p->qtdaddr, p->pid, + p->packet.iov.size, endp, p->packet.status, p->packet.actual_length); =20 if (p->packet.actual_length > BUFF_SIZE) { @@ -1405,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 @@ -1525,7 +1527,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) { @@ -1575,7 +1577,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); @@ -1606,7 +1608,7 @@ static int ehci_state_fetchentry(EHCIState *ehci, int= async) =20 default: /* TODO: handle FSTN type */ - fprintf(stderr, "FETCHENTRY: entry at %X is of type %u " + fprintf(stderr, "FETCHENTRY: entry at %" PRIx64 "is of type %" PRI= u64 "which is not supported yet\n", entry, NLPTR_TYPE_GET(entr= y)); return -1; } @@ -1617,7 +1619,7 @@ out: =20 static EHCIQueue *ehci_state_fetchqh(EHCIState *ehci, int async) { - uint32_t entry; + uint64_t entry; EHCIQueue *q; EHCIqh qh; =20 @@ -1669,8 +1671,9 @@ static EHCIQueue *ehci_state_fetchqh(EHCIState *ehci,= int async) if (ehci->usbsts & USBSTS_REC) { ehci_clear_usbsts(ehci, USBSTS_REC); } else { - DPRINTF("FETCHQH: QH 0x%08x. H-bit set, reclamation status re= set" - " - done processing\n", q->qhaddr); + DPRINTF("FETCHQH: QH 0x%" PRIx64 + ". H-bit set, reclamation status reset - " + "done processing\n", q->qhaddr); ehci_set_state(ehci, async, EST_ACTIVE); q =3D NULL; goto out; @@ -1679,7 +1682,8 @@ static EHCIQueue *ehci_state_fetchqh(EHCIState *ehci,= int async) =20 #if EHCI_DEBUG if (q->qhaddr !=3D q->qh.next) { - DPRINTF("FETCHQH: QH 0x%08x (h %x halt %x active %x) next 0x%08x\= n", + DPRINTF("FETCHQH: QH 0x%" PRIx64 + " (h %x halt %x active %x) next 0x%08x\n", q->qhaddr, q->qh.epchar & QH_EPCHAR_H, q->qh.token & QTD_TOKEN_HALT, @@ -1708,7 +1712,7 @@ out: =20 static int ehci_state_fetchitd(EHCIState *ehci, int async) { - uint32_t entry; + uint64_t entry; EHCIitd itd; =20 assert(!async); @@ -1734,7 +1738,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); @@ -1804,7 +1808,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) { @@ -1887,7 +1891,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) { @@ -2010,7 +2014,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 */ @@ -2484,8 +2489,8 @@ static void usb_ehci_vm_state_change(void *opaque, bo= ol running, RunState state) =20 const VMStateDescription vmstate_ehci =3D { .name =3D "ehci-core", - .version_id =3D 2, - .minimum_version_id =3D 1, + .version_id =3D 3, + .minimum_version_id =3D 2, .pre_save =3D usb_ehci_pre_save, .post_load =3D usb_ehci_post_load, .fields =3D (const VMStateField[]) { @@ -2513,8 +2518,8 @@ 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_UINT64(a_fetch_addr, EHCIState), + VMSTATE_UINT64(p_fetch_addr, EHCIState), VMSTATE_END_OF_LIST() } }; --=20 2.43.0 From nobody Sat Apr 11 19:55:06 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=1773214113; cv=pass; d=zohomail.com; s=zohoarc; b=RNgzAHW6mRsnHksrpezDc06T9T/E+mZja6SJ/myhQkwSrFe/OBeCoRzUICy9jaf9gKs2qBZ7ZH0A5FeVVERPPhaKKptY15VBVCru9VLsKkFmX53XqqbKD+p06dfBbrjCFG85KaXDqh/4g65LZWF4jVKjdBDruOohNVseOcvZppE= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1773214113; 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=ELpKfIytTN7hcs9dlvM6WFV3y4Fub9fpik3j39BULRo=; b=Cjp2pclFIQyXloa8y1BlaPHP/VIIidFtDIAPmtVdyToIKcMYCvYzOkFgb39GbuEi6I0dzbrUtJPtaMTZM3cjCNN8n1bac0urJCqmgp4JIMxRjfxNpYGAo/BXVC8DwyPkC++xWbxekBd5O2lGoKqIjhyb4HzNIGBKE9I3HaqMxNU= 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 lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1773214113354100.56789948133405; Wed, 11 Mar 2026 00:28:33 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1w0Dyo-0003oy-Fy; Wed, 11 Mar 2026 03:27:42 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1w0Dxm-00031T-Jj; Wed, 11 Mar 2026 03:26:40 -0400 Received: from mail-koreacentralazlp170130006.outbound.protection.outlook.com ([2a01:111:f403:c40f::6] helo=SEYPR02CU001.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 1w0Dxk-00052x-CA; Wed, 11 Mar 2026 03:26:38 -0400 Received: from TYPPR06MB8206.apcprd06.prod.outlook.com (2603:1096:405:383::19) by SE2PPFD6A65AC07.apcprd06.prod.outlook.com (2603:1096:108:1::7ee) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9678.20; Wed, 11 Mar 2026 07:26:20 +0000 Received: from TYPPR06MB8206.apcprd06.prod.outlook.com ([fe80::e659:1ead:77cb:f6d3]) by TYPPR06MB8206.apcprd06.prod.outlook.com ([fe80::e659:1ead:77cb:f6d3%3]) with mapi id 15.20.9700.010; Wed, 11 Mar 2026 07:26:20 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=sVN+vQAuy1ov18aU9qtfK8pRepdGka1c9Ru/IQtVMdNhqUtM5uQNh+63Es53mZGm5MXr+caU4gWg2AQot7QyysMJ0d3uQDBA0VVHc+B82iEDlfLsNcM4LiVhipIQ25Zh0IK6AnIm9L2QyDkAnAIz9fQFQvofw1an9ZhCBB63uKq+xn+kV2NByKzWppMxcshR7T9i2mrwB9q5V7GtHk+n+cECFGhkh9sD3XDYdUxodGmGXXQHHqf0tJ/5KH0W9uHDiPbdws4V0N1PuJGkQYniVVxFkGHVG5d61P9m9D6p8bdIfiSliFABpIGW3zVqpWP0vb9i80TyNo2JPeMKmjFuzw== 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=ELpKfIytTN7hcs9dlvM6WFV3y4Fub9fpik3j39BULRo=; b=fWxI+Fune9TSjg5WQvYUfBOE4plexN6nRZiqD+L3vBScKAK1Ks3SGF2BtyP3mxnZbYmKBtCddyXABjh7Gm3zudnqaeuUfXhawFNOH0vQ411Xghx+gyxYnGuPkpk7pU/NI3X0aoo7D6Br7o1ZzuK79gS9jkjA4JQqkMgm6bnppX7Se+10jpMmjvdRv0wQfxfSkzh3rSS+3GamXDRq8/W98uklwWpsaXGsYLRApIfTiUpFFu6Fl7BPDdn5M1Idn29ideNrJBfYIQ1IKgLN4Ba4QsV/Fu7kX7JW+gSBPmRFsOqLYEBq2OOGOM59jR+s7kmsaoxZnhwMTi/OHG938gyC2A== 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=ELpKfIytTN7hcs9dlvM6WFV3y4Fub9fpik3j39BULRo=; b=hS35CIwLga3QxqqHT0nPBRA46lKW5t5XnHNpHBld7vaM63UsrvyUdk/u5LB4lxATpd8VCTFJgKgr2rW9Yi0EGTd0znmz+xRyKtDkR5zNpTBH8EJWwCtkfx7H0hMEHjOOxo8um/LO0R5B2mCdGtpDLxyv8DV6RGSLIAkHjH4soK60p8fbZ0UtP9aBKA+yC+cl7QXIWBF8lUd6II7KwGJUK5ZOklMLoUfxU2BY44+SB1hv4NdWVhEN1VojLb/tBUpdLTXKIEk6LAVDfYM4osWI94JkoBR8xcbSLLMvTYtiVlxlF9OhkxXVP2SGNxWryboGeq9MVxqvEyGH8w+SWZonUw== From: Jamin Lin To: =?iso-8859-1?Q?C=E9dric_Le_Goater?= , Peter Maydell , Steven Lee , Troy Lee , Andrew Jeffery , Joel Stanley , "open list:ASPEED BMCs" , "open list:All patches CC here" CC: Jamin Lin , Troy Lee , Kane Chen , "flwu@google.com" , "nabihestefan@google.com" Subject: [PATCH v1 04/13] hw/usb/trace-events: Print EHCI queue and transfer addresses as 64-bit Thread-Topic: [PATCH v1 04/13] hw/usb/trace-events: Print EHCI queue and transfer addresses as 64-bit Thread-Index: AQHcsShbJnX4/GuM80W2I7JPs5eLhg== Date: Wed, 11 Mar 2026 07:26:20 +0000 Message-ID: <20260311072614.1095587-5-jamin_lin@aspeedtech.com> References: <20260311072614.1095587-1-jamin_lin@aspeedtech.com> In-Reply-To: <20260311072614.1095587-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_|SE2PPFD6A65AC07:EE_ x-ms-office365-filtering-correlation-id: 2c1a3368-5022-449e-b42b-08de7f3f7e1a x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|1800799024|366016|376014|38070700021|56012099003|22082099003|18002099003; x-microsoft-antispam-message-info: 4vCC3kIZ5kaQOD9F8SyNTV9ydqBmLHIkW9y6yYo3tHpiwS9c5oaR80+79w1o4nPGLDrp7VgNZBGJbPOZ3iQfjrztJDCjuDe9nSYrYlZOy67GCKfjr7Khs0MEN60ZLxhugb9RRSCiDJfka65drekaqYwZ11ZQeLwXsSOppzX4rkSIghiEvcEV0YXqQiq8YN0FPO4HLBxxMCJamgrWvuvaAdCBtyRzeNDeGCxADSkoIu2JoXKN5HZ/JkNOZ8QVkkU4RF1K3f/IEtClAvvMTli1xwYqxXdO4LBuyVoYEx55N5juGFTq7xMg898pEMgVK//VQdAazTMSNgCRwV6SN8+/zPH3EMpA8HLrzl4ygSi3Gl8uEUUZqPmabQA4WHwg6k+Bq5vTmTk9LL8g9gdc/g/o8NKR4AhJCLf0S0eRRG0LvHRhE+Q0hh/UyWTQ0eJkQ8mvyN6wZ32n42sS+dLehzPSfz9qG0GCXTJgoodt5SSVpvpiNMFfmxKFnX+uI3WHWJ3r3m27SFa4/+ezK+5+Vb5M1q3A6Qr7JCrXU8aRyi+gwMIcHK8yn9SsnL1PtvT6sIVh3Ih/Extw3RlDU351GTnbWcxoVCOW3HCb161ugQ5QxHrdtw71Gab9Amg+3u4VZ93bgs+oA6zkP709sihyS9Sp4+DDdjF2RFdgeY5bdJjzE8+qUblt964/dc0gHDBrn2FVKyMXvFqIUV9aoLFlidQoFtVIjjra3IWYpMKUE2l+D/IvLsih9j+2Q02qdeVcGF5Ij+uF9l/dpK4XJy/dMvIqQ4q41o4+pFTCS/V8OAtI2wk= 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)(376014)(38070700021)(56012099003)(22082099003)(18002099003); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?LvHPVsIlCKTY1nUK++tizXDOxqBFWqmdDRLm2nArvO7LYmAHMvkXE+KHPX?= =?iso-8859-1?Q?ncSlHMQW32/bWr7xwJQ6Mdvhsjwpazw34A9tMGwMfSxv7Gcz6A/cEYaHxQ?= =?iso-8859-1?Q?gs4ibsdrOIMR0xwS9bdR+oKrzy1ZroK/PJKWuJ5PhA7NaUOGAB/DC1wimW?= =?iso-8859-1?Q?XjAq8bM8FI+4J1R1A7boy5sLHle8owi1IMsy+YdmwQfRlvbmx32rq+Hp6P?= =?iso-8859-1?Q?q5gBNxgZ2VP6ht/z/V7hYwCdJnacSX/CYL6Q7Ct9LEQDcvT786R5wkCBuS?= =?iso-8859-1?Q?ezWT1L0qc1xI8tsu6QG+J9NSOg/cqEwQUf+UpKFRvk4EPfaelH8DVcsEEC?= =?iso-8859-1?Q?Z09WHiC3njElbPXqem3uYxSYky4nMTZ4e9/KEvf0GxRYJW8DNT4eZY9iri?= =?iso-8859-1?Q?uhLZrJ1hYJsrLz2fHkURg1mNwxeXqjaOZclfBejo1F7pn+E7O9KwIWnrzq?= =?iso-8859-1?Q?wLvcGKKhNl7ZoAUfONrhSGaU6bPLv8Y9dmypOIcXvKsCns03pfcOLaDE15?= =?iso-8859-1?Q?rlU1Z6n1WiqduhtAZTjbfO1MiSgVx10oY2ToXwicZaaB3/kCUPfr+VxxGw?= =?iso-8859-1?Q?uBN2kzJUiKFSYOg/Zc/D/We4sAYe7D2sCHxeQFR8zkmK+CAWJbedJCXopO?= =?iso-8859-1?Q?+LJS1h/PA8QccOFme9AOXRZnJxXZejQ0hayz/jqGJTrLAGRC102cdKCAEc?= =?iso-8859-1?Q?wkySonAtCYFKNQ5zfDOm1PjFoNfhUns4g5V+OUGvJM+8CplCBDV4BsDNVt?= =?iso-8859-1?Q?P9BuEdzLA/IqhT/xL49F1dUFTbZMG/7fUiWQ2OtG1singsx6BhsgMQGXbI?= =?iso-8859-1?Q?nX6iFed+XM8uyiQSzvWvaG9RI8hdWSoiVRfA5pf3L7gCX1bNEzJvru9iZz?= =?iso-8859-1?Q?IUZhI7t+VFxXmLD5jBGeAW0dl9m8EhFtVJfB+yFCM9SEpGba2y4GWENibE?= =?iso-8859-1?Q?5eVWxIxy38VRdF0Lm0d6LnT2VNIEBbdZoOQxvtF8N+3yg5v4ovzLt60E8+?= =?iso-8859-1?Q?dLshvhMCv7RX+Fjrlu+O6z/TjOJc6AkA6tnbIm7cLCWlS/USwYgw6i1Qe8?= =?iso-8859-1?Q?HRpwIr6nuphU2tMJQsCiTxV+8+AdkoTL36IYq0lwjVuVUtLPG0HTwWh7Ao?= =?iso-8859-1?Q?jAltrj3FE+kYCGw7n3xTEBkboyg0JMYj8XBK4CG5OJpP6Xl+qJOs6ACKUy?= =?iso-8859-1?Q?+9aA0O1qnmnOR03oN43S8ZkHBxZS/NdvcwAoueglsfXyKub12KlNR2P9PI?= =?iso-8859-1?Q?JYFjJo9UqPfsp+8+u78fmp7WMgucn2yOK+fPm6d6vKF4XRYULYzjPlQSdX?= =?iso-8859-1?Q?CH0LYMi84vMSfJBM6ZWcho0LGkEU3Unl+FUU0HpAzNWabSvV4mExt+KVaa?= =?iso-8859-1?Q?xzhWjZbzqsspgC72wbcl9I/Xx0KJb6lZm5ECiyFw4WvuozGEoDy3IAkxDI?= =?iso-8859-1?Q?shhKSPS0GlJB8xxdf74fAjZIyPk8e1+4kyRyR6y9lo63gxfgyy3Wi0uJ5s?= =?iso-8859-1?Q?JpCHSCmN+VyvSqHHDJofiuZmh4ZTHQZW5A4axkFA4M4956SwWbg03vBitA?= =?iso-8859-1?Q?h0OGmM5vdy78HgcxXgHQp4a1Z05yd8+cWO9d5Q5NONRIrCCmCrSjUIQnHP?= =?iso-8859-1?Q?nGPk5XhFSeEtAm6ejdqXRqxDCoS0TMWJy07dCQCKh52pU3SnnoeKnqKXXa?= =?iso-8859-1?Q?xK74JtXe68m6ZGWuNFn6fEm1RTxSRliF+q39MmSMjptHBvURUZmPlAtXEj?= =?iso-8859-1?Q?uWofFLlwHDxxZLB+klzk0k39mZpLTZTkmH3Zz1esiRCwvytr8D98lPOBbj?= =?iso-8859-1?Q?ExwSxrmJ7w=3D=3D?= Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Exchange-RoutingPolicyChecked: n2776WYi46h7vbpIDW52uH1tjd0YgerTfa6Ph6izUsIxVI8B/MQbW/noEnyLKnOj/d4vc0eDwpKW5vs8fhWo1Z1K73tLL+0qd7LnfAuvYMsNLcFQ7IFD1MaOgwqLa6t+eyZafh+daqUEvCBNUsBHyYj8/Oz+Mt5TBZizNfC2CIXC06D5GhxCvLaZw0ofjRpjO8M0vGkfCAI5ALJgYRmXlDpGr7dHdVTMw1HnEGEIIHX5aogVrlF/X6N3507fT2OQH0inL++LCL7esA5hgygWXl3qO9DzllwalAi67XgA8gLfExboP3Wp+YYp5+W/kGi8Lhc/pIbEHolswb/rkw7zDQ== 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: 2c1a3368-5022-449e-b42b-08de7f3f7e1a X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Mar 2026 07:26:20.8046 (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: BDgjnPM3YucFuKRzeL0TYozsf6NS1/G9IWBWLbU++R7PgiiOqogQfxof5RzUme3Y+rMvACIhYyIwr2E3j1BP77SHlB+7NxyfS+GqdhszsaI= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SE2PPFD6A65AC07 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a01:111:f403:c40f::6; envelope-from=jamin_lin@aspeedtech.com; helo=SEYPR02CU001.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: 1773214114821154100 Content-Type: text/plain; charset="utf-8" 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. This change only affects trace formatting and does not modify the EHCI data structure layout or behavior. Signed-off-by: Jamin Lin --- hw/usb/trace-events | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/hw/usb/trace-events b/hw/usb/trace-events index dd04f14add..ecd84e54c0 100644 --- a/hw/usb/trace-events +++ b/hw/usb/trace-events @@ -86,14 +86,14 @@ 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_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_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_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" --=20 2.43.0 From nobody Sat Apr 11 19:55:06 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=1773214138; cv=pass; d=zohomail.com; s=zohoarc; b=HZyQIJJ6sc5VO9ZYbGgKU+gnNYbOc/kKW7lHIpF4XFf4SRPuvrmR0CFM/YSC7glgeLPJrWwOdQ5hLAXmLwCIcXtr43O28G8yKPaXGNI7u4avfItE0aHv7KMypDJXXtonXsVGtgd/Lf9LI0kyZO2MKa384384PWtQju1NkgkIjOY= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1773214138; 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=T6FY/tDF0ifIB3DvrNWxZVPFw+9/Lcgex2hiIADFYSI=; b=mxqvxhJ0PIfDLjBtqvSXA4x41hhhY5+iFHrTTRItYZByrCVF2cVZztiepdJKyAHSWbBkbvixpv5LXeUoq46Tg4FuTgdP5wk23SBt6ZI37hpeeOwmyTj0MB4jTemrDEWY+LiCxDvYc9kueMe4l0o1Vjqybc1TMt2cja8GnSy8GCM= 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 lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1773214137825362.3616635438974; Wed, 11 Mar 2026 00:28:57 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1w0Dyp-0003vo-BJ; Wed, 11 Mar 2026 03:27:43 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1w0Dxo-00031k-7q; Wed, 11 Mar 2026 03:26:45 -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 1w0Dxm-00052E-6H; Wed, 11 Mar 2026 03:26:39 -0400 Received: from TYPPR06MB8206.apcprd06.prod.outlook.com (2603:1096:405:383::19) by SE2PPFD6A65AC07.apcprd06.prod.outlook.com (2603:1096:108:1::7ee) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9678.20; Wed, 11 Mar 2026 07:26:22 +0000 Received: from TYPPR06MB8206.apcprd06.prod.outlook.com ([fe80::e659:1ead:77cb:f6d3]) by TYPPR06MB8206.apcprd06.prod.outlook.com ([fe80::e659:1ead:77cb:f6d3%3]) with mapi id 15.20.9700.010; Wed, 11 Mar 2026 07:26:22 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=jiO/m6wt313HHMGKRfjie5EwXH/FRJfL9Mt6QVdJGA/fIL27xfGBoZmDoSCBWlJvvhCNY585qe0VQiZtHWoOI0OIebDGsuRjVxuIRBgqwHuqIj6vwOPNUV8msul3kUTbooku14UV2YgbI23UyqqsXFOctYLU3MevoQXh35/Jp3PEnUNDqs+IwBbYV/aj81lETLYzxVJ1Y3et+rbSgi0mlmv0ossvA4C1OFQPvbTC47f3HXC/5ZmC7BX2KGAhEPoSHX9gMs4WpqZyPew4q+H0o0lU85PClo6oxPEpXoCdlIkfdIPgBqdWuCHJ0xslrhxX3d7xI9LgTGiIi1Yq/xfQBA== 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=T6FY/tDF0ifIB3DvrNWxZVPFw+9/Lcgex2hiIADFYSI=; b=hrgxbP/Of79lDEbYXRdI6Rav1x8JvxXfE/T3vsJU3GFUXBSuQ/nuL1Z6zX6o5hjEMMo7vC6xQ7JWlSiKSA+lI9idL0iMmlXGKWtfEO/gJuIkNLCPWkPjgUKsPAYf+dQpF3iWriFM2dmGQ+22336HEGyVFZv8n07V63anaoQeqsLEu6X2TteCvMxFEww9/mQzDujVD4f9FoudMZIah9dzu7AvIJ5p7ecKZnOkPv/lhYX5JoBKdqHfE7OLII8Yq02xugz7989ChbNfWa/IXUfLhFDFR79xLOQpek0B3erJDCNmpQrg5TP6WO+6RTOyCMFMrfhKfWy2yQex/haHeZwOsg== 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=T6FY/tDF0ifIB3DvrNWxZVPFw+9/Lcgex2hiIADFYSI=; b=pXRjlYRSmPxqMBZMjDcI4N7vlVLlQlEu8v0jG5geQ1Ho6nk1dDuV+K5OwRaEtYz7sDgtTXSAZO5hfgc7IWBh9kbpW6n+OgUSEgUTgSsSQAOkF5qFF/hgFzi/a5+k+hZEVcgWQ3/T9NYe0mpYR83qWRm7dN6ETuo1wNdnbZ447ZDof0pxJzc7eX24UjcwUagT2PdlJfbPrejbgWUi1eVR2e9FE3vyyHvsGkz/FFpszyOHdndCb/UGfkJZ+DM+p1rNFZp2nQm2Ug5sfZGcv+vFA4hsRH8lvP6FKAlJuoK+Vp5xuu2eH/sgZ7pO3JXlwsPNv6jwJVScZjPzfaXvff90zg== From: Jamin Lin To: =?iso-8859-1?Q?C=E9dric_Le_Goater?= , Peter Maydell , Steven Lee , Troy Lee , Andrew Jeffery , Joel Stanley , "open list:ASPEED BMCs" , "open list:All patches CC here" CC: Jamin Lin , Troy Lee , Kane Chen , "flwu@google.com" , "nabihestefan@google.com" Subject: [PATCH v1 05/13] hw/usb/hcd-ehci: Add property to advertise 64-bit addressing capability Thread-Topic: [PATCH v1 05/13] hw/usb/hcd-ehci: Add property to advertise 64-bit addressing capability Thread-Index: AQHcsShcgT5EU12HfkqR/CpqCddQAA== Date: Wed, 11 Mar 2026 07:26:21 +0000 Message-ID: <20260311072614.1095587-6-jamin_lin@aspeedtech.com> References: <20260311072614.1095587-1-jamin_lin@aspeedtech.com> In-Reply-To: <20260311072614.1095587-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_|SE2PPFD6A65AC07:EE_ x-ms-office365-filtering-correlation-id: 070550ac-8fff-4b95-cf6d-08de7f3f7eca x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|1800799024|366016|376014|38070700021|56012099003|22082099003|18002099003; x-microsoft-antispam-message-info: spZaI4+Genl/mxQfhthN3YHFwKGzd0ZcSpCJVonUhzCWwgeHBriF4ngvNzzSLuMdvswOW3iPUQ9Z6wCvxMNaBVZ+yOLKyIHwmP0InGYT+OyPcmJM5uBCkcPdRYZ1ffwcDCyfzaquBFZQMh1w86pag0XeiP/dEDLv/XmmbN+FiVQb1+r+gvBq4U4yxGLkRElP6Tl0ya36J/HcicSpEG9XTwZT7ZRL7UygVK6AJRvgxgE6kKr3JnnBMedYsSmlvzAk6EUSgJafXqOxiouXxgkVup233Eg90AfBas9xfEjF/JRUienRGJEdUhjpEyA5Tf+piI1VoNfxX+wNXTrMPAOIWmE8eP95mIwiygzmWRjTBL57zAPz9xsDbq3d98i7ztn9GKxMzdTn4wAgxYraqI8lbT92oRJb0+VmMDmuQZQbPgyYV8cUr2306iQUyXFhmrMY9YvY3rVeyfFLtVN1VkRD5Czbw0aX0gTuXazF1PGMabdQ32HMuNrzad692JV5knWshCK27hd2wwRnrXQLdBITMp7QCEygPhDw0FYrMA1xdiKRs6FCs/SdM6/WeUcEU04uakCQrzK71LueLKhAYpkOfOUq5dtAFCS+rV1bDgnWWtTvj7ypfKXIwJ7S3HGCzJP8bnJnnPXRwQW1sKixYKADNFm8j1TD0P+p/H4FQtRUu5lyOJrAL9JCg68BjfNjpq/6F+faYfsYyt851vyQJ/ujRJEHf+uQWGrD6YFeps55ZaxE4i3WPjv/TSHezIRB1OSbGhimv2qK/tE8hiqHVifA9zWB+RobCI31yhLTI5krOlc= 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)(376014)(38070700021)(56012099003)(22082099003)(18002099003); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?BIS2E/uUJvRLAw5FlZkGH+P2PP1LqfnAvgcnm1FuO7O++OIyJe96IuPfCx?= =?iso-8859-1?Q?SUy2pKsdKfGym+V8FH7vsKu2grY3tFRTwKOo8/CS4BO7EtI49Ir5rqgwTl?= =?iso-8859-1?Q?NSEqwloN6WCAq0EEjlaNu+QOLJ3E9qGj8ovG2q88HnIuZ8dgpCE7e/atQG?= =?iso-8859-1?Q?vdwBG1j5+BaIFUcqSQCMwRzlEdxG4w2+Mgnz+JVqmu3rH6Rreb++Xm9jwU?= =?iso-8859-1?Q?2I/mdtz1cWC79/9Z18M7TRdL6LnHo8UCeKO7TUFcLhHI7TI2iMyKE+tN24?= =?iso-8859-1?Q?bG6kwVsVI6mmjDwZXwDEQ2mywywFl7mGHV4YoDhLubqHh5O6XKC/VMmGCA?= =?iso-8859-1?Q?EaxBzGcCxhtE+hbnayvfR6s2fsyTq5PIwh7c9kJ1DueAeIfKxOuMfKo0Qv?= =?iso-8859-1?Q?4ULypc/z4aQpclxjeZs2Qk1xqCdkbLsF+QWdJEGCBLk+0NvWoNNZKgV4cn?= =?iso-8859-1?Q?dNdvvc7rTQ4CCmMN3Piz7JriZWvgz0KWKAaywpTnmjZbL5QA4yZz2eDhQi?= =?iso-8859-1?Q?X275TU29auuNhSmLQV+Ishz0JsgdP1RVrYCoiPhQv1XobjgY+M3TY2ldfu?= =?iso-8859-1?Q?jOuF3zzC4SsaGRGKovRe/Cg2f3qfdOIQqbrkYjjU7YY1dLAVsnJa59Nu7C?= =?iso-8859-1?Q?OP16yROQJ0Ay0ps5nlQmXiOH7SF2NtE35q7qlhpG2uLUwa3yEVUPZtQuRJ?= =?iso-8859-1?Q?DOckGgABkSSS38Bt79wWfXgDZ0KigjlmM87zWQtqPrLDh4lMumAEoj3Lm1?= =?iso-8859-1?Q?q6/RA5/mxc2HP0/KIII2Y/i+A/N4qZBF8Ts09v0RCbkroMGrLhORecjAVm?= =?iso-8859-1?Q?y7woUb6pFLG33VQi+7ebe7sEYyma/2h7qN3ZzjB0yRHfvHMPSJW/OCOdNc?= =?iso-8859-1?Q?iecn7/BPhlqgoKZqX0kUqfkt0OmyjUIeYTpi3vgNtrBkFqfSLvBdwTAock?= =?iso-8859-1?Q?Uz2kfqMGjhDzpb+1cPkOw0KzSlxFdxhR2VEA/HpvTCBmsztjrbYVDq1W9z?= =?iso-8859-1?Q?z9XmjavJIY5z2xDdaaA56eBSCFHePQnw3RSOsBm+dHlsbQ9zNdwxvpJq8U?= =?iso-8859-1?Q?TaBnmZuID37gpjXCu1dPzFWNgaPVjv01fpISY23CXgXkF+zoWD93UneD8H?= =?iso-8859-1?Q?sfGhk8ADjCOUqfCraTq2jz6HWgK3cDvyK52D2OVOjy5V1st8n/DzLxPg1V?= =?iso-8859-1?Q?gAyewiQ/QxKEDHMO+1uCJ6vcEt7ld7Xj4Saftva/+arw1anLgBXvw0oPXe?= =?iso-8859-1?Q?hJOmUuPiG68ULP3Gf54H6Zw/shUPBI1KxikJoIoRkSMR0HDYzqnbNAuwD7?= =?iso-8859-1?Q?mAZusE26fjtRgHoexwsrWqUqUnQf3LfGeQsbCb8bsCCudkjCX+TDjR4ZZO?= =?iso-8859-1?Q?5rFqtmvriu3FCTA7dDN6P5zv3ZtlLk8UmC0Diw9FbsDmjJgdIKAAx8DS1s?= =?iso-8859-1?Q?A47LDWBErFRFeFdNpRTx+CsDpDt0wINKrhW6aPSY5m4MFhtqo060o34Bm4?= =?iso-8859-1?Q?yxNnww0DLTdk7HepN9JRFhBpjsyRaAaOUPYX8NxKSNez8yNZO9qxPqUFgg?= =?iso-8859-1?Q?qAWGhO1sDBCCQsYlkYR6c/UbBe82NLaFx8R+xrw07XtHG5haGAcr11a9K6?= =?iso-8859-1?Q?+GMNsHvdiSxeeibFlBWbKvHYS3ehwFiQsTNluNlUjz+CNb1fvtKSjyEBEA?= =?iso-8859-1?Q?uXlfPqVJszSutUQuXJ33BUJGTx3t6Jm99+8x8OIXjyYZELuM9Y0vkcpsDt?= =?iso-8859-1?Q?z7Vk2ZO6s8ov5fQEgwQQn+e/SExP0YXB5QhGayJKoQAaklXLgFF1+Tm3WZ?= =?iso-8859-1?Q?VBTOgI1q5g=3D=3D?= Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Exchange-RoutingPolicyChecked: sC3WBCSFIf7yrtd77jHamdiHQ392s4DNebCkuomkEwzTMdRT3O46iAoLMKlu2yj2VAJP/Ktr/ju32jxkoqBcHl4ESOvm1OCih2sTd7nhbsMmPX9RrW8CV5OBmfJkepuJujdDcYG0wi+3Xvs5scmnOH0GLEiGJnkqsdENlu/B6mSU0eZBZT31hCVi7k+C7w37k/bQs8XP5bcPJcZ1D7E/ZZ1/0L+65HoQ6AfLDllhi6wDalpp3fOWmaPz3mWOjP+2VpqbOPocEeLTilIt6z2FCc/UosvBW4wQ6/c8GVur7Jt7o6uaauqR612jn+rqzIWMtZMlZX8Q0nWTW11ffHcvjw== 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: 070550ac-8fff-4b95-cf6d-08de7f3f7eca X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Mar 2026 07:26:21.9610 (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: HGX/qbwDLjikVuQiRThPgV5KTEh9L4Mvi2ynX2VQTdnulTVOkB7RHvg25udRE6oKgMDjCJEIBbMqOmuZWhN4j7KPZAUsy5gOYJXPBt4KEQc= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SE2PPFD6A65AC07 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a01:111:f403: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: 1773214138965158501 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. Signed-off-by: Jamin Lin --- hw/usb/hcd-ehci.h | 1 + hw/usb/hcd-ehci-pci.c | 2 ++ hw/usb/hcd-ehci-sysbus.c | 2 ++ hw/usb/hcd-ehci.c | 5 ++++- 4 files changed, 9 insertions(+), 1 deletion(-) diff --git a/hw/usb/hcd-ehci.h b/hw/usb/hcd-ehci.h index df87f8145f..7dc6d151cc 100644 --- a/hw/usb/hcd-ehci.h +++ b/hw/usb/hcd-ehci.h @@ -274,6 +274,7 @@ struct EHCIState { =20 /* properties */ uint32_t maxframes; + bool caps_64bit_addr; =20 /* * EHCI spec version 1.0 Section 2.3 diff --git a/hw/usb/hcd-ehci-pci.c b/hw/usb/hcd-ehci-pci.c index 9febcc1031..2ea8549db9 100644 --- a/hw/usb/hcd-ehci-pci.c +++ b/hw/usb/hcd-ehci-pci.c @@ -137,6 +137,8 @@ static void usb_ehci_pci_write_config(PCIDevice *dev, u= int32_t addr, =20 static const Property ehci_pci_properties[] =3D { DEFINE_PROP_UINT32("maxframes", EHCIPCIState, ehci.maxframes, 128), + DEFINE_PROP_BOOL("caps-64bit-addr", EHCIPCIState, ehci.caps_64bit_addr, + false), }; =20 static const VMStateDescription vmstate_ehci_pci =3D { diff --git a/hw/usb/hcd-ehci-sysbus.c b/hw/usb/hcd-ehci-sysbus.c index b31032bbf3..61215e9f3d 100644 --- a/hw/usb/hcd-ehci-sysbus.c +++ b/hw/usb/hcd-ehci-sysbus.c @@ -34,6 +34,8 @@ static const Property ehci_sysbus_properties[] =3D { DEFINE_PROP_UINT32("maxframes", EHCISysBusState, ehci.maxframes, 128), DEFINE_PROP_BOOL("companion-enable", EHCISysBusState, ehci.companion_e= nable, false), + DEFINE_PROP_BOOL("caps-64bit-addr", EHCISysBusState, ehci.caps_64bit_a= ddr, + false), }; =20 static void usb_ehci_sysbus_realize(DeviceState *dev, Error **errp) diff --git a/hw/usb/hcd-ehci.c b/hw/usb/hcd-ehci.c index 87c3991313..9e82328116 100644 --- a/hw/usb/hcd-ehci.c +++ b/hw/usb/hcd-ehci.c @@ -2538,6 +2538,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); @@ -2597,7 +2600,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 Sat Apr 11 19:55:06 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=1773214173; cv=pass; d=zohomail.com; s=zohoarc; b=H9E97KKrhSzll5/RtLTrLxmWkC1N0akcbCH69upYee4n7zcDH3LV04ql7rA+9VTzidpEx21NzTrRDGoqp00LuRjpiue8Ym82jyGB/Ya+UVPRrB9KKupxlR4q1Z1BE/9VPuCnHY6LXjCZf6A4n7Fp52A3VnGs3pdNPjsXy7hH2xo= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1773214173; 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=3T8dQZVeqJq8bNvWUIg7p0P56UwNUWcekj8ijYJlSCg=; b=Ouy5vy7kiRuIoDCe2aPj3piMJGEhlBfoWJMO1prVpxpCRGmSg0ccvmTatv29JzcqXglCfPJpLlNkzanKG8PEQEisdSkK9SROiUJxRkmlq7v38Bk5rLxx5ku15cle1cwdbqjn9JEDVEqPnGbAd/FPO89oVkCm3CD2xb2REdo+2js= 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 lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1773214173393842.3976900765426; Wed, 11 Mar 2026 00:29:33 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1w0Dyo-0003pB-Gp; Wed, 11 Mar 2026 03:27:42 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1w0Dxv-00032n-9e; Wed, 11 Mar 2026 03:26:52 -0400 Received: from mail-koreacentralazlp170130006.outbound.protection.outlook.com ([2a01:111:f403:c40f::6] helo=SEYPR02CU001.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 1w0Dxn-00052x-E8; Wed, 11 Mar 2026 03:26:41 -0400 Received: from TYPPR06MB8206.apcprd06.prod.outlook.com (2603:1096:405:383::19) by SE2PPFD6A65AC07.apcprd06.prod.outlook.com (2603:1096:108:1::7ee) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9678.20; Wed, 11 Mar 2026 07:26:23 +0000 Received: from TYPPR06MB8206.apcprd06.prod.outlook.com ([fe80::e659:1ead:77cb:f6d3]) by TYPPR06MB8206.apcprd06.prod.outlook.com ([fe80::e659:1ead:77cb:f6d3%3]) with mapi id 15.20.9700.010; Wed, 11 Mar 2026 07:26:23 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=spLHKhDYY15er+9QPq7PkKHMpdvc/+LtSd1HT7nLwLuNt/89eIDbtPr165VdLE6imAqhVlI7dRdsDY0TeZkCHUBFzaNjIOMsuamYmx7lBjVW6JsAYgBNAmSnop3oaCrCdIFda7LeRu4CaZd4byG8ed5YlHsxxbVrEVIzzyjSgkrl3A5HkIzbk4hQcIA+HVXBLz72lIh04wIcNeWcL87rrfiBl0TM1DqNdEl7IIFDrqkBzmvwhQzpK/o/WiI9SyiJ4CusCClLBSfRhJs/Aas1TvF9howx0PzwXBkMombeOK7o+U+KEjqQvQv/2lL5riMKyYLTgLJIgFRPwBUfN0TkKw== 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=3T8dQZVeqJq8bNvWUIg7p0P56UwNUWcekj8ijYJlSCg=; b=B6r0OqkOfo8L37gUI2zufTd3T1RxFqVLN2+Qe6UuyNGb/k/+v7CbJr6SWDET5TByMxljSoVDDXVZDtPH2qQsMAqy8NdnxN/j2+aBFM4XI3ERp+0X0MRy3TJwtjc3PGwQnrrfNbdWg1f1rN909YXqlsd4q/2Tc5YkWMONwk/nYC4De94ZYZZwZxRMbMiScXM07f9NQC9r553qBiQP+mGGLvGa07KxPOxd5UQ/DViV4zrgl/jZBTE5lu3XVnBV7b04aH91jXZ4cP18jUfuN1Mzph/2h1TXWkkBKYNWTiFdC+wxQ300L7csoE0KmGHt+hH9bUV9am6bGGwutXceh2q+tA== 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=3T8dQZVeqJq8bNvWUIg7p0P56UwNUWcekj8ijYJlSCg=; b=hpgMMQM7z4+AhSBhSvW+4h/o+lS/f5LjAu4xiQIo/UJL2927UHOKIRCJ5TlQvszf5RpGOhm1j1aMMijl/CPmh94UBWC42oQCu+jKHIGtywGFav/y7Pr9HnQ7AmREERjpU/TuFV39/8p6Fnuk3A/NA7HvanFocTr2qLtps2MVF4mlGy9iZWhRAtpv9gbiVYVYBIs3i3VZyH0PzXeJBrSef1gd4E3BTpFoRF77fpFLLhgm5sbFnpPWOo3XvT8zELrKr0YGueuny+ifqKdWhRitxiLmkzpb9mLdq+dZnPeV/gGt/7VyvAqEO5ms3ca+QwfaL5EAP4JECEm1nKyEzx/FSg== From: Jamin Lin To: =?iso-8859-1?Q?C=E9dric_Le_Goater?= , Peter Maydell , Steven Lee , Troy Lee , Andrew Jeffery , Joel Stanley , "open list:ASPEED BMCs" , "open list:All patches CC here" CC: Jamin Lin , Troy Lee , Kane Chen , "flwu@google.com" , "nabihestefan@google.com" Subject: [PATCH v1 06/13] hw/usb/hcd-ehci: Reject CTRLDSSEGMENT writes without 64-bit capability Thread-Topic: [PATCH v1 06/13] hw/usb/hcd-ehci: Reject CTRLDSSEGMENT writes without 64-bit capability Thread-Index: AQHcsShdLGpD8fDkyk64iqNp0KDcww== Date: Wed, 11 Mar 2026 07:26:23 +0000 Message-ID: <20260311072614.1095587-7-jamin_lin@aspeedtech.com> References: <20260311072614.1095587-1-jamin_lin@aspeedtech.com> In-Reply-To: <20260311072614.1095587-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_|SE2PPFD6A65AC07:EE_ x-ms-office365-filtering-correlation-id: d163c555-be17-457a-e691-08de7f3f7f8b x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|1800799024|366016|376014|38070700021|56012099003|22082099003|18002099003; x-microsoft-antispam-message-info: 4SiwgsuB9z0W9t4lK7JRfMsW2KRgbCfUHAAzdOwdo43CH2vq64YZy10hKyMz5FzAdIb+ZPoruLzk0USH4A8w+7CgyxSESuZsTs1fq2VtLbTLW0PkU6sz2N/XwWS8lW1WdrmcUqaFC72JRETr4PtpjGn95tWUBdfRhwu4b6RRDu30at3Q1XnU+q12rmOgaJzZiiBGwkB05pMKcL2lcAPHZSvvCJDdLnZs53D02HJISsGkdl8rBf7bjw3HnyK9WNE5MI9ape5epCLzb3xE4WVJvf9DXZ6Yf+Vfd8eb8R+IPHv0Uh4N7+xmGx6joz01UPBDvk09DK9vBHshd9ZMhS8vBUQ+SpCkQ8PTG8V1YLHLLLFoWDSQRuATHfpEVqIZqfIGTVSCWOWdKsr56bdr1mnpk5utmXicglfGxV234Sz+69/54EsQKikrfZq6K0ZWTHkfi792Zc6Z/9/WY8KXQtLvE+wcBlIC0PitP+Vd+x7IcawN7rJ/OsqkEVyvT409ZmC0ggCj5V7iIulS3ddks6vWL97SGuDK0Wzpb1jkwgKJSAc0ReVbZXMSoSa46GWKLBVTva34Arx7FnqjPB9HBMK4WwO96bfuL8iG31bEKv6SVM1FE7UlR6wsB3K4WmAROa/lRmzypjrps7vSw7hYyT9jlAX2gB8Yr9QX21QNvZbRHFBlGYgd0BN8Tx3Vlfbd2JUubpMaRuvkX/NyQ/ZD1yXeMrSRAurGPi7zf1QZDUU5ffbrVTcX/QtNOmn0Gnh0Adzy69mzJsuIum02foGZr+RoPb53OosrlqGMlp9/bC5J1yM= 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)(376014)(38070700021)(56012099003)(22082099003)(18002099003); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?z0oclt68KK4eKPjSUbM2U3TKDFbGfGxl9EodSPhBRq3dJ0CO3N63X2n1Sh?= =?iso-8859-1?Q?0IOFq8gZ7zRgBI8cKNzzjWAZuUIeZc5vh4DKm7kT1jzJYfkuw1kpbxzxvd?= =?iso-8859-1?Q?625QSfah9nIB8vSfjWgml809va+QmwO1CslaF7eDVLwxSk6vKha4FOy4bF?= =?iso-8859-1?Q?mwOkulCubk7NGn154UfKMS8Zqf5P13HMgZL6c+346N14xHqOulIksGNi9Q?= =?iso-8859-1?Q?LEMz2XRBjALmw4FygKpEITGEHyYUiMU4h6BHMO8/wzUlyJFj2n5xPugg6v?= =?iso-8859-1?Q?AyAdMb30cePCYnY9sSqWJeQTtm5KSjcDGKGljACFGIqInoEQnP+KfJWgNF?= =?iso-8859-1?Q?qmyEjiYg5F0mKmO+55dnpTXvteeONAEyiRUQonCd7OUfqgbLGTWrMo+SS7?= =?iso-8859-1?Q?9hpoaydRBEMCdxrzWzJQslQD0rDxHz5BLTTczLdQzrxXFVYses+02uhu56?= =?iso-8859-1?Q?kqLT80qcelsJweHZGCiVYj/wO4hane1rVruUW8GhPjVCGg+pRsiefJiG0+?= =?iso-8859-1?Q?+DjyQXyphvtivITeJujZ3r9HUiXor/lpMBM7Sg6w76XP2CsfbCBwcMKxNS?= =?iso-8859-1?Q?WhV7cmrBjSzCFyfG4wZb/LAt3aw/M+TVX38QjI2QnOI3631McICjFecCNB?= =?iso-8859-1?Q?7QuMtjpPNlrxe0wXpB10yH1kl+6DXkXLjj9CpGWYIoWc1EQ30n4VjF+eSP?= =?iso-8859-1?Q?RgFo61dSpFlM7kjPrQnnjQVi1vQbLPNJZUoDmoH/ojPsQ/2uyT2vyZWyqN?= =?iso-8859-1?Q?GsdeIKX9vAJOcCM1PhJDT7a+Kx9oRxPenb/pSZoJVw1A0VsBjQJc/WaCHx?= =?iso-8859-1?Q?gcjcZ1SgfdNMt4j0YcizCs+kxifxEcmoFENTDIrF3gS6IyG3h4XtYc0OBr?= =?iso-8859-1?Q?stnuSAZgjSu8qBFHOMniK/Dm33exk7UosjwwAvltGAJcgUZOGGf9E9bezd?= =?iso-8859-1?Q?SZdUvNXJYxUKgF9YcVE86tJT7dqXji6H9GxFPjBTywfNaUYgkJ07yXyW59?= =?iso-8859-1?Q?nbG6uvpvjvd5byf2zOqrctAj7PzbjN8R9hYZNVtAfVm+wJin14LMVjDXwg?= =?iso-8859-1?Q?1YefAvaidFJUE4pplaYWwHl3IS4ErDOOMQqIOBWOQhONbdagiNiMAfsM9l?= =?iso-8859-1?Q?ONhICN/yfdQB0ghvZqjqCI7bzJwkhhFvXb4av8qarhBKU8OuGKFZ9Xtptr?= =?iso-8859-1?Q?IuCWzix83xSiImUZlG9kmQA3SsJLyo6zkvVPpUpqGwqkgwdJ1rzC0KaNtH?= =?iso-8859-1?Q?XUEaHgsJx6RnueWr2lQ3pnqlLySan5z2mMu3aTLfqU6yB3ZbEOFrebnsnR?= =?iso-8859-1?Q?gm1RF9ndL/1HTHfbErx4Yni7wNhULbwk754yvqVK7Bik4z7sNAOXXyyHWX?= =?iso-8859-1?Q?DoZKLCzMGHEbacAAmi+KrMJXy9uyiBtY4VJXwhQ2AA+gTQssy77Pnz+yuR?= =?iso-8859-1?Q?SaG7IbngwnIMER3G3fs7+kq6mOZajs+FZGKAE/W4OsZWfVQrNisXgQWnqP?= =?iso-8859-1?Q?KNL13amnvyDCuIHsf10cbIMC6QP4wtRffcitwKjQI1XZbXPhtZEbRe0w1N?= =?iso-8859-1?Q?Av79pJC/W0CxsvesyXtnoo0AXbmoS39ud3oeQs3Ps8iU78gIzNCxas7TXZ?= =?iso-8859-1?Q?EF21fxpkC7XkAREoAvA6C9KN3+WA9Lv7hF+Ag9VJyRgNL0SF/iflTGcnm+?= =?iso-8859-1?Q?3TwJkeHht6PdRq5uReG2qR5foR8c/k27S4i9IK9m898Kv0tWW00LQuitTB?= =?iso-8859-1?Q?qZNcMCt0Lyt4bmX+1LZAsK0uGClXww3o/1m0Hvsj2HVNGUR4TdDgS1fKLE?= =?iso-8859-1?Q?ll5bvO1d8Q=3D=3D?= Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Exchange-RoutingPolicyChecked: sD3PA0YX/cRF3K+MJbMA7+x0Cr1B11AIIGagS/cfsCeS1mM3wdZYhNP8PR4DjJ3+gYSHAgROOKFfRvk9f2Ma4QsRPRVo51ybVmD2ed9kAzYS1FNa4O00eVtyDp4As151+jYN4iIRtV45tTuMZuKZDqjfQmovQyACsT14g++jECbT7oE7egb3wBx+oqB6Ovsw+9gJhpdG3hDINeIUdmIBlg8kwGRzNqkcQd7YuzuPyFADY8Ja0wzGTgM0YFldiD9f2fqntV4Sd3s05krT6nDowgfGpaErxP7figDAk5L5BUMeCYTVqfv6NjfjyM0N+O7cwso54Fe5hXd1ZsnBrakKlw== 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: d163c555-be17-457a-e691-08de7f3f7f8b X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Mar 2026 07:26:23.1876 (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: Hp8XcejbXhA6UL96BqUNMgfNvqLpFvY7pmV8e6gTf+MuQALK+w8xODIQomD0l/HRYyqzh5ThpUkYfiP2ajb1njQ3zZgFzKK8HKait0IfJN8= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SE2PPFD6A65AC07 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a01:111:f403:c40f::6; envelope-from=jamin_lin@aspeedtech.com; helo=SEYPR02CU001.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: 1773214175773154100 Content-Type: text/plain; charset="utf-8" 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 --- hw/usb/hcd-ehci.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/hw/usb/hcd-ehci.c b/hw/usb/hcd-ehci.c index 9e82328116..d7a0917caf 100644 --- a/hw/usb/hcd-ehci.c +++ b/hw/usb/hcd-ehci.c @@ -1106,7 +1106,14 @@ static void ehci_opreg_write(void *ptr, hwaddr addr, " is enabled and HC is enabled\n"); } break; - + case CTRLDSSEGMENT: + if (!s->caps_64bit_addr) { + fprintf(stderr, + "ehci: write to CTRLDSSEGMENT while " + "64-bit addressing capability is disabled\n"); + return; + } + break; case ASYNCLISTADDR: if (ehci_async_enabled(s)) { fprintf(stderr, --=20 2.43.0 From nobody Sat Apr 11 19:55:06 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=1773214197; cv=pass; d=zohomail.com; s=zohoarc; b=VX/cMtc72FgWQOYk9z97KroTO022Q3NWDUBhqRswJIz8G0w8SWjEfhHdxYWxp4p1mKP5QAFMJkO04gFiZ7nC2xhj4xDvaTzL/MiK8JLbUDPlCr63ROIybJPVil7o9wBV+lWfUmE1d0SHJ7CuUVYImUbwItkMYP3P4GfJ3jPvwEc= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1773214197; 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=fJBCA5XwgfK4rDNiNu9bZxoB9aW6F7TGCk+QpvErKjI=; b=cTvtgjhWQjYOM2zuUm1XoLxVVTOSt0w4i8N59mcanslUzQRDKYm6iPrK4I/4N58GJi+NTQCcZv3S55oLODTgIyCtZ1ncEBakUS2VDBmGlCnlUmqmCet62KvmzfbGbwQ4IXSeC7PVaDYD8hOYTKJTgNbrsH07VCo5liJcTiyxo9M= 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 lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 177321419792877.20953011045378; Wed, 11 Mar 2026 00:29:57 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1w0Dyq-0003xH-0Y; Wed, 11 Mar 2026 03:27:44 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1w0Dxy-00033z-8z; Wed, 11 Mar 2026 03:26:54 -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 1w0Dxv-00052E-QR; Wed, 11 Mar 2026 03:26:49 -0400 Received: from TYPPR06MB8206.apcprd06.prod.outlook.com (2603:1096:405:383::19) by SE2PPFD6A65AC07.apcprd06.prod.outlook.com (2603:1096:108:1::7ee) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9678.20; Wed, 11 Mar 2026 07:26:24 +0000 Received: from TYPPR06MB8206.apcprd06.prod.outlook.com ([fe80::e659:1ead:77cb:f6d3]) by TYPPR06MB8206.apcprd06.prod.outlook.com ([fe80::e659:1ead:77cb:f6d3%3]) with mapi id 15.20.9700.010; Wed, 11 Mar 2026 07:26:24 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=IfGBSjOE35ENfzGwjUSZ/Dq5e4UdhgcmP/t7QuDIyszKaQhoWcbWPgXc33dZ/zt9oY8hyejzYFHokNe4+Uwx3Yix8qSk8UtDdAy4Gx/vt7C4uQfRonlKiJ0Qs1JYnMna4E8eDvi5rKHe8iLcDWxmKsqjeeGfAllVHWULWdU+kyysOWPW3zUzV0NZyXA/c2iwyHN1x1gOgdG3jpNAw4tCpButSSSU/pYgu/UDn6zy5Dfd5qCBPls3Cm6iO1kLfRdrYARRmY8TS8pAudPC1ArUeIFOk3P+5cz3WE4iFalkdkIhXkpSAI4MHokJ5PAFZr4PFvBTJj2NmN27PMKZ5a4iyg== 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=fJBCA5XwgfK4rDNiNu9bZxoB9aW6F7TGCk+QpvErKjI=; b=boeyCQObRM8hu8bTJ0WMJN6m0hWZFa1haVUNPMwpL8MZc7P1YU3+2tEf2/eI0hi8dajfMjN8Kcg2nHosqpYg0xxCzraMI7XWtIZtJUivXq4iZCHNXLf688pspYk5iLc3vUtJJ//A4qVoFdGOotZIPkHL5LLfxOPUdDgrVlZvyjltm6syVOGHiKMBLFTlvUEw0wp7WRdRtLnPYOxY2xsqLl0vHcRK7PDBJBt9aX9ANUZzA8U1usIfv5vlEO2X0IrAxdDWMKOj7Sjv1jgtrENnuqWVl7Rb5tWHHCbs8L2H0LnsQC9+6IedS+FtWuXB0N0hqmyJ2QgqW6X4d441yNT2FQ== 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=fJBCA5XwgfK4rDNiNu9bZxoB9aW6F7TGCk+QpvErKjI=; b=JY2h882U6BSXJjtjL997DONe+I/NVHlQNZNUVcoJ0n1+XszFfNOmBALXtijnU4Y0rtm+jAf9q6Qjbnsmr2tZCc8UsOLfzHnADvbrMxxcEAjr7q5pi7mj2PmmUl3rMoXRs0OCT6LAxn/iTTar+fv3U8Zglu/8RHONgAGLs9lO4TsxZ/NWGEflfRzYuBGJ+d0lL3ai9SbWErQzcGvl78XPLrVxwA2hLl7gJ66TcrEby1Xw7tiUvVm52L+QWVR/ZEIlPb4f+hy7ysFtYZUi19Slr9zGgpT7HYb78XcprIz+s7+7B7x6EcA9obzEqVlZQR0YaowzrzXBLhzJCF5WZGWpPA== From: Jamin Lin To: =?iso-8859-1?Q?C=E9dric_Le_Goater?= , Peter Maydell , Steven Lee , Troy Lee , Andrew Jeffery , Joel Stanley , "open list:ASPEED BMCs" , "open list:All patches CC here" CC: Jamin Lin , Troy Lee , Kane Chen , "flwu@google.com" , "nabihestefan@google.com" Subject: [PATCH v1 07/13] hw/usb/hcd-ehci: Implement 64-bit QH descriptor addressing Thread-Topic: [PATCH v1 07/13] hw/usb/hcd-ehci: Implement 64-bit QH descriptor addressing Thread-Index: AQHcsShdtlTDceAZ10KDqmxaDHilIQ== Date: Wed, 11 Mar 2026 07:26:24 +0000 Message-ID: <20260311072614.1095587-8-jamin_lin@aspeedtech.com> References: <20260311072614.1095587-1-jamin_lin@aspeedtech.com> In-Reply-To: <20260311072614.1095587-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_|SE2PPFD6A65AC07:EE_ x-ms-office365-filtering-correlation-id: de64abc3-e6fd-422b-bf1c-08de7f3f8039 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|1800799024|366016|376014|38070700021|7142099003|56012099003|22082099003|18002099003; x-microsoft-antispam-message-info: Im2axwB7v3Ix8SCYM3GIZLS5r8l39MJZwoBPVOKt5Bl5hntXBYCWr3x5Az8OGdqN+4ORbOnu6BPYT9oL6hdsZJyT4VHOh56vK+Tu5N+ROC9Vctsrf4pxfu4bnIe6AGHwiZ1sfWwuIVx3rJqrB57BelvaI+kEyvQtNgKii9YEHvXIsNUJgzBfHoBieTfPKVoTthaLRmwzK5AYKref9cGXjga8ewfI5wBiHdA6HlWZcoL3cAyLlLUh7vB4blJ10+j5C11I0DhFFhT5uDFm64rHdypZPvIAPtimQWanWh7d11x8BKWYrXDPyOrMF2mzerDZvXiru0xCf6zZ9xnVNtJBB1t1o9HX/AR3ZAtxYT1MPOdbOn/auwSM4sZI3as35INjCDksucd4j5PBR4DyYLOYZ9gMU31oIqiqK5QRgpxtn97LBn898JgxxT29YVYf5/4758kS3PWTzr2oeVdTywY+/n1UYIWQYhJgH7ZvR5iBtJxZvuGUlrr7NQN8xgSOxaiKFF43NdX7vdndTeRvvm3mS6I+mbGy48cdDMqLjaZ7VxQFtucSrhKENfoumd4jjCrFxbY7B7sEuOCsYgAf5J41l/DHpUHe5lFi6kKVs7DBc6/wm7mY82QXFHJAZRmQ898vYlztqnIZ/cKbw5zKSs38BRB1PEqgkyGDaFu5TH92HbJYRSEsBK3QkeBUwCxZ5NxBNN1902p6OLj3Ej06kP9sx3CIm3ZOLjmVmgyrZxwLCc/htxFfOtgBZ+5PMyGrMm1kFkI2or1RcKzmIwar1ytCl2Jl1NQpVeYv7NB02o42EFw= 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)(376014)(38070700021)(7142099003)(56012099003)(22082099003)(18002099003); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?Syrypo/XNqT67Ial6GQlOuz9vSOA/gnHUquxf0nk7nwMHumT9gceQrrVF9?= =?iso-8859-1?Q?9QC0fRj6cwI7Ffxn5+SdBViyi9MarH6rJeMoJpnL0VQEPRRSu9WZT8qlbc?= =?iso-8859-1?Q?WcUrgs3768aUiFBM1gt19UG1gghU8MesomvJ+GN5+MhcIrPD0AC9rUXP2e?= =?iso-8859-1?Q?6HJLCQWOAmpoJMYVgzLM4YAQl5AT3dTG0R2tosWUNGrAbculSuH8uFEwdW?= =?iso-8859-1?Q?nfQnu54wWdu6Hxl5MGIewmmUd9eUnMQrG/jxWru1/LCs4gf15UO/Am7CiE?= =?iso-8859-1?Q?PNX7TaMLLevJv8/wWdduiMvkR5YWZoRztMPlHN9eNO1nTK/fwOiokC/uuS?= =?iso-8859-1?Q?op5fE2xuODY87sLtb2u6ItNSLLPCI+EA7uQHbE37/IPK50BdKlwTDpZGLs?= =?iso-8859-1?Q?LS5zNRaFZfi+Ct+mjMGduB0p1ioYtOypBsHE2C2gCwdWIdwYoP9wj8M0/B?= =?iso-8859-1?Q?wODJgcjy8EnJIOs1gIdzgAP7rQNorK5ClEFfyd/Kex1T6A4HIiwZXxjpYE?= =?iso-8859-1?Q?Y3NOo/SOOGCYNmSnopSO/A5EAJSPSEAHtYtrWsto9SGMhxULSt5Spl64Qk?= =?iso-8859-1?Q?bbJ8h1HU3GhPpKopEC9guad+XYmpR+zo8w0EdAdNNFZGJeyec/UV74+Q7F?= =?iso-8859-1?Q?wq/t+CXSMld1y1G2DRim+GulKWYmxbFKUR9rSdcFBfyI3+ADAt0jqOaAxl?= =?iso-8859-1?Q?3ZCQDx5ODCQTe2Z2HbB/oSioG2iOwyFIUhzZ8u5x0+cZW+JB2Tabm0rZjr?= =?iso-8859-1?Q?jk7BQ0fQw1InHvTH2sicQWJ4v6hsbP/pDgYb3LqUav1bWDfKU17gzimzME?= =?iso-8859-1?Q?i6xmOHtAK5aanLRtoyyllvDC3A06ng4+KgAb1ziRAEAl1Mgh8+uMYKETuA?= =?iso-8859-1?Q?mPdsAIEFnn5Hau54oRNVk85KKZ5Pq3y8468aLy7+fMs57DnclWFUhJnDkN?= =?iso-8859-1?Q?U24b3Bf/86a/lTbqlS7G4eTPh8N/flQPjTu54BoxXmh25luWI4m2uxdqEa?= =?iso-8859-1?Q?lWMh7SWZT62RjLemfDJr30st2emgcsiv7nYJiiFGnwgvG/fmpZccBZj/4i?= =?iso-8859-1?Q?Z3EHSQ+2S0VbLjnh1VsYwc1zpdlMWho/U42nQd+lNhRlfOQRtJ9qMKjfmR?= =?iso-8859-1?Q?leamoVXr+x8pTO5HmK2BC7/Xc0zUcTmR9n297O+1mgA/NI/D1TK3gtUZei?= =?iso-8859-1?Q?yPZ7ayyScWKmSNLzNhQucezX7VMCa4eRZKCinaz9phX3oMuwNiQrHJhKij?= =?iso-8859-1?Q?Bk3dmJKgOWrQU3Wm8Bh+iP7HFUtp5kusfxxOxUp/O2kM1o5NR2sS5EUO8y?= =?iso-8859-1?Q?F472YoprfyWpa4jnVbiFWsKsvqDyjGQ1KUddwKqg+wPlr4VvHVkDaXA7Ol?= =?iso-8859-1?Q?wnpK/6W48Uy2crf/MT+ZesQdfHLztfRLfwns8vrQGyWCR9CgbtizaWJECM?= =?iso-8859-1?Q?a7ArXuRApujSHKCPuDz9RNpclM1+HOnQzwHwEXCgBE3tOCChEc2CP5tOnf?= =?iso-8859-1?Q?YJRPKrtr7IGuGOI4WTXbwOJN9SScdHkHHZWKqnGZO5wpdgxgvMefC/XXZZ?= =?iso-8859-1?Q?2m6tAoiXz7GWCT4NU4Vt1b9juoDkul/TVxy3Vyb++TbzuTnsziLUe1C9t3?= =?iso-8859-1?Q?sYSDywlzZGwMEpnSanoh7+kBm+mgTjvgTXml+S5F0MHX0s6p2dPnF3hhaU?= =?iso-8859-1?Q?GQw7E+XL8kOYAMw+zN4rIv3MJc4XqhtVc+invKt7uiI1APogUjEIKODMb7?= =?iso-8859-1?Q?R6CkJ1aORNmsVgVsCssf2VQeLK+CJyKY49Gc+ZCosOgDsBAURaAHkv3nKL?= =?iso-8859-1?Q?VfzacN8qKw=3D=3D?= Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Exchange-RoutingPolicyChecked: ca30z3JRpuPqplGJ9rQV+mRB+wcbWNuCdcGVPobZj6G7jvHHzS+2x9wSSJCLZfaGjyShwJfjvUrkbxLtLRVwzyp/MlxdcShB1imvOZvLsjiNv1CQteinwa2flix4zekApOb/IIHDDNuPUU4pH5yksPXR/C/BitJb/tGUk+zOWaYQPB72jGC3EpVYUKXQcXTSGzjlDJw9QMAmyrShTqnSvj4u4633EmlesrX3FR1iO6HiudlfGup+s6M8oEeUs8VigHUf9RrpNg4+3d2kxecsDwcfsxY5oEYRgHYEguoChOHEmHcaAVb9ru4Mln/FJxJN47z/08YQdOBAGaYd8BeccA== 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: de64abc3-e6fd-422b-bf1c-08de7f3f8039 X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Mar 2026 07:26:24.4011 (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: Af20WYfx+VyCbdkk1dKuSV6Xk/he3KY2sCVUVFcPVhrBEDn7Jnm57+d1oHBal5OKx6XGnoTUogfRCFIfHMqnlumRFZK3QfC4XuHqRfvLU0M= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SE2PPFD6A65AC07 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a01:111:f403: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: 1773214199496158501 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. 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. Signed-off-by: Jamin Lin --- hw/usb/hcd-ehci.h | 1 + hw/usb/hcd-ehci.c | 45 ++++++++++++++++++++++++++++++++------------- 2 files changed, 33 insertions(+), 13 deletions(-) diff --git a/hw/usb/hcd-ehci.h b/hw/usb/hcd-ehci.h index 7dc6d151cc..f18150c352 100644 --- a/hw/usb/hcd-ehci.h +++ b/hw/usb/hcd-ehci.h @@ -204,6 +204,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 /* diff --git a/hw/usb/hcd-ehci.c b/hw/usb/hcd-ehci.c index d7a0917caf..8fd3fd60c4 100644 --- a/hw/usb/hcd-ehci.c +++ b/hw/usb/hcd-ehci.c @@ -146,6 +146,18 @@ static const char *addr2str(hwaddr addr) return nr2str(ehci_mmio_names, ARRAY_SIZE(ehci_mmio_names), addr); } =20 +static uint64_t ehci_get_desc_addr(EHCIState *s, uint32_t low) +{ + uint64_t addr; + + addr =3D (uint64_t)low; + if (s->caps_64bit_addr) { + addr |=3D (uint64_t)s->ctrldssegment << 32; + } + + return addr; +} + static void ehci_trace_usbsts(uint32_t mask, int state) { /* interrupts */ @@ -438,8 +450,9 @@ static bool ehci_verify_qh(EHCIQueue *q, EHCIqh *qh) (endp !=3D get_field(q->qh.epchar, QH_EPCHAR_EP)) || (qh->current_qtd !=3D q->qh.current_qtd) || (q->async && qh->next_qtd !=3D q->qh.next_qtd) || + /* 1 altnext_qtd + 1 token + 5 bufptr + 5 bufptr_hi */ (memcmp(&qh->altnext_qtd, &q->qh.altnext_qtd, - 7 * sizeof(uint32_t)) !=3D 0) || + 12 * sizeof(uint32_t)) !=3D 0) || (q->dev !=3D NULL && q->dev->addr !=3D devaddr)) { return false; } else { @@ -1534,7 +1547,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) { @@ -1562,8 +1577,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; } } @@ -1688,7 +1703,7 @@ static EHCIQueue *ehci_state_fetchqh(EHCIState *ehci,= int async) } =20 #if EHCI_DEBUG - if (q->qhaddr !=3D q->qh.next) { + if (q->qhaddr !=3D ehci_get_desc_addr(ehci, q->qh.next)) { DPRINTF("FETCHQH: QH 0x%" PRIx64 " (h %x halt %x active %x) next 0x%08x\n", q->qhaddr, @@ -1879,10 +1894,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 { @@ -2210,6 +2227,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 @@ -2234,14 +2253,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; } - - DPRINTF("PERIODIC state adv fr=3D%d. [%08X] -> %08X\n", - ehci->frindex / 8, list, entry); - ehci_set_fetch_addr(ehci, async, entry); + entry64 =3D ehci_get_desc_addr(ehci, entry); + DPRINTF("PERIODIC state adv fr=3D%d. %" PRIx64 " -> %" PRIx64 "\n= ", + 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); --=20 2.43.0 From nobody Sat Apr 11 19:55:06 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=1773214076; cv=pass; d=zohomail.com; s=zohoarc; b=YbvQauGzMHJFyNjl4wX+SpfnVbuttT1/LHget5qxqI+6FWESrca/wMDuJQ1x6gYYTtwg3BJ2YfDqoWaLKzn1FVJjhDeKbuYm/rpZbiArogq1WZCbeI9lQNOLRi4SrAAYIKw4yqgjYS9f9CTIa7AXiQGCpYOFfiNiBVFC5+1vJTk= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1773214076; 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=qqsoB8r+NzV8Rw8RSH3iuS0hQKt9IkuuMWoHuhsqS20=; b=J6ZW70EFTnvo44BN+rBCLodnuNVLrwuXxgRrEjiS+aHd8WHdWqi3GEpM3M2C0+mVtfgTQVKDTq6prPjgZ4HpkWnHjQW3HelXixDXrVwWdry9J1dwcD1VfvQdGpywo0E1jb6McWKHx3KGoiU0M5vxZNoDah+wAx1UuLy1hCTHlkc= 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 lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1773214076272316.88487807746833; Wed, 11 Mar 2026 00:27:56 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1w0Dy2-00036k-B8; Wed, 11 Mar 2026 03:26:54 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1w0Dxj-0002zN-FP; Wed, 11 Mar 2026 03:26:35 -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 1w0Dxf-00052z-EV; Wed, 11 Mar 2026 03:26:34 -0400 Received: from TYPPR06MB8206.apcprd06.prod.outlook.com (2603:1096:405:383::19) by SEYPR06MB6082.apcprd06.prod.outlook.com (2603:1096:101:d7::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9700.11; Wed, 11 Mar 2026 07:26:25 +0000 Received: from TYPPR06MB8206.apcprd06.prod.outlook.com ([fe80::e659:1ead:77cb:f6d3]) by TYPPR06MB8206.apcprd06.prod.outlook.com ([fe80::e659:1ead:77cb:f6d3%3]) with mapi id 15.20.9700.010; Wed, 11 Mar 2026 07:26:25 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=kYca0CyaLq2HgRDoBOHdTeZMrRNOcsPkRWNNt0AGNvmSOpeVTZk8uug6yn2qcMa6ZLar9ecThnDWu/Gv0Rpd4nKPe2wN7xxuYA4tRXEh263pnS+/L7TIahIqCNp8zN6Q6MVTzfBAR+NCMvONazmOHXwGzwJmGYnMuRv7TJcq3UvHz+sBLl1mFwJaoPUlx1JfbDyxmMojq8nClQ7CfSCCeHlQLnvzJr2qHgUKeiMaTT5OuDQbc7k8U/myc9VN13dt+ZpArnrsUhiGi/Ia4B/vYnMrCwSUhLXn9a1Y8wqTXaBJqP6GZ5QTE7kK+aFZV7TqDw6dsyPchtObNBEeq+0kUA== 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=qqsoB8r+NzV8Rw8RSH3iuS0hQKt9IkuuMWoHuhsqS20=; b=K+YClmUc/RF+4Hm5tv+mvs4WTwFTrWzfYqD9jNPwuH61V+5Hkh/opGTgy5qah1QjmZWguA0WkVD3F9yVX2RUhMQWErZHO1XQvOxKWVenXdOJ4HakOUH0hIQtrkAsOv1CGaxpmYA+x4Xm3+vs56KeYnFDYxQ1Ohnf8FCnqtPtqnzmGSu6/F3RJvmMbRmVRMQcFTEQF1BuS6H4lTIytijJ0wrBV30N4AiDVDcQBLCgGTcTZTvmfIBMewjLXXyFLRjo/ZMtrM3pqqV6azO9UnVZe4isvyr7zyfTRsyIUxnn011g8//+Ne3pHGPVsyJCz9AgWm31PPrlinTM6Ye0NtrTNA== 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=qqsoB8r+NzV8Rw8RSH3iuS0hQKt9IkuuMWoHuhsqS20=; b=MpMqayvNHTb3OYI7wurKeRHFS8qA1zybsnB8UDm2i3xSHFQhx7rInDCv8XW0SMMOU93fUpkLiusIbsdIqfICkXn0t7gvTUA/+KPGoU4+bPL+Mjaju0EUNSXr8qTycsGYcQCR/wvTpvwokCQ7jX2OiQ+F37FycjsnvvhBJyP/hOp6IeQwdd1WJCuTcSqLwi945BjYtkwBdMWfWfCuNN7weIH8AaB3u1IdxSRAMGXQJTWfTeg1RC9B9oNxWEFGSBmg0lZSnrBRUFRwU/QDLFyPdm3aY6+Q0+tJvwxc4b/DrCsUeDGvOhh1rWQZ8XmEcB11Ps/PwCr2Ne+qf/ciMi3quQ== From: Jamin Lin To: =?iso-8859-1?Q?C=E9dric_Le_Goater?= , Peter Maydell , Steven Lee , Troy Lee , Andrew Jeffery , Joel Stanley , "open list:ASPEED BMCs" , "open list:All patches CC here" CC: Jamin Lin , Troy Lee , Kane Chen , "flwu@google.com" , "nabihestefan@google.com" Subject: [PATCH v1 08/13] hw/usb/hcd-ehci: Implement 64-bit qTD descriptor addressing Thread-Topic: [PATCH v1 08/13] hw/usb/hcd-ehci: Implement 64-bit qTD descriptor addressing Thread-Index: AQHcsSheGdSk5ZoVpU2+JxVB5IlC2w== Date: Wed, 11 Mar 2026 07:26:25 +0000 Message-ID: <20260311072614.1095587-9-jamin_lin@aspeedtech.com> References: <20260311072614.1095587-1-jamin_lin@aspeedtech.com> In-Reply-To: <20260311072614.1095587-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_|SEYPR06MB6082:EE_ x-ms-office365-filtering-correlation-id: 235accb4-82c4-4429-2fe3-08de7f3f80e7 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|376014|366016|1800799024|38070700021|7142099003|22082099003|18002099003|56012099003; x-microsoft-antispam-message-info: Oqg/k6M6D9ie3VGX8wf3835E6gJgeI9Qkah99nvqO2Z1s2TANOWDLporqz86/MEPVdLYQtVNpr57zpGqiGAUBzk9VUwXlC/qbpb73p/rD98wLn5IYb1iEzVfO7ueWo7pQgrfTPQyMy7LioPya7Cq0czuENGNH1LR65w6w04eJW6+91gxVYwlKh+qwqeGIG6juwlY31dz/trM9adUQRIKuI1rthJJqC+p20v9ewzwPI70vB62X4aWfIfhHIIl+O/CPueDzIiHuUhYmjjIxheIf16cpCDOukvl2JMeMctLAMtKeIsFUcipKDUpx5cLs6UOx781HXD3uMQR1B3oT86zvLWeb1xSXxmShXaARROzlMjVV4rOG60PN1Ok75eilwwNE52NnxoufqH8ZTsBEQA5AGny1MeAdiTp8yVQXfv0ssKwa9On1hmSO12Ve0oi0RwXjcjN6zTddjdR/Cq6YvNinFDQkWp1PJVKav4P4OSZcSSVo85ABi63t/kkkzRuUZpWNA9znMkTSD0Z+GjDo2NGuFNl5d6CpJMPX3IwKu5GrkEYcJR/3ukcFDUhwlbTHF2ON/5A4bR9RH0q0QelIltqzNG5msVkyI2F9AghiaTsSzfJIVyJLDCW0xZFVUHxALJ+sWpkbR68n0XuIMq8F7pAOO/j7b048CU629a6ght/WFc3ztIvRyYmqQzWYV/GxmOPIu2H1fo5iCiIxFRSkVxMacOjwGhWBPlBmMR/nxnOcGjw6cnC8GshvM3Qjb5XSUCGP6/p0pEbNjtXoXptRoJ3QPJe4rZMAHC3BYvQ7t/QNuo= 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)(376014)(366016)(1800799024)(38070700021)(7142099003)(22082099003)(18002099003)(56012099003); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?2MWRAPZ40FIEWSB6DtTsweitHXCz2pIFfXrWF+lEMXU4x9UNihR9Xt7iXX?= =?iso-8859-1?Q?ZP6Ld8tCmBCi6ZSpDBAe70g+gk39HnyHosvzl7xtg98FuYk3OiwgDpCX9I?= =?iso-8859-1?Q?BQmgaov61m20klMOOp0a54fke7D/6GOgweCTHjA8eKAxKGwiShBwjmCigO?= =?iso-8859-1?Q?/PsPlrYlmDXtn4Kjy+oKpMTQ+8VYGm5X9lUCA2BpaGcebucOjWeZeZ+wHk?= =?iso-8859-1?Q?013TPhBuVkFR7SZp7UXIx7AbgkWJ2Sj555OAimYhcbHInSM0IRDiOkFAQC?= =?iso-8859-1?Q?ww4iMcQywWiphauEpag+ayhzVnIyIjxpQygSwPCePl3bQoW0Zd0t6uw+rj?= =?iso-8859-1?Q?MvPAtr5iAfZDAcbfXODkbNZPERiT5azowQrCkj4C0Wu7+TNXYz7FCmaH6v?= =?iso-8859-1?Q?Up/Dms6wgJznC29idan4qHiS3pQrpkqjISgK9sc/LNo5pKMEOaCXDfpuHF?= =?iso-8859-1?Q?NWJ4MjOFOAPqcTKSLTk+4BTRxShQzThriBrie3dQKOQsrZec1vF1rXaEcX?= =?iso-8859-1?Q?nbjzpe/REii9rMozxt3stcHrwwDcfcAoPHaBqzrm+czbyLUNrMvGnG+ge9?= =?iso-8859-1?Q?m8vpoU+2ofxVot1TYbEDXu5C5NNrI9kQhTZJ3G4sAorWf49Hl9QMFFu6Hu?= =?iso-8859-1?Q?5T9qC7iXBbJqAH3RhycofJ1mR4kbTo/oE1pcoxtUX3Az2OL2xUso/SO7CB?= =?iso-8859-1?Q?hcc1n4ji3iaLSi5TEmNQirM7YSpRoJbyh2EOFjQBdwJsNhbHHQfg68Y910?= =?iso-8859-1?Q?nC39MvGSnAAR5GwqUK+4ounncW2mmmqZtBIyiJ/zVJcObgBK+TePNSc6Wk?= =?iso-8859-1?Q?A/HH7dAflCSmRPNKCNoPOGfZur+fA+7VfSNBPSZ+UZrLPyp6NZaLjM0wT6?= =?iso-8859-1?Q?eM+ycCCh+XMXBJb33CSpQDpNLg/NVmVaCvPg9qmNTFWPA+brn99sXW9Vnf?= =?iso-8859-1?Q?etVEkosvp+/oZ/8RG1Qrsic+cbZd2n6fIDStbHjj9CB7evHTWZDSnptvI/?= =?iso-8859-1?Q?n+MnSDB4YbmKmt2sKP+8O7jhVuiwmbJC632Fi5EovKE6bGCzfY4RpNnef1?= =?iso-8859-1?Q?pqgtwTrrJNnxJmYCr7F2j7HEE5YCannrJJtuOdrt3WiJFxHd3iZaLo+IKe?= =?iso-8859-1?Q?S3FY/IpQHP1rIUxQ/CxziiHPOkTUppAoSKfD7TjsH+bi1FhJ05MLoVJsn5?= =?iso-8859-1?Q?MzBQpI1DeOULmWW6JpiTSL7o/EuWKJSyPH6qqQ3wTGbNoMz1G5pnizWLin?= =?iso-8859-1?Q?OAXi5jL+9lnA4+ggV+vZqYt7kPYbFS1z6lTC9QYAcdUy8YZjDNDJpACeNd?= =?iso-8859-1?Q?lJ03AT6LWX2+sePQicNEeLUtteN08joxlZzASM5cFDN53eI7MZ6uzeHeY0?= =?iso-8859-1?Q?e/HvQGtVGW+/uGchgZ6lh6GEuTUE0lW51TN9rlithTvkEmaiVomAbAI0lu?= =?iso-8859-1?Q?GRJ/IFoNFI+NJV2xEuVMdXlvANbCaMyncT9qsBWHHQTFARhOFNnh/qS3Vl?= =?iso-8859-1?Q?7lasraGjUcLrOn+pINCxujC/Y43Oo42REUL3zBNHXf6prBTt5KPkVnp+2n?= =?iso-8859-1?Q?KbZFk6nc3rJGqt5kJVWXX6ApJLHANbKkgPXoepT0j0dWZkgn1Foz3UJ6uR?= =?iso-8859-1?Q?P/mrhFmLYd5+9iOnAQXQvCKVcThnRO1qZrpyPtLznAo0lXnmNlKa67Sz9k?= =?iso-8859-1?Q?0xy9q84KMfIxl68d8EukI6qv9dr9dKuxGEiON6OPmYZQROJAsKXJVnxxGw?= =?iso-8859-1?Q?BBS2QVcymdWEVIV2ES4NpA6cViOjqbltp6ggOTqafKAj/MNK1wxBtOHnny?= =?iso-8859-1?Q?6khCmQG6Nw=3D=3D?= Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Exchange-RoutingPolicyChecked: eKQA7wXcFXNWRNytRSYdhXugPwu4gYogArrrivWJDXcarkKfzqd7i8rs4J3r3Ut9H05NKYAE43XleaHBpqgGAt1zw4KUj8FQRsvM3i8Pn/lxI9yLvvXxxcyjFvlhaFmaVKuI7aCATQklmnMa0pKIyqdAqumksG4a0770/6RVUOLszAFqPhwYMI3AUcuAI29eZOVaVqKBFpF1g136TtAr7XzPRAEYSXHqga/Sb12EtLCbZXRH4OlPs+Exkq8pooZ6da494zfYTWfMuQKh6/E1CSDxzCiJUPOuv/j5/ClndS2oL/dV3PtW+sdj550NHzGfT49X7HrF5YiBtnbaZwOg7w== 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: 235accb4-82c4-4429-2fe3-08de7f3f80e7 X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Mar 2026 07:26:25.5435 (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: qqNEbO8JLri2dIBY2aMrYDOi9EE7g0eAm99RSkT7I4UWRFbtEKflXUjfNXDz0CgzMsRu0JgOlm+5aYHqObHbNN2SiB+QNPxRQ/QGBAyLQOA= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SEYPR06MB6082 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a01:111:f403: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: 1773214078394154100 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. 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. When 64-bit capability is disabled, descriptor and buffer addresses remain 32-bit and existing behaviour is unchanged. Signed-off-by: Jamin Lin --- hw/usb/hcd-ehci.h | 1 + hw/usb/hcd-ehci.c | 32 +++++++++++++++++++++++++------- 2 files changed, 26 insertions(+), 7 deletions(-) diff --git a/hw/usb/hcd-ehci.h b/hw/usb/hcd-ehci.h index f18150c352..df16426f76 100644 --- a/hw/usb/hcd-ehci.h +++ b/hw/usb/hcd-ehci.h @@ -149,6 +149,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 /* diff --git a/hw/usb/hcd-ehci.c b/hw/usb/hcd-ehci.c index 8fd3fd60c4..5964ede05b 100644 --- a/hw/usb/hcd-ehci.c +++ b/hw/usb/hcd-ehci.c @@ -158,6 +158,19 @@ static uint64_t ehci_get_desc_addr(EHCIState *s, uint3= 2_t low) return addr; } =20 +static uint64_t ehci_get_buf_addr(EHCIState *s, uint32_t hi, uint32_t low, + uint32_t mask) +{ + uint64_t addr; + + addr =3D (uint64_t)(low & mask); + if (s->caps_64bit_addr) { + addr |=3D (uint64_t)hi << 32; + } + + return addr; +} + static void ehci_trace_usbsts(uint32_t mask, int state) { /* interrupts */ @@ -467,7 +480,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; @@ -1192,6 +1206,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)) { @@ -1225,7 +1240,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) { @@ -1720,7 +1736,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 { @@ -1804,14 +1820,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 /* @@ -1840,7 +1856,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); @@ -1921,7 +1939,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 Sat Apr 11 19:55:06 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=1773214079; cv=pass; d=zohomail.com; s=zohoarc; b=P3pljxx/AqqaCKchOOwjssQnz/Fi7AhMk8I9HoWWBFo3WveeRl6xYv0cYBszQTlH0TG4PsTIGD2XcjeRqHwqYNCYx99hHNnfUJ8KHWNjHqRQpzAL9Rm5BQai9bgF56cBdH7AArY/2aqtSEaEUjCpWzDSw4kcMdH1YTkClaM24lQ= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1773214079; 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=YkNfTZcIrGWgh1D3atFjdHIVT8xSoWDqUyuONMPDrZk=; b=jEbAZHUswfMgCi7fnPqb0+cuWW34gMJ5jtJMG+pd/RlUAESQtabNrDD+YFMHx6YZ/rHFsMJav34sBu0FD012AfAve/MxEtjxKj9SHX9cTb4HCK/nCYWOu7IzqcRllkD2acbFXsqozUrFKQtj5Zhh7hTmJv8gyyw+KowpJBMSy5Y= 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 lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1773214079142619.6379413404139; Wed, 11 Mar 2026 00:27:59 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1w0Dy8-0003Cs-Al; Wed, 11 Mar 2026 03:27:01 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1w0Dxn-00031Y-22; Wed, 11 Mar 2026 03:26:40 -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 1w0Dxk-00052z-Bj; Wed, 11 Mar 2026 03:26:38 -0400 Received: from TYPPR06MB8206.apcprd06.prod.outlook.com (2603:1096:405:383::19) by SEYPR06MB6082.apcprd06.prod.outlook.com (2603:1096:101:d7::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9700.11; Wed, 11 Mar 2026 07:26:26 +0000 Received: from TYPPR06MB8206.apcprd06.prod.outlook.com ([fe80::e659:1ead:77cb:f6d3]) by TYPPR06MB8206.apcprd06.prod.outlook.com ([fe80::e659:1ead:77cb:f6d3%3]) with mapi id 15.20.9700.010; Wed, 11 Mar 2026 07:26:26 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=AP7P0Y4S3AOKqJaZk9BZaF6+RuMmt8h2PO2B/vSUYslKp9oBnyHFlDmTilTUisPB19ChIOEbCAlyJuSMffJG7ngQUIyR/sMG1IVkMmJ8zfFN7L018GcFxoYD8O6wJutnF7u8o9eb4zNPYkq77pMuEwUOL5WsESkJlm9Uh5erW1X3bVpZm84Jzdp+j7wrSLLUpU1mnAguXGdPAnJnLJKSn+vIm7UQHhyBw6UwRd5Qgz8jz65+7/Q/8J+BjGzTEHhvkTzJaKg8RuFywWFjMkKU3O0qQaThlURFtH4qNHUVr1LDxJnZqSmQ3CsKpMbivPxrAQsZlphFQB8h9hhdApFNcQ== 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=YkNfTZcIrGWgh1D3atFjdHIVT8xSoWDqUyuONMPDrZk=; b=TJ1YTh0Waau8K4vFQQev031sTtY7dqQp5bhZkaJTchXbDiIeYdi5RvjwJg2GCMAPzA5O1Mfzw0EbUdJ4KIqo0hqxgdWUo2TOtXZFudx70BfL2t171VvHFVoUaX9229OKzcdR/SKCGgTGF9imWQ5WJZehKfgtMZNIcvO98Mr93IKwQiF4YJ5shNupyrp0OConXTC7/l/WzAb3kpCo5FGKt0IyUxznjEH356BUGi13/UEHmcU58rsabUdc6n+r70aNN59/qxR6GMN2Xc8fRfpQfIhRjUgij6Vv34wNA82q7YfH36O9tFpBAXMcpJ4cQp8PqP548idjGBdILK/GeReQgA== 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=YkNfTZcIrGWgh1D3atFjdHIVT8xSoWDqUyuONMPDrZk=; b=cBWXfAZPbb16fn98dt6TWEd3joUxru0mqKyBIva+nqWQg2CBlCiAMCS+q5k/+v4IcrBVCjvnRpFNej45/YEOgVahmXmDL28vmThWHUvoTZWe/qYicSwVcv9ObxerCAtFHuYwpJ3uT1c9tmLN82NuHA/QlRTe0yfjEA6EEEbR2AgmkjhzwcmFer6n1O/l0CW7L/eMu09GEOBZWcv7+UqNfGdlPvNk5YZy6RAlgYQTvaxyYdNjwHl5LDD40gURW/C0S5eZLvV+ZgTnsV1VkhAwU+qw5ZCDxElPoTMebbO8dzuauZ6IK47zKqpN9Fi6X+MP7FiBNdGq8AC6jIovqmewjg== From: Jamin Lin To: =?iso-8859-1?Q?C=E9dric_Le_Goater?= , Peter Maydell , Steven Lee , Troy Lee , Andrew Jeffery , Joel Stanley , "open list:ASPEED BMCs" , "open list:All patches CC here" CC: Jamin Lin , Troy Lee , Kane Chen , "flwu@google.com" , "nabihestefan@google.com" Subject: [PATCH v1 09/13] hw/usb/hcd-ehci: Implement 64-bit iTD descriptor addressing Thread-Topic: [PATCH v1 09/13] hw/usb/hcd-ehci: Implement 64-bit iTD descriptor addressing Thread-Index: AQHcsShfZeJMlRPRYkimFt6DLcf0vw== Date: Wed, 11 Mar 2026 07:26:26 +0000 Message-ID: <20260311072614.1095587-10-jamin_lin@aspeedtech.com> References: <20260311072614.1095587-1-jamin_lin@aspeedtech.com> In-Reply-To: <20260311072614.1095587-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_|SEYPR06MB6082:EE_ x-ms-office365-filtering-correlation-id: e1704b6a-1cdd-485f-fd1b-08de7f3f8194 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|376014|366016|1800799024|38070700021|22082099003|18002099003|56012099003; x-microsoft-antispam-message-info: ujxxVfxjPqUH/qSVkob9xOelzm7tlAroG1sPxVgZ/GBgeRnvr+xCM7nqw0puHF5BXHYIT4bjpDBL3pjG9OwLbuEoepn6ozXTD9/+ujbT28OmBo35cev6T6SsMN7vreFWmPZ6xlFB/mwwHS2V/ZXQvIlmy+brf1LZFEpe1yAbh8+QEeUGxZVzeX2kyZK4tH1K9mV1bpgrb4pynsu3azmVb4P3TYhbPLgI/qekCdxiU3ReUMo6GbcIbvzgCE83vLXhl+n+aMUiGOGUPWE2On/eJRUQjo1yp1kij9gGW3877FBi9VF7G+pP31/3pH0lBGWDigwSJLwLmab0QK/ObHQhSkn44vgsCLgtMu86eFeTSZ5OKTXDuZ/pFaWcPjFZGW+aHN6WpiynsOtIibc9ljxv3O6mkoahzuQ4RngN3mobyPJrF1LrOzMgD4w5NVOCY4DzszyYp4Oxfj39roC4IT/XGCGMRHtvvEo9bA/LRovKT1/z4s4AaU7rwmMrYs8xb+xMpYMNHvXzQfTNQJGGga1rtWg+5b8if7uUxsBDYxbXdDvysLHN+Fzf1hmXyHEhY3n4fxMQbzIEaxVOX0VC2DI6xYpaNrodh3cGwM17XZtnvN9/xDqLdINhFxttv1xXSQKaUdZrE5eYlBsVNbewH0F5okd/Hssh+5cyTddsxFlXgNL9M/7xtiBNdUE5Vu2JJXgTPcCv6pGWbCzetKkjot/SBz59ee3iCJlHdZUIygiY9sucBQT42sQEMbvUaEr2QCdoyzM8y7pVMbzo8A34U/WOzN8oQWmaBDUQYMUE2l9KODc= 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)(376014)(366016)(1800799024)(38070700021)(22082099003)(18002099003)(56012099003); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?l7V7PVWcOhSfXdHwZzbgBWWoF6mXIqUiUBwNRlhno/JiQbj/6EojE7W4Xp?= =?iso-8859-1?Q?DfChRhedfr1//5dL2M8ReWumOTFWuLIZFSJaYsPsLfKaVRbQsbp4nw4pc6?= =?iso-8859-1?Q?UovmXY9Rf1x5S3aaAQaRzB7Gl7qzJLWMsSf1BjkrgswakRacdQmdTDeacU?= =?iso-8859-1?Q?3wcWtTeoKlnWPlCskw+iqy8hQMqggEtAb+VuyaNBeyWzYadX+7QsI0moIx?= =?iso-8859-1?Q?BwN8AVt28AUUnMf/m+lLZ7H2y6Ol1TSTDZJCxHs4w8El63tlVcEu6rXyZk?= =?iso-8859-1?Q?XZ0Q0WNewTB5Kp49YfrEC7hydfIRLDf0uqiZsruMxhCWywMiRpLWMKn99T?= =?iso-8859-1?Q?9b9+x6lOUd3qHwZo4Ta2LmHJRzdk+unzmpfI1XfE9Jn944I1lmrXVs1ZgY?= =?iso-8859-1?Q?MmN/PruZnP+YtJDIMLzvks1uA03+YDr00Bn3EPoRSzw0chpZsSN7bibCLU?= =?iso-8859-1?Q?es7AkI5hVT5FeQP2AD/gr+aA7cutx48J2wV62Su8gn0A/CEjyzpaf3G+b9?= =?iso-8859-1?Q?2UQVRxgEc/aggGFw4OB0BLkCQ/00CNpFwfEmhA0RDcoVMTnNfIJpcipkVJ?= =?iso-8859-1?Q?KSc676XHYtD1xO8iyfow9qrJHCL0FUK5gogwm+ahF9gpDnxPFlNrC24RiQ?= =?iso-8859-1?Q?JJ6CVEmcwt/F/fF7JKHkP+O1BfVpBJZngdZF9zzfuqPhMtdrYI8p6m7Lui?= =?iso-8859-1?Q?qCuebUcaRSOn+D1l9QXZjcSdm6ag/wilBD98QyhgY2s4kfvHBw4QW+vGCu?= =?iso-8859-1?Q?pUY8ZjqxWiJ2QP0NWmFU25p1jwlMxHVBl6WmXoJEcicA9jfi0+FpWHr6dT?= =?iso-8859-1?Q?3RtzZLu4MvHNkXv5YAVi9g3XC/qPMn0ZBWRVhv33URCxvys4PVvd/lnYwR?= =?iso-8859-1?Q?rBQGezhO+ueVvOJ/nRT6aK630cmb654GfiW82I/RqyYwy0Edlwxkp+R/Lj?= =?iso-8859-1?Q?JlNcfTGR3eW8/Rbvd3zoLCsAGmGZF4GaDplJEBvUc+UgU/J95+ZDPsSqs7?= =?iso-8859-1?Q?gHHnJ2hy27qxfXvRmbw0QTYCTh6xWAtMDhsKr1u1n2nuGaVTULLjF59lqn?= =?iso-8859-1?Q?+E898lEWf9ZjLwCuOR6NUBfy7DY8b7IoGWcutV16g/rIB1TpIIieI2R058?= =?iso-8859-1?Q?nDo9ag/VMuJWiST4w6nRWcNo10lL0u4dcQCp4w1LNbE64vF0NeILIsrRNv?= =?iso-8859-1?Q?GqeQTbrr+xe8NS4jvnpOMcsdrsRNr5JhbveIdsE4xemAN7ozi0orzrSjGF?= =?iso-8859-1?Q?UFudiSRC78D273wLUL5eumW2NzKlaGqrf/A9VvCVEurVpZe8uW841zJsgv?= =?iso-8859-1?Q?9Y+2UTYXrxef8CdPQsypRcdzKoWqS1g+B9e3yP2yztKL1xwvI7kiNHgNqk?= =?iso-8859-1?Q?K9I0rT2+vy55y8lslkwK8IdVM3O2SbUCjWp16dXoRIq6miCOcQ/NcVMu0h?= =?iso-8859-1?Q?5RPJARbknNuUIMtX6n3R3ec56kICG6aukVHxF5jzZTAaMXF/8zPXd4hIyU?= =?iso-8859-1?Q?e4GTQkvPyA9qu5eQ4LLgZE99oWXyZIRlIyGLDG0N5zTP7nZ5jVtZaZobUr?= =?iso-8859-1?Q?hdoTmPML5MKoqJPbFhM3qmhEVytmLONbmE+Sdg3PEmm30t/cDYuNPQBKRW?= =?iso-8859-1?Q?vh4DAYPp4zFVgX9Gb+jPve1zS25VeziEdisuq7LbKId1FpooEUKYKWSHQW?= =?iso-8859-1?Q?DwCed5qdrYlh7ziv5z9qhrei5b0BpZ6Ul7ZAKpdfmJMPOiYxl0GNThJGaZ?= =?iso-8859-1?Q?h7BAB15Td1BePIix/mWqjCNF244OqB99REP1QpvXB/YQESTl5I3GfXMu/h?= =?iso-8859-1?Q?XcYy2Pw2yA=3D=3D?= Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Exchange-RoutingPolicyChecked: BL7i2wd/OSvE3lJt4mcPKro18y+6tFGzA3Dhv8S/vStiPMe+3JvOxQn5jA3kGy9cECmOL2CHv/sot4EmnDNAB3nlY6XJPjzfjzPTScyceuJ0w4RGFpCEAz89dZSlI0suEMhsb44CJKKeby3HvWqD1orjQw06CbhBWme8T+I9PCHGZ3MSLEvCeLO6Id9Eo7w3XVfT7grCxqPZhBxoPpNWvGzlgtKe9XCCNHP+rHcvlBSLWMfJIXwvHNqZ4SKC5RDkaOhl6FiI126+rk4rKpxp3vT/S1dzLPxz8NL0DKFNrWdKs9cVFyz5Yl9s2yv/xCF7la9EbySvYrxf+PX/exstow== 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: e1704b6a-1cdd-485f-fd1b-08de7f3f8194 X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Mar 2026 07:26:26.6589 (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: zpkFqRXLui64skOdalzEeovdCeeVgWuQZwFFzzm5ZiJx06D/gDNSm6ivXkA66qkgQnfFOGo5f5xm4dX4nlYIgMoFktXYuXPntW2Y+rBA6u0= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SEYPR06MB6082 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a01:111:f403: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: 1773214080341154100 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 --- 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 df16426f76..f0cb50ba45 100644 --- a/hw/usb/hcd-ehci.h +++ b/hw/usb/hcd-ehci.h @@ -73,6 +73,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 5964ede05b..a4a45c7601 100644 --- a/hw/usb/hcd-ehci.c +++ b/hw/usb/hcd-ehci.c @@ -1471,7 +1471,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 */ @@ -1479,7 +1480,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); @@ -1768,7 +1771,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 Sat Apr 11 19:55:06 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=1773214065; cv=pass; d=zohomail.com; s=zohoarc; b=Zor/QkUKisZCm5fUxZerO5VAu7dsmaUefPETSwRJAdiRzIjRU9q63mynDqWx6Gxp88v2L8kIX8DdeOck0xCnEqGdBN6OABgxkeycEci/kP/gsEUk/lTT4TCqVsTHbe39PCIwwwYD4awdemFtjcKPvV2aq68O3uOa4AoUN1TUl7w= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1773214065; 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=h85VlOVaMjPSy2KNQayuveM5e/PP8jbr44KugwkvAlE=; b=IKB9YwW3HAfCI0aI0n4jd4spPxcoRAXxIs2UShzIgEBIdnZizp5fgOCpoG7FfYOH4ibhGhqzrvGfgr+AH8QLXBzOv5S5OrjG3yU31lLwnTXM2YPdcJ+7HEjV+QAZd84V3c443qhIin+YvsI9TlLxvkR7CzI9GFuPadwMrEo7kfE= 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 lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1773214064784152.0200852502535; Wed, 11 Mar 2026 00:27:44 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1w0Dym-0003au-W5; Wed, 11 Mar 2026 03:27:41 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1w0Dy0-00034Y-Uo; Wed, 11 Mar 2026 03:26:54 -0400 Received: from mail-koreacentralazlp170130006.outbound.protection.outlook.com ([2a01:111:f403:c40f::6] helo=SEYPR02CU001.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 1w0Dxy-00052x-H3; Wed, 11 Mar 2026 03:26:52 -0400 Received: from TYPPR06MB8206.apcprd06.prod.outlook.com (2603:1096:405:383::19) by SE2PPFD6A65AC07.apcprd06.prod.outlook.com (2603:1096:108:1::7ee) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9678.20; Wed, 11 Mar 2026 07:26:28 +0000 Received: from TYPPR06MB8206.apcprd06.prod.outlook.com ([fe80::e659:1ead:77cb:f6d3]) by TYPPR06MB8206.apcprd06.prod.outlook.com ([fe80::e659:1ead:77cb:f6d3%3]) with mapi id 15.20.9700.010; Wed, 11 Mar 2026 07:26:28 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=mO5cqh9xAfSatlUPz6vF5KD9wL26rP4tp0IR6pwnImPmHRdtfDFcSOpVSomoJJG5F762almhdogpDZ94FuSChdonU2gZNPj46XiQq4uwI+h0U7Sb0/fq8ifGe4XuQmHb+Yup2hFdnSvWJKEV2W9j/G5ioIADQcellME/RyjB7UilIDTcrtWQZJIaohYgYm6ymB6QayQ0vUlWRLK0Zi2BSE2nzGMN90c01uqm4b2jbmJs06zvnJ8moy9A5F9ypU2377h629r5QeV654zxK+txVzFUsPGbgpFjZOLZQNXba8DZJxbqD7DABCQ6lHjoFerml5rJ9CVYXWW7rLFoOn83Ow== 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=h85VlOVaMjPSy2KNQayuveM5e/PP8jbr44KugwkvAlE=; b=T0+s9RZsCMk/th13pClvehzNPoNBmOz37zzwCZtBwPnLdeqEMLzzQPYBvL3joSpZt0II60BjQQXGIi9vLzlBnPDnKYs5ZBypaWujsmn5XoEy29fcf+eR3biLRCqyYObFmV3AUG5XsINpymn/oQAkoC5QNeSz9bz3ImWe5vuf/0aW1iumSa2FSj9VqN/38QLTNXhrKSr0VQhjOqLH50wHCw2j1e3/BsGoqh3+xfg9TD4cOdQOcJpaj4pItKkTfiHCkKj7Y3uOae56Ru0u+jOc7KIwwKWl/3ve+U0yE/BI0ee1S3omYIMViF3yeKHq8L6GL0dmbfRWlEmHSmey7qztrA== 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=h85VlOVaMjPSy2KNQayuveM5e/PP8jbr44KugwkvAlE=; b=QczaOwwbImbi/EfG+4uOaqktAx3Q/voKwqfQ86JyYX3cOoiicQSSrWVYhqCnLhuKpMS4KVspNtBAC7Ysnp38wjZGLiTBgf4W6fY387ZR/2RENqJDEBXIIrHMqL56+iunw4oQkTgpgLIgByEKCRIAQD2ItzWJbArOYoc6/Cd7ejXUPUDUZJLd/1twn5xMXSZMr5P5visgpOggB6aadHsh0yuTLAjHBDYW2E7B+vaqjSp+hfaTeqglG7TW8tcVjtwICjuo/ak/SEiAay+La1pPsdhNRRgkNVTl8Fwz1TySNqYrnr7J76/I+O9q4sOq62IsvIjHuul6qqr+KWbcRZbSog== From: Jamin Lin To: =?iso-8859-1?Q?C=E9dric_Le_Goater?= , Peter Maydell , Steven Lee , Troy Lee , Andrew Jeffery , Joel Stanley , "open list:ASPEED BMCs" , "open list:All patches CC here" CC: Jamin Lin , Troy Lee , Kane Chen , "flwu@google.com" , "nabihestefan@google.com" Subject: [PATCH v1 10/13] hw/usb/hcd-ehci: Implement 64-bit siTD descriptor addressing Thread-Topic: [PATCH v1 10/13] hw/usb/hcd-ehci: Implement 64-bit siTD descriptor addressing Thread-Index: AQHcsShf3pApiBV3g0Sxi09yXzc0aw== Date: Wed, 11 Mar 2026 07:26:27 +0000 Message-ID: <20260311072614.1095587-11-jamin_lin@aspeedtech.com> References: <20260311072614.1095587-1-jamin_lin@aspeedtech.com> In-Reply-To: <20260311072614.1095587-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_|SE2PPFD6A65AC07:EE_ x-ms-office365-filtering-correlation-id: 2827f082-c78d-40f9-17b2-08de7f3f8256 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|1800799024|366016|376014|38070700021|56012099003|22082099003|18002099003; x-microsoft-antispam-message-info: tFBupl0qQjfWfZVkH8wSjuf3gr30dE7+MPE/h72T9ujy6VetORiN0fbwN920KX5tmFjUu5qIElz/u6mUlSBaDC/xcKa7x9+A2NufM8OzOLUj95/vcVN6gsTqXR+cw8cBH2VY4+ZPvwlRhqtAZsucWjV/hFp4TrllqNZ8sOtuEcZQ3SU9rYaBDT8zwcgpuAZKSMuQR0B9Z+9CZw40u1a9izxmiDNzVkMmbVA4STlQj6sTx1T9+2L+Vm/QBounN5ZhlSOvR2ghGdu0AKSGf9qJHRSw36CvEtyj7uMchSlxIQzQabtZAuDRvjch6+JvXV+NwsufR+Pz/hYAMlyb1ZCah4M8Z2+wI3wtYskCs9qkrPAg6D9pRZgwH/7DNC9f8yUpQX3RROif3fkkIDNHvMoN8Q/rjQoIvPHU0hHHO78C7Yt3LW5IUrJkYIHRDJYwHWAnQdiXcFcoGss0qMKFBK1nW9noUirCbRxhSLLSCKgvRAFLoe5eEzBXiuU0hajNNFBtlhxqfWLx2bmzX1i8lcXWTT9i60O887XWqlSypQGOc+Gl58FJIVml1T1PVimk1B/X/BfT9xfaoGV8XoxmMSa3xS7xnz77OWJT8M8cRzJORddV//Wz5/usUXy3KyUT0CQolI7qowndK9zTcZo5Wdy7ciT487Iaxbywnkmg5E/Qvdrhq4m8q0tvJnEWoH0PEVDD2uLNUMWPwHVla7zCG7nFUJWTp0NuKjDMY44bF/vwSc6sINEcfWjjFPjINalkYyuMcvCnD7P8vRYjypnuR+MyGahFd5quwJbiJWBYE4TtGZw= 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)(376014)(38070700021)(56012099003)(22082099003)(18002099003); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?H7lB2oyrHw3jaN/HRAbXgssZXWGgsNh/SRgach2AoGWKFymbYtu7yM4jUF?= =?iso-8859-1?Q?nZ+NmRV6cedclFk2359Be8rdM2aDnOpDovP5iM/OOaywgCo75PTDBk1AsC?= =?iso-8859-1?Q?TF2dc18DIQUzFIOncnvWZXNL6T+ddOxjDPZO/ZlYeZQfSp4PfJ0tWL4Nsc?= =?iso-8859-1?Q?t/PpjsFOTpKPRM3sxjWDjqh/HCbnT3dd4FJ1Hz0F/BgRTq+xKnRt2uRU3T?= =?iso-8859-1?Q?CZ9wfBuZH9W41NU06xoiMLeiSzZo517No4bU8PQqcsG1ujNvErmJlujK6X?= =?iso-8859-1?Q?ByXrnwbfx3viebWP70w0KAV32U+rdhlAll4d2p7GFg3C5lMeTC+Pwy9Vwd?= =?iso-8859-1?Q?VYAOHRCBcOjzJq03mM6YxUbOXEzgDxhd4pORf7mwaNgMm+3V9KaCHyLm3G?= =?iso-8859-1?Q?Ef4LTTfNH/VujvPrgd4FgpCZ4NJKW7682ykRoknBllsBHdgkeVVKz2b7GA?= =?iso-8859-1?Q?Mlbn7ha3zxBy/tQMCtxO0UeqflhN7zr059BZB0TXuYPa0p+wWIy4kpOHlk?= =?iso-8859-1?Q?pwKhTZag4w9iRN6xQOK2/8noJhYhz+8eTeb4/9KdkZoB/IKNpB2Ffjn8i9?= =?iso-8859-1?Q?U9uaJN0zAeHSpuq6rT9Tjj7W8yhy5EQ36yCGGVvxSRAWI0eKQyzSBwJVJx?= =?iso-8859-1?Q?6J3/o+f62Io9IcddG/azPY9WZEIIS3+X6tPXwDT4/xBu3xBQdiiUJnR+wc?= =?iso-8859-1?Q?Y3Obz2tiwKURkfylKpGLJ9INzRZWGGT1l25J3mxDpmDXwPMalndf7e1iAN?= =?iso-8859-1?Q?RpLPrY7XGq5WHajmyp45tFfNbkI3maH0a45GNtpNrJenAQ5yeQ8yrXn3ex?= =?iso-8859-1?Q?ChJCMGQ0jF7OHnrBilLIhWf1ZX34WAFlD0ELQSJaAauqYsdU2UaDMtgvA3?= =?iso-8859-1?Q?N6ZeYtv5FEixk9hoOrDKiHzrWCfKGCokKCgtrXAZWCj+d4Eaz981SXKDjr?= =?iso-8859-1?Q?taDxt+V97a70uU7mzQBfAKO+w4zihD8L4xnUMaqE3ZpmUCLVDIavI54tNu?= =?iso-8859-1?Q?dOsfV755Ebzw1lSIWMGsA8UXofj/JZeB/1zsK0VEJ7e0iPdkTTE7LjVARL?= =?iso-8859-1?Q?lPyfdA4MpSGW9eT0S6Cqeh4tBVFRcHIqp+5OOWsFIyLm8c0cRj9nsrrByq?= =?iso-8859-1?Q?eceB5BpgLI1eWEud+L3l8N78DIoyoEeESIGCBfxUsbFtXs3gvwi0ab0Hqd?= =?iso-8859-1?Q?rHDFpadn3ffgjp0RIpMxH5FI4IiwSa/hLKLfHk1aMEyR2nKjSWO338KIQP?= =?iso-8859-1?Q?bz2OLxzcq1Lh2FD0W8gAXr4WzPjB35vqq3H4EKO9cSt63n6mi6O3kdQKVt?= =?iso-8859-1?Q?PJckfU+tZEBP2JXJQU2GBcdwKUxwpAzKYhoKzUBnCA2d45H/KJGC4RdfOj?= =?iso-8859-1?Q?K26pQwduyCkzgy0/XzxYbhqM6z994AHoPIJDB/SNAPkRB6b5JIHrjdys2j?= =?iso-8859-1?Q?DtLDpbfEshFqLMuvrAxWhjcUNrttbFCJAKZ6YFYzZKtcDCzF+i65J/XGG+?= =?iso-8859-1?Q?4xv//qPggq9QK357fcfdItHBVVCBha4On6picURJOZxrGBRTrgd8uixtnF?= =?iso-8859-1?Q?2+Jo9qB+eqTJceww6xJy0khQUdEkQ5e7zvkYdj63ueYuiJXOhod5oBaiYx?= =?iso-8859-1?Q?26pJc1ZWeD5IiU61guw9JsU9Sdcg4MNvEp3qERSOseqGZrcE51yFHSfo3s?= =?iso-8859-1?Q?yg7PjRtEiGvSdLUW1T8qFbVuC6HwJ0LsyzwF0bheYrYmfp+uT7vpgPsecE?= =?iso-8859-1?Q?eCW4HehyQ9z+wak5Eyx7PILzBYLiaz8opwGe0W324EfITvrq4XwZUKSsDn?= =?iso-8859-1?Q?JDdL4SWuAw=3D=3D?= Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Exchange-RoutingPolicyChecked: W+ZczArRVb13MiFc/zLtw7GRV8+4C27ljWpn6+SlGrfLTSmCqiO+st2MXu/uPzhW5rzxn4Ma8mVdMfJOQAywAY7m0NlMRjOqKY6oC7UIsAIc8hqcxFtiTeaKs+SagtkTU57Dz2EooNLb8Ll7CKZsFgq81VtPMJo1SkaZPTCmD9XNWpaikDnn2E1738broxsefsQihgvYhH7PGPEtBc0NTLH+Xl/rGA/KgfDfX9dvKz7ZlMPZcNoSWx+AsndfYmRFDkb7L52KTCa3j/XIRZ6tzT/IndT50GprTuhuAFwBENppmXsK+AvVHOd8gqje963qSHHGYBwFzpKwBMXgiLoWAg== 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: 2827f082-c78d-40f9-17b2-08de7f3f8256 X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Mar 2026 07:26:27.8632 (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: w2YnwCVtKbErea8nl54a/l6Tlhyktl3bsqiZwja2N9wh/O+TgH5ByDaCkd3iz4jZh7StjZC6PeCAhGLqPSSJS93Ba8bOnv3wv8grChquhPQ= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SE2PPFD6A65AC07 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a01:111:f403:c40f::6; envelope-from=jamin_lin@aspeedtech.com; helo=SEYPR02CU001.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: 1773214095292158500 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. Appendix B also defines high dword fields for siTD buffer pointers. Add bufptr_hi[] fields to EHCIsitd and use ehci_get_buf_addr() to construct full 64-bit buffer addresses from bufptr[] and bufptr_hi[] when processing split 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 --- hw/usb/hcd-ehci.h | 1 + hw/usb/hcd-ehci.c | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/hw/usb/hcd-ehci.h b/hw/usb/hcd-ehci.h index f0cb50ba45..a11d4179cd 100644 --- a/hw/usb/hcd-ehci.h +++ b/hw/usb/hcd-ehci.h @@ -119,6 +119,7 @@ typedef struct EHCIsitd { #define SITD_BUFPTR_TCNT_MASK 0x00000007 =20 uint32_t backptr; /* Standard next link pointer */ + uint32_t bufptr_hi[2]; } EHCIsitd; =20 /* diff --git a/hw/usb/hcd-ehci.c b/hw/usb/hcd-ehci.c index a4a45c7601..d9d1ac2d28 100644 --- a/hw/usb/hcd-ehci.c +++ b/hw/usb/hcd-ehci.c @@ -1798,7 +1798,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 Sat Apr 11 19:55:06 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=1773214145; cv=pass; d=zohomail.com; s=zohoarc; b=adGZ9pHWsWRmDiKztGXtwMlLndmg8a9gwK936CgkPf+y6mvcbXSC74GHIHnfgcZ3ONNfmDEWqVr3muXxm4n6AAmwORlnrTDK5TD9uyWaLgAwWatxDQazXIEpJbuit77BMAFG7vMhyiyW9TEPHzGI56imHOu/3qhrtw+4+S/07GE= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1773214145; 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=D44Uj+iFK++1h56DD7O5nhKoVQTojM2qNdFPYRPYfm4=; b=LIo3hgl4EAf/5vBk6gz4A+8QUBXm2j3Q8yy7+v2AMSwPIuG6gMUnOLIHn2sM6OUp/Dknxctdy7wlaaGtlM6ROLDGe63KuRITF8uPyjW9GKXDq8NCKZMMpyqFZeG0bB3TzxNe1cLcrP41FzYsr4mj7faqct5eRqoLpTgWv6JKqS8= 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 lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1773214145781348.0108045980038; Wed, 11 Mar 2026 00:29:05 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1w0DyX-0003Jt-Dz; Wed, 11 Mar 2026 03:27:31 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1w0Dy1-00035v-59; Wed, 11 Mar 2026 03:26:54 -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 1w0Dxz-00052E-9a; Wed, 11 Mar 2026 03:26:52 -0400 Received: from TYPPR06MB8206.apcprd06.prod.outlook.com (2603:1096:405:383::19) by SE2PPFD6A65AC07.apcprd06.prod.outlook.com (2603:1096:108:1::7ee) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9678.20; Wed, 11 Mar 2026 07:26:29 +0000 Received: from TYPPR06MB8206.apcprd06.prod.outlook.com ([fe80::e659:1ead:77cb:f6d3]) by TYPPR06MB8206.apcprd06.prod.outlook.com ([fe80::e659:1ead:77cb:f6d3%3]) with mapi id 15.20.9700.010; Wed, 11 Mar 2026 07:26:29 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=y744Agrm5ByZxNYMXVgS16QHKLhRHLZyCEYfLN5NzgSNaqQmOPTf/SReZcOGsHWiwefWEad4xiqlVz4Vqd2onZnM/kvqupzXDO3Fy7Ua1duQLwmbLsVLOvpXWZlRpH7WIe/V9rN1xCugCKoBdzh5YtVcDXk6ARmnp92hP4pDLe7R6RuqRaG07ngexuXN4HAZCtUsdS4CFE6evn1olnF7UNOziXwhQmamjt6zCT0Duny+RHLS81ndO40Lmp2VkQhLrxB+535MUTPHh0H3V+Pn7pKLpAlDuVZTgBzWYtaDEL1z2gPOlXq9fS78rbzZwxHLF+EnCkqC9ftOOHL2wtCiWA== 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=D44Uj+iFK++1h56DD7O5nhKoVQTojM2qNdFPYRPYfm4=; b=DMG9Df6Rp70OV08QMV3E8GHcpg68ST0vSKfeHlEQhwLtdCHIAHeRfSwl2bQrlGMhJiLTjSpquzAvqP10B/4JrMZLCjuO5s3wXjOZcLQTTq10sCbo+NMP9Iv13iX8kKz/yr/LDrm7ckD0ZXJWRbGaal9FMUXg55qS115NuhbIdRH50Camx2vvP0VhUljA2YQSMV9AKin9Sheh/PH5EIe8/rZgJ1EIj+OjzQYxZ2lFv2g0agtnDA4x8X/rHls18+uc9CoYOzGST16IblsNy+3dHLtHlIivvgrgDl4JGhpx9FKqjHPy1rla1LmnCaRr2pM/jWh8hZSmbxpqmCvmAxSw4w== 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=D44Uj+iFK++1h56DD7O5nhKoVQTojM2qNdFPYRPYfm4=; b=g0wpp1NrrquhsOjtlTAJ7Jvchb2jobdKHCiKSa0nv+moQx/jhsjcWXG76jFXCr+HTbwZgagcJeDEFXg7SBd/10f+e+EJwqDXFJqGuir0RZLWCAYYsIvgDNv/RUTLfOOij+wXx9VcRQzumNgJTFlMMIj1x0FgzSswAlxxpmSpGREa82z3AS6KA47oJDXWjzlO7sjR6IQQvhWWnn1daeVcZ2FNAMK+uEtKfaIB5NYV7YQmZLfm0PpUWuaaYuOoD1JmEbvWvb1mtrHRO6oLralKONQwydZI0MjyHvR/Cd/vRPTZBUiZm1fMBxJnEd+nGvGfgkIwc6ods0iMfgsTlx+GYg== From: Jamin Lin To: =?iso-8859-1?Q?C=E9dric_Le_Goater?= , Peter Maydell , Steven Lee , Troy Lee , Andrew Jeffery , Joel Stanley , "open list:ASPEED BMCs" , "open list:All patches CC here" CC: Jamin Lin , Troy Lee , Kane Chen , "flwu@google.com" , "nabihestefan@google.com" Subject: [PATCH v1 11/13] hw/usb/hcd-ehci: Add descriptor address offset property Thread-Topic: [PATCH v1 11/13] hw/usb/hcd-ehci: Add descriptor address offset property Thread-Index: AQHcsShgVVvWfyMXxk6VQwvYNluV1g== Date: Wed, 11 Mar 2026 07:26:29 +0000 Message-ID: <20260311072614.1095587-12-jamin_lin@aspeedtech.com> References: <20260311072614.1095587-1-jamin_lin@aspeedtech.com> In-Reply-To: <20260311072614.1095587-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_|SE2PPFD6A65AC07:EE_ x-ms-office365-filtering-correlation-id: 51ffbb4d-e107-439e-c5df-08de7f3f8303 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|1800799024|366016|376014|38070700021|56012099003|22082099003|18002099003; x-microsoft-antispam-message-info: 4B3IQyfthbg2xotoRIOYwGW5CoP3UPWiTyMaZUEZnz0blXG8z00WeFR/Vt6Lzm+cSpaMriobZIjpsrAIxlBrVFHXwPiONrEcmRIDrnVi4TzDZ6hoZFF6ZN5gy2Co72SkG4LhLPqpGjam/yIkKxVnvDcUiKSm5u0tV10TLqX1Gb9hnmYd8/vMFtnVZS6R3QTgKNqnr3K/ks8ZKaVgOCRPFEdL3eI+y5hkaNG8AGhZminb2238/mtYqkfGRyLJCoDHmFzc7wGtZGWhwTSgscyDRDB8o+fXOfJMdD1QUrIxZmf3e4u8BerpdJiASOQ102HJvOtmdM+Gtu9bMCIKX1GjsED0iDT1ywU0BuJlKGOzDLqY7JjdJN7SEYuJcwSLUcr0ZMrO4Nry/n6pXpfczi6RvRY1ki8km6LrLSdRwWa0+jyGa3nzHvIz1nmva6KMLlE31Y8BOpv4mvQOJP1z3EhaX+HAVOrKak6knc0qsyTZsqfqF5eumrFUtYz7iZW4z+Du+aRJyK6+Nbzs99E6r8v90+kha1JhAplCwY+X90kmFrJwSwO82FiPCTecZ/Pzm7NfAOla1a07NXEKcBZZ39dB2OP79PZgbDzItZy8Lyx+916ws+gOITAv0gtfnHJcR6k2xOhAYevINMzhdJIfO7MVBBxa1kRDHDZ+nwxhheB6LdqIqE2Rna5UOwogPwZ1BrJPTAV/rLmz/i08QF+VXwX5c4PXzqFQfWuweyHjYrYMgjS+V3GQ8/nUwWKox/okYW1R 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)(376014)(38070700021)(56012099003)(22082099003)(18002099003); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?PccI92+KcbqZ8AZ4UowPFdMVrtD6A/IO2KGoUNuYllCupH5+FpfEa0X/PN?= =?iso-8859-1?Q?nOB/ytd7mWyb0z3rI3xvtcFR0dQnztGpVZO5NVT0a8LcTQnGKaeb5IKatf?= =?iso-8859-1?Q?CWD3EkxIt4yc0bpeQNVY+q4i1BDM1Z6wNx8nBmUZ/rE6ND46APEIw871p2?= =?iso-8859-1?Q?T2ek6FQunZTtNu1Tmewwc312X9eMCbmqcU2j5rDIknGi3PH7WovPbRcbBx?= =?iso-8859-1?Q?bFFduwQhxmCnZenPunY/P3jR+qWcYnLRLNaMzTn4piMWi5xObYXlHSY7Ou?= =?iso-8859-1?Q?w8K2J+XXKWWaY5BKTugSl8pGo4Ic/5rsLGsRb4duhGASi3X72QpZ2hXXAE?= =?iso-8859-1?Q?38TUXgAGtrSs22aVT+Ebn1fBLh0EkvXPkEY9r3LGt/7U7trcYWdQ46EbeO?= =?iso-8859-1?Q?vzWwmnbaIeIfEfyWS9CGxtE6XWn16fWKUnQ870wkfEaf1Py9wCbfZJIVHu?= =?iso-8859-1?Q?++oPCLXKac27jvfnghJMg3kCcfj5pDPPMugfdXEMsH5eL7646fjqkewvaY?= =?iso-8859-1?Q?GsyW+xLGuTpaLt8HJnoJO4782S9QUsfFMdwkOrSI7ZStbq/bQgiwdBwgJV?= =?iso-8859-1?Q?oq8vFOWG7N4C0z+j5lkVOZJscPyH4kAaPom2TIB68PZDv9I4NOhxKivNRj?= =?iso-8859-1?Q?L1cKiSKkGA9e3OCMNG7cnDyfbx4gWfQNBj5CKAEeYesVpOvDc1b/vNxvcA?= =?iso-8859-1?Q?3KX0ZB8VDmNlF1p2e5FGa9bBwdXeuh2nag845GdDjSdONebfus6U+pn8Jx?= =?iso-8859-1?Q?5W8ZiGtpbF/4VUqOfiXkjAEB7hxfQizKH50NRDVdRy6Dqw/EmB3F5awrTJ?= =?iso-8859-1?Q?X2U/ios72DoyBE5Ickwr1tXIsDsW8uwyiRv5pNXX1X97w1RYgYPt8nfW5u?= =?iso-8859-1?Q?vZEyCTuMSQKX+8KaZHomLlajatmBYFXPdxDvoxN00j0kvcWUS2Fqzp34RN?= =?iso-8859-1?Q?fS/OrIuj9XJ31NoIZW2zuQo2EzzEeL7Q1/S0HQdGDxksuEcUKZvh+014gH?= =?iso-8859-1?Q?SqaaBGw5AYWM4FwbrjWZ8SnkdP2YRqMLzf2DNpWCURuIr3QHzTmh74t51I?= =?iso-8859-1?Q?lWgSGpOZoYfeD2JE0/Oso5+cbqoqP5NgFlTStRZforbADP6fcsH0SFZrAf?= =?iso-8859-1?Q?jWqkUWKGgkeQZpcr3F4LvGdRrJQWZ0As9ZfKmlgQpYV6zdY9i1aTJS3R1p?= =?iso-8859-1?Q?LGkywI2B2m/4KiyfQuyKGNNaMlmo1G/Ab9KYZ0yVF7wgAGAzc3DGvPffvn?= =?iso-8859-1?Q?eHWzPnorvTJf8qvRUgkCO3XZrA9NWPhtLFfMrzC4WFAHhj7CiGiEF2z6Zn?= =?iso-8859-1?Q?oJiIH77pQyO2vNhgiVinaReCShtdqXzXEB/M24gPCKJQYPSXBUSstV7dIp?= =?iso-8859-1?Q?1S84sVYvE1tvCWE2vd+NYuM1Q/mmIWnJVp/YFsuePw/OapjxON4eTxlLWg?= =?iso-8859-1?Q?rNhX/ts53huU/7yMLPTkV1UrtV+EvwovyG77lZdy+YC5K1f1rjwK9HMO2Q?= =?iso-8859-1?Q?VTbWz9KJd+t3nzOd8IKhEFBLmllmNdcHQ4TphNuyKvQ/sAWL5WEZoL3QUP?= =?iso-8859-1?Q?FJiH+XorvTDN1fviHPsTMkB/g19DJO/Rec3MzGLYwtWfi3wojBJ9NW2A+s?= =?iso-8859-1?Q?xP7f9/YhfOL8vuMF7w31c+25bU0qDNbFUwiTYj2a/xy+QdhLnKXFe8VM/p?= =?iso-8859-1?Q?1+pABJ5sm9P2/y20Y0ZgIgDlZY+rDdRsxYYVLmNoVoQwbfgMERnMP3zBjq?= =?iso-8859-1?Q?WKJeIKefLBtGqwRk4fsYfFuXo45PUpiIh2NAD3bCQz1rD5n2pJMhei6Mbx?= =?iso-8859-1?Q?QXvigCxaOw=3D=3D?= Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Exchange-RoutingPolicyChecked: pfecHUYWTZF45CbKKZHYR0JwR5n6A/9ZjzEVcx9BUnjLDmQwBFTx91UDn0dMu3rrEx/lqpT1qap2D6YfU5zcFk4frewfqOn7iQVARH7cJRF8uKyl8fYZlcq01hIsX2+mwFwBG9A/ijtnGy6Nhm3tYVe/FN/jEJ92VC/YguYXFF5fb6wppJhNBS313F1APesI4vINxm0O03dVnYqJHZSVrZLTccpmNG0i1QrQ1lmmQq8iNHm0hyZygShCTQrknh3B/tw7yMmq9AGkR74CWnOEd2CkcXNyV1pLiSVVWxbfg3aorb9JWZuxWBwTrwaQccdnHS61kmhWHGWaAeHW4BMlEQ== 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: 51ffbb4d-e107-439e-c5df-08de7f3f8303 X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Mar 2026 07:26:29.0555 (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: GCC5ivcqM+2RzFX0au/LSUvAWDta61BcamC+IggEMmTh6Xn6K2xHrFhl7j3l2AirWu5Migk+rW+NbXJ+dIrTEXoVuofoclGVzxXR9akESaI= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SE2PPFD6A65AC07 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a01:111:f403: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: 1773214147329154100 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). Introduce a descriptor-addr-offset property so platforms can provide an address offset applied when constructing descriptor addresses. This allows systems where DRAM resides above 4GB to correctly access EHCI descriptors while keeping the default behavior unchanged for existing machines. Signed-off-by: Jamin Lin --- hw/usb/hcd-ehci.h | 1 + hw/usb/hcd-ehci-pci.c | 2 ++ hw/usb/hcd-ehci-sysbus.c | 2 ++ hw/usb/hcd-ehci.c | 1 + 4 files changed, 6 insertions(+) diff --git a/hw/usb/hcd-ehci.h b/hw/usb/hcd-ehci.h index a11d4179cd..6593480028 100644 --- a/hw/usb/hcd-ehci.h +++ b/hw/usb/hcd-ehci.h @@ -279,6 +279,7 @@ struct EHCIState { /* properties */ uint32_t maxframes; bool caps_64bit_addr; + uint64_t descriptor_addr_offset; =20 /* * EHCI spec version 1.0 Section 2.3 diff --git a/hw/usb/hcd-ehci-pci.c b/hw/usb/hcd-ehci-pci.c index 2ea8549db9..115d05ede0 100644 --- a/hw/usb/hcd-ehci-pci.c +++ b/hw/usb/hcd-ehci-pci.c @@ -139,6 +139,8 @@ static const Property ehci_pci_properties[] =3D { DEFINE_PROP_UINT32("maxframes", EHCIPCIState, ehci.maxframes, 128), DEFINE_PROP_BOOL("caps-64bit-addr", EHCIPCIState, ehci.caps_64bit_addr, false), + DEFINE_PROP_UINT64("descriptor-addr-offset", EHCIPCIState, + ehci.descriptor_addr_offset, 0), }; =20 static const VMStateDescription vmstate_ehci_pci =3D { diff --git a/hw/usb/hcd-ehci-sysbus.c b/hw/usb/hcd-ehci-sysbus.c index 61215e9f3d..df138fb339 100644 --- a/hw/usb/hcd-ehci-sysbus.c +++ b/hw/usb/hcd-ehci-sysbus.c @@ -36,6 +36,8 @@ static const Property ehci_sysbus_properties[] =3D { false), DEFINE_PROP_BOOL("caps-64bit-addr", EHCISysBusState, ehci.caps_64bit_a= ddr, false), + DEFINE_PROP_UINT64("descriptor-addr-offset", EHCISysBusState, + ehci.descriptor_addr_offset, 0), }; =20 static void usb_ehci_sysbus_realize(DeviceState *dev, Error **errp) diff --git a/hw/usb/hcd-ehci.c b/hw/usb/hcd-ehci.c index d9d1ac2d28..cdb53be4ae 100644 --- a/hw/usb/hcd-ehci.c +++ b/hw/usb/hcd-ehci.c @@ -155,6 +155,7 @@ static uint64_t ehci_get_desc_addr(EHCIState *s, uint32= _t low) addr |=3D (uint64_t)s->ctrldssegment << 32; } =20 + addr +=3D s->descriptor_addr_offset; return addr; } =20 --=20 2.43.0 From nobody Sat Apr 11 19:55:06 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=1773214074; cv=pass; d=zohomail.com; s=zohoarc; b=WeRGputpCvJPAMNRX7qhgMERYK2pd4XIkb/LGOzZEwX4JY/i4VZf0xXom+Wmqbp5bsyr/ipeUyIMP8M7yMnvV6024og1oxBSeS6Mgb3C16kNjqFt+YrcPzp+pP9Nn4czDq5uN3nZ6M9km4ShWYMLDveGgl0Yen3xE/5CvS2J+WI= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1773214074; 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=3KL3ae98Fk7PZAGwiga/B4bfXs/RBAQVntYC0PZTpLM=; b=RlIEsKpU4UU9RJKU9NpAHucGvtO+qInAEd0iZNLqKhY64qDs/iiejZRttUgVMBHkMiXfU1ju4Qpm4Jvh3WrvJSBuIoISvDui51LI/+2djMkBLRkSs0q4Y529KOvqdTtW1xPxPy+/jchFAaxG/51yNIHh6VMCwe7hfK2OsACUMbQ= 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 lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1773214074259246.10148461382687; Wed, 11 Mar 2026 00:27:54 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1w0DyF-0003EN-CA; Wed, 11 Mar 2026 03:27:09 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1w0Dxm-00031V-QP; Wed, 11 Mar 2026 03:26:40 -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 1w0Dxk-00053a-DF; Wed, 11 Mar 2026 03:26:38 -0400 Received: from TYPPR06MB8206.apcprd06.prod.outlook.com (2603:1096:405:383::19) by SG2PR06MB5084.apcprd06.prod.outlook.com (2603:1096:4:1cb::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9700.11; Wed, 11 Mar 2026 07:26:30 +0000 Received: from TYPPR06MB8206.apcprd06.prod.outlook.com ([fe80::e659:1ead:77cb:f6d3]) by TYPPR06MB8206.apcprd06.prod.outlook.com ([fe80::e659:1ead:77cb:f6d3%3]) with mapi id 15.20.9700.010; Wed, 11 Mar 2026 07:26:30 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=PP+9sHePnNYSAyDZuANTPS0UhSPSmuPjGInkmwDnjJvcX9EVaOJMkBYT3u3CpOiZxRjQCAGM22skdtvESr5+hDQnYRt4BjyXaYakNgkod/iLdPM3PYQEwF8YBUBZu9D1RH1Br5wtz07VxxP0Z88p5viMzstRj9tR8XHZdThcoPKhGQgdg7Wf8D+64bJIWit23gPUWdf21RbN4kgib+mwG33GiluLAiCmIynaH/6FXGdCGVZNmdOwF3nYazR/9HTYqQu5WJLmCfntekAarsFU8OtrljqNxnq/oiRmVvU/zfy5TLk6Qh0ByZDYfCxzCdYeb0xXtxK6T81oE7vVTH5GcQ== 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=3KL3ae98Fk7PZAGwiga/B4bfXs/RBAQVntYC0PZTpLM=; b=wTAtOyUdAv5ZN67im37Hv+gVfrMTqXPcYslb2AOZU240tFrv+zd478PqUsjOVamM6NQb0J5dWgK3tC8xTRzgOBZJmmW4zDpyNb0FlrzQS3FeiF+fHj+j1mlpsRKKovJqWm2Hq5T0/rOnLZUbdl1qkWauVVyJ7Ea8sloHtyVtqOhGmGsvpx+q8Obm5oaJ8ODP4VcBjLBRPYhapsRdBReP5pa10NQswLbk8ypkz714tOQ4x+OY5cFej21EPZOiREaq3n3OzLdPIMoE5jOlEOz1rpnhFUc2ME1BIinUjoYbKkowmXCSCr/RR4lS685catxAsBRvsb7B0AhRc42tHX+4WA== 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=3KL3ae98Fk7PZAGwiga/B4bfXs/RBAQVntYC0PZTpLM=; b=dnIfzwg4PJxDDTSu9WBMyOgKUW0ICs8S5eAi+0dsQ2wMx2fjq9kHqmkshuM9l/ejRl1HKOKxzG1yWKBWY41o+7xu0s2TE0D7PD3iX0gtSI7MO905+43UDx6B0UHQu8Xps11TzOXHOijstF5xK4jgvbuzINa6t/PVR1v0okpn6zIq/He5RyvcU36XLXyUva8GbybJXevx5GFq3XwMv3d64o+2A5sc/mQV9Dd1BB7OoyQLAmpCXtmf3/SzwBRoND+PUjk4ztibtqiNYh+wgYAaH2GhBMIoL1ScZged/h0Lns5YAqepqBynkUmcX66uDcV2VED3XeXw70/5pp6RkkdJtA== From: Jamin Lin To: =?iso-8859-1?Q?C=E9dric_Le_Goater?= , Peter Maydell , Steven Lee , Troy Lee , Andrew Jeffery , Joel Stanley , "open list:ASPEED BMCs" , "open list:All patches CC here" CC: Jamin Lin , Troy Lee , Kane Chen , "flwu@google.com" , "nabihestefan@google.com" Subject: [PATCH v1 12/13] hw/arm/aspeed_ast27x0: Enable 64-bit EHCI DMA addressing Thread-Topic: [PATCH v1 12/13] hw/arm/aspeed_ast27x0: Enable 64-bit EHCI DMA addressing Thread-Index: AQHcsShhqT3KdGWq0ECUNysepEXPjg== Date: Wed, 11 Mar 2026 07:26:30 +0000 Message-ID: <20260311072614.1095587-13-jamin_lin@aspeedtech.com> References: <20260311072614.1095587-1-jamin_lin@aspeedtech.com> In-Reply-To: <20260311072614.1095587-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_|SG2PR06MB5084:EE_ x-ms-office365-filtering-correlation-id: b39d7b23-a101-4b7b-8273-08de7f3f83b1 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|376014|1800799024|366016|38070700021|56012099003|22082099003|18002099003; x-microsoft-antispam-message-info: cZBjq38Wac4XH9GlfRI8bVWxUhPhdyzU2MTCfhB8IA/J/14gvYxpueZJwSykJNJwlMEEKgnpKHYtUKN3xtlwrkgrqWUVPuT2DFWUpEAOpzy32R9OyjDKC5ie93Sdj4ZOmugRghjwutf4gP/f5fh39vjL1DUQwd9w7BmOUUh+Zf9PKbeOdwzf0lZjXteFVb2YlbVn74P+MgaJHs0jAWw6UDEe9poprcLh9AOpO6JdSP38+FEy9Wdj2yGy9gi4CuqimO3MhpCXNBS5C8Wdi4aDtBR+f9V6bv/hSTD6eIVDAZ0Q6s13Fa27UpP4zH2qjD+aTxatzadgzwH73S8Kx4Bhj3HV3MV9zBVO4ekgq+cKM+kO/0oym7y+yuXWvCLopVZCiMKWDrkpzoLB7g8aDMWLE8xZaRVJ0i4rbYwFyLXogJdYnImghJRtWJTRdStu3ISBgkgK0Fun/UH8M7NF/cYyQ0vTkmWe73JiG0mpyVMtQ5DX8GS1a1EjIhMr/NxYVZB840doxf+q30FyWp2YJIipfHl9AC04RxHbn7gsQALxDg+0D/nkx8YyGS0iRtMVIrvgpuOnBLNnzNcUg03472OYl9V/tUJfwwiqKgpZvd1jm+87sHI9HIoIKrta/XfdKEa1xuSQtJ/+tCsayLnmyw9ZmK+GDoWFgvyEMQvY1/luhryv7dHDxtuwHPSWn1AoykK1rdaSos2xGXOkuU7eTx5W05SYPktp+YywGrzTFKKOu87/Q0QVKy/WWjLoG+/IfOJ6cccAyU19jVl90BCXm0znA7Wn2LOz+SNB8QNJuMjbjkk= 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)(376014)(1800799024)(366016)(38070700021)(56012099003)(22082099003)(18002099003); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?+IByQcmdcQTOMos8qFqz5ST/jnnl932ju3B5wQiNUB0YRH/lxFHzHV3Bvj?= =?iso-8859-1?Q?UgrHPvFM4nyc2xXcUuBdL8rnJJ8vUAp06qJsOS4CUC+YJp2gMw5tqMARtT?= =?iso-8859-1?Q?MVcggcIiTaAPcSjJouyqrX2gE1QFWvoL/lp80VNAVLfRa000s/WcFQ77xy?= =?iso-8859-1?Q?m9NxB6LvxMbltkjFAxmkDqmuTj1u7jcXh2MsInZeVxvExRagRGNeqXJpa8?= =?iso-8859-1?Q?pXhMq1QKiKuDnajMO7iUn3rZgYCtZz7AMz77j1bOuqn8U3gsdwQ3d8ensB?= =?iso-8859-1?Q?JeydwRyaHL3AsmBoeQfomMXpSbBshyQCDKmp1ejY0LYSWXoZ4Uyji88iu1?= =?iso-8859-1?Q?b4I3fMOdOkODBvd6A3k/PzfA6kXk53pxjz3c1T+CxzdCjTOMcXjTvIWk3M?= =?iso-8859-1?Q?D/AXWzMiVixsGETkzNnggpRUpCi+yF3YSL0jUgY48IQkXE/PjG2r3ihwp7?= =?iso-8859-1?Q?f6GRh0wZ6WVlYsxuwtx2yFI7cPxkw7Ir8I+7PWYon/dntakJvP8dBGoUoh?= =?iso-8859-1?Q?/+EnqQ+kEgXaeM78UH0vCjdK1MRe/vq3fd113xyK3+65CHsyYLw1I0Vt4l?= =?iso-8859-1?Q?sEntK0jMnY4n5ZmrsHY8tU7V+wroWM0Zw2Fhkx6vG6ZUgqughBQ9FcOw10?= =?iso-8859-1?Q?JyQArjknct1hPNVrMpw3fIkQq2EKEv6qWP8pVXR+mh0+SzsAF43HIi8g1B?= =?iso-8859-1?Q?isX6Rdw5h41LZdsx0bNAgQTHvT9P1r5t5s5Zb3398te5ASrRd/OtskF6kc?= =?iso-8859-1?Q?WWOMLafwohJI7QweWPjssoCZ8Wt70NR7FQynCC1qW7z2K8t8X4c0ttT5xM?= =?iso-8859-1?Q?xuUtFE8iJQ3fhZl2lmDM2rsE6LSR0l/gTCmdKOkyAAKlELy/1cCqk4MFWD?= =?iso-8859-1?Q?YR8KYLOXNPULc0ykiA/d7nw5mwR+jifiil2fSGTPsnIqkOpyaHBY1/L+vy?= =?iso-8859-1?Q?nLt/DBSg2kkmCjsg8g9gbRmpJcpLPK3SAWbHqFu9fq193/X9nPb+qyKsPZ?= =?iso-8859-1?Q?ZKMNnIisqkrbTc+aYz6fm7yvK5CqF/q90XLpAabkaMJ58ERPKh2DM+mGwd?= =?iso-8859-1?Q?NHS/QLIm19QAwJsvnjufM1JAbsKxV2L70zhfozX2MUFjSFyKAbgvCbXKc5?= =?iso-8859-1?Q?MqxAfu7sDaygg/sybEeRrFZDUIZLi0v42SGb7QouUxHF4uK29MMxZqYNVr?= =?iso-8859-1?Q?pcisxLMaYfzIyI5jsbCH43hl91f1tETdrkFy5J8QZ63btA9HMIP4w6ENru?= =?iso-8859-1?Q?ewsu2i7LxfI+Rl7pWdIntsj4JbjudDHrM6jlCWgNOTTeIe7zYy3rFkKpUB?= =?iso-8859-1?Q?P/X2ENKKDdfdZ0cxcFhvcUIe9ypPClgSu903wu+0x0sSL80Sg3xknMNce/?= =?iso-8859-1?Q?+Gw7lW1sh4O8/Ww5l/8nMq/fqQKwcAfcZOp3wa85CwP+Oy2cfwjt8Llryd?= =?iso-8859-1?Q?poMxI3ulqL7yWi/goSwWJR2TUGl9hAR7O4M0jMoMyDM15Fg9QOQ2d9R7k3?= =?iso-8859-1?Q?vHMpbdBEKaVjETeU7gPUYNqPpSFboCw8zdEi5FXqko44bXFKWdjb+jtZ38?= =?iso-8859-1?Q?JP9hmYU7UinHTSbxzf7/C2ZmEet9/EizpDmAd/C/eQ+F0Vj41Rt0mozE6t?= =?iso-8859-1?Q?FkN5rd+fE0slHhU6O5B/sUB6B1LnvnANpvIGnBZ5ymHujHr3Vh6ij7J6il?= =?iso-8859-1?Q?SoKQJKWyRbXUHolW/9E6Dm6/xefp4/Y3tcYwDMh0O+KvPzwa2A4TsT0wtU?= =?iso-8859-1?Q?GwGULH+5DJZBMSLmC+hklJ0tJfQCACNqR40J4CQ33pVmTWXVmpcY3RVg4s?= =?iso-8859-1?Q?YIvlQ1p7XA=3D=3D?= Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Exchange-RoutingPolicyChecked: juhHa+DqjIEgs0/prUkY6syABD5hkbBx2/5me0wX0d/UOBsVzjS2l47I7jKEcZu5NNjiFeEJMPS+a2NUZgRzaH2tfd6HWb00HTp0S9m7oyS3+eQ258vkL4g6/TOzAxDis5HfcqBGBUhYsQ0T91xIGkL9Xg01gnS18Wme/wSJ8pTfQtLmSkE3Y7ghprIfPFMNgE68CkJOzTSXG3i1797KJHiaw3bu/DOdtkZs6tXwvyc4vUsI3fOq6iVbI53f8w2F0Fb9IHj77lka62e4awvsfDG89I8GHyJrk3AE77PiShaiBXA3p8X2ryxGqSO92zP6dklMM1ipUOLKYBlP+H/fCQ== 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: b39d7b23-a101-4b7b-8273-08de7f3f83b1 X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Mar 2026 07:26:30.2199 (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: zrohdjbd5m2HqQ0ASEdfRr9KGiY+KV6Vi1HqyRBsknGH6PbTHZIU+SA8Y7oU63PUn+whD9LPr+/ec66yCUBWyz2pkmV1VlrHqG/ZK0g0Fa0= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SG2PR06MB5084 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a01:111:f403: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: 1773214074995158500 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 --- 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 87dcb82e1b..4a1f7cad73 100644 --- a/hw/arm/aspeed_ast27x0.c +++ b/hw/arm/aspeed_ast27x0.c @@ -856,6 +856,8 @@ static void aspeed_soc_ast2700_realize(DeviceState *dev= , Error **errp) =20 /* EHCI */ for (i =3D 0; i < sc->ehcis_num; i++) { + 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 Sat Apr 11 19:55:06 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=1773214109; cv=pass; d=zohomail.com; s=zohoarc; b=k7rbVqDsVlCoyslHwRCepDqaz/hkVuP/mXVbLaVX1kXb4LgyOGhhCFomTCQQiv5Rwj7WX6LHePWVvvmOYkhVVuFTqEg7qzPJ3XWaAGb28tkceJ84VBIHiq9DtaReS7v8b4pf10FrJG3oglcBMnUbfFSaJI1RDETZRy4p+s6XyKs= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1773214109; 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=ygTh7ToBfZdOi8sGPc/aXWfB1/AxJP2jnWfeTJmsqNs=; b=oCXfK/+I/5CXEJKLF01mC0i16bAnbaa09aqgVjIurJaKUEltwoENjz0SFUCxMZ5tN0Ht0RpLpndL5BY3HWa0ecU7/+yIAMTXslOtANdRnqXZ6fBWX6GIcGyi6XI8qy5h+oKYGRBH5m0RQqpNW/W3qfaQI+wIGXis9q9/fTU6aVM= 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 lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1773214109679779.1668705929181; Wed, 11 Mar 2026 00:28:29 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1w0Dyd-0003Kr-5K; Wed, 11 Mar 2026 03:27:36 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1w0Dxv-00032p-9z; Wed, 11 Mar 2026 03:26:52 -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 1w0Dxo-00052z-A7; Wed, 11 Mar 2026 03:26:45 -0400 Received: from TYPPR06MB8206.apcprd06.prod.outlook.com (2603:1096:405:383::19) by SEYPR06MB6082.apcprd06.prod.outlook.com (2603:1096:101:d7::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9700.11; Wed, 11 Mar 2026 07:26:31 +0000 Received: from TYPPR06MB8206.apcprd06.prod.outlook.com ([fe80::e659:1ead:77cb:f6d3]) by TYPPR06MB8206.apcprd06.prod.outlook.com ([fe80::e659:1ead:77cb:f6d3%3]) with mapi id 15.20.9700.010; Wed, 11 Mar 2026 07:26:31 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ejmWWtbl/snev+tU9B6gyl1ocSaVDO/MGsnCXFtg+6FsNxQwVHTuZPHe5yMaIXQTIEwoExSthQLAvx8UVngX1mJ2j3IAClZICEHo8Ni+diSCkvNI6BMwECHvUHyTEqVKz8oU5QpvdSQUJ8YquVcDlZSw/Ixld+J7GW2j2EgNMWIltqGav54mZ4kmjgyYhZhOuXLuKJnAEnw4mi9HgKxy63i0qybHbH0CEqqqJupyZo4Y+a5Lr4rki35nzwzno0OUQ/im5u2GN+qSGZycT4bERwPEu22SXsdzq0xGwyVBru1qgX549qc2dZvvmfQwZ2zBFhob/qy59DChUJl4ssC7gA== 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=ygTh7ToBfZdOi8sGPc/aXWfB1/AxJP2jnWfeTJmsqNs=; b=tKoNdTaiRtjPac8PsG024tQY+vIpm8oDojXBi1Pii9ftB8rieEMCAz+KzeSh4FITIpX/asc0er927R1BuFYh1jzlmPUMScxE+bbmQqu8UIIa1dTFMkNMyKsP+0Bv55IiBOiYxf6NdVZ/ZtxU9VKwdnHz8tG3o1RNTOx/UPsyToVy0Bn7iQw0IyhONJ3/DKYtukWee0MrbZ336gPnhrWPGnszO4IZv4Dga9U0aJirvE8UL4KAkaqExm6rTeHreAODlda4OMs9YMFd7a53gUEVcPd7fSTvqF8AWw7nmYFhyWrjSbycTm9BY8K54PSvLvLVndMH65IxNo06J+OmMavdHg== 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=ygTh7ToBfZdOi8sGPc/aXWfB1/AxJP2jnWfeTJmsqNs=; b=aSeKVuBp2gGo3Ew5Qyo6pNgzDAO3XW8X9mG9K5R8EH6OzW6bzZPv6/6VNnDRLkcaLAMwF3M6xMFY2z8Kf+xVRbfugYIP+RPk6YTqzb/WPqKpf8RpvYl7nCwAv49DlbVkGDvMqNo3UfGUpnSVNHf5i3/VdHJB20SZGpUcYehUsreFlsEVd+oOsRbhZxDGC24ZcJ+T6oDaN0FJ8SOC0RJmrdwhOUiZlhQTBQut06199KAW8qLnywaLNo/rR1ZAU6u0AudE4Ova+iZXAcNf1OnTPGFaiifnfNFbn9V0LrVEnWuTQoMdRFpExDZPmvW7QuOjNjz1oZbr+UsvZUXBt23AYg== From: Jamin Lin To: =?iso-8859-1?Q?C=E9dric_Le_Goater?= , Peter Maydell , Steven Lee , Troy Lee , Andrew Jeffery , Joel Stanley , "open list:ASPEED BMCs" , "open list:All patches CC here" CC: Jamin Lin , Troy Lee , Kane Chen , "flwu@google.com" , "nabihestefan@google.com" Subject: [PATCH v1 13/13] hw/arm/aspeed_ast27x0: Set EHCI descriptor address offset Thread-Topic: [PATCH v1 13/13] hw/arm/aspeed_ast27x0: Set EHCI descriptor address offset Thread-Index: AQHcsShhN7YVfaaZwUSJzeY7mANdLw== Date: Wed, 11 Mar 2026 07:26:31 +0000 Message-ID: <20260311072614.1095587-14-jamin_lin@aspeedtech.com> References: <20260311072614.1095587-1-jamin_lin@aspeedtech.com> In-Reply-To: <20260311072614.1095587-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_|SEYPR06MB6082:EE_ x-ms-office365-filtering-correlation-id: c2b4e2f9-a415-4d1b-a9cb-08de7f3f8463 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|376014|366016|1800799024|38070700021|22082099003|18002099003|56012099003; x-microsoft-antispam-message-info: FmN5KTPaGVjy8c8n427/EHwhBVKeE73XMrlQz3Rq2aVstKDXvqKIgczfbv/V7XxYbyElasKKvtGRnHKYy4eHycjnn0J4sGaMQKZodJrC/cmHq/dly1nSYEbyXmZ0dWjRIegInY8UBHTbrs0Ryb5lr87RqS7+qdWSjHG/J0y3tZ9r6lVHLdjYPgJ9ir+l52FQ3iy5Iv3GXdjFY0iXlpVRPIjJ8M69hqQQ9OTtcHS+MPGQAm90qnnTTElb5SYmMQ46ceJ0Kgc9MP20oViZ1LAM7+7YRy/wiKYk+8RHKk4RKUAcEeEnN/LjxQBcOqCkb+wvfMmD21gNaOEy6I9X1q7RCmRdUGlrc0GMZm8V06pmVCr8vPEKsDl4+BU/N0IVFNz6Y+bb2BUEhQI20ctTn9GIpEaG4jFEdvIn3ZAXM8sFQ09jShp7AQA+bU5bJ08knCsKezOw6SGjaGFbhujgKLzTPtgNC1237YH6uCyB9Z9wZY0wQgAHhsA7Sy/tj8AwEvUh2HAfxObXhLEnF6P9lAQGVe6ZwCarCPjJiGw+MZz24ZepIwvqDWNAvKxhqvCpMHrnOQwejUmzGZ/4qjeVMFZXRE4rv+9DebyrJkMmSI/1JL1jIrMZP4WItKYSiSlWFLOVEKEATvpzNSuT41s3NMFe0PkWDYBThXyinGJ/J0mB2lj2w9LVIPYiT+PxyK/MiRjiVy/RV+UjOz0AGm650jcFbgnHISVLzHW+FqhiQ91bBvN+T0B4cDKiacQXeL5ytHDxPlEn2mDG27vazZsEK2bVMjJgD6SWb+hN2LUGFOVPl/c= 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)(376014)(366016)(1800799024)(38070700021)(22082099003)(18002099003)(56012099003); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?5d8C3HB3z1XYWWLvzKmAMzqnrTeK2B7jMToqfEabwkAu1gHUvgoGAwa8kv?= =?iso-8859-1?Q?gRYP+n/n4rRwySz36/ffMiSgJ00ORu0yeFquvE9mRFP9UKoRkv9NcGucFc?= =?iso-8859-1?Q?VMAyjWWATF6nZITVZdLlsfTviiQDoG31zoWpq+ykR4lkkxobpCwSXJsrFI?= =?iso-8859-1?Q?vzYToKGaEXfQAxw0joCc4V1MZMa3zrz0A7hlXitQT4y/jLesutYk63MUIG?= =?iso-8859-1?Q?0yN/bttrGVejcz3BFmMfi9LXySP/PMQ6mlxvz8gRSv48xgkC38qs+DyJED?= =?iso-8859-1?Q?BaGrzQLIZ3S5t4t7Q4qOa7ufKlLtYxFBtGeda7tPc4B/eoBtGe6uJbNMns?= =?iso-8859-1?Q?ARpqvh3GV0Sl/StX0wLtNTtH83R+2k+zze7zttBarF4FqwBtG54zmON80s?= =?iso-8859-1?Q?ykb0dmiu9OyPAOo5wSQSyCwcAkr/Uc7wDtCucER8AUGBkJwfZBces/65I1?= =?iso-8859-1?Q?M+21XwhFNyLnibaU2v4Ds+gWYoDHVGa6iw+IuxlBPyZRaAYo2JLpH930jC?= =?iso-8859-1?Q?j7YkzBiMGLOHSGhZQO0QeYpFG+qAwt6CDpaAXUi9MMVoXnfG/TsV7cd0iW?= =?iso-8859-1?Q?YUH7Jy2ISCSb2QZKHi5WewigeWY3wZWKrtKtTJQIsHeZB3AblMGkbh9f2x?= =?iso-8859-1?Q?kVWehW437sj2lj8fO5tz8gTkUaQUC0CucT3ZJsI0wlSb97/OmSohVhl3DV?= =?iso-8859-1?Q?3ElsZLx90yWr5xpzv9QWA41gaSj4mO+cuqlyLjryJy4e1YHxrHNfUBXO7u?= =?iso-8859-1?Q?ty4vRwaeBe1itxE+OuvczJvbgSRumA236SIpV9NwK4AnSlKeAgLELZmEFs?= =?iso-8859-1?Q?SIBtdLYhoFkmq3pkoOIHIu7TrBYm69WAo6MJ0/XUu4y1eMthrwkfBz3/ZR?= =?iso-8859-1?Q?g+kngT5ujwEl0IntUODlxlxAQJPxIjsx1rRRfe8OLbrIy0ZYUsjUr/wVLy?= =?iso-8859-1?Q?tnv/YEzUTtjOgtKO32IRk1lHkq/acnQ+fl6qjKdKCKA7ukNGqUAU9dtJeb?= =?iso-8859-1?Q?MDhp3en3QkIn7/OAZ/Vu+tmnPCvA2TeWryWpGPI2fpZqCJRJKVc/EX7czM?= =?iso-8859-1?Q?OyzTlu3aAb9qGBD1cqQD2xE//VykzmadGwW8IkUX/Z/hRE3NoUEs4Q0mJ0?= =?iso-8859-1?Q?NvOi+ISQeVbFMKdC/QCgNOyU6h6/TXDD5JaLbQT4OTHeFarlp907nunEjA?= =?iso-8859-1?Q?ZFD+rEdDgmmAKllWLfbwgmd4d8kaaNg2fNeE6M9s8Zf7uJsJl/WDFe9Sfg?= =?iso-8859-1?Q?bIRLUkD97zCLTsbbTa/CdB/BmA/hDFN7k0xRqtP0X0q/JF6qGeAsPkfeyN?= =?iso-8859-1?Q?b3dJtl1vbOOs4d8WWK6kCA/sQBiTimglhVQojwoS9+RSCieVFnpeVd9uqJ?= =?iso-8859-1?Q?pYzv8WCO8TWfTGJ0m0myFQASLNIasU4LbVjkRtp5BXzK8vlQzePNJfMX0X?= =?iso-8859-1?Q?V3JWYh52VJBRXEegDpG4je+z4e5ZTcJvlpoTLI/0fRpSyLOQCT5f1Elu/x?= =?iso-8859-1?Q?mHig2txprUihsjUyY3xnVJb+1bnKd+NbuDmw0+c7rOd2zpprt6EX4isFhN?= =?iso-8859-1?Q?r3wHiCZN/5CE+k7eEloIYE9azU4Nj11KleFrvo0b5SNGC6gbNdNTWL28mu?= =?iso-8859-1?Q?v4jZ7pDd9yDBPwgdAtueDv3Izii3I8Al1lxTDG850K8ATStwfnTvx/NBDz?= =?iso-8859-1?Q?i2SbEt5GEymuRy+NsbsY8GD/IddJQkcFtJpELlyBWK6q9IsOO0MfdZN617?= =?iso-8859-1?Q?QAVAPZtFkLykrWJXHsYCh+tYGxJLFW3NYLkjGJnQwu5elI02vPCWZbZ+hU?= =?iso-8859-1?Q?EyTTEtWT0g=3D=3D?= Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Exchange-RoutingPolicyChecked: fD1NbO8zH1/6W3c4D4XLoPpI3fBeR7beQPzkvZ0HZanDUBwPw2kqLFrF5Dk+BoEqNPvEiqv0kDKM9F+E/CbSfBquab21sX+jnsfw2IxYDXbmW4kYOfdhlym+w9CoUN25RtvXpbkxdAM7fKvUm8aNiR7Pmel1E1IznGobJzp0ZWX4weoKooMT2fMjoI+EzpA7jeBnAKFwh/45HAI/kspaWTgDKFPr12xchWnsb4dM5hegaHNfkHj/Tji3nMLK4wn+yHsZSCa+Ca61UHQfPxArAL3soJfYOGu8+IAKzGAWkKwm/+L9LfzjT4x1FL5SvIUfHGo1Cq86es0XNFxz2sg56g== 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: c2b4e2f9-a415-4d1b-a9cb-08de7f3f8463 X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Mar 2026 07:26:31.3593 (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: TgKrYhaEYdYrw/MgeIDnlf0zunC6KEhnOv4GffQVrU8fh+VMzHk1pcy8a3iHIXGmz64HoD4TFcnYAMo+hEREbPLAASN8IUkZm8IyBGiLKVY= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SEYPR06MB6082 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a01:111:f403: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: 1773214111029154100 Content-Type: text/plain; charset="utf-8" On AST2700 platforms, system DRAM is mapped above 4GB with the 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, which allows descriptors to be placed in DRAM above 4GB. When running on AST2700, this means EHCI queue heads (QH) and queue element transfer descriptors (qTD) reside at addresses starting from 0x400000000. Set the descriptor-addr-offset property to the DRAM base so the emulated EHCI controller can construct the correct descriptor addresses when accessing system memory. Signed-off-by: Jamin Lin --- 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 4a1f7cad73..3cdbf78ac1 100644 --- a/hw/arm/aspeed_ast27x0.c +++ b/hw/arm/aspeed_ast27x0.c @@ -858,6 +858,9 @@ static void aspeed_soc_ast2700_realize(DeviceState *dev= , Error **errp) for (i =3D 0; i < sc->ehcis_num; i++) { object_property_set_bool(OBJECT(&s->ehci[i]), "caps-64bit-addr", t= rue, &error_abort); + object_property_set_int(OBJECT(&s->ehci[i]), "descriptor-addr-offs= et", + sc->memmap[ASPEED_DEV_SDRAM], + &error_abort); if (!sysbus_realize(SYS_BUS_DEVICE(&s->ehci[i]), errp)) { return; } --=20 2.43.0