get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/patches/2232238/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 2232238,
    "url": "http://patchwork.ozlabs.org/api/patches/2232238/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/patch/20260504025342.1452605-4-jamin_lin@aspeedtech.com/",
    "project": {
        "id": 14,
        "url": "http://patchwork.ozlabs.org/api/projects/14/?format=api",
        "name": "QEMU Development",
        "link_name": "qemu-devel",
        "list_id": "qemu-devel.nongnu.org",
        "list_email": "qemu-devel@nongnu.org",
        "web_url": "",
        "scm_url": "",
        "webscm_url": "",
        "list_archive_url": "",
        "list_archive_url_format": "",
        "commit_url_format": ""
    },
    "msgid": "<20260504025342.1452605-4-jamin_lin@aspeedtech.com>",
    "list_archive_url": null,
    "date": "2026-05-04T02:53:46",
    "name": "[v6,03/11] hw/usb/hcd-ehci: Add property to advertise 64-bit addressing capability",
    "commit_ref": null,
    "pull_url": null,
    "state": "new",
    "archived": false,
    "hash": "855275ca0c5b17bcc16d6eec96e6fd963ed11cc3",
    "submitter": {
        "id": 81768,
        "url": "http://patchwork.ozlabs.org/api/people/81768/?format=api",
        "name": "Jamin Lin",
        "email": "jamin_lin@aspeedtech.com"
    },
    "delegate": null,
    "mbox": "http://patchwork.ozlabs.org/project/qemu-devel/patch/20260504025342.1452605-4-jamin_lin@aspeedtech.com/mbox/",
    "series": [
        {
            "id": 502603,
            "url": "http://patchwork.ozlabs.org/api/series/502603/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/list/?series=502603",
            "date": "2026-05-04T02:53:55",
            "name": "hw/usb/ehci: Add 64-bit descriptor addressing support",
            "version": 6,
            "mbox": "http://patchwork.ozlabs.org/series/502603/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/2232238/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/2232238/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>",
        "X-Original-To": "incoming@patchwork.ozlabs.org",
        "Delivered-To": "patchwork-incoming@legolas.ozlabs.org",
        "Authentication-Results": [
            "legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=aspeedtech.com header.i=@aspeedtech.com\n header.a=rsa-sha256 header.s=selector1 header.b=TtvAZ1/d;\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 4g85pm3QFqz1y04\n\tfor <incoming@patchwork.ozlabs.org>; Mon, 04 May 2026 12:54:54 +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 1wJjRZ-0001Xl-TV; Sun, 03 May 2026 22:54:01 -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 1wJjRV-0001WO-67; Sun, 03 May 2026 22:53:57 -0400",
            "from mail-japanwestazlp170120003.outbound.protection.outlook.com\n ([2a01:111:f403:c406::3] helo=OS8PR02CU002.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 1wJjRT-0003sY-KJ; Sun, 03 May 2026 22:53:56 -0400",
            "from TYPPR06MB8206.apcprd06.prod.outlook.com (2603:1096:405:383::19)\n by TYUPR06MB6098.apcprd06.prod.outlook.com (2603:1096:400:358::10)\n with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9870.25; Mon, 4 May\n 2026 02:53: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%2]) with mapi id 15.20.9870.023; Mon, 4 May 2026\n 02:53:46 +0000"
        ],
        "ARC-Seal": "i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;\n b=uH9wp6TiqK5kf0b390iKrHkUR86np69Ao2CWXpP/+uq0FsKm8NLKVPrjuTeOfF82yohjCDVTTfL37w6Fmeu16EIjJv/qLvxaQx/GvsQqHnd1F9GdElRLwUYjQTj89YkPjfW6B8SGffwWzrXXwkIkn8T66WYm6n/XYy3ioP2usE6XMOybNMQBx8oN7vZvpls8+DxEV28HkXsLHmtWgmgFp3gagupTJ8zBbnVGpn+JWVn3SQKcnyCtIttrhZomgbg0PSCyjhMU5lrnEpDhxUXaySGhsDlFnbDTCfNQV7tI2w2+Q2fMREY4EIcq4Me9h2KYZwMw7xdycWF0lJZdXV8pbw==",
        "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=g5YMZlkh6bJg1DmrzXM4Ot5jvd0kMYaXk3pupCY1/mY=;\n b=RvFmKHcXEZ797ULdOFKQill4msI3nGZISC1ojDMW8Ixw+7JJimi0ExjhKNOaEdmbwHGdwyePOKsVC/ljaZeDk3qFMokRVyGxo7vFJZvl/GBWlRSEbLCdcLipa1TMNSY48OkajmYUvgwWvl7CFLLTo6DlPm8mDpYPpXkvgZ0njUU91g2Vi7TSEsFdWoRwPzZnJILZ7Ns8urZsYcNKMPK3QiKUSlJil8TSBu4w2i2vVEDSDw1+hi50iapXuPtt2qjoltXQLr9Boxsxy2n5E6ArzFpidFJQt0c2Pu7TtRlb38cEMU1PsDFrY5DvYoGdGaGZiVdZfZ76iijMiUUQ3X+4Zg==",
        "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=g5YMZlkh6bJg1DmrzXM4Ot5jvd0kMYaXk3pupCY1/mY=;\n b=TtvAZ1/dL4C1JohQaaKW8i+uwkOfsVPsPiIuiwPx1ljgDmnvSQ+M9sWFtTjJVAAbu/3plg3MlepcIGO4+RVSSYcbwO5cktAnTTZGln38GZTUM7737Cn81BRPkbxW8GL+SCc7NtUx7FYDDEwSHhDPoOKmveUEGEVn6oIpAvN53i2T16RZkEubKctnNzDku/lHyqMNveSxpIgFU1wQgSdbyDJb3OyyEaRbvNZ+d2lQg6vLb77DGSzjiCvh1FWL1gZ8BAlokojKQdAudqDDy4+DcKgV2z4GP3Y+9dj5skkLpPVOIEhaOAF4RFeePITqOOQbR/tM2Yh3WptB6VrfhpvnTQ==",
        "From": "Jamin Lin <jamin_lin@aspeedtech.com>",
        "To": "\"philmd@linaro.org\" <philmd@linaro.org>,\n \"peterx@redhat.com\" <peterx@redhat.com>,\n =?iso-8859-1?q?C=E9dric_Le_Goater?= <clg@kaod.org>,\n Peter Maydell <peter.maydell@linaro.org>,\n Steven Lee <steven_lee@aspeedtech.com>, Troy Lee <leetroy@gmail.com>,\n Kane Chen <kane_chen@aspeedtech.com>,\n Andrew Jeffery <andrew@codeconstruct.com.au>, Joel Stanley <joel@jms.id.au>,\n Zhao Liu <zhao1.liu@intel.com>,\n \"open list:ASPEED BMCs\" <qemu-arm@nongnu.org>,\n \"open list:All patches CC here\" <qemu-devel@nongnu.org>",
        "CC": "Jamin Lin <jamin_lin@aspeedtech.com>, Troy Lee <troy_lee@aspeedtech.com>,\n  \"farosas@suse.de\" <farosas@suse.de>, \"flwu@google.com\" <flwu@google.com>,\n  \"nabihestefan@google.com\" <nabihestefan@google.com>, =?iso-8859-1?q?C=E9dr?=\n\t=?iso-8859-1?q?ic_Le_Goater?= <clg@redhat.com>",
        "Subject": "[PATCH v6 03/11] hw/usb/hcd-ehci: Add property to advertise 64-bit\n addressing capability",
        "Thread-Topic": "[PATCH v6 03/11] hw/usb/hcd-ehci: Add property to advertise\n 64-bit addressing capability",
        "Thread-Index": "AQHc23E6V3NEomWYNkCHOyFAl9cmzw==",
        "Date": "Mon, 4 May 2026 02:53:46 +0000",
        "Message-ID": "<20260504025342.1452605-4-jamin_lin@aspeedtech.com>",
        "References": "<20260504025342.1452605-1-jamin_lin@aspeedtech.com>",
        "In-Reply-To": "<20260504025342.1452605-1-jamin_lin@aspeedtech.com>",
        "Accept-Language": "zh-TW, en-US",
        "Content-Language": "en-US",
        "X-MS-Has-Attach": "",
        "X-MS-TNEF-Correlator": "",
        "authentication-results": [
            "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=TtvAZ1/d;\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_|TYUPR06MB6098:EE_",
        "x-ms-office365-filtering-correlation-id": "fdf377a3-ce2e-4fe1-c99d-08dea9885c9a",
        "x-ms-exchange-senderadcheck": "1",
        "x-ms-exchange-antispam-relay": "0",
        "x-microsoft-antispam": "BCL:0;\n ARA:13230040|1800799024|366016|7416014|376014|18002099003|22082099003|56012099003|921020|38070700021;",
        "x-microsoft-antispam-message-info": "\n MsOVy9tkUTEOyJeJd4TU/qiRlFycyxqgPYm54Y/sa2tnNSnpemrUQ6GmBUTxZeajoj+QNCCOnjVZx6pjjnAud7ukmMICqspZ1XTKUKMRTP+XssCS5MOes8fdW0nP4x8aYnz2rdlvE+dsVrBZZCTZiV9EQ7yBe9YAj8EQVilUCDvr6RsFb7mrIFcpBpezDaVgMnArCqVyvKONUh2Anb/Y5kMzJ4FIVgKf+jZOCi8CXF8w2XKMAX47Tc0zfTWWLyks9FnjPbcXtYEgbQiD7yoLNLeYVbp2qpencorhYR8MIvTdu9G88EZvnmwNBjC/v14ihDPxL5CO8BarDweG0XY+NVR4Em58AICnwhmIzJvAGGKdjqplhjKyCLNxgndTTmA8vs9378kVckJhOhBHnvtMFgAle7yIki05U0ROqZPQvqrqkximkHN1EtqFyjqrQhKz07MkJTdpim2S7ityLYPGO0FOw4MNqeeMqqznBpwojAwby4HF8aa4iY5eIhv5C7wNWCeWaDQ/7sFkeM5nkFlraG4l9vrqB1pzmGobm72qwTB2CIp7JU9TP+ZWpsSJiArFYDwGOIjxfVtbplg3YBVTuCwmJk93Z69JayUbpk7AGa494dftYc2h2auFgr1a/nKHG/EYqTExEqAdWML6FD3zWg+xn0keXo8X6M7HxjXkkrHyILbkb/Ca5rpOHQO1M2LctXXG3QQkkZ79crhttTy95wa0vMaqZUBrUSeIf758pV/u1I4/LvepFM7SC/sh6/sZxnFwc0E5zJSlmZL8cYVJwA==",
        "x-forefront-antispam-report": "CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;\n IPV:NLI; SFV:NSPM; H:TYPPR06MB8206.apcprd06.prod.outlook.com; PTR:; CAT:NONE;\n SFS:(13230040)(1800799024)(366016)(7416014)(376014)(18002099003)(22082099003)(56012099003)(921020)(38070700021);\n DIR:OUT; SFP:1102;",
        "x-ms-exchange-antispam-messagedata-chunkcount": "1",
        "x-ms-exchange-antispam-messagedata-0": "=?iso-8859-1?q?SQA/tOsaZTNcltxEuetO3XK?=\n\t=?iso-8859-1?q?kRyKh59L7HaQ8wECPEKdQi7wPYaq+24Ae43VoGskoR9NqCzMX3JfUwa0d2am?=\n\t=?iso-8859-1?q?uNYctNgJuWt7TS1TX0OVNDG9zJdshrjeyMR0mfxOvkfb8CdDHtOygwPvgwvJ?=\n\t=?iso-8859-1?q?uzKuNfRaK5aD3NfORpXqC/Ky4DvBdxp87d3/kMr696bXrlTXVpWOguyTvDTc?=\n\t=?iso-8859-1?q?sAcAjrRo86hbMoC+qgvp8tdloiWXs64H71qeB0Ba4ZwapqGHusb/5wWrKOTq?=\n\t=?iso-8859-1?q?vj7kPgwtxy5TNwJILsIQtDtM7SXACI8PtIJRTw92wXTcd13TiJeESUHVbqPi?=\n\t=?iso-8859-1?q?7rfRoTiITR0TRUeQcEwcpUOWfEJQljUETLVwR9G3txNoE4/Nfh3zmMnTdUR+?=\n\t=?iso-8859-1?q?PHHbreBtVMZ8DM/L5tC/tkcdK2vsR3b3M8yxK3IonReEKNABXxjxpYjc/xtI?=\n\t=?iso-8859-1?q?4lR8V1xTawWuzWItmDUT6VGAzxEx4102amOUZWcXz6/j3veo0zM0C8v336aK?=\n\t=?iso-8859-1?q?Cy5L5NHjx3HLEKVT9S4Gn7nmTI+3ieWuEUDbCaWnNa1p0Fb7wC9MlFp/uI2a?=\n\t=?iso-8859-1?q?X1rEnXzhguoJhYKKgKUE5BhrNbXmLeKAaQ71WdB/hUoTZ3o79qOKBLqjc5kj?=\n\t=?iso-8859-1?q?uOqoSoSPy0c3Uqvv2Gcozxlqf9CwpWZw0nOCES3eOfchruai1LqkEJSgJzfH?=\n\t=?iso-8859-1?q?bryoEZReGxlUut8zL4+JgGlkUou8qUBM7tBy8mqgz3YFIigoMhOcaX5lu5HY?=\n\t=?iso-8859-1?q?ma0O/pvogKrsODc6FRV3Ns6QObEdpZTYkBz24oOhURpCtXw8wn0ymfLgh3GF?=\n\t=?iso-8859-1?q?86ba9GH3Gy0lPduG7Tt+xfqYrsLsEA8E6BYhI5LwVduxGArAiV7Z1aoEW3Y8?=\n\t=?iso-8859-1?q?XqxFoqRjftGjSSa+qTsnoOCzsIGfO7bcxq9JIJc8CL9fTTDUYAWnyyyUzmuW?=\n\t=?iso-8859-1?q?jsi+tIRLX/Y82KcMoK+0oOE9wxLkBknfwv9BudXMLStaO5RwoZNlgpwwk+D5?=\n\t=?iso-8859-1?q?7RVzAfQLqrY9GLHKslJMUiBhyWuek6jqDF8ko/1R/vcqzGRc9CH/xxbflPaq?=\n\t=?iso-8859-1?q?q01h5Mi+Ht42Hr28p1CSgYImUkkN5AyIyGK2KuBEYT6KTLJGHBs7XKkMmFfA?=\n\t=?iso-8859-1?q?WlhAQ3P+MFuDLwph18cH4U/nwK2CVctZSaUbCPUFhXEiM1p/HcAEGN9/XLqC?=\n\t=?iso-8859-1?q?CVMYcsNUdNPq9Cg+VprJ1wnHZJUImGsA+fYDe/ay0qTVKUvjwVDb9qVft8vT?=\n\t=?iso-8859-1?q?JUNkWlrb13mOmDYs/UJ6oSlGom6B81+RGotoWFtV/oLtZxZFXf9kiZ4TFggW?=\n\t=?iso-8859-1?q?aXuE04kVSM1fxfvJlL5Sspsl3CVBwkpE83vf3efk0NNV2scJWd1kag4YGKMX?=\n\t=?iso-8859-1?q?Sww5sfTZm2wFb5f97hcsO6ST298IcOGR+fxsQwbv2doTsk8DCDAyn3Sy52PR?=\n\t=?iso-8859-1?q?A+ykYgQewM/iMYumjdcUX9o+XP33OwshiA4Zxq9aOVeQh9phSQcz0/9nIJ84?=\n\t=?iso-8859-1?q?RWSh5jjq+1V/D92e5k1roz7juI9IE+8EnD12nJyjIl80doDCk9BOAvOXPCaB?=\n\t=?iso-8859-1?q?j7OPUhnYre4iO0j9gOzF+qHywlYJvBuwdXV4kh9bjwHC4L2WEThmbihdHHjm?=\n\t=?iso-8859-1?q?xjXS47k9jDXoGonSsMYyM7sXi05A4oJV3p0rri//FtSqz28oToBJjdLII+cs?=\n\t=?iso-8859-1?q?Tc0uOci9dMD3TPAxzSsyC/RgCXRXeYP4gw9aAaWCEWNn/fwTc8kQRe7x80xA?=\n\t=?iso-8859-1?q?yuTHieWbNN+WDs3Z3FAC39ic5s7MEVldmewNpbaZkICcZHw=3D=3D?=",
        "Content-Type": "text/plain; charset=\"iso-8859-1\"",
        "Content-Transfer-Encoding": "quoted-printable",
        "MIME-Version": "1.0",
        "X-Exchange-RoutingPolicyChecked": "\n ecB5LieDUZid/iEJOXzXyqXdKsRAURrktTG6ByksgjIKDjEBQW/VnPCH7bBWx9KcEzAYSmq81u5Oe5kseKEet7RMxc88yaGWLkafTri5wxXh+KK6jcDPIVt4QYkU5VXlHGGS+RknvhSOUNG/8L6xyZQApwoSwstRIyR5CcN4ZNZItmsc49NtOnxFOp3K9aOj2x3cctxUxBBVKGCFi1uHtZIB0fXSx1ocap57n3Zoipc6VPRxZAJcp/sGVQCJcFAMCMfitvkoomnSYQmsLVk6OT3N1OtD70vC1zkjOZ68MwmPp4oE8bMrDXUPFxFOLqgFiYUKIXv3Bmo7ahBUaqU9Iw==",
        "X-OriginatorOrg": "aspeedtech.com",
        "X-MS-Exchange-CrossTenant-AuthAs": "Internal",
        "X-MS-Exchange-CrossTenant-AuthSource": "TYPPR06MB8206.apcprd06.prod.outlook.com",
        "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n fdf377a3-ce2e-4fe1-c99d-08dea9885c9a",
        "X-MS-Exchange-CrossTenant-originalarrivaltime": "04 May 2026 02:53:46.7430 (UTC)",
        "X-MS-Exchange-CrossTenant-fromentityheader": "Hosted",
        "X-MS-Exchange-CrossTenant-id": "43d4aa98-e35b-4575-8939-080e90d5a249",
        "X-MS-Exchange-CrossTenant-mailboxtype": "HOSTED",
        "X-MS-Exchange-CrossTenant-userprincipalname": "\n Wcx+PdSPTdfzPKKEDzh2Y5VHHdhHhCpQqXsTU+Y4GJFycMnwNyZKjK6caVWGbvtXLGr4hFztjLuQNTpMjcGYOT3h94pK6eQrSvqWZ/J4sSw=",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "TYUPR06MB6098",
        "Received-SPF": "pass client-ip=2a01:111:f403:c406::3;\n envelope-from=jamin_lin@aspeedtech.com;\n helo=OS8PR02CU002.outbound.protection.outlook.com",
        "X-Spam_score_int": "-20",
        "X-Spam_score": "-2.1",
        "X-Spam_bar": "--",
        "X-Spam_report": "(-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,\n DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, 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"
    },
    "content": "Introduce a new boolean property, \"caps-64bit-addr\", to control\nHCCPARAMS[0] (64-bit Addressing Capability).\n\nWhen enabled, the EHCI controller advertises support for 64-bit\naddress memory pointers as defined in the EHCI specification\n(Table 2-7, HCCPARAMS). This allows software to use the 64-bit\ndata structure formats described in Appendix B.\n\nWhen disabled (default), the controller reports 32-bit addressing\ncapability and uses the standard 32-bit data structures.\n\nThe EHCI CTRLDSSEGMENT register provides the upper 32 bits [63:32] used to\nform 64-bit addresses for EHCI control data structures. Per EHCI 1.0\nspec section 2.3.5, when the HCCPARAMS 64-bit Addressing Capability bit\nis zero, CTRLDSSEGMENT is not used: software cannot write it and reads\nmust return zero.\n\nAdd a capability check in the operational register write handler and\nreject guest writes to CTRLDSSEGMENT when 64-bit addressing is\nnot enabled.\n\nSigned-off-by: Jamin Lin <jamin_lin@aspeedtech.com>\nReviewed-by: Cédric Le Goater <clg@redhat.com>\nReviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>\n---\n hw/usb/hcd-ehci.h |  5 ++++-\n hw/usb/hcd-ehci.c | 14 +++++++++++++-\n 2 files changed, 17 insertions(+), 2 deletions(-)",
    "diff": "diff --git a/hw/usb/hcd-ehci.h b/hw/usb/hcd-ehci.h\nindex 3acbddfc5c..f1f2fde578 100644\n--- a/hw/usb/hcd-ehci.h\n+++ b/hw/usb/hcd-ehci.h\n@@ -257,6 +257,7 @@ struct EHCIState {\n     /* properties */\n     uint32_t maxframes;\n     bool migrate_fetch_addr_64bit;\n+    bool caps_64bit_addr;\n \n     /*\n      *  EHCI spec version 1.0 Section 2.3\n@@ -313,7 +314,9 @@ struct EHCIState {\n #define DEFINE_EHCI_COMMON_PROPERTIES(_state) \\\n     DEFINE_PROP_UINT32(\"maxframes\", _state, ehci.maxframes, 128), \\\n     DEFINE_PROP_BOOL(\"x-migrate-fetch-addr-64bit\", _state, \\\n-                     ehci.migrate_fetch_addr_64bit, true)\n+                     ehci.migrate_fetch_addr_64bit, true), \\\n+    DEFINE_PROP_BOOL(\"caps-64bit-addr\", _state, \\\n+                     ehci.caps_64bit_addr, false)\n \n extern const VMStateDescription vmstate_ehci;\n \ndiff --git a/hw/usb/hcd-ehci.c b/hw/usb/hcd-ehci.c\nindex 9d74259289..7166a93fd2 100644\n--- a/hw/usb/hcd-ehci.c\n+++ b/hw/usb/hcd-ehci.c\n@@ -1109,6 +1109,15 @@ static void ehci_opreg_write(void *ptr, hwaddr addr,\n         }\n         break;\n \n+    case CTRLDSSEGMENT:\n+        if (!s->caps_64bit_addr) {\n+            qemu_log_mask(LOG_GUEST_ERROR,\n+                          \"ehci: write to CTRLDSSEGMENT while \"\n+                          \"64-bit addressing capability is disabled\\n\");\n+            return;\n+        }\n+        break;\n+\n     case ASYNCLISTADDR:\n         if (ehci_async_enabled(s)) {\n             qemu_log_mask(LOG_GUEST_ERROR,\n@@ -2554,6 +2563,9 @@ void usb_ehci_realize(EHCIState *s, DeviceState *dev, Error **errp)\n                    s->maxframes);\n         return;\n     }\n+    if (s->caps_64bit_addr) {\n+        s->caps[0x08] |= BIT(0);\n+    }\n \n     memory_region_add_subregion(&s->mem, s->capsbase, &s->mem_caps);\n     memory_region_add_subregion(&s->mem, s->opregbase, &s->mem_opreg);\n@@ -2613,7 +2625,7 @@ void usb_ehci_init(EHCIState *s, DeviceState *dev)\n     s->caps[0x05] = 0x00;        /* No companion ports at present */\n     s->caps[0x06] = 0x00;\n     s->caps[0x07] = 0x00;\n-    s->caps[0x08] = 0x80;        /* We can cache whole frame, no 64-bit */\n+    s->caps[0x08] = 0x80;        /* We can cache whole frame */\n     s->caps[0x0a] = 0x00;\n     s->caps[0x0b] = 0x00;\n \n",
    "prefixes": [
        "v6",
        "03/11"
    ]
}