[{"id":3678500,"web_url":"http://patchwork.ozlabs.org/comment/3678500/","msgid":"<6b535f08-8ee8-4227-9dfb-3d4914d825bf@linaro.org>","list_archive_url":null,"date":"2026-04-17T06:23:35","subject":"Re: [PATCH v3 13/17] hw/usb/hcd-ehci: Add descriptor address offset\n property","submitter":{"id":85046,"url":"http://patchwork.ozlabs.org/api/people/85046/","name":"Philippe Mathieu-Daudé","email":"philmd@linaro.org"},"content":"On 16/4/26 03:49, Jamin Lin wrote:\n> When 64-bit addressing is supported, the Linux EHCI driver programs the\n> segment register to zero. See ehci_run function:\n> https://github.com/torvalds/linux/blob/master/drivers/usb/host/ehci-hcd.c\n> \n> The driver comment also notes that descriptor structures allocated from\n> the DMA pool use segment zero semantics.\n> \n> Descriptor memory is allocated using the DMA API. The platform driver\n> configures a 64-bit DMA mask so memory can be allocated above 4GB.\n> See ehci_platform_probe function:\n> https://github.com/torvalds/linux/blob/master/drivers/usb/host/ehci-platform.c\n> \n> On AST2700 platforms, system DRAM is mapped above 4GB at 0x400000000.\n> As a result, descriptor addresses constructed directly from the guest\n> EHCI registers do not match the actual system address used by the\n> controller when fetching queue heads (QH) and queue element transfer\n> descriptors (qTD).\n> \n> Introduce a descriptor-addr-offset property so platforms can provide an\n> address offset applied when constructing descriptor addresses. This\n> allows systems where DRAM resides above 4GB to correctly access EHCI\n> descriptors while keeping the default behavior unchanged for existing\n> machines.\n> \n> Signed-off-by: Jamin Lin <jamin_lin@aspeedtech.com>\n> ---\n>   hw/usb/hcd-ehci.h        | 1 +\n>   hw/usb/hcd-ehci-pci.c    | 2 ++\n>   hw/usb/hcd-ehci-sysbus.c | 2 ++\n>   hw/usb/hcd-ehci.c        | 7 ++++++-\n>   4 files changed, 11 insertions(+), 1 deletion(-)\n> \n> diff --git a/hw/usb/hcd-ehci.h b/hw/usb/hcd-ehci.h\n> index 6406f536e8..05d8db4a5d 100644\n> --- a/hw/usb/hcd-ehci.h\n> +++ b/hw/usb/hcd-ehci.h\n> @@ -264,6 +264,7 @@ struct EHCIState {\n>       /* properties */\n>       uint32_t maxframes;\n>       bool caps_64bit_addr;\n> +    uint64_t descriptor_addr_offset;\n\nI note OHCI uses \"dma_addr_t dma_offset;\" here.\n\n>   \n>       /*\n>        *  EHCI spec version 1.0 Section 2.3\n> diff --git a/hw/usb/hcd-ehci-pci.c b/hw/usb/hcd-ehci-pci.c\n> index 2ea8549db9..115d05ede0 100644\n> --- a/hw/usb/hcd-ehci-pci.c\n> +++ b/hw/usb/hcd-ehci-pci.c\n> @@ -139,6 +139,8 @@ static const Property ehci_pci_properties[] = {\n>       DEFINE_PROP_UINT32(\"maxframes\", EHCIPCIState, ehci.maxframes, 128),\n>       DEFINE_PROP_BOOL(\"caps-64bit-addr\", EHCIPCIState, ehci.caps_64bit_addr,\n>                        false),\n> +    DEFINE_PROP_UINT64(\"descriptor-addr-offset\", EHCIPCIState,\n> +                       ehci.descriptor_addr_offset, 0),\n>   };\n\nI note OHCI uses DEFINE_PROP_DMAADDR() here. Single use, maybe better\nremove it and stick to uint64_t as you use.\n\n\nCould we have a DEFINE_EHCI_COMMON_PROPERTIES() macro for common\nentries instead, such DEFINE_SDHCI_COMMON_PROPERTIES()?\n\n>   \n>   static const VMStateDescription vmstate_ehci_pci = {\n> diff --git a/hw/usb/hcd-ehci-sysbus.c b/hw/usb/hcd-ehci-sysbus.c\n> index 61215e9f3d..df138fb339 100644\n> --- a/hw/usb/hcd-ehci-sysbus.c\n> +++ b/hw/usb/hcd-ehci-sysbus.c\n> @@ -36,6 +36,8 @@ static const Property ehci_sysbus_properties[] = {\n>                        false),\n>       DEFINE_PROP_BOOL(\"caps-64bit-addr\", EHCISysBusState, ehci.caps_64bit_addr,\n>                        false),\n> +    DEFINE_PROP_UINT64(\"descriptor-addr-offset\", EHCISysBusState,\n> +                       ehci.descriptor_addr_offset, 0),\n>   };","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=linaro.org header.i=@linaro.org header.a=rsa-sha256\n header.s=google header.b=h+cQ+4LZ;\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)"],"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 4fxlGf6SX3z1yGt\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 17 Apr 2026 16:24:41 +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 1wDccA-0007zy-L7; Fri, 17 Apr 2026 02:23:42 -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 <philmd@linaro.org>) id 1wDcc9-0007zL-2E\n for qemu-devel@nongnu.org; Fri, 17 Apr 2026 02:23:41 -0400","from mail-wm1-x32c.google.com ([2a00:1450:4864:20::32c])\n by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)\n (Exim 4.90_1) (envelope-from <philmd@linaro.org>) id 1wDcc7-00065q-BH\n for qemu-devel@nongnu.org; Fri, 17 Apr 2026 02:23:40 -0400","by mail-wm1-x32c.google.com with SMTP id\n 5b1f17b1804b1-4887fd35e60so1644115e9.2\n for <qemu-devel@nongnu.org>; Thu, 16 Apr 2026 23:23:38 -0700 (PDT)","from [192.168.69.228] (88-187-86-199.subs.proxad.net.\n [88.187.86.199]) by smtp.gmail.com with ESMTPSA id\n ffacd0b85a97d-43fe4e46898sm1833867f8f.27.2026.04.16.23.23.36\n (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);\n Thu, 16 Apr 2026 23:23:36 -0700 (PDT)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=linaro.org; s=google; t=1776407017; x=1777011817; darn=nongnu.org;\n h=content-transfer-encoding:in-reply-to:from:references:cc:to\n :content-language:subject:user-agent:mime-version:date:message-id\n :from:to:cc:subject:date:message-id:reply-to;\n bh=TSAFGKcWXwWRumwKLaW02KedM46CTeUlkHFKmLPuTmM=;\n b=h+cQ+4LZzsdt0oyUii7TyvFD2T2IBgpqePTk08brvKcsio7fxNpTh38sV84VgIacG4\n 4K96cm2wYV4FFCDD0H7t1UPEJ3rJj54l0/dUAxETfz2NoCMR5B6S7OGM52MjQwQ/XZnE\n DjZPc3BfTzpZsm97eduCWKyD23jWpXHtTiGxduhJSbkLAGhNgdqe435cN2SPUEFJixsO\n ORbAcwC5GxEgavbjtaxSFa84g5NUWKQdN2GZt/No4ljPE2r5NdMTETBUXSjAh0XmYsm5\n 8NbLYMzmvGyau3Z+sKT0xcrzzwfNE+zqQNHWRFrUBMvhGbTKZADSuzjTEYvePq52jXNw\n 7UAQ==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1776407017; x=1777011817;\n h=content-transfer-encoding:in-reply-to:from:references:cc:to\n :content-language:subject:user-agent:mime-version:date:message-id\n :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id\n :reply-to;\n bh=TSAFGKcWXwWRumwKLaW02KedM46CTeUlkHFKmLPuTmM=;\n b=HerFdc9ICovOF3rKSic0+TshO3AIDLVeUhIyU/sodxHYFJXh07k0DD1SEdCnKEKAUm\n CrqGNRfL0b2ktm1+AFC+7YdqNOLbx4cgE+WuAUaH84k5FDCTyhlgRWPBnSPBRGC3nExd\n HVoPDg1CQ/XGVBjXf/QXcWKv59npxnen56CKK6QpjwXGJJkAr/djq6UIunjU6F9RH1wS\n /EjwIV4U05aC15sEceQwwZ8x17mUv0Ug1oMFBjl3d25brSGhLokxDogCT6cShVeoHafv\n 9nnl7cqeur54iWVuhJI53v/fs0l7KH+wPpb2OTYYjI4vS6yQcPdQhb+bvoI+P3jUPnUM\n DIxg==","X-Forwarded-Encrypted":"i=1;\n AFNElJ/0dsKuITRMmVrLcT7wg9aHAmSCYOGJdXCOBZTKShE/3TkMDJtLDDONxMnC6Qwk6kpcNHBiwISDBwV4@nongnu.org","X-Gm-Message-State":"AOJu0YxfqTuB49+oFM9XWtANtsH8hXbTi4q6HlNfnGSrmaDzrNw/JFPG\n 6+v6fcRdoJlc7pFks8798dWZYLEBO9Yv8igSABM0XbxOuB9jLi+tMVqcokb5mshTCKU=","X-Gm-Gg":"AeBDies4Ei8YvmSO3kTFfHeMg5qpnLF/2fY9Nir5QcN3fBCS+vf5jiVv4achehsL5TX\n Rc0FqotBp9I0tVOA821Z/ft6r2uhx/A0XdZy2zfg4hAxvUWT6KIX760RP5y1t70vMde5kdzFgyD\n kcYX4h3cdHxl5SJUsa6WRO/XLyMtLxN1ZVFR4E2oAWGbFtNn02Bore9xD0k3hajRB44DKjY0fEP\n z4Kzo+U6vV3bH5JOb0t2wlUzz+qBK5JnAN5pujUTXbBSExkHWqkhBjN9/SAbN9/bCpRhmbKOGs/\n me6/AyL9AcG+A9MSJzz4sFzMTxdl1VplGknETgxBAdGiGEGXtjNd4sQLV+QWobQVp6mFRw1hu9C\n VPrWdFaibj/TNr+CU9FBfhp9nF/YGxn2yJsFwA1Khj8BtoePAi1t+905B91PLX8fme+E5yjQT/1\n d6Hyau+rfQqMR7ihdeW1K8nFlyWeSjeVYgdf91mXDTOIMsJMM0kqsATDHVY3Op6F3DU/mdAxsKg\n MBZ","X-Received":"by 2002:a05:600c:1385:b0:488:c085:22ad with SMTP id\n 5b1f17b1804b1-488fb78a39dmr18859905e9.29.1776407017459;\n Thu, 16 Apr 2026 23:23:37 -0700 (PDT)","Message-ID":"<6b535f08-8ee8-4227-9dfb-3d4914d825bf@linaro.org>","Date":"Fri, 17 Apr 2026 08:23:35 +0200","MIME-Version":"1.0","User-Agent":"Mozilla Thunderbird","Subject":"Re: [PATCH v3 13/17] hw/usb/hcd-ehci: Add descriptor address offset\n property","Content-Language":"en-US","To":"Jamin Lin <jamin_lin@aspeedtech.com>,\n =?utf-8?q?C=C3=A9dric_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":"Troy Lee <troy_lee@aspeedtech.com>, \"flwu@google.com\" <flwu@google.com>,\n \"nabihestefan@google.com\" <nabihestefan@google.com>","References":"<20260416014928.1279360-1-jamin_lin@aspeedtech.com>\n <20260416014928.1279360-14-jamin_lin@aspeedtech.com>","From":"=?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= <philmd@linaro.org>","In-Reply-To":"<20260416014928.1279360-14-jamin_lin@aspeedtech.com>","Content-Type":"text/plain; charset=UTF-8; format=flowed","Content-Transfer-Encoding":"7bit","Received-SPF":"pass client-ip=2a00:1450:4864:20::32c;\n envelope-from=philmd@linaro.org; helo=mail-wm1-x32c.google.com","X-Spam_score_int":"-20","X-Spam_score":"-2.1","X-Spam_bar":"--","X-Spam_report":"(-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,\n DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1,\n RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=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"}},{"id":3678517,"web_url":"http://patchwork.ozlabs.org/comment/3678517/","msgid":"<04a8d8d9-f605-4bd3-8468-0e2840ae8311@kaod.org>","list_archive_url":null,"date":"2026-04-17T06:45:33","subject":"Re: [PATCH v3 13/17] hw/usb/hcd-ehci: Add descriptor address offset\n property","submitter":{"id":68548,"url":"http://patchwork.ozlabs.org/api/people/68548/","name":"Cédric Le Goater","email":"clg@kaod.org"},"content":"On 4/16/26 03:49, Jamin Lin wrote:\n> When 64-bit addressing is supported, the Linux EHCI driver programs the\n> segment register to zero. See ehci_run function:\n> https://github.com/torvalds/linux/blob/master/drivers/usb/host/ehci-hcd.c\n> \n> The driver comment also notes that descriptor structures allocated from\n> the DMA pool use segment zero semantics.\n> \n> Descriptor memory is allocated using the DMA API. The platform driver\n> configures a 64-bit DMA mask so memory can be allocated above 4GB.\n> See ehci_platform_probe function:\n> https://github.com/torvalds/linux/blob/master/drivers/usb/host/ehci-platform.c\n> \n> On AST2700 platforms, system DRAM is mapped above 4GB at 0x400000000.\n> As a result, descriptor addresses constructed directly from the guest\n> EHCI registers do not match the actual system address used by the\n> controller when fetching queue heads (QH) and queue element transfer\n> descriptors (qTD).\n> \n> Introduce a descriptor-addr-offset property so platforms can provide an\n> address offset applied when constructing descriptor addresses. This\n> allows systems where DRAM resides above 4GB to correctly access EHCI\n> descriptors while keeping the default behavior unchanged for existing\n> machines.\n> \n> Signed-off-by: Jamin Lin <jamin_lin@aspeedtech.com>\n> ---\n>   hw/usb/hcd-ehci.h        | 1 +\n>   hw/usb/hcd-ehci-pci.c    | 2 ++\n>   hw/usb/hcd-ehci-sysbus.c | 2 ++\n>   hw/usb/hcd-ehci.c        | 7 ++++++-\n>   4 files changed, 11 insertions(+), 1 deletion(-)\n> \n> diff --git a/hw/usb/hcd-ehci.h b/hw/usb/hcd-ehci.h\n> index 6406f536e8..05d8db4a5d 100644\n> --- a/hw/usb/hcd-ehci.h\n> +++ b/hw/usb/hcd-ehci.h\n> @@ -264,6 +264,7 @@ struct EHCIState {\n>       /* properties */\n>       uint32_t maxframes;\n>       bool caps_64bit_addr;\n> +    uint64_t descriptor_addr_offset;\n>   \n>       /*\n>        *  EHCI spec version 1.0 Section 2.3\n> diff --git a/hw/usb/hcd-ehci-pci.c b/hw/usb/hcd-ehci-pci.c\n> index 2ea8549db9..115d05ede0 100644\n> --- a/hw/usb/hcd-ehci-pci.c\n> +++ b/hw/usb/hcd-ehci-pci.c\n> @@ -139,6 +139,8 @@ static const Property ehci_pci_properties[] = {\n>       DEFINE_PROP_UINT32(\"maxframes\", EHCIPCIState, ehci.maxframes, 128),\n>       DEFINE_PROP_BOOL(\"caps-64bit-addr\", EHCIPCIState, ehci.caps_64bit_addr,\n>                        false),\n> +    DEFINE_PROP_UINT64(\"descriptor-addr-offset\", EHCIPCIState,\n> +                       ehci.descriptor_addr_offset, 0),\n>   };\n>   \n>   static const VMStateDescription vmstate_ehci_pci = {\n> diff --git a/hw/usb/hcd-ehci-sysbus.c b/hw/usb/hcd-ehci-sysbus.c\n> index 61215e9f3d..df138fb339 100644\n> --- a/hw/usb/hcd-ehci-sysbus.c\n> +++ b/hw/usb/hcd-ehci-sysbus.c\n> @@ -36,6 +36,8 @@ static const Property ehci_sysbus_properties[] = {\n>                        false),\n>       DEFINE_PROP_BOOL(\"caps-64bit-addr\", EHCISysBusState, ehci.caps_64bit_addr,\n>                        false),\n> +    DEFINE_PROP_UINT64(\"descriptor-addr-offset\", EHCISysBusState,\n> +                       ehci.descriptor_addr_offset, 0),\n>   };\n>   \n>   static void usb_ehci_sysbus_realize(DeviceState *dev, Error **errp)\n> diff --git a/hw/usb/hcd-ehci.c b/hw/usb/hcd-ehci.c\n> index e1d5ecbad7..ea9d5846bc 100644\n> --- a/hw/usb/hcd-ehci.c\n> +++ b/hw/usb/hcd-ehci.c\n> @@ -162,7 +162,12 @@ static uint64_t ehci_get_buf_addr(EHCIState *s, uint32_t hi, uint32_t low,\n>   \n>   static uint64_t ehci_get_desc_addr(EHCIState *s, uint32_t low)\n>   {\n> -    return ehci_get_buf_addr(s, s->ctrldssegment, low, UINT32_MAX);\n> +    uint64_t addr;\n> +\n> +    addr = ehci_get_buf_addr(s, s->ctrldssegment, low, UINT32_MAX);\n> +    addr += s->descriptor_addr_offset;\n\n\nInstead, can we force a default value for ctrldssegment when\ncaps_64bit_addr is set ?\n\nI am still trying to digest :\n\n   https://lore.kernel.org/qemu-devel/TYPPR06MB8206C7461E004C4FF07B8E92FC242@TYPPR06MB8206.apcprd06.prod.outlook.com/\n\nWe have time let's take a moment to think about the workaround.\n\nThanks,\n\nC.\n\n> +    return addr;\n>   }\n>   \n>   static void ehci_trace_usbsts(uint32_t mask, int state)","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=kaod.org header.i=@kaod.org header.a=rsa-sha256\n header.s=ovhmo393970-selector1 header.b=FwojPpey;\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)","garm.ovh; auth=pass\n (GARM-97G002d42f6607-83c0-44b0-99eb-82df27182ee8,\n AF90ED76F5B1EEBCDFB51C8C68949B04E112CC0D) smtp.auth=clg@kaod.org"],"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 4fxlm223wmz1yD3\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 17 Apr 2026 16:46:40 +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 1wDcxg-00014o-QE; Fri, 17 Apr 2026 02:45:56 -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 <clg@kaod.org>) id 1wDcxW-00014M-GD\n for qemu-devel@nongnu.org; Fri, 17 Apr 2026 02:45:47 -0400","from 11.mo534.mail-out.ovh.net ([46.105.33.174])\n by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <clg@kaod.org>) id 1wDcxR-0002an-AA\n for qemu-devel@nongnu.org; Fri, 17 Apr 2026 02:45:46 -0400","from director5.derp.mail-out.ovh.net\n (director5.derp.mail-out.ovh.net [51.68.94.138])\n by mo534.mail-out.ovh.net (Postfix) with ESMTPS id 4fxlkm1rpFz6LvL;\n Fri, 17 Apr 2026 06:45:35 +0000 (UTC)","from director5.derp.mail-out.ovh.net\n (director5.derp.mail-out.ovh.net. [127.0.0.1])\n by director5.derp.mail-out.ovh.net (inspect_sender_mail_agent) with SMTP\n for <jamin_lin@aspeedtech.com>; Fri, 17 Apr 2026 06:45:35 +0000 (UTC)","from mta3.priv.ovhmail-u2.ea.mail.ovh.net (unknown [10.109.249.239])\n by director5.derp.mail-out.ovh.net (Postfix) with ESMTPS id\n 4fxlkl1vX9z7tqD; Fri, 17 Apr 2026 06:45:35 +0000 (UTC)","from kaod.org (unknown [10.1.6.3])\n (Authenticated sender: clg@kaod.org)\n by mta3.priv.ovhmail-u2.ea.mail.ovh.net (Postfix) with ESMTPSA id\n C032A12E3A7A;\n Fri, 17 Apr 2026 06:45:33 +0000 (UTC)"],"X-OVh-ClientIp":"82.64.250.170","Message-ID":"<04a8d8d9-f605-4bd3-8468-0e2840ae8311@kaod.org>","Date":"Fri, 17 Apr 2026 08:45:33 +0200","MIME-Version":"1.0","User-Agent":"Mozilla Thunderbird","Subject":"Re: [PATCH v3 13/17] hw/usb/hcd-ehci: Add descriptor address offset\n property","To":"Jamin Lin <jamin_lin@aspeedtech.com>,\n \"philmd@linaro.org\" <philmd@linaro.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":"Troy Lee <troy_lee@aspeedtech.com>, \"flwu@google.com\" <flwu@google.com>,\n \"nabihestefan@google.com\" <nabihestefan@google.com>","References":"<20260416014928.1279360-1-jamin_lin@aspeedtech.com>\n <20260416014928.1279360-14-jamin_lin@aspeedtech.com>","Content-Language":"en-US, fr","From":"=?utf-8?q?C=C3=A9dric_Le_Goater?= <clg@kaod.org>","Autocrypt":"addr=clg@kaod.org; keydata=\n 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","In-Reply-To":"<20260416014928.1279360-14-jamin_lin@aspeedtech.com>","Content-Type":"text/plain; charset=UTF-8; format=flowed","Content-Transfer-Encoding":"7bit","x-ovh-tracer-id":"15496604846792616971","X-VR-SPAMSTATE":"OK","X-VR-SPAMSCORE":"-100","X-VR-SPAMCAUSE":"\n dmFkZTE9JA+XjCY4ORRtVKNev0UR5Efsr61s4DBKeyihbIm/eMiJbkiWn9Zxlz2c24YYCPOpRYURcf/a1jidXACxd/cFiMPiRJ58T6CZEjFy+Yt4KDXO4lAdIjspU6Gzt/tuzgCPTxB/EeDK05j+rByvsDrmrmbn3nzUIOHdKDR3MzrCQg/QBXIxQAYj9gwavRHGfiEJ9N+jBuokxNPyxPpwaQTui7zAQ7bP3X7W6Zz3LVlBmUSZG+mwz4punB3k55lCi6Ol90sCmYDyVUzq7t99SWsOnuDsxgnucPphCA/5HsABr79955UsDR8z3KedoBYC2IfctIzoRwNvokNlhrabkBGuhzMUJx6S9OQSUUO2HYmQLlU050ls74JiMNFBaH6ZyP9+f5pESyEyO0/1Sp9NlpSX10NWboINhQN+4od6YCSJ3o8Ss5iviFwt49Ni8qezDiTRx23lQ60orA5XSuuxWjgd0Ds8DxkER2Q+kvhFDWtORdekLH2GEoqG/dYOOLX/7wrVIfg4UcIRYuyJ1KlbgVcsH9UnhZbffbezXJBhAxWZfmUawbdnZCqDEuQ/w706ssoKSaKoiHuakRY4CWsrhhTWKXdXPrx76dwkgk7sYq28EzMv5ld3aqP61deTEsnwh9BdENnb2jPRnpTUrnaJulm7IXt+Leqf3e16kNnLl3neDw","DKIM-Signature":"a=rsa-sha256; bh=mqbrL+M/J6j7WMPcx+U8mHDobVR9XC3KCJv2gGUGbAs=;\n c=relaxed/relaxed; d=kaod.org; h=From; s=ovhmo393970-selector1;\n t=1776408338; v=1;\n b=FwojPpey4gGYBvvTGaAi2Sgar5UtROU418MplQu0Oy9rNnYSP/ZgnoCrXDKNHQzqeiUrNxHD\n BYMCBMGjDrXkKjzQd3EY9wILs7OdfbGUUJIJhEVv5lRIQlpM+9dtSSYH9nwMrAq532HydBjK8tK\n vHtI6WZt0XopciXJfA5q3MELs3V2BRfuRyox15xDOxP2+/5hRQTaPnKivJ2NsvDkHtLh1iXKR8x\n aUI7uz0wQ7UUlA3mrthHm+h9EDvfKD2w+EPkwK8A5Kt15MRlthHN6TcqoKXsesCetKJXhEsZbFG\n CAb4lKUK6K1XnccMDjFdm7PmEetQj9XUKOJqX1f+03/MA==","Received-SPF":"pass client-ip=46.105.33.174; envelope-from=clg@kaod.org;\n helo=11.mo534.mail-out.ovh.net","X-Spam_score_int":"-20","X-Spam_score":"-2.1","X-Spam_bar":"--","X-Spam_report":"(-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,\n DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1,\n RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001,\n RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001,\n SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable 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"}},{"id":3678525,"web_url":"http://patchwork.ozlabs.org/comment/3678525/","msgid":"<20ee6c39-d0ff-4e07-95e6-5aeb86dc0916@linaro.org>","list_archive_url":null,"date":"2026-04-17T07:08:42","subject":"Re: [PATCH v3 13/17] hw/usb/hcd-ehci: Add descriptor address offset\n property","submitter":{"id":85046,"url":"http://patchwork.ozlabs.org/api/people/85046/","name":"Philippe Mathieu-Daudé","email":"philmd@linaro.org"},"content":"On 17/4/26 08:45, Cédric Le Goater wrote:\n> On 4/16/26 03:49, Jamin Lin wrote:\n>> When 64-bit addressing is supported, the Linux EHCI driver programs the\n>> segment register to zero. See ehci_run function:\n>> https://github.com/torvalds/linux/blob/master/drivers/usb/host/ehci-hcd.c\n>>\n>> The driver comment also notes that descriptor structures allocated from\n>> the DMA pool use segment zero semantics.\n>>\n>> Descriptor memory is allocated using the DMA API. The platform driver\n>> configures a 64-bit DMA mask so memory can be allocated above 4GB.\n>> See ehci_platform_probe function:\n>> https://github.com/torvalds/linux/blob/master/drivers/usb/host/ehci- \n>> platform.c\n>>\n>> On AST2700 platforms, system DRAM is mapped above 4GB at 0x400000000.\n>> As a result, descriptor addresses constructed directly from the guest\n>> EHCI registers do not match the actual system address used by the\n>> controller when fetching queue heads (QH) and queue element transfer\n>> descriptors (qTD).\n>>\n>> Introduce a descriptor-addr-offset property so platforms can provide an\n>> address offset applied when constructing descriptor addresses. This\n>> allows systems where DRAM resides above 4GB to correctly access EHCI\n>> descriptors while keeping the default behavior unchanged for existing\n>> machines.\n>>\n>> Signed-off-by: Jamin Lin <jamin_lin@aspeedtech.com>\n>> ---\n>>   hw/usb/hcd-ehci.h        | 1 +\n>>   hw/usb/hcd-ehci-pci.c    | 2 ++\n>>   hw/usb/hcd-ehci-sysbus.c | 2 ++\n>>   hw/usb/hcd-ehci.c        | 7 ++++++-\n>>   4 files changed, 11 insertions(+), 1 deletion(-)\n\n\n>> diff --git a/hw/usb/hcd-ehci.c b/hw/usb/hcd-ehci.c\n>> index e1d5ecbad7..ea9d5846bc 100644\n>> --- a/hw/usb/hcd-ehci.c\n>> +++ b/hw/usb/hcd-ehci.c\n>> @@ -162,7 +162,12 @@ static uint64_t ehci_get_buf_addr(EHCIState *s, \n>> uint32_t hi, uint32_t low,\n>>   static uint64_t ehci_get_desc_addr(EHCIState *s, uint32_t low)\n>>   {\n>> -    return ehci_get_buf_addr(s, s->ctrldssegment, low, UINT32_MAX);\n>> +    uint64_t addr;\n>> +\n>> +    addr = ehci_get_buf_addr(s, s->ctrldssegment, low, UINT32_MAX);\n>> +    addr += s->descriptor_addr_offset;\n> \n> \n> Instead, can we force a default value for ctrldssegment when\n> caps_64bit_addr is set ?\n> \n> I am still trying to digest :\n> \n>    https://lore.kernel.org/qemu-devel/ \n> TYPPR06MB8206C7461E004C4FF07B8E92FC242@TYPPR06MB8206.apcprd06.prod.outlook.com/\n\nSame here, but since it doesn't break and I don't have much more time\nto dedicate to this I ended thinking \"good enough for now, could be\nimproved later\", so no objection on my side.\n\n> \n> We have time let's take a moment to think about the workaround.\n\nThen keep me in the loop!","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=linaro.org header.i=@linaro.org header.a=rsa-sha256\n header.s=google header.b=SWIcIBM6;\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)"],"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 4fxmGc3gdfz1yDF\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 17 Apr 2026 17:09:42 +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 1wDdJr-0005XX-GY; Fri, 17 Apr 2026 03:08:51 -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 <philmd@linaro.org>) id 1wDdJp-0005Wi-CX\n for qemu-devel@nongnu.org; Fri, 17 Apr 2026 03:08:49 -0400","from mail-wm1-x331.google.com ([2a00:1450:4864:20::331])\n by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)\n (Exim 4.90_1) (envelope-from <philmd@linaro.org>) id 1wDdJn-0006aM-Kv\n for qemu-devel@nongnu.org; Fri, 17 Apr 2026 03:08:49 -0400","by mail-wm1-x331.google.com with SMTP id\n 5b1f17b1804b1-488e1a8ac40so4333935e9.2\n for <qemu-devel@nongnu.org>; Fri, 17 Apr 2026 00:08:46 -0700 (PDT)","from [192.168.69.228] (88-187-86-199.subs.proxad.net.\n [88.187.86.199]) by smtp.gmail.com with ESMTPSA id\n 5b1f17b1804b1-488fc143a0fsm22961465e9.14.2026.04.17.00.08.43\n (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);\n Fri, 17 Apr 2026 00:08:43 -0700 (PDT)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=linaro.org; s=google; t=1776409725; x=1777014525; darn=nongnu.org;\n h=content-transfer-encoding:in-reply-to:from:references:cc:to\n :content-language:subject:user-agent:mime-version:date:message-id\n :from:to:cc:subject:date:message-id:reply-to;\n bh=PA1+9GsvYtm6Dcf0gcoLvAxSKheiEQ2EDTAci0trYTw=;\n b=SWIcIBM6DEUnufUPaQVm1USYhQrB/hwavnkkSboIiZtLv8ceNdzD45QPEGXLVl02Io\n IN+IoKDxpMkihSg0r3FUM79AHwDaDLRzfQTTePQOxZWjGC2UYHg9l7K/9yOA/gD5qpTF\n piKufcGTBK/b7IBBdrI3uGsRJN+0x0i24RWaV7PGVtcZcv26HPVrPg+J1OIJK53ZbgYa\n cTBRQZLgtj1/FgwECtM8qe1oIedV3sT9BQDHS9zp/qieJ1TEjZd1CT9/6zWX1onSfo7p\n 4DdH+xzUnfy3kjeohkQinp42YnBlBkx301kTC6obs/ylza0tcwhNWkucDN+HN/FgGEb6\n 7r+A==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1776409725; x=1777014525;\n h=content-transfer-encoding:in-reply-to:from:references:cc:to\n :content-language:subject:user-agent:mime-version:date:message-id\n :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id\n :reply-to;\n bh=PA1+9GsvYtm6Dcf0gcoLvAxSKheiEQ2EDTAci0trYTw=;\n b=EivIYV5iqxDDSBBDOa+WmUwiT4kxXBoGIFG/HagEKGWVMruvwLKepjkdYm0njaSLyf\n dzHaG+8U9hLKdMtfoSQo5w4WIAq1tsItex/+G8gel/2dEc7yI6ZyaHxGiMZgRn1kwwEI\n l4WqsIB0feIU5AeqKDGr/jjFXhteFLQb/EMmTxHMdf/DtYgjTxqsrQOkveq5wR3JYk6v\n dFGHohnea2LWpsVMmJO6gWt/7cSd2u3VA9frOtF47K8lusbeXf0UFlo3vF7OpoXxAytS\n oWLS3OIIjJByAmFJdGT1DVAj4+TJLF2Mc5UkRNHCxXhgoOhYO/gDI8Ny+AGdsLI6r/WT\n IyvA==","X-Forwarded-Encrypted":"i=1;\n AFNElJ+hm8GanhMXqtszcbFD6Xr8bDybIrThCm2yV1cQan3Qxx+DQ/905HJlJVG1t2WAZv1b9goHYjpDCwwN@nongnu.org","X-Gm-Message-State":"AOJu0YyLiR23FsIAJydqy82UKT/aPcm4/UDAeedolPPHeHaJYnxLi6Ed\n vpVa0+JoA88Yi1SUvDSvrV6vmbZzvr6U0LVzqJayb/gGOIX3oiRnceh3otC571xrkZY=","X-Gm-Gg":"AeBDietj6AsN0gm4e1Pa4fhQYoeCexFlV/e5roDIehR31YIXcPg2LKWmkJ0xogb1RR1\n 70MBxArwrXWVxQj3lJhMEABOhXqEVGgCfsPb/uh23+F1BNzXZGv90Z3nZuYzVf13dOoCw/Wbmo8\n wBCtYeCsEhAWomqEJk1yqPLHUwTqAdxDMKfSSiF3eWoV9AqT4t3rj0Af9Ld/OyUq88z50wMioMd\n PeK4H6DyeAKhGwb6Ligo4ET4iXW3ULjNayqFvdn44f8DgoldKzNsX9UWylgglHb2EMxZasSsMFU\n i+1YgJV6VuD62BLGxhPjlbd+UC0ZAF8PoxMCOWBdpw5Ac8KKfZCmUIg6IQ+HSsEdTsUFlueW6ou\n xBDctREAcV3mw6ZNR6d6EvalmZ1iMHqexiCHayAxDPFKn2OPMs1/xl4R0rRCgOyde7G5+jp5t7Z\n 7ZfnZ/p26ydVFIwUrMaBDFiUU8zsTZ3JuDa+div5qUbsj4Z5Azp74p/vdpreQgOQqK4I3uITdDh\n 15L","X-Received":"by 2002:a05:600c:458c:b0:488:bf0c:a372 with SMTP id\n 5b1f17b1804b1-488fb79330emr18532575e9.31.1776409724768;\n Fri, 17 Apr 2026 00:08:44 -0700 (PDT)","Message-ID":"<20ee6c39-d0ff-4e07-95e6-5aeb86dc0916@linaro.org>","Date":"Fri, 17 Apr 2026 09:08:42 +0200","MIME-Version":"1.0","User-Agent":"Mozilla Thunderbird","Subject":"Re: [PATCH v3 13/17] hw/usb/hcd-ehci: Add descriptor address offset\n property","Content-Language":"en-US","To":"=?utf-8?q?C=C3=A9dric_Le_Goater?= <clg@kaod.org>,\n Jamin Lin <jamin_lin@aspeedtech.com>,\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":"Troy Lee <troy_lee@aspeedtech.com>, \"flwu@google.com\" <flwu@google.com>,\n \"nabihestefan@google.com\" <nabihestefan@google.com>","References":"<20260416014928.1279360-1-jamin_lin@aspeedtech.com>\n <20260416014928.1279360-14-jamin_lin@aspeedtech.com>\n <04a8d8d9-f605-4bd3-8468-0e2840ae8311@kaod.org>","From":"=?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= <philmd@linaro.org>","In-Reply-To":"<04a8d8d9-f605-4bd3-8468-0e2840ae8311@kaod.org>","Content-Type":"text/plain; charset=UTF-8; format=flowed","Content-Transfer-Encoding":"8bit","Received-SPF":"pass client-ip=2a00:1450:4864:20::331;\n envelope-from=philmd@linaro.org; helo=mail-wm1-x331.google.com","X-Spam_score_int":"-20","X-Spam_score":"-2.1","X-Spam_bar":"--","X-Spam_report":"(-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,\n DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1,\n RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=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"}},{"id":3679223,"web_url":"http://patchwork.ozlabs.org/comment/3679223/","msgid":"<TYPPR06MB8206A19AD70BA0FAD7F68B15FC2F2@TYPPR06MB8206.apcprd06.prod.outlook.com>","list_archive_url":null,"date":"2026-04-20T05:47:45","subject":"RE: [PATCH v3 13/17] hw/usb/hcd-ehci: Add descriptor address offset\n property","submitter":{"id":81768,"url":"http://patchwork.ozlabs.org/api/people/81768/","name":"Jamin Lin","email":"jamin_lin@aspeedtech.com"},"content":"Hi Philippe, Cédric\n\n> >> -    return ehci_get_buf_addr(s, s->ctrldssegment, low, UINT32_MAX);\n> >> +    uint64_t addr;\n> >> +\n> >> +    addr = ehci_get_buf_addr(s, s->ctrldssegment, low, UINT32_MAX);\n> >> +    addr += s->descriptor_addr_offset;\n> >\n> >\n> > Instead, can we force a default value for ctrldssegment when\n> > caps_64bit_addr is set ?\n> >\n> > I am still trying to digest :\n> >\n> >    https://lore.kernel.org/qemu-devel/\n> >\n> TYPPR06MB8206C7461E004C4FF07B8E92FC242@TYPPR06MB8206.apcprd06.\n> prod.out\n> > look.com/\n> \n> Same here, but since it doesn't break and I don't have much more time to\n> dedicate to this I ended thinking \"good enough for now, could be improved\n> later\", so no objection on my side.\n> \n> >\n> > We have time let's take a moment to think about the workaround.\n> \n> Then keep me in the loop!\n\n\nThanks for the review and the suggestion.\n\nI tried to address this by introducing a new property:\naspeed-ast2700-workaround.\n\nWhen this property is enabled:\n\n1. We force bit 2 of the CTRLDSSEGMENT register to 1 during initialization (when caps_64bit_addr is set).\n2. Additionally, if firmware writes to the CTRLDSSEGMENT register, we also ensure that bit 2 remains set.\n\nThis keeps the behavior contained to AST2700-specific usage and avoids impacting other platforms.\nLet me know if you think this approach makes sense, or if you'd prefer a different direction.\n\nJamin\n\ndiff --git a/hw/usb/hcd-ehci.h b/hw/usb/hcd-ehci.h\nindex af8c080c60..0a58dca668 100644\n--- a/hw/usb/hcd-ehci.h\n+++ b/hw/usb/hcd-ehci.h\n@@ -263,6 +263,7 @@ struct EHCIState {\n     /* properties */\n     uint32_t maxframes;\n     bool caps_64bit_addr;\n+    bool aspeed_ast2700_workaround;\n\n     /*\n      *  EHCI spec version 1.0 Section 2.3\ndiff --git a/hw/arm/aspeed_ast27x0.c b/hw/arm/aspeed_ast27x0.c\nindex 4a1f7cad73..83114bae90 100644\n--- a/hw/arm/aspeed_ast27x0.c\n+++ b/hw/arm/aspeed_ast27x0.c\n@@ -858,6 +858,9 @@ static void aspeed_soc_ast2700_realize(DeviceState *dev, Error **errp)\n     for (i = 0; i < sc->ehcis_num; i++) {\n         object_property_set_bool(OBJECT(&s->ehci[i]), \"caps-64bit-addr\", true,\n                                  &error_abort);\n+        object_property_set_bool(OBJECT(&s->ehci[i]),\n+                                 \"aspeed-ast2700-workaround\", true,\n+                                 &error_abort);\n         if (!sysbus_realize(SYS_BUS_DEVICE(&s->ehci[i]), errp)) {\n             return;\n         }\ndiff --git a/hw/usb/hcd-ehci-sysbus.c b/hw/usb/hcd-ehci-sysbus.c\nindex 61215e9f3d..01f72a5a1e 100644\n--- a/hw/usb/hcd-ehci-sysbus.c\n+++ b/hw/usb/hcd-ehci-sysbus.c\n@@ -36,6 +36,9 @@ static const Property ehci_sysbus_properties[] = {\n                      false),\n     DEFINE_PROP_BOOL(\"caps-64bit-addr\", EHCISysBusState, ehci.caps_64bit_addr,\n                      false),\n+    DEFINE_PROP_BOOL(\"aspeed-ast2700-workaround\", EHCISysBusState,\n+                     ehci.aspeed_ast2700_workaround,\n+                     false),\n };\n\n static void usb_ehci_sysbus_realize(DeviceState *dev, Error **errp)\ndiff --git a/hw/usb/hcd-ehci.c b/hw/usb/hcd-ehci.c\nindex 7f90fd119d..403d7e84a7 100644\n--- a/hw/usb/hcd-ehci.c\n+++ b/hw/usb/hcd-ehci.c\n@@ -1133,6 +1133,9 @@ static void ehci_opreg_write(void *ptr, hwaddr addr,\n                           \"      64-bit addressing capability is disabled\\n\");\n             return;\n         }\n+        if (s->aspeed_ast2700_workaround) {\n+            val |= BIT(2);\n+        }\n         break;\n     case ASYNCLISTADDR:\n         if (ehci_async_enabled(s)) {\n@@ -2582,6 +2585,9 @@ void usb_ehci_realize(EHCIState *s, DeviceState *dev, Error **errp)\n     }\n     if (s->caps_64bit_addr) {\n         s->caps[0x08] |= BIT(0);\n+        if (s->aspeed_ast2700_workaround) {\n+            s->ctrldssegment |= BIT(2);\n+        }\n     }","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=EDXB4N8o;\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 4fzZL658jLz1yGs\n\tfor <incoming@patchwork.ozlabs.org>; Mon, 20 Apr 2026 15:49: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 1wEhUM-0004Mv-Ms; Mon, 20 Apr 2026 01:48:06 -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 1wEhUD-0004M9-KV; Mon, 20 Apr 2026 01:47:58 -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 1wEhUA-0003hg-HW; Mon, 20 Apr 2026 01:47:57 -0400","from TYPPR06MB8206.apcprd06.prod.outlook.com (2603:1096:405:383::19)\n by SEZPR06MB5738.apcprd06.prod.outlook.com (2603:1096:101:af::8) with\n Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9818.32; Mon, 20 Apr\n 2026 05:47:46 +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.9818.032; Mon, 20 Apr 2026\n 05:47:46 +0000"],"ARC-Seal":"i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;\n b=PLk2SjMuoJiLaeNf6QxkjZnRnOTY+dTnJDmi0Iq6n/9DrOs5B75iOi7Mop+R48fW0JgcsnGNWoCIOJZT3l4IVqo/KOt1HYqosKc8FzJgaCnvmkNunHOfOac2Zh1VIBW9S3pbyJ4EpuKB+5hijnYgDRCa52q1AaTs5yMtma4xs/hfqkpy7uwQQwBwh/uR2rwkpXXwRktlE1cK2bmSk9ox9fT8Rgj3GTUmHR0Mz+vzOzciPtBW8AmSUz1/QxamyXahytcH8XdkxEmBQ0ziSeSo/jSfdkURRnWwwloLCd52fgc4CPsF741jKHsqQKKnAvR24MBtQvlu0FzC4jJ2BMD3BA==","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=F2gvO58Xx6X8OUBZGag8XTtnaY2HvzTY78Y7SUxwvSE=;\n b=aSKBkmCLY1k2CddMwBJ06g8vopXJFkWiyxukhLTv+KaCSmTTJ67DxzRr8BB7BquFChMcPoRBkGzzMgwqXYmc8mrJFUkSWaH5RAjGNRb/eTY/qeAkr3+nORmkQ0SeK193yDBFpL9mIuGwYJF1g/7LH28BDoNQz7HAYRw4yEjDXqS5QVZrS3io2ordjlJvLnek5BEvUhRvr49Cg445ON7HcQp/xlfHvn9OjsEDpPnsgUyNm2EvNB73M4NVPaRSKYs70qSyLJBgv8LK1GqhCC+P06WfFrd9Fgi0XraWNfJ7lDmUxA9uWWbvyi3IV5ZWUFCGb+spHjy3aXGSa2iD0saR5Q==","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=F2gvO58Xx6X8OUBZGag8XTtnaY2HvzTY78Y7SUxwvSE=;\n b=EDXB4N8oT1BWewxgY54pO1dbMHYgzJzLLXiX2Z4qkJdp1RQGrgp2xPOCnGkbM4rtTMWjJyPQUe2Ji+7pnKr8hZmvZx0/W2sk8rknEnUKJFUpV3w0p10FfXGjyaVMOmQNtkg3XmkN+Fnf+ibQ2T+GhxOwzBMz2FwobXeh6iqYWYnLeP6nT5b1QOAFVpr83EcfhPDFHmVqgLt2GdaX6BMmfVkXaTj9CFNVnkvrLtZmOGwfTJVlcCCMW1BriC9QCbYXE/b51crg20NAQ8Kxy5juO6N+yyvOq7ByVDA7eCxPZRuD+B2+Fx9ZqVjxEaruf+Gdgk+719bd5AVQWNf7n+Cmdg==","From":"Jamin Lin <jamin_lin@aspeedtech.com>","To":"=?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= <philmd@linaro.org>, =?utf-8?q?C?=\n\t=?utf-8?q?=C3=A9dric_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":"Troy Lee <troy_lee@aspeedtech.com>, \"flwu@google.com\" <flwu@google.com>,\n \"nabihestefan@google.com\" <nabihestefan@google.com>","Subject":"RE: [PATCH v3 13/17] hw/usb/hcd-ehci: Add descriptor address offset\n property","Thread-Topic":"[PATCH v3 13/17] hw/usb/hcd-ehci: Add descriptor address offset\n property","Thread-Index":"AQHczUNUCGCAr2wNUUqlxwuOt/36CrXi0Q2AgAAGdwCABJoRoA==","Date":"Mon, 20 Apr 2026 05:47:45 +0000","Message-ID":"\n <TYPPR06MB8206A19AD70BA0FAD7F68B15FC2F2@TYPPR06MB8206.apcprd06.prod.outlook.com>","References":"<20260416014928.1279360-1-jamin_lin@aspeedtech.com>\n <20260416014928.1279360-14-jamin_lin@aspeedtech.com>\n <04a8d8d9-f605-4bd3-8468-0e2840ae8311@kaod.org>\n <20ee6c39-d0ff-4e07-95e6-5aeb86dc0916@linaro.org>","In-Reply-To":"<20ee6c39-d0ff-4e07-95e6-5aeb86dc0916@linaro.org>","Accept-Language":"zh-TW, en-US","Content-Language":"zh-TW","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=EDXB4N8o;\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_|SEZPR06MB5738:EE_","x-ms-office365-filtering-correlation-id":"0887703c-5f04-4d89-d26c-08de9ea0591e","x-ms-exchange-senderadcheck":"1","x-ms-exchange-antispam-relay":"0","x-microsoft-antispam":"BCL:0;\n ARA:13230040|366016|376014|7416014|1800799024|38070700021|921020|56012099003|22082099003|18002099003;","x-microsoft-antispam-message-info":"\n mZhrg+3hf9Fz2CpDMlNA/vEV7rN7DBXmqKbco5w09MZqHvIa29n1DBD+LL7hUrk0WbOWVyUWkC2HIkzJg550TpDVBwg08/jh/HFRVuBg1O9SXC+nI3cVAc2XkCUvit90kFTeeOenHx0fAokJsvOVQyEsHaBbJghqcqjGGDJ7mWmx49EJF3Xbx2SXylLC2DilwrciqSOmeQbUlYrSzQtV0FR8Ddo9iEwOI8ST8TDcNNxVvwa6T8dmnobfgaf6c3joWbpTajPvhsOd91ak9m5n1ylVqIXgYjt3cTrL9Li5XXD+LbmutabJlwEi+L4GWASkbrPoF98h6DFmVsmC2r+0wIOIoD8N7WgKqBxm7bDJUmwwyypvY+n1Yh9wtcASKZ2FF7ePhcxIwA+yuwPkoLIqW1UpLRcQac5r81xJfvVtud/pC8u2A/r+RoyZYcsXHEaZBSI2EIhFWHWRWX/uV5++iClnaqcJui3iCddjYT2QJIX1WAMjYCGMjzqRV9msNR7owjkLH5I6b3o4kkWWUCcqKPMLnkf5Nd/C5t2LoWOs+L/SDxKMMS0h2MfSv45/8FOT0Rbijo4K3l83k74dmV0DKcDRxIRax1XZ5OW+3ltOVbBep8o/ccQhNKj9PEwRV783+BbPQOxWZ8Ql8j0Jct8zLVu2hGvAP5aM0UlJK4+de1rpdCNDRgBOlibl6HzmSiTV37LsUMURAN2OrbYQpS+MfBX4qLESzMOKs4z6T6RxRSFhPJJ+hvyTAdsNxTUW+f3dFRXcAcuoQmGkIEPgri4pmV7FVJV3RNHVMOE/3+NrhXWBd346Xo9dWv6zAR3R2lrr","x-forefront-antispam-report":"CIP:255.255.255.255; CTRY:; LANG:zh-tw; SCL:1;\n SRV:; IPV:NLI; SFV:NSPM; H:TYPPR06MB8206.apcprd06.prod.outlook.com; PTR:;\n CAT:NONE;\n SFS:(13230040)(366016)(376014)(7416014)(1800799024)(38070700021)(921020)(56012099003)(22082099003)(18002099003);\n DIR:OUT; SFP:1102;","x-ms-exchange-antispam-messagedata-chunkcount":"1","x-ms-exchange-antispam-messagedata-0":"=?utf-8?q?CkaguLptdL6dY73snGp8kD+4b+jE?=\n\t=?utf-8?q?HmBHMfNA+oPGhT5mdwO76ZLQPSTuLqCH6GQrF2emf6V1r0QMuZ7BgGy/JnSuV0zdJ?=\n\t=?utf-8?q?HOJiTywr7Xc9GAFkjXXtTC+nB38K9SyatsW3XiDLTVcr/gZ/ef5poLOs+Dsb9X9mA?=\n\t=?utf-8?q?QFa8pvtfkTK21l6qkMq+YNPgWxAKsGECzJydh9xUnrPBp6mmvH1siVr+1BcNOWGJh?=\n\t=?utf-8?q?3s01OSNrD8K6GAKycuxLuD5bYq84UE/0WEJ9U0MrSECCcXnetpE/rLoyGT38Vd7/E?=\n\t=?utf-8?q?0CEvhu70fxlX5qTK2l1z0FBhYx8McztRYZE1WUhsMRkwTRHWsvDUjiedSZnkKAJEM?=\n\t=?utf-8?q?NQLaIefOqAg0SU3J1dGdwt2tEY4TOIKnnkKYxhfSmrCdtdAPyHfZzOVACvB88mJ2L?=\n\t=?utf-8?q?JCZ49SVGcqXt/3u5xhYKpQdj5e7JEyg8hgeuOBg0NteY6gVtKD1DG36pSqf/+k1yi?=\n\t=?utf-8?q?0jgbti8b6ZI2bUVGBnXQSyUgruOzldUMmAxbQrWmXIMHMwGKSJr9VJ3yKoqFpczEt?=\n\t=?utf-8?q?G/YNYi1yJLTRGOw1pYYFScmxT86mr80PrL6YncgwCs09tA5WswalXOUTsYD3EDuhV?=\n\t=?utf-8?q?8wqdk6qwckj4RvvQhfS0SyqymLneljGeZfFYc3OBZPWBiy8ongCpLh67TK7XP7l0g?=\n\t=?utf-8?q?ik/o/Op9BCFQ8S/oiqYtkDCAcwFfUd90kv7d0cSORHJKCbzLjc81PrsstmYq72u0i?=\n\t=?utf-8?q?9zvZiEvn+2Ge+3Yg5dAKxhiGIiu/La4wOOAot+yekOJEpckbSY56S1XJkO2Ce8SvX?=\n\t=?utf-8?q?AYT9Mp+R2pGAmUe4Ggdpn7RAj0wMa+NexymwbkgNY35TetakIlH8r9m9jfn++JkFx?=\n\t=?utf-8?q?d3X6sdoDLrAw1iB+/OY+NbBzmtZtfAI+oHnYd8zYe7z46cbqZXWEfWoXDLNJ/KK1v?=\n\t=?utf-8?q?NgvMXnrrG1rKW716JAfRHnvWCqeI9vGryCxCapbD3LydZdDEe3mIczxfvQ+A/4Eiz?=\n\t=?utf-8?q?5cnBj9xtG54z8KeRxAKBGlr4ymgGPDN9Sm7e3eXU/qrPfW7/r+p9i5C2F78poxC9k?=\n\t=?utf-8?q?IcnoQ9IjkMuBuTr7b9ZJVwzIUFNWbQLOkE3+pKHOYuZlurFiWSpRS6ECM6EUKdRQ3?=\n\t=?utf-8?q?A4KwvHHoS5oVCkBdwDJprIzweb8HUUCmEpv6bEQshAkuoMhIKOfG20Dl8/Ij/KaqN?=\n\t=?utf-8?q?uDgbZRon3JqvgF0DwmSsXu1tBnAqpDDOfJh/K/DPm6SYSODyW1HHe+EtpDk0Q5Yt+?=\n\t=?utf-8?q?g3WgtZhI0MkpmuAZIzZ6EAsg2cAmL8w7oud/e73vVTbxrD22u5k4ZW90H7awdGoCT?=\n\t=?utf-8?q?7qgaaUpuxvv8K4/xRB0Feu/3wMvFQzny3VEwniFplOhwuDAFJ4R0k2CLG4LY6poaV?=\n\t=?utf-8?q?0YNBb9bP+1qrtTRRH5gXvrSeufMJEhUYDGYT8WFkRfSG06VJy3kalYZR1bfzek2MC?=\n\t=?utf-8?q?kPnMc33j8nyPcVgH2tw95btggaed9a0KKQ/gsHTaqVM/Evl+eXfJsSEL5FFFR4A16?=\n\t=?utf-8?q?BsuUbl/434ZJGlTog1kdKRuC9ILhl22cXDZgBSY4LQKX4+Ax5DjPkDSSgOha4wrwp?=\n\t=?utf-8?q?QnwQaJh3mGsTvVzCTeBqFMhSZ28pV9MKCemoo9wySLrAEspG6cGkXsS1TlHQzcsiu?=\n\t=?utf-8?q?VVnzSUoo4S/tAsfoc/fI2AH/OAfcU5LbQN0z/Bxl5YCbvavSW9T0WsxLTA+LRFpvJ?=\n\t=?utf-8?q?3pqzyN3Y6hL+oZPvBxIOjoZyXvcU1YNw=3D=3D?=","Content-Type":"text/plain; charset=\"utf-8\"","Content-Transfer-Encoding":"base64","MIME-Version":"1.0","X-Exchange-RoutingPolicyChecked":"\n mkx+fBn4l89othd9Ct57EScQnTDMdSZdj6BMx5AAWCAbObEV2AlBu9xM2ppOzr03qx6JviJyuvhDKyY2azv0w12mnXdbi9zBCrPVUfNby/KIun4bH/YZ9w8cSjcy9DeCrFuCsxYqwXM9uC0vIZiU+9lM3t0nTypEnEENOEp7W9qgIYa0ayHdvbFovKOo6hx7EfMYDadNuIfDn/SCowOGietXWR0xrWntpMhefck2JmQKCgzAWvIu3M7FRGLOrlcmZawzQ1yqoVoVgD9q7oBeWrp3u4Lg5iRcnQ2TRH7tb8xTZs9+31dMow0UvtJoBzbsTbk2DLyAdljCTNgbIBS52w==","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 0887703c-5f04-4d89-d26c-08de9ea0591e","X-MS-Exchange-CrossTenant-originalarrivaltime":"20 Apr 2026 05:47:45.9753 (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 kfobisBtUzXQNbaZrdWxp9CBIDejHoGzVbk8AoVxCHGl0qJiCxDR87hrwP17bwNvGm6b1lEDOLzQFY98tSkwaPIqjTk7QEeuPwkm8EuVPyM=","X-MS-Exchange-Transport-CrossTenantHeadersStamped":"SEZPR06MB5738","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"}},{"id":3679251,"web_url":"http://patchwork.ozlabs.org/comment/3679251/","msgid":"<8ae66243-d55d-4d7b-bcab-dbdcd680aaf7@kaod.org>","list_archive_url":null,"date":"2026-04-20T07:08:45","subject":"Re: [PATCH v3 13/17] hw/usb/hcd-ehci: Add descriptor address offset\n property","submitter":{"id":68548,"url":"http://patchwork.ozlabs.org/api/people/68548/","name":"Cédric Le Goater","email":"clg@kaod.org"},"content":"On 4/20/26 07:47, Jamin Lin wrote:\n> Hi Philippe, Cédric\n> \n>>>> -    return ehci_get_buf_addr(s, s->ctrldssegment, low, UINT32_MAX);\n>>>> +    uint64_t addr;\n>>>> +\n>>>> +    addr = ehci_get_buf_addr(s, s->ctrldssegment, low, UINT32_MAX);\n>>>> +    addr += s->descriptor_addr_offset;\n>>>\n>>>\n>>> Instead, can we force a default value for ctrldssegment when\n>>> caps_64bit_addr is set ?\n>>>\n>>> I am still trying to digest :\n>>>\n>>>     https://lore.kernel.org/qemu-devel/\n>>>\n>> TYPPR06MB8206C7461E004C4FF07B8E92FC242@TYPPR06MB8206.apcprd06.\n>> prod.out\n>>> look.com/\n>>\n>> Same here, but since it doesn't break and I don't have much more time to\n>> dedicate to this I ended thinking \"good enough for now, could be improved\n>> later\", so no objection on my side.\n>>\n>>>\n>>> We have time let's take a moment to think about the workaround.\n>>\n>> Then keep me in the loop!\n> \n> \n> Thanks for the review and the suggestion.\n> \n> I tried to address this by introducing a new property:\n> aspeed-ast2700-workaround.\n\nThis is not specific to AST2700.\n\nI think a forced default value for CTRLDSSEGMENT would be more\nappropriate. Perhaps \"ctrldssegment-default\", as a uint32_t,\nwhich defaults to 0x0 and when the ast2700 SoC is realized,\nset to BIT(2).\n\n\n> \n> When this property is enabled:\n> \n> 1. We force bit 2 of the CTRLDSSEGMENT register to 1 during initialization (when caps_64bit_addr is set).\n> 2. Additionally, if firmware writes to the CTRLDSSEGMENT register, we also ensure that bit 2 remains set.\n> \n> This keeps the behavior contained to AST2700-specific usage and avoids impacting other platforms.\n> Let me know if you think this approach makes sense, or if you'd prefer a different direction.\n> \n> Jamin\n> \n> diff --git a/hw/usb/hcd-ehci.h b/hw/usb/hcd-ehci.h\n> index af8c080c60..0a58dca668 100644\n> --- a/hw/usb/hcd-ehci.h\n> +++ b/hw/usb/hcd-ehci.h\n> @@ -263,6 +263,7 @@ struct EHCIState {\n>       /* properties */\n>       uint32_t maxframes;\n>       bool caps_64bit_addr;\n> +    bool aspeed_ast2700_workaround;\n> \n>       /*\n>        *  EHCI spec version 1.0 Section 2.3\n> diff --git a/hw/arm/aspeed_ast27x0.c b/hw/arm/aspeed_ast27x0.c\n> index 4a1f7cad73..83114bae90 100644\n> --- a/hw/arm/aspeed_ast27x0.c\n> +++ b/hw/arm/aspeed_ast27x0.c\n> @@ -858,6 +858,9 @@ static void aspeed_soc_ast2700_realize(DeviceState *dev, Error **errp)\n>       for (i = 0; i < sc->ehcis_num; i++) {\n>           object_property_set_bool(OBJECT(&s->ehci[i]), \"caps-64bit-addr\", true,\n>                                    &error_abort);\n> +        object_property_set_bool(OBJECT(&s->ehci[i]),\n> +                                 \"aspeed-ast2700-workaround\", true,\n> +                                 &error_abort);\n>           if (!sysbus_realize(SYS_BUS_DEVICE(&s->ehci[i]), errp)) {\n>               return;\n>           }\n> diff --git a/hw/usb/hcd-ehci-sysbus.c b/hw/usb/hcd-ehci-sysbus.c\n> index 61215e9f3d..01f72a5a1e 100644\n> --- a/hw/usb/hcd-ehci-sysbus.c\n> +++ b/hw/usb/hcd-ehci-sysbus.c\n> @@ -36,6 +36,9 @@ static const Property ehci_sysbus_properties[] = {\n>                        false),\n>       DEFINE_PROP_BOOL(\"caps-64bit-addr\", EHCISysBusState, ehci.caps_64bit_addr,\n>                        false),\n> +    DEFINE_PROP_BOOL(\"aspeed-ast2700-workaround\", EHCISysBusState,\n> +                     ehci.aspeed_ast2700_workaround,\n> +                     false),\n>   };\n> \n>   static void usb_ehci_sysbus_realize(DeviceState *dev, Error **errp)\n> diff --git a/hw/usb/hcd-ehci.c b/hw/usb/hcd-ehci.c\n> index 7f90fd119d..403d7e84a7 100644\n> --- a/hw/usb/hcd-ehci.c\n> +++ b/hw/usb/hcd-ehci.c\n> @@ -1133,6 +1133,9 @@ static void ehci_opreg_write(void *ptr, hwaddr addr,\n>                             \"      64-bit addressing capability is disabled\\n\");\n>               return;\n>           }\n> +        if (s->aspeed_ast2700_workaround) {\n> +            val |= BIT(2);\n> +        }\n\nWith the proposal above, this would be changed to :\n\n\tval |= s->ctrldssegment_default;\n\n>           break;\n>       case ASYNCLISTADDR:\n>           if (ehci_async_enabled(s)) {\n> @@ -2582,6 +2585,9 @@ void usb_ehci_realize(EHCIState *s, DeviceState *dev, Error **errp)\n>       }\n>       if (s->caps_64bit_addr) {\n>           s->caps[0x08] |= BIT(0);\n> +        if (s->aspeed_ast2700_workaround) {\n> +            s->ctrldssegment |= BIT(2);\n\nShouldn't these assignments be in the reset handlers ?\n\nThanks,\n\nC.\n\n\n> +        }\n>       }","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=kaod.org header.i=@kaod.org header.a=rsa-sha256\n header.s=ovhmo393970-selector1 header.b=krJixErk;\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)","garm.ovh; auth=pass\n (GARM-98R00207c970ca-cd83-4aaf-bee3-afe8e999efe3,\n EAA5D49A92D75878AB6B5DB8F91ADF3A5E4E180D) smtp.auth=clg@kaod.org"],"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 4fzc7b35m7z1yD4\n\tfor <incoming@patchwork.ozlabs.org>; Mon, 20 Apr 2026 17:10: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 1wEikv-0003ot-JF; Mon, 20 Apr 2026 03:09:18 -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 <clg@kaod.org>) id 1wEikk-0003mF-T8\n for qemu-devel@nongnu.org; Mon, 20 Apr 2026 03:09:08 -0400","from 11.mo534.mail-out.ovh.net ([46.105.33.174])\n by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <clg@kaod.org>) id 1wEikh-0003Xa-Lq\n for qemu-devel@nongnu.org; Mon, 20 Apr 2026 03:09:06 -0400","from director4.derp.mail-out.ovh.net\n (director4.derp.mail-out.ovh.net [79.137.60.37])\n by mo534.mail-out.ovh.net (Postfix) with ESMTPS id 4fzc686vv0z67hc;\n Mon, 20 Apr 2026 07:08:48 +0000 (UTC)","from director4.derp.mail-out.ovh.net\n (director4.derp.mail-out.ovh.net. [127.0.0.1])\n by director4.derp.mail-out.ovh.net (inspect_sender_mail_agent) with SMTP\n for <jamin_lin@aspeedtech.com>; Mon, 20 Apr 2026 07:08:48 +0000 (UTC)","from mta7.priv.ovhmail-u2.ea.mail.ovh.net (unknown [10.109.231.30])\n by director4.derp.mail-out.ovh.net (Postfix) with ESMTPS id\n 4fzc681rbmz1xrk; Mon, 20 Apr 2026 07:08:48 +0000 (UTC)","from kaod.org (unknown [10.1.6.0])\n (Authenticated sender: clg@kaod.org)\n by mta7.priv.ovhmail-u2.ea.mail.ovh.net (Postfix) with ESMTPSA id\n E9F5F203A99;\n Mon, 20 Apr 2026 07:08:46 +0000 (UTC)"],"X-OVh-ClientIp":"82.64.250.170","Message-ID":"<8ae66243-d55d-4d7b-bcab-dbdcd680aaf7@kaod.org>","Date":"Mon, 20 Apr 2026 09:08:45 +0200","MIME-Version":"1.0","User-Agent":"Mozilla Thunderbird","Subject":"Re: [PATCH v3 13/17] hw/usb/hcd-ehci: Add descriptor address offset\n property","To":"Jamin Lin <jamin_lin@aspeedtech.com>, =?utf-8?q?Philippe_Mathieu-Daud?=\n\t=?utf-8?q?=C3=A9?= <philmd@linaro.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":"Troy Lee <troy_lee@aspeedtech.com>, \"flwu@google.com\" <flwu@google.com>,\n \"nabihestefan@google.com\" <nabihestefan@google.com>","References":"<20260416014928.1279360-1-jamin_lin@aspeedtech.com>\n <20260416014928.1279360-14-jamin_lin@aspeedtech.com>\n <04a8d8d9-f605-4bd3-8468-0e2840ae8311@kaod.org>\n <20ee6c39-d0ff-4e07-95e6-5aeb86dc0916@linaro.org>\n <TYPPR06MB8206A19AD70BA0FAD7F68B15FC2F2@TYPPR06MB8206.apcprd06.prod.outlook.com>","Content-Language":"en-US, fr","From":"=?utf-8?q?C=C3=A9dric_Le_Goater?= <clg@kaod.org>","Autocrypt":"addr=clg@kaod.org; keydata=\n xsFNBFu8o3UBEADP+oJVJaWm5vzZa/iLgpBAuzxSmNYhURZH+guITvSySk30YWfLYGBWQgeo\n 8NzNXBY3cH7JX3/a0jzmhDc0U61qFxVgrPqs1PQOjp7yRSFuDAnjtRqNvWkvlnRWLFq4+U5t\n yzYe4SFMjFb6Oc0xkQmaK2flmiJNnnxPttYwKBPd98WfXMmjwAv7QfwW+OL3VlTPADgzkcqj\n 53bfZ4VblAQrq6Ctbtu7JuUGAxSIL3XqeQlAwwLTfFGrmpY7MroE7n9Rl+hy/kuIrb/TO8n0\n ZxYXvvhT7OmRKvbYuc5Jze6o7op/bJHlufY+AquYQ4dPxjPPVUT/DLiUYJ3oVBWFYNbzfOrV\n RxEwNuRbycttMiZWxgflsQoHF06q/2l4ttS3zsV4TDZudMq0TbCH/uJFPFsbHUN91qwwaN/+\n gy1j7o6aWMz+Ib3O9dK2M/j/O/Ube95mdCqN4N/uSnDlca3YDEWrV9jO1mUS/ndOkjxa34ia\n 70FjwiSQAsyIwqbRO3CGmiOJqDa9qNvd2TJgAaS2WCw/TlBALjVQ7AyoPEoBPj31K74Wc4GS\n Rm+FSch32ei61yFu6ACdZ12i5Edt+To+hkElzjt6db/UgRUeKfzlMB7PodK7o8NBD8outJGS\n tsL2GRX24QvvBuusJdMiLGpNz3uqyqwzC5w0Fd34E6G94806fwARAQABzSBDw6lkcmljIExl\n IEdvYXRlciA8Y2xnQGthb2Qub3JnPsLBeAQTAQIAIgUCW7yjdQIbAwYLCQgHAwIGFQgCCQoL\n BBYCAwECHgECF4AACgkQUaNDx8/77KGRSxAAuMJJMhJdj7acTcFtwof7CDSfoVX0owE2FJdd\n M43hNeTwPWlV5oLCj1BOQo0MVilIpSd9Qu5wqRD8KnN2Bv/rllKPqK2+i8CXymi9hsuzF56m\n 76wiPwbsX54jhv/VYY9Al7NBknh6iLYJiC/pgacRCHtSj/wofemSCM48s61s1OleSPSSvJE/\n jYRa0jMXP98N5IEn8rEbkPua/yrm9ynHqi4dKEBCq/F7WDQ+FfUaFQb4ey47A/aSHstzpgsl\n TSDTJDD+Ms8y9x2X5EPKXnI3GRLaCKXVNNtrvbUd9LsKymK3WSbADaX7i0gvMFq7j51P/8yj\n neaUSKSkktHauJAtBNXHMghWm/xJXIVAW8xX5aEiSK7DNp5AM478rDXn9NZFUdLTAScVf7LZ\n VzMFKR0jAVG786b/O5vbxklsww+YXJGvCUvHuysEsz5EEzThTJ6AC5JM2iBn9/63PKiS3ptJ\n QAqzasT6KkZ9fKLdK3qtc6yPaSm22C5ROM3GS+yLy6iWBkJ/nEYh/L/du+TLw7YNbKejBr/J\n ml+V3qZLfuhDjW0GbeJVPzsENuxiNiBbyzlSnAvKlzda/sBDvxmvWhC+nMRQCf47mFr8Xx3w\n WtDSQavnz3zTa0XuEucpwfBuVdk4RlPzNPri6p2KTBhPEvRBdC9wNOdRBtsP9rAPjd52d73O\n wU0EW7yjdQEQALyDNNMw/08/fsyWEWjfqVhWpOOrX2h+z4q0lOHkjxi/FRIRLfXeZjFfNQNL\n SoL8j1y2rQOs1j1g+NV3K5hrZYYcMs0xhmrZKXAHjjDx7FW3sG3jcGjFW5Xk4olTrZwFsZVU\n cP8XZlArLmkAX3UyrrXEWPSBJCXxDIW1hzwpbV/nVbo/K9XBptT/wPd+RPiOTIIRptjypGY+\n S23HYBDND3mtfTz/uY0Jytaio9GETj+fFis6TxFjjbZNUxKpwftu/4RimZ7qL+uM1rG1lLWc\n 9SPtFxRQ8uLvLOUFB1AqHixBcx7LIXSKZEFUCSLB2AE4wXQkJbApye48qnZ09zc929df5gU6\n hjgqV9Gk1rIfHxvTsYltA1jWalySEScmr0iSYBZjw8Nbd7SxeomAxzBv2l1Fk8fPzR7M616d\n tb3Z3HLjyvwAwxtfGD7VnvINPbzyibbe9c6gLxYCr23c2Ry0UfFXh6UKD83d5ybqnXrEJ5n/\n t1+TLGCYGzF2erVYGkQrReJe8Mld3iGVldB7JhuAU1+d88NS3aBpNF6TbGXqlXGF6Yua6n1c\n OY2Yb4lO/mDKgjXd3aviqlwVlodC8AwI0SdujWryzL5/AGEU2sIDQCHuv1QgzmKwhE58d475\n KdVX/3Vt5I9kTXpvEpfW18TjlFkdHGESM/JxIqVsqvhAJkalABEBAAHCwV8EGAECAAkFAlu8\n o3UCGwwACgkQUaNDx8/77KEhwg//WqVopd5k8hQb9VVdk6RQOCTfo6wHhEqgjbXQGlaxKHoX\n ywEQBi8eULbeMQf5l4+tHJWBxswQ93IHBQjKyKyNr4FXseUI5O20XVNYDJZUrhA4yn0e/Af0\n IX25d94HXQ5sMTWr1qlSK6Zu79lbH3R57w9jhQm9emQEp785ui3A5U2Lqp6nWYWXz0eUZ0Ta\n d2zC71Gg9VazU9MXyWn749s0nXbVLcLS0yops302Gf3ZmtgfXTX/W+M25hiVRRKCH88yr6it\n +OMJBUndQVAA/fE9hYom6t/zqA248j0QAV/pLHH3hSirE1mv+7jpQnhMvatrwUpeXrOiEw1n\n HzWCqOJUZ4SY+HmGFW0YirWV2mYKoaGO2YBUwYF7O9TI3GEEgRMBIRT98fHa0NPwtlTktVIS\n l73LpgVscdW8yg9Gc82oe8FzU1uHjU8b10lUXOMHpqDDEV9//r4ZhkKZ9C4O+YZcTFu+mvAY\n 3GlqivBNkmYsHYSlFsbxc37E1HpTEaSWsGfAHQoPn9qrDJgsgcbBVc1gkUT6hnxShKPp4Pls\n ZVMNjvPAnr5TEBgHkk54HQRhhwcYv1T2QumQizDiU6iOrUzBThaMhZO3i927SG2DwWDVzZlt\n KrCMD1aMPvb3NU8FOYRhNmIFR3fcalYr+9gDuVKe8BVz4atMOoktmt0GWTOC8P4=","In-Reply-To":"\n <TYPPR06MB8206A19AD70BA0FAD7F68B15FC2F2@TYPPR06MB8206.apcprd06.prod.outlook.com>","Content-Type":"text/plain; charset=UTF-8; format=flowed","Content-Transfer-Encoding":"8bit","x-ovh-tracer-id":"15060037153932094475","X-VR-SPAMSTATE":"OK","X-VR-SPAMSCORE":"-100","X-VR-SPAMCAUSE":"\n dmFkZTGOONcY8WfF7Jme1UGg+GJHMyVjGqGmwrsmYULqCgRcLNJ1vZcUWp7fFX0ZI/N5k9LpzcKATgBpXg/8hRZtoYYctEOw51eZ52OHtzBDiUnjxuRwgg2uo6iBwFWO+6Jq4bxDjwMUfr2ybhHjYh6/yX7+p23s0JERG8kRxI8O+05bc+WwIUC6pPVph/e/72c4cFrCSDCy/Ca5dG0+RslPzrHjdZAS5w+TlXGIpcmZD3GL+huHG5WqdM8i+UKAnBo2cd+E1gphgcHsXJmFlc7uXDiNsv2HX5EWbNL3lPx6Pa97c3zDP+Pm9fJE2wkvs1lMaNf9fnsd6/piiqS56XjLgjEyj2TDHGfCX46FvkqO6qnRumkGHdJ/HyoovN+bweC8eIjaYj9EMqdTIh6qQ4nkF8LVmuDDqH1+qme8CvVTrxk3UJMvRbLlRjwSXUFyScKTNlS/LF8xaYd+2YJD0FFceUDTabXPlQ8B+pQOQqoLHA5tmKC9MFhGLM57HBE4zOxKrTREHQnqhWyU8SWdvKDDBU/rIoz91Sn485Yf9CrPLwoQROOUGV3RHgzpkkERFFasDalHAig1Ot95r+keeNkM1MkYLMoW+ELZn/k7dOoavzvunT6S0OwYFZyltsxluBRw+UBI6l4eU7/fxCYIeSBQwrWoq0FNmbHjpki/yIrDbLFOvA","DKIM-Signature":"a=rsa-sha256; bh=auIHTPd+32kp8PROOlP0H6sz0Vr4xAC6j8vDNdpUKa4=;\n c=relaxed/relaxed; d=kaod.org; h=From; s=ovhmo393970-selector1;\n t=1776668930; v=1;\n b=krJixErk8RDNIkiN7Uq+6bJKmGR8Fyk1Qccp7ZJTx5d8f9HeiRkJsYPZUrusefUOXnCga0y7\n p7kLwuFq9lUdrVPP8PGbER5M7YCxdNG3mrxI/6ezqd4rD2H5EBeo6Xk22RiycLkhypQmCL93KjA\n 6coQMNC2XWbTUIJ1Hf+n3CGO94M4cJC24QR95w+oaxdW6sGZJNRGw68dtCCron+Mkw8T6DGQQgU\n f6a22ZDNtyPGS7r1qdi5MlV1aYibsRnaFCOFaDGjmycN9uvCTkleO6NsdW+Fr42MqENKfyJu9OA\n dGAOS9f7VWfGhYGbxP3O4DSBu6lbsGR8MSzpE+xwBxqng==","Received-SPF":"pass client-ip=46.105.33.174; envelope-from=clg@kaod.org;\n helo=11.mo534.mail-out.ovh.net","X-Spam_score_int":"-20","X-Spam_score":"-2.1","X-Spam_bar":"--","X-Spam_report":"(-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,\n DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1,\n RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01,\n 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 <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"}},{"id":3680222,"web_url":"http://patchwork.ozlabs.org/comment/3680222/","msgid":"<TYPPR06MB82062ED0603F0A8507BE3F89FC2D2@TYPPR06MB8206.apcprd06.prod.outlook.com>","list_archive_url":null,"date":"2026-04-22T05:00:36","subject":"RE: [PATCH v3 13/17] hw/usb/hcd-ehci: Add descriptor address offset\n property","submitter":{"id":81768,"url":"http://patchwork.ozlabs.org/api/people/81768/","name":"Jamin Lin","email":"jamin_lin@aspeedtech.com"},"content":"Hi Philippe,\n\n> Subject: Re: [PATCH v3 13/17] hw/usb/hcd-ehci: Add descriptor address offset\n> property\n> \n> On 16/4/26 03:49, Jamin Lin wrote:\n> > When 64-bit addressing is supported, the Linux EHCI driver programs\n> > the segment register to zero. See ehci_run function:\n> > https://github.com/torvalds/linux/blob/master/drivers/usb/host/ehci-hc\n> > d.c\n> >\n> > The driver comment also notes that descriptor structures allocated\n> > from the DMA pool use segment zero semantics.\n> >\n> > Descriptor memory is allocated using the DMA API. The platform driver\n> > configures a 64-bit DMA mask so memory can be allocated above 4GB.\n> > See ehci_platform_probe function:\n> > https://github.com/torvalds/linux/blob/master/drivers/usb/host/ehci-pl\n> > atform.c\n> >\n> > On AST2700 platforms, system DRAM is mapped above 4GB at\n> 0x400000000.\n> > As a result, descriptor addresses constructed directly from the guest\n> > EHCI registers do not match the actual system address used by the\n> > controller when fetching queue heads (QH) and queue element transfer\n> > descriptors (qTD).\n> >\n> > Introduce a descriptor-addr-offset property so platforms can provide\n> > an address offset applied when constructing descriptor addresses. This\n> > allows systems where DRAM resides above 4GB to correctly access EHCI\n> > descriptors while keeping the default behavior unchanged for existing\n> > machines.\n> >\n> > Signed-off-by: Jamin Lin <jamin_lin@aspeedtech.com>\n> > ---\n> >   hw/usb/hcd-ehci.h        | 1 +\n> >   hw/usb/hcd-ehci-pci.c    | 2 ++\n> >   hw/usb/hcd-ehci-sysbus.c | 2 ++\n> >   hw/usb/hcd-ehci.c        | 7 ++++++-\n> >   4 files changed, 11 insertions(+), 1 deletion(-)\n> >\n> > diff --git a/hw/usb/hcd-ehci.h b/hw/usb/hcd-ehci.h index\n> > 6406f536e8..05d8db4a5d 100644\n> > --- a/hw/usb/hcd-ehci.h\n> > +++ b/hw/usb/hcd-ehci.h\n> > @@ -264,6 +264,7 @@ struct EHCIState {\n> >       /* properties */\n> >       uint32_t maxframes;\n> >       bool caps_64bit_addr;\n> > +    uint64_t descriptor_addr_offset;\n> \n> I note OHCI uses \"dma_addr_t dma_offset;\" here.\n> \n> >\n> >       /*\n> >        *  EHCI spec version 1.0 Section 2.3 diff --git\n> > a/hw/usb/hcd-ehci-pci.c b/hw/usb/hcd-ehci-pci.c index\n> > 2ea8549db9..115d05ede0 100644\n> > --- a/hw/usb/hcd-ehci-pci.c\n> > +++ b/hw/usb/hcd-ehci-pci.c\n> > @@ -139,6 +139,8 @@ static const Property ehci_pci_properties[] = {\n> >       DEFINE_PROP_UINT32(\"maxframes\", EHCIPCIState, ehci.maxframes,\n> 128),\n> >       DEFINE_PROP_BOOL(\"caps-64bit-addr\", EHCIPCIState,\n> ehci.caps_64bit_addr,\n> >                        false),\n> > +    DEFINE_PROP_UINT64(\"descriptor-addr-offset\", EHCIPCIState,\n> > +                       ehci.descriptor_addr_offset, 0),\n> >   };\n> \n> I note OHCI uses DEFINE_PROP_DMAADDR() here. Single use, maybe better\n> remove it and stick to uint64_t as you use.\n> \nThanks for the suggestion and review.\n\nBased on Cédric’s feedback, I will update the ctrldssegment-default property to use a uint32_t type.\n\n> \n> Could we have a DEFINE_EHCI_COMMON_PROPERTIES() macro for common\n> entries instead, such DEFINE_SDHCI_COMMON_PROPERTIES()?\n>\n\nWill do\n\nThanks,\nJamin\n \n> >\n> >   static const VMStateDescription vmstate_ehci_pci = { diff --git\n> > a/hw/usb/hcd-ehci-sysbus.c b/hw/usb/hcd-ehci-sysbus.c index\n> > 61215e9f3d..df138fb339 100644\n> > --- a/hw/usb/hcd-ehci-sysbus.c\n> > +++ b/hw/usb/hcd-ehci-sysbus.c\n> > @@ -36,6 +36,8 @@ static const Property ehci_sysbus_properties[] = {\n> >                        false),\n> >       DEFINE_PROP_BOOL(\"caps-64bit-addr\", EHCISysBusState,\n> ehci.caps_64bit_addr,\n> >                        false),\n> > +    DEFINE_PROP_UINT64(\"descriptor-addr-offset\", EHCISysBusState,\n> > +                       ehci.descriptor_addr_offset, 0),\n> >   };\n>","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=gZgAikxW;\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 4g0nBn6R1Gz1yD5\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 22 Apr 2026 15:01:52 +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 1wFPhn-0000kF-Mu; Wed, 22 Apr 2026 01:00:56 -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 1wFPhj-0000jM-Po; Wed, 22 Apr 2026 01:00:51 -0400","from mail-japaneastazlp170120005.outbound.protection.outlook.com\n ([2a01:111:f403:c405::5] helo=TYPPR03CU001.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 1wFPhh-0007yn-Cy; Wed, 22 Apr 2026 01:00:51 -0400","from TYPPR06MB8206.apcprd06.prod.outlook.com (2603:1096:405:383::19)\n by SEZPR06MB5739.apcprd06.prod.outlook.com (2603:1096:101:ae::12)\n with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9846.17; Wed, 22 Apr\n 2026 05:00:37 +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.9846.017; Wed, 22 Apr 2026\n 05:00:36 +0000"],"ARC-Seal":"i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;\n b=L9nQ3qdwv6dpV0gMCoAeg42GAD4akb6gJgSX2+z+d/qghIW693ghZCYMkwHAAcVWoOI4PX4/fMeJUMdjl48xA6HoJFeC1JIgHdFDOcpHgDjzKCo7B/szbtuloCqtLXTfqFm3EO2ea8PdPwFYIR9YoiCr/Pv3z/zo5KAGv9ocwPhMNgbZOCDhMFRsHVEcsYvAs1nxQOmixkKn4ff+mT6oowlVTvn4BFoh6eWbMzxGFLrjQoObpSG70atB5B4a6wgILuoD2e6ckFp/MwvBDuajzrHXnCHEeN1BYr9nde+xWpOkhhIRoQ5iLga53uRk9Q60x4MfryPdnSj8antTesozTw==","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=Kq5u8f8+bnnO3zjbYTGkNIjtejsCdXQ97D3EFCXoze0=;\n b=YKIYHRIaLmEGB3ol1O244Qea2MWLJuB+M7zffWHTBkjKcgkN1t+fQvnMV6Lo/QWHEYASUsp+nAakD6g5DWQfwSfb+GUHjwdhbF+w29xvQlv5OE3z07D5myH5NgZn+E+NVIsENK36uNIzadiJUyZrFKt6AbuoJhM0OZ2TJIkGPuHDFvvUd0zHPWHLbUO+kn/2kXvTV/7AVpar66x/cjb+UilnR3nMVTsYIl4cA+nuwbRbHvkTnUS5Fj72hh5TvB0o9euqb3waoAnXMuOayvRSgDhmpRceJY2IL9S5lfakKQxJKgw4b/x1XFLGzDsufZnMXDUGc76d0qQFWfOtu5tbcQ==","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=Kq5u8f8+bnnO3zjbYTGkNIjtejsCdXQ97D3EFCXoze0=;\n b=gZgAikxWCU/cRg6ncsTDfJbV6UrRJgQQGmeXpa0n0As/Jpsc7Su2eAwKBv4fiq2H6iHJYefDLpSHDYbQ7iFbBQHTXJjx0m0vynJirwLXDHODes65TSJ+0YM0NWFIQmcKpcJqPBDvsmiI97d9HOVZ/lpVklkfpvNI+FOq2KDcJt6ilu9SsJl9OB657O4tFBVG4j8kHpcjsoQfiICRRcmLM56ZAZGCqOe5rqsSqKza3Bl0gbhQXXbrCmIP8x+N8/JF5AIvFT7g63+Ibu1wlVMb129HsjL05kSNFRV/4tpXpia8RfNQr/HyzYt9mG6bj65rdW4FADnvGF3e0ryQXJiDvw==","From":"Jamin Lin <jamin_lin@aspeedtech.com>","To":"=?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= <philmd@linaro.org>, =?utf-8?q?C?=\n\t=?utf-8?q?=C3=A9dric_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":"Troy Lee <troy_lee@aspeedtech.com>, \"flwu@google.com\" <flwu@google.com>,\n \"nabihestefan@google.com\" <nabihestefan@google.com>","Subject":"RE: [PATCH v3 13/17] hw/usb/hcd-ehci: Add descriptor address offset\n property","Thread-Topic":"[PATCH v3 13/17] hw/usb/hcd-ehci: Add descriptor address offset\n property","Thread-Index":"AQHczUNUCGCAr2wNUUqlxwuOt/36CrXiyumAgAfDc5A=","Date":"Wed, 22 Apr 2026 05:00:36 +0000","Message-ID":"\n <TYPPR06MB82062ED0603F0A8507BE3F89FC2D2@TYPPR06MB8206.apcprd06.prod.outlook.com>","References":"<20260416014928.1279360-1-jamin_lin@aspeedtech.com>\n <20260416014928.1279360-14-jamin_lin@aspeedtech.com>\n <6b535f08-8ee8-4227-9dfb-3d4914d825bf@linaro.org>","In-Reply-To":"<6b535f08-8ee8-4227-9dfb-3d4914d825bf@linaro.org>","Accept-Language":"zh-TW, en-US","Content-Language":"zh-TW","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=gZgAikxW;\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_|SEZPR06MB5739:EE_","x-ms-office365-filtering-correlation-id":"9165b809-9a52-455d-9d3d-08dea02c178d","x-ms-exchange-senderadcheck":"1","x-ms-exchange-antispam-relay":"0","x-microsoft-antispam":"BCL:0;\n ARA:13230040|366016|376014|7416014|1800799024|921020|38070700021|56012099003|22082099003|18002099003;","x-microsoft-antispam-message-info":"\n CLSYebkVaa6WOYXABLJw+u6nGeHCubyPMkhOp1SyMDapPLuBaWxwzC7auljWnC0q+amrU//H6HDKbfH194OUNV1p/iUog+JW7yBQ4+0J2F3ukGz9fcNommbA2xUZm9SlTyz7YX4lEQ2kObn3Zb7s7bfsuLYl4isQADPZsM1bsMSJyttqewp3Mf6Uiba4E4WUZpWbuSZzuUwc/em8cULt71TQYulbOYUOoSh89CP2YInLfnJodPCRRqQIQwxoDslfk0hRnqdKk39KcmrIVUvF662yp1xukteMFRhTLLY5S0ubZge8253yZZyeSnHHh/heqqztsWI+Dtc4aGxBgg9OoFuQN6ZNzCFvuouq9nEElE9Vzuk5AoAY4mIkVdeEBFo64Fz7viwD3OlEKKzVVWv9h43K1B8vqSYsFM5ZbO95hoaT99r9O5c/wRckWyYfN19yneRjFCG8PGyU9qyblOy1PBAipvK8lHt3wmEXWYknyR1B8ReqhEz59dARXEmhbjsQ0pM/OkD+7oniMeVYfNFeoQIWjayWqqUs8xBR16Ay+0deTXf36OXMBjJq8wcl4wih6iOAGp4ERu5Vx364aWGbDdYW1VUfXZaAwcLWfbX4z+Ay9+lZ81V1Si20vfFWaHvvFdleIekEJXrwZJImMwPw5vogn/OcEUlyATtA7bShDn50De6OiwiQU1qU/Fa/9h+Lrn+jT7EwH80kZMA8kLH/PzF4PFuMC9tv11vSyhNjEXPtB+vLBKEO5CAyEyX+TB5donmQYKjpdfmHvIHK1a/b0s+uQy3Z1soGhbfLpKfWcyj8yvx7vYWWtXPMaEN9xoui","x-forefront-antispam-report":"CIP:255.255.255.255; CTRY:; LANG:zh-tw; SCL:1;\n SRV:; IPV:NLI; SFV:NSPM; H:TYPPR06MB8206.apcprd06.prod.outlook.com; PTR:;\n CAT:NONE;\n SFS:(13230040)(366016)(376014)(7416014)(1800799024)(921020)(38070700021)(56012099003)(22082099003)(18002099003);\n DIR:OUT; SFP:1102;","x-ms-exchange-antispam-messagedata-chunkcount":"1","x-ms-exchange-antispam-messagedata-0":"=?utf-8?q?5ddm8Ndak3SlGK8O/TwcO5OcY4Sv?=\n\t=?utf-8?q?LblIyelUz2gafLe4cSx0JtA9zwenw//XVm6HKP9fnf9SBIc0OwIoQVe7ZlEYhHUHl?=\n\t=?utf-8?q?7COec1ok2D1BbbzOgcFyAQPkyWZrdtNmY2tkmIkXWJvI4nrAfaF6GM1gYKVNmGJUp?=\n\t=?utf-8?q?o5zjhyNEuhf9GtI6ZAcFxLQK6/J8csxllMJczdJ5rQnBXcHWIwESbRofn1pwWEob9?=\n\t=?utf-8?q?k7btpuRiIcIReqfMOpwJowsaqImQs2Tfu6gzLbq535igoN23SsGi6fhb4/pUXof7P?=\n\t=?utf-8?q?H1gMJMXgAWd7bJpV9F94EzAMVMeuz6Vus7xGAME8FWs1CwBFfyXvZh0J+wRWeaT/8?=\n\t=?utf-8?q?uIX0B3d3GJfWug1RqO3XjMaUiH5cA9dLxAhZOK+MZ50ZIWG5M8TRJMDZtr6Q7R0Gv?=\n\t=?utf-8?q?z3eiDu5Q/C/08hr4tiNQw5mYydm0ixfLyfKu85aiOlfk7gIZlRt+9fhJNCL/utoUA?=\n\t=?utf-8?q?H+Jt/KUf0L45OHR0AjByABnsRhoodEzlT4LHi8bjzjo44ccFlPQUvdyEUPpqJODxn?=\n\t=?utf-8?q?wWhqus8Iz4y1TpkHcYPAX2g5z4FqAyAjQL98rg8Y9gx52pGtOnUzCOGUnqQGBA2jI?=\n\t=?utf-8?q?QpdLM/Y1xUmB4Btcw0fJh28TqiS8p54fKHHto9R1YOI2kPo6OMrPGmvITYu5Yla1b?=\n\t=?utf-8?q?5o7aD+LmBHRmF5HMBet6vcaO8hFGNNbbgV9aYjWFY7qTDK4BeG1YCNJcF43wI+sU5?=\n\t=?utf-8?q?lPTylN1zXLhpvj4RXUoFiOIm7HvFKnORehkRdOWw9lXHfU1S8PuISQFlCC8XI8Pu+?=\n\t=?utf-8?q?emg2JiGybXhKFA2bmm+NXHPzGSNpb3dSO20MmAlO43aUdDw1o3Quf+BtpZH6d+4MH?=\n\t=?utf-8?q?n7hHG3pXCy7HpLe04zGmdsweadyFI1kh4+wVViqwDvmwdi2DzC/qARbHUq7a3mSP+?=\n\t=?utf-8?q?w4G/5Eyplm0pM8Rjz1t4+wyS5TeN+584ORlfUOxDrK6GViqNJWdNePKgEbzX4mOSp?=\n\t=?utf-8?q?MRfBg7rFmbgO/pgMsCloDTmqK8ID02ti7zzktLxdMgCnDCn9De3i9TjSb7KfshPp1?=\n\t=?utf-8?q?DJACyCYNNvbB9SuhWCaXEG7xlUSlLc8VQUojuPGcWEv/Jz2HGYU024B5Y+cTJFrPV?=\n\t=?utf-8?q?R5GA1FFznQN33DB1IvJeygVVKaMS65Nrt4UVetKbgznyS0TqmIkevYd3zB7I0Ucn3?=\n\t=?utf-8?q?g0bYR4M/c+CFiykigMgdI+MsCVnUshX8kZhb2yG4BL7SeyB+zJ0w2eWBGJCy8on4A?=\n\t=?utf-8?q?wCzBgAgw93btMmnmk18PncpL8p/KhQiIygJJXuZKIiCvgrT3ZRLldVuLvNNGrbTQD?=\n\t=?utf-8?q?RYR7FBnQN7tt0Xa6isWsFESpkW7vRSZEaLlEue8tNaeYFa75R1W4YYI4TIW8c/x8h?=\n\t=?utf-8?q?mawKqx40ECOsUdQ11mfGaxh8r8wtK61AzDJf/rCe5Xw+zLIt0l6y/Or68fsHlR6Qj?=\n\t=?utf-8?q?yFdQ3cDmd8C4K8kK1dctQwscdNEALubAmxZBEdJhKtmDYhNTu9ctAlTh96CHmU0nf?=\n\t=?utf-8?q?MPBh973ICUkgmlHeSIqdcRL9yNdyZCw9A54YYabKL/U6Heg5/JgZLFApFUtmeQbPs?=\n\t=?utf-8?q?pYDZNQeati0DFeNzW5UrSeo9IUMCvw4Oeda/F/nlxvMd667y/TyK4zzufIe1Nh4WV?=\n\t=?utf-8?q?X7NAg7PNuhNooP14iSitVvu9w9eP1C1UdpjvK3SsQK2Txv3q+GuhNyzn9aV1YZWJi?=\n\t=?utf-8?q?X8K97CGW0Fbd6p3huT1k5t+U4Oa5zbow=3D=3D?=","Content-Type":"text/plain; charset=\"utf-8\"","Content-Transfer-Encoding":"base64","MIME-Version":"1.0","X-Exchange-RoutingPolicyChecked":"\n XIeGRwXgmxUJ68b9Yal6PTW52WH320QecBsRHRgG+x+AzCAch1UP99rGwo0P+rFdSAdfZC982wfFmXvW6H4XvYmlGK1mMJJsItRUQzG+vERBUNTFdn29eNGKwp6mdLqqnD55QHgP/lOE4y/PpysTJMrtaB+AdBQizbS2TsPvEVd0EachYP0jacdcA6nbtSzCAFXR0/Z37tDnlPvMkOwl3SoMTvJ8taQUYzQq5PoQh974ADPPWEBCeBbqXh8d7quEV6Ygq4gxV42jJtd7hZ34GtQDl8OCTn0UNYcsj6AuAWSIl7fFHRtBpu9vbdMq5NvaOu8MGYs7Wjp93xyJWajw2w==","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 9165b809-9a52-455d-9d3d-08dea02c178d","X-MS-Exchange-CrossTenant-originalarrivaltime":"22 Apr 2026 05:00:36.6461 (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 F8gdSnsGpKm9HEo+R2Eri0nyMuLkEqV44zyzWp6Jom/AlYBWlQJJ6nN9VmXwc67saWA+fANEjtCpe5jGJUPPg3dHM8zVCtxAp09KHxd3NaE=","X-MS-Exchange-Transport-CrossTenantHeadersStamped":"SEZPR06MB5739","Received-SPF":"pass client-ip=2a01:111:f403:c405::5;\n envelope-from=jamin_lin@aspeedtech.com;\n helo=TYPPR03CU001.outbound.protection.outlook.com","X-Spam_score_int":"-20","X-Spam_score":"-2.1","X-Spam_bar":"--","X-Spam_report":"(-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,\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"}},{"id":3680242,"web_url":"http://patchwork.ozlabs.org/comment/3680242/","msgid":"<TYPPR06MB8206AD232DDC788EF2F1D707FC2D2@TYPPR06MB8206.apcprd06.prod.outlook.com>","list_archive_url":null,"date":"2026-04-22T06:58:23","subject":"RE: [PATCH v3 13/17] hw/usb/hcd-ehci: Add descriptor address offset\n property","submitter":{"id":81768,"url":"http://patchwork.ozlabs.org/api/people/81768/","name":"Jamin Lin","email":"jamin_lin@aspeedtech.com"},"content":"Hi Cédric, \n\n> Subject: Re: [PATCH v3 13/17] hw/usb/hcd-ehci: Add descriptor address offset\n> property\n> >\n> > I tried to address this by introducing a new property:\n> > aspeed-ast2700-workaround.\n> \n> This is not specific to AST2700.\n> \n> I think a forced default value for CTRLDSSEGMENT would be more appropriate.\n> Perhaps \"ctrldssegment-default\", as a uint32_t, which defaults to 0x0 and\n> when the ast2700 SoC is realized, set to BIT(2).\n> \nThanks for the suggestion and review.\nWill do\n> \n> >\n> > +        if (s->aspeed_ast2700_workaround) {\n> > +            val |= BIT(2);\n> > +        }\n> \n> With the proposal above, this would be changed to :\n> \n> \tval |= s->ctrldssegment_default;\n> \nWill do\n> >           break;\n> >       case ASYNCLISTADDR:\n> >           if (ehci_async_enabled(s)) { @@ -2582,6 +2585,9 @@ void\n> > usb_ehci_realize(EHCIState *s, DeviceState *dev, Error **errp)\n> >       }\n> >       if (s->caps_64bit_addr) {\n> >           s->caps[0x08] |= BIT(0);\n> > +        if (s->aspeed_ast2700_workaround) {\n> > +            s->ctrldssegment |= BIT(2);\n> \n> Shouldn't these assignments be in the reset handlers ?\n> \n\nYes, with above solution, we do not need it in the reset handlers.\nWill remove it.\nAppreciate your kindly support and help.\n\nJamin\n> Thanks,\n> \n> C.\n> \n> \n> > +        }\n> >       }","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=A2sZkPNs;\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 4g0qpY0DX6z1yCv\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 22 Apr 2026 16:59:31 +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 1wFRXx-0001Qn-R9; Wed, 22 Apr 2026 02:58:53 -0400","from eggs.gnu.org ([2001:470:142:3::10])\n by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <jamin_lin@aspeedtech.com>)\n id 1wFRXf-0001Nm-PW; Wed, 22 Apr 2026 02:58:36 -0400","from mail-japaneastazlp170120005.outbound.protection.outlook.com\n ([2a01:111:f403:c405::5] helo=TYPPR03CU001.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 1wFRXd-0001xV-6t; Wed, 22 Apr 2026 02:58:34 -0400","from TYPPR06MB8206.apcprd06.prod.outlook.com (2603:1096:405:383::19)\n by TY0PR06MB6853.apcprd06.prod.outlook.com (2603:1096:405:11::9) with\n Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9818.33; Wed, 22 Apr\n 2026 06:58:23 +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.9846.017; Wed, 22 Apr 2026\n 06:58:23 +0000"],"ARC-Seal":"i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;\n b=UbfE+VCxUHsJdEU24/buEQ/RZn9Jq46yi5jTncWLYNcjwl4Skr3L5+UPrSlNS1oEtJxqfcvxKKL3U2Ik0Y9TIGhojFK6JdkX6BAauhABqvNQRpeFX7KhvAsDlBD+VkvTUifvO3y89n04YKeKqVHBiqsnAS6e4vMlocJwO1mXkl2ZM8O4LXubmbWLjcFJU8d3zJPg9Ny1JD6m5U5uUeHOwBw++H0p/uoQOt+lLc7rtzXbwXFr/Cc11YIv0OUfahUbnWLF2uRgT0i/AhowZBm6VJWjMO9To6xTF9XOefNui4uVmPVJf/7uhStcnfWaXDxUh0ZBXtAG/IKoNwO+rC9x/A==","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=Fj3xfCAJPRbVBZNufv2loGtb1eu11qWRBdbJUdTEKHA=;\n b=rSN1P5/oNzmBxyJUaHgjdJCUT8LWOd7Z39qNZ5XhH6lzugF++GichDp46P4t+PQoy1F3bhmTtF8bZNbNRoPdbkJPbJjTScHLd0l2SqKytb3ne9Z5LUIxa/Bc1aSpvtmsUAmcxIK+up+Aac3McHNbmcpLNLERpNHkk1Xg1OcOxyVMnccuxeBxXufdg4TpzTUkwLwI3pIGddJDWoIHiKhXs6rFYyfhvFd8ymi4YKRzwTeQIUEV77/OC33Yhk+52CwFOorPVkcBvepTeLmpzIuiDsBJ6Qq0nBYG5EkVK3u3aGEB/QcMxjXKe6RNSqiIj8msxbgu+xgvsCR86Ez0NEaptg==","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=Fj3xfCAJPRbVBZNufv2loGtb1eu11qWRBdbJUdTEKHA=;\n b=A2sZkPNsOqRrBUhN8gbZD7bl+epY8E4uuiImAowawx1jY7xnM+VeZkR7zzd4hcZT/QmFSPqxved8PFLB3awSiiA8ALR4y7SKLhFyJT0PCdX8Ixs9Po/7k4PWMCtPxtkHtL19vL377lmnCfnqoayHmoZQc2AlFTSweryLfv0WmgI93vDEWlUfrZJ9QvF81aAvMVlBSnVDHKBFAfzG0KbE/tdkpiDMdw5exn1M5imbjfpJ4LGIVGprH3Tee8vYfTwAfIXCsr3oFxK6MZUvay9StHgU6Bqa9/5OJphRs+SxKztD0P1RXkJ/mYevD+x32XVkdn9ZPB5S3/zPcCRNPqG5tw==","From":"Jamin Lin <jamin_lin@aspeedtech.com>","To":"=?utf-8?q?C=C3=A9dric_Le_Goater?= <clg@kaod.org>, =?utf-8?q?Philippe_Mat?=\n\t=?utf-8?q?hieu-Daud=C3=A9?= <philmd@linaro.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":"Troy Lee <troy_lee@aspeedtech.com>, \"flwu@google.com\" <flwu@google.com>,\n \"nabihestefan@google.com\" <nabihestefan@google.com>","Subject":"RE: [PATCH v3 13/17] hw/usb/hcd-ehci: Add descriptor address offset\n property","Thread-Topic":"[PATCH v3 13/17] hw/usb/hcd-ehci: Add descriptor address offset\n property","Thread-Index":"AQHczUNUCGCAr2wNUUqlxwuOt/36CrXi0Q2AgAAGdwCABJoRoIAAHPGAgAMgrZA=","Date":"Wed, 22 Apr 2026 06:58:23 +0000","Message-ID":"\n <TYPPR06MB8206AD232DDC788EF2F1D707FC2D2@TYPPR06MB8206.apcprd06.prod.outlook.com>","References":"<20260416014928.1279360-1-jamin_lin@aspeedtech.com>\n <20260416014928.1279360-14-jamin_lin@aspeedtech.com>\n <04a8d8d9-f605-4bd3-8468-0e2840ae8311@kaod.org>\n <20ee6c39-d0ff-4e07-95e6-5aeb86dc0916@linaro.org>\n <TYPPR06MB8206A19AD70BA0FAD7F68B15FC2F2@TYPPR06MB8206.apcprd06.prod.outlook.com>\n <8ae66243-d55d-4d7b-bcab-dbdcd680aaf7@kaod.org>","In-Reply-To":"<8ae66243-d55d-4d7b-bcab-dbdcd680aaf7@kaod.org>","Accept-Language":"zh-TW, en-US","Content-Language":"zh-TW","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=A2sZkPNs;\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_|TY0PR06MB6853:EE_","x-ms-office365-filtering-correlation-id":"bd68eda8-c93f-4d21-2b13-08dea03c8bb0","x-ms-exchange-senderadcheck":"1","x-ms-exchange-antispam-relay":"0","x-microsoft-antispam":"BCL:0;\n ARA:13230040|7416014|376014|366016|1800799024|38070700021|921020|18002099003|56012099003|22082099003;","x-microsoft-antispam-message-info":"\n gg224SVlXJ7g7psA6htSk3B+QYIcekVJmTkjPWkQsNqUwBj/pKM+4I4e8RQQ4eudENBn1ALA3LBkoLwZDgv59qgIZCQavU4s5wwVJg/9uoKTqdGUD+wvMKZVDqhF7I0L446BnwXoOcToNBgOsTSYDkxbqaRa3QQabdIZ+FGUX6ATzm8QlCzQ5BfzJStiQEMZ3Sr4qjbxh80S3lVpi38p0emvvAkuBh0bmzIdo0T7PepTVG3k+TpOxSwWljWQSqTKDMU9vN0RwjtGSb5dqLIOV1iBZHoD2Sj9xfLnAiu/oPUdICMFv4n1Vd3l4OKKYQVyVsvmstG5sV+YYRsxgGJWLRpBXV9BDyhAz1kId6++OkEkPsGljMgu5157yU0ujGBPnviYJ/2qFhGaEQ0Fm7qx0isJoR+wF90izAI+2JTCPMGsKB73hAJR1o3g72rcRz4efcfjb9jG8xuBV2wvNtjy53LmBWPlMiHenCOP3qtDGyKIp28fSzK6+LFwKTglPE2JRmXb614GV9EkIEG9H1DcbVTRcEcQUiXh6E/AycznV+xPCdjMSLVEF4toHPgKdiPQ4eOXvzixhs6GeEegzNpB7fVIK6tgWxb+/SSz1uA0Z8hs3AGg+rjUPktmRnhiFMRyCYebDkE8B0oSS3lBe/2sKx1mh+DkwK7QH+Wh/3ocPVxyrw0kJ+I0xIiD8UCO1WtSh5fAZbBvemm5teaDzVraTblX6JO5Dcx+YO3uckWkQgeGj0k+lHJh84AhET1rWul0XOMaw6QvoIsB/k/neYqACL8adY1T3hyvOMvtLiCuN9sR4z8+0wVspgDTDYuejF/K","x-forefront-antispam-report":"CIP:255.255.255.255; CTRY:; LANG:zh-tw; SCL:1;\n SRV:; IPV:NLI; SFV:NSPM; H:TYPPR06MB8206.apcprd06.prod.outlook.com; PTR:;\n CAT:NONE;\n SFS:(13230040)(7416014)(376014)(366016)(1800799024)(38070700021)(921020)(18002099003)(56012099003)(22082099003);\n DIR:OUT; SFP:1102;","x-ms-exchange-antispam-messagedata-chunkcount":"1","x-ms-exchange-antispam-messagedata-0":"=?utf-8?q?ZRskyhBhy0JKZFoB0C0VzVOR0Cft?=\n\t=?utf-8?q?fX16yEtg/oWcH8nI5WEwy4O69MudSanmvcUKKBqq/UF76kSjdZPlo7VKXCzHt+xtm?=\n\t=?utf-8?q?mLdJrKZEtoN/lc/qiIpRumcMPYdoPlgHc99DQIMIUFBcexbd09bTioZSm2ujndqH0?=\n\t=?utf-8?q?C7pbNLRfSkMBzkpasZay+UYvd1LMsv/NWknoIQajyowzlaS6jn52Mjl5o97IjGv18?=\n\t=?utf-8?q?2ARrEVTdOdpLxKBNyHnzef6jw9MYXbvTkzUOG8inHiVk/MWc+TE0IZAKW+AK/LoRv?=\n\t=?utf-8?q?lZIE3+uFnyRLv0M1R/3vQdZAl5SZftZMcW7C/b2o1J2jxsJCqfefj3gRwbiovWzRS?=\n\t=?utf-8?q?CkVuPdAlFSXpXZNxhd9p+Z5Wjm7rhOkIDr5b5NcKgG8f2JEUlNVEjedyyJtnicHSP?=\n\t=?utf-8?q?6VNgfwLf/2fbyviQEXl7+WaNUZA9H0xlPr45yOJtlPFJSevDnazBnmpIkCW2wMfrJ?=\n\t=?utf-8?q?lp3ZwvfLxALUaBc4tlUS61FJfTsSxXuWeTjlN4As+gGXHcRJ60TKFQ/tX7klx7xGG?=\n\t=?utf-8?q?mfR9MGZBueNmUTIV46bFonZbQJrGEkAcJJSGxfB7apQfWop8YQ/e3DRh6EQDO5t+c?=\n\t=?utf-8?q?AzRJ6Iowv3BYABSfPposTB9x2qKioaN4S3g9zZ0bVyb7fukr+RaEvrRNNjYpCeDhM?=\n\t=?utf-8?q?ZpKelQTM+VLBRW4xS67/DJS6A5wD1g0WLjsFHkAUCMsLGTABBMaFZM4C7mAvX7h1l?=\n\t=?utf-8?q?VrVm0NxImjgvIy9t1jcLzNwURBxZ6DVG5g7woRk3mxfo2EdAs/ttYSCY8U+O3itOs?=\n\t=?utf-8?q?mh+b4OjG9Fscpt4HMe8dijPNejEoIeVqLlQdF/zAeWyQC77Ui3FW0NVlT6AGSfF+U?=\n\t=?utf-8?q?4jzzvN8ZFYkADW+vO2etHiS0Wszv0f6PCwO9BZvPPO9y8dfY5JA0Bxj9Sw6Wdamil?=\n\t=?utf-8?q?ZKxAQhu6KEdp3+tFE12pZeknoYYVD3jNHrkwisUVJcpCuz/aKIfvgljj4I4cmP9Kh?=\n\t=?utf-8?q?dKctDkOEXD9R0uxgdnqcC3Va5N3xRuwsfe8Nlkn3SK+AVBBbmttoqZ3JkkzOvKIHw?=\n\t=?utf-8?q?Wfs0dAfQ7zEt6Te1xXYr/nOjezKf6McAGtk5izpH3KHvEM0bExxvzGGs+XzC3rKjp?=\n\t=?utf-8?q?cIaSPpIQN2+ufBUAuK3VyI50c9medD3dyL+jNxDq3lXDIu+7rog31HJ5j6oGXTwlt?=\n\t=?utf-8?q?BpnUUpZUFFc9YVDhVEVgSVsVEk7DJ91SgZ+z5CT5L5tR3mHjer2ykuaLXWYLJPth6?=\n\t=?utf-8?q?IWsdm8cNWzRiJ013XnItFeO1V1x+uwE7CsgfAp37VYFL2IKrCZNraNtMFOee+IzqC?=\n\t=?utf-8?q?+yqc+kR10DTexyb7hujrCf6nbkVDumbqxcSsi+P95pYSjIMS9E/j5TigByJRQKubT?=\n\t=?utf-8?q?uEQtYCxmIgz/UCBR0CnA0yoYgIBvgk3O8ZTNpsHV97eGRP/k44fkQ3aRw4ZAu8jzc?=\n\t=?utf-8?q?VlQZfXJbdq5YhqBTF2zpAa7mEe1cqx5AqanoowI7LVrk0EWNZDPqUNtRJ+i7aaDTq?=\n\t=?utf-8?q?B+87plIs6KWdHanc5B234oLi+cmg2wClPq/HU5IjNANcVr06blI+6yl0tcrPf91q4?=\n\t=?utf-8?q?IqtrE6Eo+rveyJqb7jUFPWSj+xCn+zFMnPgFuRfvlSFUWQAtKau5WnSZH47jMOuaJ?=\n\t=?utf-8?q?mHCcbOojzaX46Nfzmz1vknA1UYTyZnnRr2i8w2v/QTbkCEsw9NVaDwdBES+YuVYoI?=\n\t=?utf-8?q?gn1JH+HRdzG9Y/iGMF42Yr4fnRiox+sw=3D=3D?=","Content-Type":"text/plain; charset=\"utf-8\"","Content-Transfer-Encoding":"base64","MIME-Version":"1.0","X-Exchange-RoutingPolicyChecked":"\n PNYhT1d+b4Y7o0N7mAt5wYK2ORDt+THfLayrEciDtHKVuy3xwpDW63lvUdkxYXMw5ZS5keV6ZBGR8e7B23+gu20RG/f0alnXF6ae4xYDAB+MJnpJT1CGbL+2qO/CCyL087RZqzmR5IwKmv7VD1yA4Qtv58/s6Hf5/Y3o/ew31rM6GIDoGUZYmf1RQg2ywUXMYC3uAbUmhLLJTHLkCGsXd6vEev+9m99zRG34+/WuJ4xsv1rgtBWqCY5jiilDZKi8Peawfos5cTIRBWMBmhaEeTF+f1IqtwL+rTjzxPqEVAKVy989Cd+kmysb8E5ZrYDju6GGShIDnxoGuovhigA0VQ==","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 bd68eda8-c93f-4d21-2b13-08dea03c8bb0","X-MS-Exchange-CrossTenant-originalarrivaltime":"22 Apr 2026 06:58:23.4633 (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 D6cMACMSz3U4OR/lwICfPNUdrEYvO/E2GJ3NmsAqkLu88Ei2KvShJkHeZ5iSfdpo95awgJCmMRy1N4WRaC9W2sI989iLgGZZTPowic3Cs18=","X-MS-Exchange-Transport-CrossTenantHeadersStamped":"TY0PR06MB6853","Received-SPF":"pass client-ip=2a01:111:f403:c405::5;\n envelope-from=jamin_lin@aspeedtech.com;\n helo=TYPPR03CU001.outbound.protection.outlook.com","X-Spam_score_int":"-20","X-Spam_score":"-2.1","X-Spam_bar":"--","X-Spam_report":"(-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,\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"}}]