{"id":2222991,"url":"http://patchwork.ozlabs.org/api/covers/2222991/?format=json","web_url":"http://patchwork.ozlabs.org/project/qemu-devel/cover/20260414080025.3005916-1-jamin_lin@aspeedtech.com/","project":{"id":14,"url":"http://patchwork.ozlabs.org/api/projects/14/?format=json","name":"QEMU Development","link_name":"qemu-devel","list_id":"qemu-devel.nongnu.org","list_email":"qemu-devel@nongnu.org","web_url":"","scm_url":"","webscm_url":"","list_archive_url":"","list_archive_url_format":"","commit_url_format":""},"msgid":"<20260414080025.3005916-1-jamin_lin@aspeedtech.com>","list_archive_url":null,"date":"2026-04-14T08:00:26","name":"[v2,00/17] hw/usb/ehci: Add 64-bit descriptor addressing support","submitter":{"id":81768,"url":"http://patchwork.ozlabs.org/api/people/81768/?format=json","name":"Jamin Lin","email":"jamin_lin@aspeedtech.com"},"mbox":"http://patchwork.ozlabs.org/project/qemu-devel/cover/20260414080025.3005916-1-jamin_lin@aspeedtech.com/mbox/","series":[{"id":499795,"url":"http://patchwork.ozlabs.org/api/series/499795/?format=json","web_url":"http://patchwork.ozlabs.org/project/qemu-devel/list/?series=499795","date":"2026-04-14T08:00:26","name":"hw/usb/ehci: Add 64-bit descriptor addressing support","version":2,"mbox":"http://patchwork.ozlabs.org/series/499795/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/covers/2222991/comments/","headers":{"Return-Path":"<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=aspeedtech.com header.i=@aspeedtech.com\n header.a=rsa-sha256 header.s=selector1 header.b=IJXUd137;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org\n (client-ip=209.51.188.17; helo=lists1p.gnu.org;\n envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n receiver=patchwork.ozlabs.org)","dkim=none (message not signed)\n header.d=none;dmarc=none action=none header.from=aspeedtech.com;"],"Received":["from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17])\n\t(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fvxZL4Fmhz1yHH\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 14 Apr 2026 18:02:01 +1000 (AEST)","from localhost ([::1] helo=lists1p.gnu.org)\n\tby lists1p.gnu.org with esmtp (Exim 4.90_1)\n\t(envelope-from <qemu-devel-bounces@nongnu.org>)\n\tid 1wCYhT-0003Wr-NF; Tue, 14 Apr 2026 04:00:47 -0400","from eggs.gnu.org ([2001:470:142:3::10])\n by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <jamin_lin@aspeedtech.com>)\n id 1wCYhK-0003UR-Fq; Tue, 14 Apr 2026 04:00:38 -0400","from mail-koreacentralazlp170130006.outbound.protection.outlook.com\n ([2a01:111:f403:c40f::6] helo=SEYPR02CU001.outbound.protection.outlook.com)\n by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <jamin_lin@aspeedtech.com>)\n id 1wCYhG-0005mG-4f; Tue, 14 Apr 2026 04:00:36 -0400","from TYPPR06MB8206.apcprd06.prod.outlook.com (2603:1096:405:383::19)\n by TYZPR06MB6745.apcprd06.prod.outlook.com (2603:1096:400:45a::14)\n with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9769.48; Tue, 14 Apr\n 2026 08:00:26 +0000","from TYPPR06MB8206.apcprd06.prod.outlook.com\n ([fe80::e659:1ead:77cb:f6d3]) by TYPPR06MB8206.apcprd06.prod.outlook.com\n ([fe80::e659:1ead:77cb:f6d3%3]) with mapi id 15.20.9769.046; Tue, 14 Apr 2026\n 08:00:26 +0000"],"ARC-Seal":"i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;\n b=XHeOdww6H6l/174PWeuVngkzoJKmIFEIt3yy6TraYEb91tu4qynRNL/heibc3q18+X18BQOJzdCG9od21VGjDZhJqmCZEg0bUiLQ7jyS7vunXbcuF4zzMZHrOkTWBezV671U2Q0aYiRpnIksBrrR5zEzmAyhZKT/WWOs5a8uX4RFSIcqG2Ncvo0mXMCzC4vz6Mzll5OcCaxiYGGul4vwB7T9i+JJB9VXGOeFQzAMGD/JVHWIRJPRo6yfeKUspyzTgpB7aQRsicd5+W8Osa8es1rcG1zADS6bek1Jdu1HcG39JfClYkeDBi/LvzY8X5MRmNnvV9yNbXAFQAha06Ydog==","ARC-Message-Signature":"i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n s=arcselector10001;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;\n bh=c7JA2U2/glhOK4hBbFeYTfo5ffV5Mx9hVAVFVYf1LRk=;\n b=WIuVXn9Vpn0wMsKcvywySiVa7E32m0yWvem2SRAnCGEbDi2vrbf364S0h3Idpo2xjWNCtyCYVS/jtp01wdlLe6Cyc2sBAYc68RYxSqGGVr1V4TzkYzOlgMM755hrpmC3cjlu+UcKEs1iOXiXXDMK4rjvvpy0ZP7EAP4mmW63usL+ETNQnK5T8F/EDGRJIe7wOM8oSUL8RXXBsIKjb6k/uXJ6stXKKWvZKp7QyLI0vWpkUVBsTrU/RgnVz+deRIQp99PkjmrXMsk/Pa1hjlQ9FbRE2bH453Jdq8airoeTbH+iMA1+VZFY7IUhe5rUkfNydsQ78tJP30f5tFBRGsCfsg==","ARC-Authentication-Results":"i=1; mx.microsoft.com 1; spf=pass\n smtp.mailfrom=aspeedtech.com; dmarc=pass action=none\n 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;\n s=selector1;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=c7JA2U2/glhOK4hBbFeYTfo5ffV5Mx9hVAVFVYf1LRk=;\n b=IJXUd1376Iw2nBsBpt+U8fD3ZY2tEDI2wpbZ9rrTBNul/eJ+8HlWqQHOH6tA/BtEOPtVIxKXxWdLBFCDEcN96H9qjsiqGrkBPuxQCvSGHe8kEnXu9L1K6uk543RDHfCkt5wDdMv3TuOeWsJcw+DuK2nvtKpQVJpzVm3WRDs2uRFOYedYc4wsjBkAE49dBiKOYgc4o8qtr/r7yjbPebBjptVR5T31xk+2ylAOW+QGveCUbHFUaeyLW6Gu+SMnhUVjxo1eycxUfy9pf6CUnDGoxQUODGrUhvZaJkMuYVVhjZeextPc30TurEOGqfB1rHP+2msjrYtprQmXxDFw1dC0MA==","From":"Jamin Lin <jamin_lin@aspeedtech.com>","To":"=?iso-8859-1?q?C=E9dric_Le_Goater?= <clg@kaod.org>,\n Peter Maydell <peter.maydell@linaro.org>,\n Steven Lee <steven_lee@aspeedtech.com>, Troy Lee <leetroy@gmail.com>,\n Kane Chen <kane_chen@aspeedtech.com>,\n Andrew Jeffery <andrew@codeconstruct.com.au>, Joel Stanley <joel@jms.id.au>,\n \"open list:ASPEED BMCs\" <qemu-arm@nongnu.org>,\n \"open list:All patches CC here\" <qemu-devel@nongnu.org>","CC":"Jamin Lin <jamin_lin@aspeedtech.com>, Troy Lee <troy_lee@aspeedtech.com>,\n \"flwu@google.com\" <flwu@google.com>, \"nabihestefan@google.com\"\n <nabihestefan@google.com>","Subject":"[PATCH v2 00/17] hw/usb/ehci: Add 64-bit descriptor addressing\n support","Thread-Topic":"[PATCH v2 00/17] hw/usb/ehci: Add 64-bit descriptor addressing\n support","Thread-Index":"AQHcy+TAanTAnxZJCUS42BSedMOnEw==","Date":"Tue, 14 Apr 2026 08:00:26 +0000","Message-ID":"<20260414080025.3005916-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":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=aspeedtech.com header.i=@aspeedtech.com\n header.a=rsa-sha256 header.s=selector1 header.b=IJXUd137;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org\n (client-ip=209.51.188.17; helo=lists1p.gnu.org;\n envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n receiver=patchwork.ozlabs.org)","dkim=none (message not signed)\n header.d=none;dmarc=none action=none header.from=aspeedtech.com;"],"x-ms-publictraffictype":"Email","x-ms-traffictypediagnostic":"TYPPR06MB8206:EE_|TYZPR06MB6745:EE_","x-ms-office365-filtering-correlation-id":"4c56d756-c20e-4318-5b59-08de99fbe36d","x-ms-exchange-senderadcheck":"1","x-ms-exchange-antispam-relay":"0","x-microsoft-antispam":"BCL:0;\n ARA:13230040|376014|366016|1800799024|38070700021|56012099003|18002099003;","x-microsoft-antispam-message-info":"\n If2kDMtO5MXPnPfcKhLL5XlDuEt5rWrFh8FuaGNP2KoDzyfmmwW45KtyweGpGp5mu0x32+TFwJ2CJbhbaaBWWahzaWlqsUC+3pakV7Cmz2HrSykx6Hb0K4zdp5ABFxlgo6uPY+acEuXseV0DcxfU6MuWi7WfJrFWkrEyLgBoJthJDVvYBEQ9VATfNSlfJ22XobK4yxzCd3pVZAiPTkHNpcqNbFqiRhLMYhPiC0StOFdp5n/8OKRiGZXdbpzewdnZRrDbqtne1/BkDdy9JZeu7uwMpLiH+UvdToUZLPDNpwhZTGNDFX50KuYb5AqVKURLOZsmSLwfb6aV2rv+B9sc4XYaRL5a6EMjGz/ctxKfpnyo6S1rzbVupL9zJu0XDWoDbBNVTRVRuT7TFyGaLKVRReU7pNZ35gJMJ9/Rb9+Vj+vSR2YpNDKip9FMVBiGQZaykk210xqGP6D9g64s4LXYe+fEmm9Tmk8/C0RFsDVmVV0P/EFqv/YzwAPh8Tjp5qi2tTdlEk0JfqSxMIdWn6plZSprYzzPUSoQTFB+M1eJdUpFcG5YcVrC3cGIt+wIoBzh63c4hzLl+Sjgu+Q8n9qSlEmwi9tnSmcucCH71/sx5e6p6z/ISUn8W6M+vvuXzd9stigSOrvLT6B/Rn/s468CyTsrT1/EgGQSMZbQmekf2tSgyFQqoK2hVKk0QcMXpiHniEd6zFCW4dVPwiGrhS5AdSw4NFagEwQ/Hli/D8g2GbwRoE9zb9pHzwtbimmTdIudCWeQnkajFXBQBKrpWfEzERTmXSyciRWqa5ekUajX7LU=","x-forefront-antispam-report":"CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;\n IPV:NLI; SFV:NSPM; H:TYPPR06MB8206.apcprd06.prod.outlook.com; PTR:; CAT:NONE;\n SFS:(13230040)(376014)(366016)(1800799024)(38070700021)(56012099003)(18002099003);\n DIR:OUT; SFP:1102;","x-ms-exchange-antispam-messagedata-chunkcount":"1","x-ms-exchange-antispam-messagedata-0":"=?iso-8859-1?q?V65mWyjIEf6NSGNImCLEsSl?=\n\t=?iso-8859-1?q?xZx5SsXTnKogsZ0IjgXY/3BgJPRdOWI9eCGvh+cvRe2otrTv4UsIVgCxx9XD?=\n\t=?iso-8859-1?q?reS0wwkc4MBRRwY+C3DDybXuBnGzKGRr1yEtMfmsiNKGiYUkGEU8xB+Rbn+5?=\n\t=?iso-8859-1?q?tXAAUw5t6avGPGi5v5Pwnp9GR7AHVABr0SVXc6jD7wKggxCXUIMi9uHZ9OaF?=\n\t=?iso-8859-1?q?Qqu5EphhDvG121rvRkoL7dMHEyrKzhmxB0ABjzAqZa4qfSOHKo3wALNpEBPS?=\n\t=?iso-8859-1?q?nkdbApb9pFAuo4Nu9gsDO4x3FgiNT4xe7ofR3vsTPfl0KX56J+sdQDSx5ohK?=\n\t=?iso-8859-1?q?J2ralZh/Qfz7fhuZt7M98zrEeWn6DtVMMgi64uF0zU9p/amaW/oVnifpeE1F?=\n\t=?iso-8859-1?q?i60Vn9yRe9F9T8FqwWXVbIB8xS5hCNwIjRCp61Uiezeke6B/M2s0DP8Ap7Ui?=\n\t=?iso-8859-1?q?jb1F6gexxoP5iYlvTjK1BKygtQeEdR/WwgOaNLrb4bbQ5T7A96KKwS3Czjhx?=\n\t=?iso-8859-1?q?XzCe+t20lFtql443QJEB68tqvIIg1Wus+FExVYOsvmnBHuaMZIA5cW20XPhD?=\n\t=?iso-8859-1?q?bcrzUbMWExbIiHAwXQTBzUMRJ4fnrcni5lCXcPb4HAelslXEVkmaWfs4UKFl?=\n\t=?iso-8859-1?q?DaZw+H5DUyO4QvJFbQMxz13Uz4QREsqaZuCJ62Ie0hAsNXjLQjTKxp+zixJr?=\n\t=?iso-8859-1?q?h1llx9tPNGvVGSoYTc2PVKPPC7yBVO5Gk1yHu4uYIMmFYPl8IzEspJou5yko?=\n\t=?iso-8859-1?q?DCvW1q89+AKlrAyQIGZQofNSprtZao9u+3lrrZrZKaykwoG0pX9+LW0fV1Vb?=\n\t=?iso-8859-1?q?hGbD/we7gwza76XVKlPNgJcq532vJFkAz1775q81bHl1pAT7NG8lO0ftUSE2?=\n\t=?iso-8859-1?q?+q2p8IXR5OgNQFH2K51jchDeFLyq/YLFsuW3la/HY8GSgWVI9OhZGvwo5LHA?=\n\t=?iso-8859-1?q?CNUsNNRA8FTCq0cLEBF6YZdnzrB4SmfWJDFRh7qCc4CVODF8ucrrZ/mKH1uj?=\n\t=?iso-8859-1?q?bvOshJHhcFD2nwgx7xVojzP92BxjslOWRF/Z43FleR+i4dxz89bBeGU57leh?=\n\t=?iso-8859-1?q?pRJLKzMo9p+ytrzfFTW8QwqbRr1OmeEL7gowTp0UkCEqpBKno4iq3Wt1LvPO?=\n\t=?iso-8859-1?q?Nug5SbdPp7uuQNaBy029Bvzhjh6q1ZyCKuyTtdPy29LY4ioXWU0L/nd1uIkZ?=\n\t=?iso-8859-1?q?5FIyiqPqeYGiWXJhL9hhSIvlRE7wO9MPIW+pcPAK1MVM6+2CvySWXGfTS2Au?=\n\t=?iso-8859-1?q?iV0azfzvOxeI3P9m0QVlvvpFk6080YsWZYRCcIbJvvwNo2OOpJmv/9eCm+Uj?=\n\t=?iso-8859-1?q?qZMWWCXcBJbxcwocyVcN1Dcr9puhcNSgyOlofDUh3OBmvJeIzBARvY4KRSn/?=\n\t=?iso-8859-1?q?dO/WmNnbHchTfqGvTA+4ir+vtTT+zM7YYPRGiGt299tl0j8Bu+n1bxxU7C/x?=\n\t=?iso-8859-1?q?NlTyJ9Zl82UqN484XSlvPlxEJ458x5EOOkkiIfNZqbkabHX7sPPZ2a/CmM3U?=\n\t=?iso-8859-1?q?IaZ2m9U342FRD36WPhNdnldreKRfAPDMP53gy8BJuNgZq/aQYKyX9w/wZ0bm?=\n\t=?iso-8859-1?q?qGFuga3sPT+xaqazNt2lcorug4vrFovj4CkIRwN14SJ65Y+nPPqBTvD0R/wL?=\n\t=?iso-8859-1?q?r0D2SIy10pvbx/G1qn27L96/cZQCSspMAOCmDPSIeAexfnRq9MZuHGLaf5GI?=\n\t=?iso-8859-1?q?Hp6TG6pJ1pLZHo/ddcG5D66zAWr9EbwCQNh5bI/l5N6E+WI1dGbnL+PzISBU?=\n\t=?iso-8859-1?q?fpqRoZfNv28DXyIshfGyqsVTLRvMDqJZ1R6o02P2PWJxyug=3D=3D?=","Content-Type":"text/plain; charset=\"iso-8859-1\"","Content-Transfer-Encoding":"quoted-printable","MIME-Version":"1.0","X-Exchange-RoutingPolicyChecked":"\n s62Tsq3SW03EWEHj3rqODoOr1cNet/zcmjtq3E5nEtjvf/a0V4u7IckrHp1ixUIQ1dQ/mByn35E3IdHZtCxbhnsKe1Ux0FiF+YLIFCTZkHI0D8WIXgSLAKjC2dBu7nN2wwxwmqnx+Q7EV6+R9UoVn86p029ciB3qj+aEHt66hyvS+7nkrFAjY0m5Dn+Co7GRzndKBzrazuP21IE6ySq60WN22norgW7uBlJPjvqGJbJJ35SxfEfvNJFCfUy4yKOKtTmEDuk0SxQ8XZseoVscBrBuc0ZWO7VAJZffYiMZlTzZI1mfmuZv5OFSLPH9ebZtPtMXEFdhF3H48TjoPtnZYw==","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":"\n 4c56d756-c20e-4318-5b59-08de99fbe36d","X-MS-Exchange-CrossTenant-originalarrivaltime":"14 Apr 2026 08:00:26.4030 (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":"\n n8feH+o0eGAkxfUk+s9CicyQHG8hI4YFSYY9uq0F43unxeP/V252NzJd7vpKKZhp5/m5qUUe5tePHH/VWEL7PJU5XxqG40ZE84Jbz0XBN38=","X-MS-Exchange-Transport-CrossTenantHeadersStamped":"TYZPR06MB6745","Received-SPF":"pass client-ip=2a01:111:f403:c40f::6;\n envelope-from=jamin_lin@aspeedtech.com;\n 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,\n DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1,\n SPF_HELO_PASS=-0.001,\n SPF_PASS=-0.001 autolearn=ham autolearn_force=no","X-Spam_action":"no action","X-BeenThere":"qemu-devel@nongnu.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"qemu development <qemu-devel.nongnu.org>","List-Unsubscribe":"<https://lists.nongnu.org/mailman/options/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=unsubscribe>","List-Archive":"<https://lists.nongnu.org/archive/html/qemu-devel>","List-Post":"<mailto:qemu-devel@nongnu.org>","List-Help":"<mailto:qemu-devel-request@nongnu.org?subject=help>","List-Subscribe":"<https://lists.nongnu.org/mailman/listinfo/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=subscribe>","Errors-To":"qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org","Sender":"qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org"},"content":"EHCI supports 64-bit addressing through the CTRLDSSEGMENT register,\nwhich provides the upper 32 bits of descriptor addresses when the\ncontroller advertises 64-bit capability.\n\nCurrently QEMU EHCI model only partially supports this functionality and\ndescriptor addresses are effectively treated as 32-bit. This becomes\nproblematic on systems where system memory is located above the 4GB\nboundary.\n\nThe Linux EHCI driver enables 64-bit addressing if the controller\nadvertises the capability. During initialization it programs the\nsegment register to zero:\n\n  https://github.com/torvalds/linux/blob/master/drivers/usb/host/ehci-hcd.c#L600\n\nThe driver also notes that descriptor structures allocated from the\nDMA pool use segment zero semantics. Descriptor memory is allocated\nusing the DMA API and platforms may configure a 64-bit DMA mask,\nallowing descriptor memory to be placed above 4GB.\n\nOn AST2700 platforms, system DRAM is mapped at 0x400000000. As a\nresult, descriptor addresses constructed directly from the EHCI\nregisters do not match the actual system addresses used by the\ncontroller when accessing queue heads (QH) and queue element transfer\ndescriptors (qTD).\n\nThis patch series implements full 64-bit descriptor addressing support\nin the EHCI emulation. Descriptor address handling is updated to use\n64-bit values and the descriptor structures (QH, qTD, iTD and siTD)\nare extended to support the upper address bits provided by the segment\nregister.\n\nIn addition, a descriptor-addr-offset property is introduced so\nplatforms can apply an address translation when descriptor memory\nresides above the 4GB boundary.\n\nThe AST2700 machine uses this property to account for its DRAM mapping\nat 0x400000000 and enables 64-bit EHCI DMA addressing.\n\nTest Result:\n1. EHCI 32bits with ast2600-evb machine\nCommand line:\n./build/qemu-system-arm \\\n  -machine ast2600-evb \\\n  -m 1G \\\n  -drive file=image-bmc,if=mtd,format=raw \\\n  -nographic \\\n  -device usb-kbd,bus=usb-bus.1,id=mykbd \\\n  -drive id=usbdisk,if=none,file=image0.ext4,format=raw \\\n  -device usb-storage,bus=usb-bus.1,id=mystorage,drive=usbdisk\n  -snapshot \\\n  -nographic\nResult:\nunable to initialize usb specBus 001 Device 001: ID 1d6b:0002 Linux 6.18.3-v00.08.01-g172b7e27a30d ehci_hcd EHCI Host Controller\nBus 001 Device 002: ID 0627:0001 QEMU QEMU USB Keyboard\nBus 001 Device 003: ID 46f4:0001 QEMU QEMU USB HARDDRIVE\nBus 002 Device 001: ID 1d6b:0001 Linux 6.18.3-v00.08.01-g172b7e27a30d uhci_hcd Generic UHCI Host Controller\n\n2. EHCI 64bits with ast2700a2-evb machine\nCommand line:\n./build/qemu-system-aarch64 -M ast2700a2-evb -nographic\\\n -bios ast27x0_bootrom.bin \\\n -drive file=image-bmc,format=raw,if=mtd \\\n -snapshot \\\n -device usb-kbd,bus=usb-bus.3,id=mykbd \\\n -drive id=usbdisk,if=none,file=image0.ext4,format=raw \\\n -device usb-storage,bus=usb-bus.3,id=mystorage,drive=usbdisk\nResult:\nroot@ast2700-default:~# lsusb\nunable to initialize usb specBus 001 Device 001: ID 1d6b:0001 Linux 6.18.3-v00.08.01-g172b7e27a30d uhci_hcd Generic UHCI Host Controller\nBus 002 Device 001: ID 1d6b:0002 Linux 6.18.3-v00.08.01-g172b7e27a30d ehci_hcd EHCI Host Controller\nBus 002 Device 002: ID 0627:0001 QEMU QEMU USB Keyboard\nBus 002 Device 003: ID 46f4:0001 QEMU QEMU USB HARDDRIVE\n \nv1\n 1. Fix checkpatch coding style issues\n 2. Implement 64-bit addressing for QH/qTD/iTD/siTD descriptors\n 3. Add descriptor address offset property\n 4. Enable 64-bit EHCI DMA addressing on AST2700\n 5. Configure descriptor address offset for AST2700\n\nv2\n 1. Remove unused EHCIfstn structure and dead code\n 2. Replace fprintf(stderr, ...) with qemu_log_mask(LOG_GUEST_ERROR)\n 3. Replace DPRINTF debug logs with trace events\n 4. Add functional tests for USB EHCI on AST2600 and AST2700 A1/A2\n 5. Fix review issue\n \nJamin Lin (17):\n  hw/usb/hcd-ehci: Remove unused EHCIfstn structure and dead code\n  hw/usb/hcd-ehci.h: Fix coding style issues reported by checkpatch\n  hw/usb/hcd-ehci.c: Fix coding style issues reported by checkpatch\n  hw/usb/hcd-ehci.c: Replace fprintf(stderr, ...) with\n    qemu_log_mask(LOG_GUEST_ERROR)\n  hw/usb/hcd-ehci: Replace DPRINTF debug logs with trace events\n  hw/usb/hcd-ehci: Change descriptor addresses to 64-bit\n  hw/usb/hcd-ehci: Add property to advertise 64-bit addressing\n    capability\n  hw/usb/hcd-ehci: Reject CTRLDSSEGMENT writes without 64-bit capability\n  hw/usb/hcd-ehci: Implement 64-bit QH descriptor addressing\n  hw/usb/hcd-ehci: Implement 64-bit qTD descriptor addressing\n  hw/usb/hcd-ehci: Implement 64-bit iTD descriptor addressing\n  hw/usb/hcd-ehci: Implement 64-bit siTD descriptor addressing\n  hw/usb/hcd-ehci: Add descriptor address offset property\n  hw/arm/aspeed_ast27x0: Enable 64-bit EHCI DMA addressing\n  hw/arm/aspeed_ast27x0: Set EHCI descriptor address offset\n  tests/functional/arm/test_aspeed_ast2600_sdk: Add USB EHCI test for\n    AST2600 SDK\n  tests/functional/aarch64/test_aspeed_ast2700: Add USB EHCI test for\n    AST2700 A1/A2\n\n hw/usb/hcd-ehci.h                             |  55 ++-\n hw/arm/aspeed_ast27x0.c                       |   5 +\n hw/usb/hcd-ehci-pci.c                         |   4 +\n hw/usb/hcd-ehci-sysbus.c                      |   4 +\n hw/usb/hcd-ehci.c                             | 371 ++++++++++--------\n hw/usb/trace-events                           |  25 +-\n .../aarch64/test_aspeed_ast2700a1.py          |   7 +\n .../aarch64/test_aspeed_ast2700a2.py          |   7 +\n .../functional/arm/test_aspeed_ast2600_sdk.py |   7 +\n 9 files changed, 294 insertions(+), 191 deletions(-)"}