From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id A82A1A0C49; Wed, 16 Jun 2021 14:26:21 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 93D394069C; Wed, 16 Jun 2021 14:26:21 +0200 (CEST) Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by mails.dpdk.org (Postfix) with ESMTP id 42EF1410E2 for ; Wed, 16 Jun 2021 14:26:19 +0200 (CEST) IronPort-SDR: P2xigj+9CwHilAjadohlDMOixGqj8s1h9uQdtsaVfHQ5mUN4XbGefK6eJF0GPAtebgz2FwY4lk khuPY78HN9Xg== X-IronPort-AV: E=McAfee;i="6200,9189,10016"; a="193475424" X-IronPort-AV: E=Sophos;i="5.83,277,1616482800"; d="scan'208";a="193475424" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 16 Jun 2021 05:26:17 -0700 IronPort-SDR: OSVihL0sLjNWL1AO3NkQp9KyK6nfhat1KxaoYTGdeJBCOCH6t2a1ah4N6DwGPebB8pzxdaaBtm vL5AJ16IBzlw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.83,277,1616482800"; d="scan'208";a="488166426" Received: from orsmsx606.amr.corp.intel.com ([10.22.229.19]) by fmsmga002.fm.intel.com with ESMTP; 16 Jun 2021 05:26:08 -0700 Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) by ORSMSX606.amr.corp.intel.com (10.22.229.19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.4; Wed, 16 Jun 2021 05:26:07 -0700 Received: from orsmsx607.amr.corp.intel.com (10.22.229.20) by ORSMSX611.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.4; Wed, 16 Jun 2021 05:26:06 -0700 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by orsmsx607.amr.corp.intel.com (10.22.229.20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.4 via Frontend Transport; Wed, 16 Jun 2021 05:26:06 -0700 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (104.47.55.104) by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2242.4; Wed, 16 Jun 2021 05:26:06 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=iS89C8QxqGeizCG9kEex/vIbs05mczfUkdDIEtONLzrh442ftjW0aVBjEYm4TuVBQpdmVqvOyqrtd5bIyFE6HhIj3e5B5r3tFPVeoJq1ElhmIhTLGWgE9k+EaumkXqcjcu/cShpSeSXisDvQl9lduOyBwSs5s/bnqJ9PEmjyNDtJHtkGiCIgSXCI5kq77XhWYSIiwCRt7G/FTDkVL8GhwAT9BzGMQwn058puQw6L7vfFzpBdZjXyfn1pYlokD0RBPxHMuZpt3wiP1Bbde2v13ZKkekENL/o5poh+RdClTYOS0MaMUpl+oreAAVhLSvigOdz5NmHBSoALDSHmNt6BFA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=BjrBzU34Ki0v/ZpJe/PJAZdn2Fy/nNrUEHA3F9vkxRM=; b=O3xT9Spe4h2MfKqNnK33fuzvqQv7rFrmbV0QG7UYzFUh8GMQYRrkZdl80OqmyPga6X2bYhKtrC/81xRxTkplryDrbT1dIyApoH6cweJ0GI4tAO0J1vPcrYUGBe/BTxpj9H+h4P7enq5BcLbwABB0ov2WHmsRLgZxqzUM1Y0t3jRmrqtzTffKsL0lkP1PTvM7LjhzycqyTqfde5XCN2vL6tY0SLegmRv90um9eWa0wJBhuFqK7SX3quALxiZssx0B+GgWq7Sp/q/TGOk+w8w8yp83B4vXaEAR6rcQTNoasCRsLFAW946cGvfMu9NXTlz+j2ZRaXqzfC+6bv/az4YKoA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=BjrBzU34Ki0v/ZpJe/PJAZdn2Fy/nNrUEHA3F9vkxRM=; b=sKwHRbwrd4bbYpb9fg3Qn9TYq0GQiX20b9eLnKYfJOBM5v+UalX2Auq2H/zXf66qjMnUiRclI+cut+2OW8Q9Iok4c4wCpFNvLiyHde0vshHFf3vnt/on16PmczI4efkA/CbPgmk0wXsG5oXUIN7d0/QcQh4ZUGYE34a9+xZUUBI= Received: from MN2PR11MB4063.namprd11.prod.outlook.com (2603:10b6:208:13f::22) by MN2PR11MB3933.namprd11.prod.outlook.com (2603:10b6:208:13d::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4219.23; Wed, 16 Jun 2021 12:26:05 +0000 Received: from MN2PR11MB4063.namprd11.prod.outlook.com ([fe80::d447:3a7a:aad7:4d32]) by MN2PR11MB4063.namprd11.prod.outlook.com ([fe80::d447:3a7a:aad7:4d32%7]) with mapi id 15.20.4219.026; Wed, 16 Jun 2021 12:26:05 +0000 From: "Xia, Chenbo" To: Maxime Coquelin , "dev@dpdk.org" , "amorenoz@redhat.com" , "david.marchand@redhat.com" Thread-Topic: [PATCH 2/3] net/virtio: add device config support to vDPA Thread-Index: AQHXXHCZujNtTADZEEyVUjitdfkigKsWj7lw Date: Wed, 16 Jun 2021 12:26:05 +0000 Message-ID: References: <20210608141405.52917-1-maxime.coquelin@redhat.com> <20210608141405.52917-3-maxime.coquelin@redhat.com> In-Reply-To: <20210608141405.52917-3-maxime.coquelin@redhat.com> Accept-Language: en-US, zh-CN Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: redhat.com; dkim=none (message not signed) header.d=none;redhat.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [192.55.46.52] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 25a063ef-02ba-422a-3ba2-08d930c1e9c8 x-ms-traffictypediagnostic: MN2PR11MB3933: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:4125; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 2RL2DttlCHolbi/rmzECdYry2M4szWMsqp7hDnGCr+lzsh0MxDzQ+bo6ZKplyi3qxhkhELmexlWe9lLcJqGtAkblHDK4Wi5webplDfeUZOct7pQVuRZg3XAV44ffcsU8s5o5ol1gcnAbCtpZ3jv794fB1pd5Mgl+PYpB4sbFbkC/WBJYPJHL5jMAiuvWU2muNsx0OxyIWjmS4Ou1wzehVXZjaV4qh+b4iKtKwk5zIcRkdkD597LgB+eP0U/vhwhKvDZrSsaoAFrACdATIsihfFtqXwxFmpd3qHtUTfvxD06HbrlkDzwgfiisYyoSCgHki2tWBzuKWq2O82bRHid8yZH7OcbSiZmzvJob23W4kOL25wjzxapff14/sycxbabHX6hsBi9o1AKiRvpioAfVdn82+Glr9C1otsCcpiHdY2WZ/Qwv1Xiq9U5v7J1SUVK4+vUND7z83Xq7Nx08hFo5hS/zeuUe18DZzLKg4Oyb/nWY56Ba6kqPvvVhlGOZz9xWtWx5FgaEs5lJL0E7TcGXzRpWN6WusEbt1Py+9pPWY43Ui6khEIMMnxyCgZ3TeqGR0oM4IvQ71gpgb/F3z31jFfFmg+A+fWFtcFYo4zPxcIw= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MN2PR11MB4063.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(396003)(346002)(366004)(376002)(39860400002)(136003)(110136005)(2906002)(5660300002)(33656002)(186003)(52536014)(26005)(122000001)(86362001)(71200400001)(53546011)(8936002)(9686003)(55016002)(38100700002)(8676002)(66946007)(7696005)(64756008)(478600001)(76116006)(66556008)(66476007)(6506007)(316002)(66446008)(83380400001); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?KzZqM1pVaXlBWkFFdjBnandMWjVIamFsYzcxTlhBdGZtcldSZ29xeExNdEV6?= =?utf-8?B?QzlPZW9ybXVHdFF4ZXhkc1U1djlWY05Fa0NQVzdremt2L0ljOS9IL1ZlWi9i?= =?utf-8?B?cFplQzlkdDArbk1NK2V4dHgxeU5EelBiczJaTXpvOUtieUFnVGR2S29iK0JM?= =?utf-8?B?ZGJId1lGZ21iREMwR25hK3J3ZTRQWDlJVlQzbFAzWXNFTGE5eHVEM3RkWUtV?= =?utf-8?B?eW5ndkI1VGV3d3JzVFA2T1lEWjF6UzlTR2VlZ2crekNJN2dmcnBycGNvdVFC?= =?utf-8?B?cGpXditLMTlLVVdqY0drdTlzWnF5NG5lS2NmamZmYS9UM1dMTTFHWnZ3TXJr?= =?utf-8?B?NGQvR0UwZFZVdWNrYnFVTW55TVBhQmVudVc0Z2NJQzZsdlppYWEzNkhwaDBr?= =?utf-8?B?UEJtdkhuSEJpT05TdjBMMk8xTW02TWpNT0VrSGVzQStXVDRySk16ZTBkMVE5?= =?utf-8?B?YXQrRXgrSWdrYUV5R3dBbDBDaDk2K01LeXVHb1pYbDNKMUZNa09TODZSb3hr?= =?utf-8?B?eXZyT25yeVVVNkF0dGIzZzQ4QjhaUllFTG9ydlVCWG4vWEhrMTNsSTEwOXN0?= =?utf-8?B?NHJ3OFZ1U0ZRVENkSlA5cG5WS09UNWk1bCs3YnhwV2lFZDUwd2MyeWRud0dY?= =?utf-8?B?T1ZRN0QwVWtmbEk0V21hTmFRQmlzU3lVVnpMRzI1VGhzYWkzTkRoZnk2bEFj?= =?utf-8?B?YUgwNFVmeVMrRzNNcmZIK2lxMlI5ZEVaZXhQc1pEU2tESmd6cDhRdEFaUGh0?= =?utf-8?B?eUUyK1hyQmx5aWZiN1g3MVBYT1lEMGQ1VmZGSngxbVc1UUp0VTJmd05YaEtJ?= =?utf-8?B?YWJSZys4eVBnNTUyQ3dLcGVEbnBUZUJWKzBvSzZsaFpNdXVNenJjWGJsR2Mw?= =?utf-8?B?WDlKc3hOU1JxeUF0MFVkTUpDcDB0MmlxQU0xaThCSjdLb1AwdFFaVEhObUNP?= =?utf-8?B?WlFrQStBeldZNEJDRHB4VXNPOGUrakZqeFRvY2R1c0lEVWdxOFNmWnJyaGFQ?= =?utf-8?B?QWkwLzAyam43Y3lDL0JHdFNYd28xeDFOSk1VdG9HSmFmUVFjbmkzNTlTUGhw?= =?utf-8?B?ajlzbUhWenY1RStsdnEvKzBYczIyV05IRWFaTnhrcjlWc3BwdHlXdXRUL1Q0?= =?utf-8?B?U2YraXk5WHVoOVhzRTN1TTQwcEthQWh0aGN5M2NkQ1VqRjBtQjd0dlNaOWRD?= =?utf-8?B?WlR1ZjFaMTdCU29YdGVmNTJhemc2VjNZSmhndG52VGUydkhzZ1NFUDQ1ejYw?= =?utf-8?B?cFdWTEpDUEFPKzQzOVBxakpkamt1K01wTGhLbVZWQTFEYUt6enZOdFdYajJm?= =?utf-8?B?TGJUbmJ2UmlIWXp6U3V6OC9MSUpQdU5SZ05nclg3anBlekNYVHE4ZEFobVFT?= =?utf-8?B?Q1gwYmJrM2pJT2MwVEhZMFlQZmVIREt4UnIrdzl6ZG5tbUE0NXZuV3NTQVZa?= =?utf-8?B?OVJkVVQ0SVJoM21jY3FkYS9IdGgvMmtVSFN6NFlrZmVXdXZDRGEzNUpJdncz?= =?utf-8?B?U0JUell2MVowcDhjQlJVM3NMWE93Yis5bnVOdkFwMkhkc1ZGbzZwNjJ3WUla?= =?utf-8?B?SFFvQW5DU0FkbWF0SFFsOFRkaWdvT1VEeWhCNFVadVZnSkZwdldVN3BXNXYr?= =?utf-8?B?Q0JVVUxHayt1bFk4L1M1WVcxRlo0NVlmRTZYR0M5a2owV3g5OS9wNmhwY3NS?= =?utf-8?B?cGc5MVlkK2wvemRBdkFseUdMWkoxTnJlYlJUaFlnZUNQSzh6dEg0WjNsZzB1?= =?utf-8?Q?xc5ZqraOw+zujwlqws=3D?= x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MN2PR11MB4063.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 25a063ef-02ba-422a-3ba2-08d930c1e9c8 X-MS-Exchange-CrossTenant-originalarrivaltime: 16 Jun 2021 12:26:05.7991 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: ztI2z7hDjrxpnkm4azEvR587KnWsxt0iU1KNxyX+ANqf1IUwcvakQElWkfHkP7pUh29l/u7hQ1YrYodZ6CiIbQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR11MB3933 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH 2/3] net/virtio: add device config support to vDPA X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" SGkgTWF4aW1lLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IE1heGlt ZSBDb3F1ZWxpbiA8bWF4aW1lLmNvcXVlbGluQHJlZGhhdC5jb20+DQo+IFNlbnQ6IFR1ZXNkYXks IEp1bmUgOCwgMjAyMSAxMDoxNCBQTQ0KPiBUbzogZGV2QGRwZGsub3JnOyBYaWEsIENoZW5ibyA8 Y2hlbmJvLnhpYUBpbnRlbC5jb20+OyBhbW9yZW5vekByZWRoYXQuY29tOw0KPiBkYXZpZC5tYXJj aGFuZEByZWRoYXQuY29tDQo+IENjOiBNYXhpbWUgQ29xdWVsaW4gPG1heGltZS5jb3F1ZWxpbkBy ZWRoYXQuY29tPg0KPiBTdWJqZWN0OiBbUEFUQ0ggMi8zXSBuZXQvdmlydGlvOiBhZGQgZGV2aWNl IGNvbmZpZyBzdXBwb3J0IHRvIHZEUEENCj4gDQo+IFRoaXMgcGF0Y2ggaW50cm9kdWNlcyB0d28g dmlydGlvLXVzZXIgY2FsbGJhY2tzIHRvIGdldA0KPiBhbmQgc2V0IGRldmljZSdzIGNvbmZpZywg YW5kIGltcGxlbWVudHMgaXQgZm9yIHZEUEENCj4gYmFja2VuZHMuDQo+IA0KPiBTaWduZWQtb2Zm LWJ5OiBNYXhpbWUgQ29xdWVsaW4gPG1heGltZS5jb3F1ZWxpbkByZWRoYXQuY29tPg0KPiAtLS0N Cj4gIGRyaXZlcnMvbmV0L3ZpcnRpby92aXJ0aW9fdXNlci92aG9zdC5oICAgICAgfCAgMyArDQo+ ICBkcml2ZXJzL25ldC92aXJ0aW8vdmlydGlvX3VzZXIvdmhvc3RfdmRwYS5jIHwgNjkgKysrKysr KysrKysrKysrKysrKysrDQo+ICAyIGZpbGVzIGNoYW5nZWQsIDcyIGluc2VydGlvbnMoKykNCj4g DQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC92aXJ0aW8vdmlydGlvX3VzZXIvdmhvc3QuaA0K PiBiL2RyaXZlcnMvbmV0L3ZpcnRpby92aXJ0aW9fdXNlci92aG9zdC5oDQo+IGluZGV4IGM0OWU4 ODAzNmQuLmRmYmY2YmUwMzMgMTAwNjQ0DQo+IC0tLSBhL2RyaXZlcnMvbmV0L3ZpcnRpby92aXJ0 aW9fdXNlci92aG9zdC5oDQo+ICsrKyBiL2RyaXZlcnMvbmV0L3ZpcnRpby92aXJ0aW9fdXNlci92 aG9zdC5oDQo+IEBAIC03OSw2ICs3OSw5IEBAIHN0cnVjdCB2aXJ0aW9fdXNlcl9iYWNrZW5kX29w cyB7DQo+ICAJaW50ICgqc2V0X3ZyaW5nX2FkZHIpKHN0cnVjdCB2aXJ0aW9fdXNlcl9kZXYgKmRl diwgc3RydWN0DQo+IHZob3N0X3ZyaW5nX2FkZHIgKmFkZHIpOw0KPiAgCWludCAoKmdldF9zdGF0 dXMpKHN0cnVjdCB2aXJ0aW9fdXNlcl9kZXYgKmRldiwgdWludDhfdCAqc3RhdHVzKTsNCj4gIAlp bnQgKCpzZXRfc3RhdHVzKShzdHJ1Y3QgdmlydGlvX3VzZXJfZGV2ICpkZXYsIHVpbnQ4X3Qgc3Rh dHVzKTsNCj4gKwlpbnQgKCpnZXRfY29uZmlnKShzdHJ1Y3QgdmlydGlvX3VzZXJfZGV2ICpkZXYs IHVpbnQ4X3QgKmRhdGEsIHVpbnQzMl90DQo+IG9mZiwgdWludDMyX3QgbGVuKTsNCj4gKwlpbnQg KCpzZXRfY29uZmlnKShzdHJ1Y3QgdmlydGlvX3VzZXJfZGV2ICpkZXYsIGNvbnN0IHVpbnQ4X3Qg KmRhdGEsDQo+IHVpbnQzMl90IG9mZiwNCj4gKwkJCXVpbnQzMl90IGxlbik7DQo+ICAJaW50ICgq ZW5hYmxlX3FwKShzdHJ1Y3QgdmlydGlvX3VzZXJfZGV2ICpkZXYsIHVpbnQxNl90IHBhaXJfaWR4 LCBpbnQNCj4gZW5hYmxlKTsNCj4gIAlpbnQgKCpkbWFfbWFwKShzdHJ1Y3QgdmlydGlvX3VzZXJf ZGV2ICpkZXYsIHZvaWQgKmFkZHIsIHVpbnQ2NF90IGlvdmEsDQo+IHNpemVfdCBsZW4pOw0KPiAg CWludCAoKmRtYV91bm1hcCkoc3RydWN0IHZpcnRpb191c2VyX2RldiAqZGV2LCB2b2lkICphZGRy LCB1aW50NjRfdCBpb3ZhLA0KPiBzaXplX3QgbGVuKTsNCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv bmV0L3ZpcnRpby92aXJ0aW9fdXNlci92aG9zdF92ZHBhLmMNCj4gYi9kcml2ZXJzL25ldC92aXJ0 aW8vdmlydGlvX3VzZXIvdmhvc3RfdmRwYS5jDQo+IGluZGV4IGUyZDZkMzUwNGQuLjU5YmM3MTJk NDggMTAwNjQ0DQo+IC0tLSBhL2RyaXZlcnMvbmV0L3ZpcnRpby92aXJ0aW9fdXNlci92aG9zdF92 ZHBhLmMNCj4gKysrIGIvZHJpdmVycy9uZXQvdmlydGlvL3ZpcnRpb191c2VyL3Zob3N0X3ZkcGEu Yw0KPiBAQCAtNDEsNiArNDEsOCBAQCBzdHJ1Y3Qgdmhvc3RfdmRwYV9kYXRhIHsNCj4gICNkZWZp bmUgVkhPU1RfVkRQQV9HRVRfREVWSUNFX0lEIF9JT1IoVkhPU1RfVklSVElPLCAweDcwLCBfX3Uz MikNCj4gICNkZWZpbmUgVkhPU1RfVkRQQV9HRVRfU1RBVFVTIF9JT1IoVkhPU1RfVklSVElPLCAw eDcxLCBfX3U4KQ0KPiAgI2RlZmluZSBWSE9TVF9WRFBBX1NFVF9TVEFUVVMgX0lPVyhWSE9TVF9W SVJUSU8sIDB4NzIsIF9fdTgpDQo+ICsjZGVmaW5lIFZIT1NUX1ZEUEFfR0VUX0NPTkZJRyBfSU9S KFZIT1NUX1ZJUlRJTywgMHg3Mywgc3RydWN0DQo+IHZob3N0X3ZkcGFfY29uZmlnKQ0KPiArI2Rl ZmluZSBWSE9TVF9WRFBBX1NFVF9DT05GSUcgX0lPVyhWSE9TVF9WSVJUSU8sIDB4NzQsIHN0cnVj dA0KPiB2aG9zdF92ZHBhX2NvbmZpZykNCj4gICNkZWZpbmUgVkhPU1RfVkRQQV9TRVRfVlJJTkdf RU5BQkxFIF9JT1coVkhPU1RfVklSVElPLCAweDc1LCBzdHJ1Y3QNCj4gdmhvc3RfdnJpbmdfc3Rh dGUpDQo+ICAjZGVmaW5lIFZIT1NUX1NFVF9CQUNLRU5EX0ZFQVRVUkVTIF9JT1coVkhPU1RfVklS VElPLCAweDI1LCBfX3U2NCkNCj4gICNkZWZpbmUgVkhPU1RfR0VUX0JBQ0tFTkRfRkVBVFVSRVMg X0lPUihWSE9TVF9WSVJUSU8sIDB4MjYsIF9fdTY0KQ0KPiBAQCAtNjUsNiArNjcsMTIgQEAgc3Ry dWN0IHZob3N0X2lvdGxiX21zZyB7DQo+IA0KPiAgI2RlZmluZSBWSE9TVF9JT1RMQl9NU0dfVjIg MHgyDQo+IA0KPiArc3RydWN0IHZob3N0X3ZkcGFfY29uZmlnIHsNCj4gKwl1aW50MzJfdCBvZmY7 DQo+ICsJdWludDMyX3QgbGVuOw0KPiArCXVpbnQ4X3QgYnVmWzBdOw0KPiArfTsNCj4gKw0KPiAg c3RydWN0IHZob3N0X21zZyB7DQo+ICAJdWludDMyX3QgdHlwZTsNCj4gIAl1aW50MzJfdCByZXNl cnZlZDsNCj4gQEAgLTQ0MCw2ICs0NDgsNjUgQEAgdmhvc3RfdmRwYV9zZXRfc3RhdHVzKHN0cnVj dCB2aXJ0aW9fdXNlcl9kZXYgKmRldiwNCj4gdWludDhfdCBzdGF0dXMpDQo+ICAJcmV0dXJuIHZo b3N0X3ZkcGFfaW9jdGwoZGF0YS0+dmhvc3RmZCwgVkhPU1RfVkRQQV9TRVRfU1RBVFVTLCAmc3Rh dHVzKTsNCj4gIH0NCj4gDQo+ICtzdGF0aWMgaW50DQo+ICt2aG9zdF92ZHBhX2dldF9jb25maWco c3RydWN0IHZpcnRpb191c2VyX2RldiAqZGV2LCB1aW50OF90ICpkYXRhLCB1aW50MzJfdA0KPiBv ZmYsIHVpbnQzMl90IGxlbikNCj4gK3sNCj4gKwlzdHJ1Y3Qgdmhvc3RfdmRwYV9kYXRhICp2ZHBh X2RhdGEgPSBkZXYtPmJhY2tlbmRfZGF0YTsNCj4gKwlzdHJ1Y3Qgdmhvc3RfdmRwYV9jb25maWcg KmNvbmZpZzsNCj4gKwlpbnQgcmV0ID0gMDsNCj4gKw0KPiArCWNvbmZpZyA9IG1hbGxvYyhzaXpl b2YoKmNvbmZpZykgKyBsZW4pOw0KPiArCWlmICghY29uZmlnKSB7DQo+ICsJCVBNRF9EUlZfTE9H KEVSUiwgIkZhaWxlZCB0byBhbGxvY2F0ZSB2RFBBIGNvbmZpZyBkYXRhXG4iKTsNCg0KTm8gbmVl ZCB0byBhZGQgJ1xuJy4gQW5kIHNhbWUgZm9yIGJlbG93IHRocmVlICdQTURfRFJWX0xPRycNCg0K PiArCQlyZXR1cm4gLTE7DQo+ICsJfQ0KPiArDQo+ICsJY29uZmlnLT5vZmYgPSBvZmY7DQo+ICsJ Y29uZmlnLT5sZW4gPSBsZW47DQo+ICsNCj4gKwlyZXQgPSB2aG9zdF92ZHBhX2lvY3RsKHZkcGFf ZGF0YS0+dmhvc3RmZCwgVkhPU1RfVkRQQV9HRVRfQ09ORklHLA0KPiBjb25maWcpOw0KPiArCWlm IChyZXQpIHsNCj4gKwkJUE1EX0RSVl9MT0coRVJSLCAiRmFpbGVkIHRvIGdldCB2RFBBIGNvbmZp ZyAob2Zmc2V0ICV4LCBsZW4gJXgpXG4iLA0KDQpCZXR0ZXIgYWRkICcweCcgaGVyZSBhcyBpdCB3 aWxsIGJlIGZyaWVuZGx5IHRvIHVzZXIg8J+Yig0KDQo+IG9mZiwgbGVuKTsNCj4gKwkJcmV0ID0g LTE7DQo+ICsJCWdvdG8gb3V0Ow0KPiArCX0NCj4gKw0KPiArCW1lbWNweShkYXRhLCBjb25maWct PmJ1ZiwgbGVuKTsNCj4gK291dDoNCj4gKwlmcmVlKGNvbmZpZyk7DQo+ICsNCj4gKwlyZXR1cm4g cmV0Ow0KPiArfQ0KPiArDQo+ICtzdGF0aWMgaW50DQo+ICt2aG9zdF92ZHBhX3NldF9jb25maWco c3RydWN0IHZpcnRpb191c2VyX2RldiAqZGV2LCBjb25zdCB1aW50OF90ICpkYXRhLA0KPiB1aW50 MzJfdCBvZmYsIHVpbnQzMl90IGxlbikNCj4gK3sNCj4gKwlzdHJ1Y3Qgdmhvc3RfdmRwYV9kYXRh ICp2ZHBhX2RhdGEgPSBkZXYtPmJhY2tlbmRfZGF0YTsNCj4gKwlzdHJ1Y3Qgdmhvc3RfdmRwYV9j b25maWcgKmNvbmZpZzsNCj4gKwlpbnQgcmV0ID0gMDsNCj4gKw0KPiArCWNvbmZpZyA9IG1hbGxv YyhzaXplb2YoKmNvbmZpZykgKyBsZW4pOw0KPiArCWlmICghY29uZmlnKSB7DQo+ICsJCVBNRF9E UlZfTE9HKEVSUiwgIkZhaWxlZCB0byBhbGxvY2F0ZSB2RFBBIGNvbmZpZyBkYXRhXG4iKTsNCj4g KwkJcmV0dXJuIC0xOw0KPiArCX0NCj4gKw0KPiArCWNvbmZpZy0+b2ZmID0gb2ZmOw0KPiArCWNv bmZpZy0+bGVuID0gbGVuOw0KPiArDQo+ICsJbWVtY3B5KGNvbmZpZy0+YnVmLCBkYXRhLCBsZW4p Ow0KPiArDQo+ICsJcmV0ID0gdmhvc3RfdmRwYV9pb2N0bCh2ZHBhX2RhdGEtPnZob3N0ZmQsIFZI T1NUX1ZEUEFfU0VUX0NPTkZJRywNCj4gY29uZmlnKTsNCj4gKwlpZiAocmV0KSB7DQo+ICsJCVBN RF9EUlZfTE9HKEVSUiwgIkZhaWxlZCB0byBzZXQgdkRQQSBjb25maWcgKG9mZnNldCAleCwgbGVu ICV4KVxuIiwNCj4gb2ZmLCBsZW4pOw0KDQpEaXR0bw0KDQpUaGFua3MsDQpDaGVuYm8NCg0KPiAr CQlyZXQgPSAtMTsNCj4gKwl9DQo+ICsNCj4gKwlmcmVlKGNvbmZpZyk7DQo+ICsNCj4gKwlyZXR1 cm4gcmV0Ow0KPiArfQ0KPiArDQo+ICAvKioNCj4gICAqIFNldCB1cCBlbnZpcm9ubWVudCB0byB0 YWxrIHdpdGggYSB2aG9zdCB2ZHBhIGJhY2tlbmQuDQo+ICAgKg0KPiBAQCAtNTU5LDYgKzYyNiw4 IEBAIHN0cnVjdCB2aXJ0aW9fdXNlcl9iYWNrZW5kX29wcyB2aXJ0aW9fb3BzX3ZkcGEgPSB7DQo+ ICAJLnNldF92cmluZ19hZGRyID0gdmhvc3RfdmRwYV9zZXRfdnJpbmdfYWRkciwNCj4gIAkuZ2V0 X3N0YXR1cyA9IHZob3N0X3ZkcGFfZ2V0X3N0YXR1cywNCj4gIAkuc2V0X3N0YXR1cyA9IHZob3N0 X3ZkcGFfc2V0X3N0YXR1cywNCj4gKwkuZ2V0X2NvbmZpZyA9IHZob3N0X3ZkcGFfZ2V0X2NvbmZp ZywNCj4gKwkuc2V0X2NvbmZpZyA9IHZob3N0X3ZkcGFfc2V0X2NvbmZpZywNCj4gIAkuZW5hYmxl X3FwID0gdmhvc3RfdmRwYV9lbmFibGVfcXVldWVfcGFpciwNCj4gIAkuZG1hX21hcCA9IHZob3N0 X3ZkcGFfZG1hX21hcF9iYXRjaCwNCj4gIAkuZG1hX3VubWFwID0gdmhvc3RfdmRwYV9kbWFfdW5t YXBfYmF0Y2gsDQo+IC0tDQo+IDIuMzEuMQ0KDQo=