From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id D6B98A09FF; Wed, 30 Dec 2020 04:03:21 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 679C44F96; Wed, 30 Dec 2020 04:03:05 +0100 (CET) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by dpdk.org (Postfix) with ESMTP id DCA262B87 for ; Wed, 30 Dec 2020 04:03:01 +0100 (CET) IronPort-SDR: JVh1Q46ZOHxJ+de8V49qnZxiFcGAi0sU+jwx4+yOzwTycrid8F6AzqG31dr+p0xseSJ4EZdekL LAJoShXzB2tw== X-IronPort-AV: E=McAfee;i="6000,8403,9849"; a="261315279" X-IronPort-AV: E=Sophos;i="5.78,460,1599548400"; d="scan'208";a="261315279" Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Dec 2020 19:02:59 -0800 IronPort-SDR: QOjTW7k8sey1vOP/nRcVZYfK2w2J3EHtmoTxc0PbHBW1H0lA4v3hb3ma4ibu5lk8z28O/y+3gJ giT2iE+LQXQw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.78,460,1599548400"; d="scan'208";a="494812998" Received: from orsmsx606.amr.corp.intel.com ([10.22.229.19]) by orsmga004.jf.intel.com with ESMTP; 29 Dec 2020 19:02:57 -0800 Received: from orsmsx612.amr.corp.intel.com (10.22.229.25) 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.1713.5; Tue, 29 Dec 2020 19:02:57 -0800 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX612.amr.corp.intel.com (10.22.229.25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Tue, 29 Dec 2020 19:02:57 -0800 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5 via Frontend Transport; Tue, 29 Dec 2020 19:02:57 -0800 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (104.47.59.176) by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.1713.5; Tue, 29 Dec 2020 19:02:56 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=VoskEsDZcvP59emGX9IrbrH3v5I7qyCzjugaw6Sg4CNN1BA1ieMYbBcoyPDBA1KeNEjqhG315fT3Mn13U9EB8Wjuj+8KPeI2o9TyG7Ps22p/A9UW7o6EhsRcPTOEUDTfjNCTEclOELJQER/zvGHfO8AIzALwWAZuOJWJBmmnIi+dcU/v+PPpnqGt7fQS1AzPZKe9cOUXSDG6HpI4uwCSnjEN+xRnNlvBZDZv2fWTdaujHm5ayp4pPP7JjM/TSMgwgtP0iUmsOOuGmzLM5Pt4kQ5WWsC7RV5s6XOKZjMjbZq00tfEsHIqWtbLlDNc+oLslP5F/Xc0hz9pyakd0IgiWQ== 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=kGgcp3I1fiLiY8kcTiFUPunP8OMzCcvzqkUtBohBqEI=; b=CaDADrlXP95OwL74uRZCHaXAWjv2FZUcQjcu+SKqR9L9coO7uQoJDYDSckdd+1bWwG0blQicErxV+UEHjMtTGEpDWWg/IYvRTnvwAtXYAVEludTGopEMYeDwXiKoHseUbJl1cTnzdSS5PS9SKuCW6IOT598Iettq6Yy6DAlaSBTq5nfN/CxSoi2CAltTPH9kZNdsln13K4/5mAifvqOHfM7dpr/SogWHObCcRF4BgF45QxEpVHp902fVjBznEP3H/0i2XuI8utf7zHu+BnHYGUlP2eg3xIIpGr1ax0uq93QKNiD6o11c7GoGyhFgB1pDIBpQv9TJnWp0Lv3Be/IPKg== 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=kGgcp3I1fiLiY8kcTiFUPunP8OMzCcvzqkUtBohBqEI=; b=REeMhzGEra9ektOSxEKkc+i/pscKKMjhp0pTJQZALEtw46FdOz1lLVADLhU6bt3lOO0rjfH+2eQEC+Oh/OzPMZG7sWcXz1KwkLfBVTfKJlgUEQhT0ltv9FXPoiG7v63eqoSHPMMRja1HVkf6sMN6guzkaidNAoB7faJBGefQXas= Received: from MN2PR11MB4063.namprd11.prod.outlook.com (2603:10b6:208:13f::22) by MN2PR11MB3791.namprd11.prod.outlook.com (2603:10b6:208:f9::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3700.31; Wed, 30 Dec 2020 03:02:24 +0000 Received: from MN2PR11MB4063.namprd11.prod.outlook.com ([fe80::74f2:ba7f:cb22:5272]) by MN2PR11MB4063.namprd11.prod.outlook.com ([fe80::74f2:ba7f:cb22:5272%7]) with mapi id 15.20.3700.031; Wed, 30 Dec 2020 03:02:24 +0000 From: "Xia, Chenbo" To: Maxime Coquelin , "dev@dpdk.org" , "olivier.matz@6wind.com" , "amorenoz@redhat.com" , "david.marchand@redhat.com" Thread-Topic: [PATCH 02/40] net/virtio: Introduce Virtio bus type Thread-Index: AQHW1xUnclNryRjaqEeHoenHq10HbKoPADCg Date: Wed, 30 Dec 2020 03:02:24 +0000 Message-ID: References: <20201220211405.313012-1-maxime.coquelin@redhat.com> <20201220211405.313012-3-maxime.coquelin@redhat.com> In-Reply-To: <20201220211405.313012-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.198.147.218] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: cfbbbf15-f80a-4e54-0b5f-08d8ac6f5572 x-ms-traffictypediagnostic: MN2PR11MB3791: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:8273; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: zD+pROgx9jBLsgjYgs5W8KkvMCO/hgAheYL7A9reQ67ot5JB1ru+l7k2EkplRH+knUWJMOiH8IKxkRMmWviuM6YYFSG8aNaL+dQJub1+sR9JjgyZKMBhxNX7o8A47rAj0aUFk+r/5ia9/eMj6HiwiFeCdIgKNY9zeYGAUDHsfAKRizE7x45G+TPBtPVgoLU6Qx3ysShHwtiyOanRnBn8v1wga6dQGNK/jGySIrVVNBIf85rAIwJLIiZgAOONcL6e+Z/66mUUOpjHT65aC6jpgqVu8HkP5tBoXejoAmBtcCU3nSpRJI6glg5aUmxGzucqGsvWS+JNpdwA0BUfxttABEFh/yuJNkpQIXScF52YjLXXlnVniGkx3JhMPe7CFQ+nYy31mUyk4U+sD1aMiQPOhA== 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:(4636009)(376002)(39860400002)(396003)(366004)(136003)(346002)(64756008)(9686003)(71200400001)(186003)(6506007)(52536014)(5660300002)(83380400001)(55016002)(110136005)(53546011)(33656002)(66476007)(66446008)(76116006)(8676002)(66556008)(2906002)(26005)(86362001)(316002)(7696005)(8936002)(478600001)(66946007); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata: =?utf-8?B?LzNnVUs0bGN0VG0vakFrcysyL3BiTFJxbGhxRHpBNlRqUUVOemlGY0pxOFhv?= =?utf-8?B?WDFNYjVRQThJaGZoMjZnWjB2bE9MdHhyemh0bkc2RFoyQmJxVktFNlh3VlVt?= =?utf-8?B?b0hFbDNlTkVJd3hRM280U3A4OXBrUzBnTWdCcHZ1OHM5TnVSTUF5cTIzQllo?= =?utf-8?B?MHNqL2d1cTNMZ1lnT2R4SlBRc3hSNE5xaTIzMVZ2ZXJ4cU11bTRBS1NJQkcv?= =?utf-8?B?TW84RnpzV1BUSmNER2RpVTE2Zy9lNkhJeGZoT0tUdnBPUThvcWw1eTkzOTdE?= =?utf-8?B?ODFFTmljNWZIdEhXcTlGZGprYklMOTFVRXNxKytBWFBRWEVmb1Zoakp6WlVT?= =?utf-8?B?NjYvSjFmejk2MVRlVmxhQ1dtT0U3aVdNQm1lMjdMakp6eEc3WVJGMGR0dnN0?= =?utf-8?B?Q2VIK2pqV0IvTnZBWEJwZ2FsaTI0OWRPelBHTzZpN2JvL2I1VVZINzlsbzl0?= =?utf-8?B?NmRPNmlsNmk4VWpHWWpHcXZxSXRhbEUvbTZtWDJXS2cxbzdscDFhWm84b1Rp?= =?utf-8?B?aWNPUmI1cWFJRnBQSXYrWldWY1c3NXg0bXZLTGhIMGV6MGNHZjUxcU5KeWpE?= =?utf-8?B?RG16Um9YNW16N1BzTytXYit5OXFhaTFLV1E5dnhQeHJ0dXZlalkrNDl6T01o?= =?utf-8?B?TzgydkhLcit5TlBRQmpvV21PdDlncFJMaGZZVnhxd3dBK3BGTyt1ZzhJMVNq?= =?utf-8?B?UzFxMy9OZkdMYytGVWl4ZXoyVXNvWlloVTNDR2ZITlc4RmVPODN5LzZsRk9r?= =?utf-8?B?TkN4Z084WFE4SlBqOVJPQk5CcVhxZHdKNi9ScUZDWk5FelR6RlkrOC9SeS9l?= =?utf-8?B?UUJzdEQ5a09vdk1ncHpGOHp3YWdUZUQ4NTViZE1XTWp4QjFmQncrSzFhMGI3?= =?utf-8?B?YlVvenFVamgwNFRGYjdsQ1FRVTVHd244N240SFhZV0FOQ3poQ2xyOEpHRlU0?= =?utf-8?B?WEd2YWUydm9hMjNPQ0szY1JBTVRuOUhMQkdUWU5ZbEcyT0xOM1ZsSitXbVBL?= =?utf-8?B?YWw4S3VtWVVEZXpnRHZ4dXptYXNGTG5ZN1VDaU9ZVkdic2tCMDBYbFM4MGJE?= =?utf-8?B?WDVwMkpCS045cVc3UW52eVpMWlp3TkJrTXVHbG51aUl3L0Q3U0lNd2tTZy9H?= =?utf-8?B?NUp6MHpTTC9yMkVocVNwQU5POWptZ0JtOEdWbVFySHcwOEEvRjYzaFNDN0J4?= =?utf-8?B?MU4xTjR4MkRRRlZWb2hzb2I0cTBUZDZpd2VVQTlsRW8yNVB4b1lRUDFKRWNh?= =?utf-8?B?T1BCTjNBUDRUNzAwdXJEajVPaXdwcG43ZmtOeXpDVVp2Slowc2ttR2t1N0RF?= =?utf-8?Q?1DPijkMnn/a2M=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: cfbbbf15-f80a-4e54-0b5f-08d8ac6f5572 X-MS-Exchange-CrossTenant-originalarrivaltime: 30 Dec 2020 03:02:24.5871 (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: gaXr+tx5A4Wxar4V/XZsAgMNJX6Q4FjwVkzuZH/1jGTEo1UDM1sv3WV3nzVkTkJ2pgKOp7q5IDGr5kJEDZQdpw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR11MB3791 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH 02/40] net/virtio: Introduce Virtio bus type X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 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" PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBNYXhpbWUgQ29xdWVsaW4gPG1h eGltZS5jb3F1ZWxpbkByZWRoYXQuY29tPg0KPiBTZW50OiBNb25kYXksIERlY2VtYmVyIDIxLCAy MDIwIDU6MTMgQU0NCj4gVG86IGRldkBkcGRrLm9yZzsgWGlhLCBDaGVuYm8gPGNoZW5iby54aWFA aW50ZWwuY29tPjsgb2xpdmllci5tYXR6QDZ3aW5kLmNvbTsNCj4gYW1vcmVub3pAcmVkaGF0LmNv bTsgZGF2aWQubWFyY2hhbmRAcmVkaGF0LmNvbQ0KPiBDYzogTWF4aW1lIENvcXVlbGluIDxtYXhp bWUuY29xdWVsaW5AcmVkaGF0LmNvbT4NCj4gU3ViamVjdDogW1BBVENIIDAyLzQwXSBuZXQvdmly dGlvOiBJbnRyb2R1Y2UgVmlydGlvIGJ1cyB0eXBlDQo+IA0KPiBUaGlzIHBhdGNoIGlzIHByZWxp bWluYXJ5IHdvcmsgZm9yIGludHJvZHVjaW5nIGEgYnVzIGxheWVyDQo+IGluIFZpcnRpbyBQTUQs IGluIG9yZGVyIHRvIGltcHJvdmUgVmlydGlvLXVzZXIgaW50ZWdyYXRpb24uDQo+IA0KPiBBIG5l dyBidXMgdHlwZSBpcyBhZGRlZCB0byBwcm92aWRlIGEgdW5pZmllZCB3YXkgdG8gZGlzdGluZ3Vp c2gNCj4gd2hpY2ggYnVzIHR5cGUgaXMgdXNlZCAoUENJIG1vZGVybiwgUENJIGxlZ2FjeSBvciBW aXJ0aW8tdXNlcikuDQo+IA0KPiBTaWduZWQtb2ZmLWJ5OiBNYXhpbWUgQ29xdWVsaW4gPG1heGlt ZS5jb3F1ZWxpbkByZWRoYXQuY29tPg0KPiAtLS0NCj4gIGRyaXZlcnMvbmV0L3ZpcnRpby92aXJ0 aW9fZXRoZGV2LmMgICAgICB8IDQzICsrKysrKysrKysrKy0tLS0tLS0tLS0tLS0NCj4gIGRyaXZl cnMvbmV0L3ZpcnRpby92aXJ0aW9fcGNpLmMgICAgICAgICB8ICA0ICstLQ0KPiAgZHJpdmVycy9u ZXQvdmlydGlvL3ZpcnRpb19wY2kuaCAgICAgICAgIHwgIDkgKysrKystDQo+ICBkcml2ZXJzL25l dC92aXJ0aW8vdmlydGlvX3VzZXJfZXRoZGV2LmMgfCAgMiArLQ0KPiAgNCBmaWxlcyBjaGFuZ2Vk LCAzMiBpbnNlcnRpb25zKCspLCAyNiBkZWxldGlvbnMoLSkNCj4gDQo+IGRpZmYgLS1naXQgYS9k cml2ZXJzL25ldC92aXJ0aW8vdmlydGlvX2V0aGRldi5jDQo+IGIvZHJpdmVycy9uZXQvdmlydGlv L3ZpcnRpb19ldGhkZXYuYw0KPiBpbmRleCA2YzIzM2I3NWJhLi5iMzA4NjI5N2MwIDEwMDY0NA0K PiAtLS0gYS9kcml2ZXJzL25ldC92aXJ0aW8vdmlydGlvX2V0aGRldi5jDQo+ICsrKyBiL2RyaXZl cnMvbmV0L3ZpcnRpby92aXJ0aW9fZXRoZGV2LmMNCj4gQEAgLTU5Miw5ICs1OTIsOSBAQCB2aXJ0 aW9faW5pdF9xdWV1ZShzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldiwgdWludDE2X3QNCj4gdnRwY2lf cXVldWVfaWR4KQ0KPiAgCSAqIHdlIHVzZSB2aXJ0dWFsIGFkZHJlc3MuIEFuZCB3ZSBuZWVkIHBy b3Blcmx5IHNldCBfb2Zmc2V0XywgcGxlYXNlIHNlZQ0KPiAgCSAqIFZJUlRJT19NQlVGX0RBVEFf RE1BX0FERFIgaW4gdmlydHF1ZXVlLmggZm9yIG1vcmUgaW5mb3JtYXRpb24uDQo+ICAJICovDQo+ IC0JaWYgKCFody0+dmlydGlvX3VzZXJfZGV2KQ0KPiArCWlmIChody0+YnVzX3R5cGUgPT0gVklS VElPX0JVU19QQ0lfTEVHQUNZIHx8IGh3LT5idXNfdHlwZSA9PQ0KPiBWSVJUSU9fQlVTX1BDSV9N T0RFUk4pIHsNCj4gIAkJdnEtPm9mZnNldCA9IG9mZnNldG9mKHN0cnVjdCBydGVfbWJ1ZiwgYnVm X2lvdmEpOw0KPiAtCWVsc2Ugew0KPiArCX0gZWxzZSBpZiAoaHctPmJ1c190eXBlID09IFZJUlRJ T19CVVNfVVNFUikgew0KPiAgCQl2cS0+dnFfcmluZ19tZW0gPSAodWludHB0cl90KW16LT5hZGRy Ow0KPiAgCQl2cS0+b2Zmc2V0ID0gb2Zmc2V0b2Yoc3RydWN0IHJ0ZV9tYnVmLCBidWZfYWRkcik7 DQo+ICAJCWlmIChxdWV1ZV90eXBlID09IFZUTkVUX1RRKQ0KPiBAQCAtNzQ2LDEzICs3NDYsMTMg QEAgdmlydGlvX2Rldl9jbG9zZShzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldikNCj4gIAl2aXJ0aW9f ZnJlZV9xdWV1ZXMoaHcpOw0KPiANCj4gICNpZmRlZiBSVEVfVklSVElPX1VTRVINCj4gLQlpZiAo aHctPnZpcnRpb191c2VyX2RldikNCj4gKwlpZiAoaHctPmJ1c190eXBlID09IFZJUlRJT19CVVNf VVNFUikNCj4gIAkJdmlydGlvX3VzZXJfZGV2X3VuaW5pdChody0+dmlydGlvX3VzZXJfZGV2KTsN Cj4gIAllbHNlDQo+ICAjZW5kaWYNCj4gIAlpZiAoZGV2LT5kZXZpY2UpIHsNCj4gIAkJcnRlX3Bj aV91bm1hcF9kZXZpY2UoUlRFX0VUSF9ERVZfVE9fUENJKGRldikpOw0KPiAtCQlpZiAoIWh3LT5t b2Rlcm4pDQo+ICsJCWlmIChody0+YnVzX3R5cGUgPT0gVklSVElPX0JVU19QQ0lfTEVHQUNZKQ0K PiAgCQkJcnRlX3BjaV9pb3BvcnRfdW5tYXAoVlRQQ0lfSU8oaHcpKTsNCj4gIAl9DQo+IA0KPiBA QCAtMTI5OSw3ICsxMjk5LDcgQEAgdmlydGlvX2ludHJfdW5tYXNrKHN0cnVjdCBydGVfZXRoX2Rl diAqZGV2KQ0KPiAgCWlmIChydGVfaW50cl9hY2soZGV2LT5pbnRyX2hhbmRsZSkgPCAwKQ0KPiAg CQlyZXR1cm4gLTE7DQo+IA0KPiAtCWlmICghaHctPnZpcnRpb191c2VyX2RldikNCj4gKwlpZiAo aHctPmJ1c190eXBlID09IFZJUlRJT19CVVNfUENJX0xFR0FDWSB8fCBody0+YnVzX3R5cGUgPT0N Cj4gVklSVElPX0JVU19QQ0lfTU9ERVJOKQ0KPiAgCQlody0+dXNlX21zaXggPSB2dHBjaV9tc2l4 X2RldGVjdChSVEVfRVRIX0RFVl9UT19QQ0koZGV2KSk7DQo+IA0KPiAgCXJldHVybiAwOw0KPiBA QCAtMTMxMyw3ICsxMzEzLDcgQEAgdmlydGlvX2ludHJfZW5hYmxlKHN0cnVjdCBydGVfZXRoX2Rl diAqZGV2KQ0KPiAgCWlmIChydGVfaW50cl9lbmFibGUoZGV2LT5pbnRyX2hhbmRsZSkgPCAwKQ0K PiAgCQlyZXR1cm4gLTE7DQo+IA0KPiAtCWlmICghaHctPnZpcnRpb191c2VyX2RldikNCj4gKwlp ZiAoaHctPmJ1c190eXBlID09IFZJUlRJT19CVVNfUENJX0xFR0FDWSB8fCBody0+YnVzX3R5cGUg PT0NCj4gVklSVElPX0JVU19QQ0lfTU9ERVJOKQ0KPiAgCQlody0+dXNlX21zaXggPSB2dHBjaV9t c2l4X2RldGVjdChSVEVfRVRIX0RFVl9UT19QQ0koZGV2KSk7DQo+IA0KPiAgCXJldHVybiAwOw0K PiBAQCAtMTMyNyw3ICsxMzI3LDcgQEAgdmlydGlvX2ludHJfZGlzYWJsZShzdHJ1Y3QgcnRlX2V0 aF9kZXYgKmRldikNCj4gIAlpZiAocnRlX2ludHJfZGlzYWJsZShkZXYtPmludHJfaGFuZGxlKSA8 IDApDQo+ICAJCXJldHVybiAtMTsNCj4gDQo+IC0JaWYgKCFody0+dmlydGlvX3VzZXJfZGV2KQ0K PiArCWlmIChody0+YnVzX3R5cGUgPT0gVklSVElPX0JVU19QQ0lfTEVHQUNZIHx8IGh3LT5idXNf dHlwZSA9PQ0KPiBWSVJUSU9fQlVTX1BDSV9NT0RFUk4pDQo+ICAJCWh3LT51c2VfbXNpeCA9IHZ0 cGNpX21zaXhfZGV0ZWN0KFJURV9FVEhfREVWX1RPX1BDSShkZXYpKTsNCj4gDQo+ICAJcmV0dXJu IDA7DQo+IEBAIC0xMzY4LDEzICsxMzY4LDEzIEBAIHZpcnRpb19uZWdvdGlhdGVfZmVhdHVyZXMo c3RydWN0IHZpcnRpb19odyAqaHcsDQo+IHVpbnQ2NF90IHJlcV9mZWF0dXJlcykNCj4gIAlQTURf SU5JVF9MT0coREVCVUcsICJmZWF0dXJlcyBhZnRlciBuZWdvdGlhdGUgPSAlIiBQUkl4NjQsDQo+ ICAJCWh3LT5ndWVzdF9mZWF0dXJlcyk7DQo+IA0KPiAtCWlmIChody0+bW9kZXJuICYmICF2dHBj aV93aXRoX2ZlYXR1cmUoaHcsIFZJUlRJT19GX1ZFUlNJT05fMSkpIHsNCj4gKwlpZiAoaHctPmJ1 c190eXBlID09IFZJUlRJT19CVVNfUENJX01PREVSTiAmJiAhdnRwY2lfd2l0aF9mZWF0dXJlKGh3 LA0KPiBWSVJUSU9fRl9WRVJTSU9OXzEpKSB7DQo+ICAJCVBNRF9JTklUX0xPRyhFUlIsDQo+ICAJ CQkiVklSVElPX0ZfVkVSU0lPTl8xIGZlYXR1cmVzIGlzIG5vdCBlbmFibGVkLiIpOw0KPiAgCQly ZXR1cm4gLTE7DQo+ICAJfQ0KPiANCj4gLQlpZiAoaHctPm1vZGVybiB8fCBody0+dmlydGlvX3Vz ZXJfZGV2KSB7DQo+ICsJaWYgKGh3LT5idXNfdHlwZSA9PSBWSVJUSU9fQlVTX1BDSV9NT0RFUk4g fHwgaHctPmJ1c190eXBlID09DQo+IFZJUlRJT19CVVNfVVNFUikgew0KPiAgCQl2dHBjaV9zZXRf c3RhdHVzKGh3LCBWSVJUSU9fQ09ORklHX1NUQVRVU19GRUFUVVJFU19PSyk7DQo+ICAJCWlmICgh KHZ0cGNpX2dldF9zdGF0dXMoaHcpICYgVklSVElPX0NPTkZJR19TVEFUVVNfRkVBVFVSRVNfT0sp KSB7DQo+ICAJCQlQTURfSU5JVF9MT0coRVJSLA0KPiBAQCAtMTcwOSw3ICsxNzA5LDcgQEAgdmly dGlvX2luaXRfZGV2aWNlKHN0cnVjdCBydGVfZXRoX2RldiAqZXRoX2RldiwgdWludDY0X3QNCj4g cmVxX2ZlYXR1cmVzKQ0KPiANCj4gIAlody0+d2Vha19iYXJyaWVycyA9ICF2dHBjaV93aXRoX2Zl YXR1cmUoaHcsIFZJUlRJT19GX09SREVSX1BMQVRGT1JNKTsNCj4gDQo+IC0JaWYgKCFody0+dmly dGlvX3VzZXJfZGV2KQ0KPiArCWlmIChody0+YnVzX3R5cGUgPT0gVklSVElPX0JVU19QQ0lfTEVH QUNZIHx8IGh3LT5idXNfdHlwZSA9PQ0KPiBWSVJUSU9fQlVTX1BDSV9NT0RFUk4pDQo+ICAJCXBj aV9kZXYgPSBSVEVfRVRIX0RFVl9UT19QQ0koZXRoX2Rldik7DQo+IA0KPiAgCS8qIElmIGhvc3Qg ZG9lcyBub3Qgc3VwcG9ydCBib3RoIHN0YXR1cyBhbmQgTVNJLVggdGhlbiBkaXNhYmxlIExTQyAq Lw0KPiBAQCAtMTg1Niw3ICsxODU2LDcgQEAgdmlydGlvX2luaXRfZGV2aWNlKHN0cnVjdCBydGVf ZXRoX2RldiAqZXRoX2RldiwgdWludDY0X3QNCj4gcmVxX2ZlYXR1cmVzKQ0KPiAgc3RhdGljIGlu dA0KPiAgdmlydGlvX3JlbWFwX3BjaShzdHJ1Y3QgcnRlX3BjaV9kZXZpY2UgKnBjaV9kZXYsIHN0 cnVjdCB2aXJ0aW9faHcgKmh3KQ0KPiAgew0KPiAtCWlmIChody0+bW9kZXJuKSB7DQo+ICsJaWYg KGh3LT5idXNfdHlwZSA9PSBWSVJUSU9fQlVTX1BDSV9NT0RFUk4pIHsNCj4gIAkJLyoNCj4gIAkJ ICogV2UgZG9uJ3QgaGF2ZSB0byByZS1wYXJzZSB0aGUgUENJIGNvbmZpZyBzcGFjZSwgc2luY2UN Cj4gIAkJICogcnRlX3BjaV9tYXBfZGV2aWNlKCkgbWFrZXMgc3VyZSB0aGUgbWFwcGVkIGFkZHJl c3MNCj4gQEAgLTE4NzIsNyArMTg3Miw3IEBAIHZpcnRpb19yZW1hcF9wY2koc3RydWN0IHJ0ZV9w Y2lfZGV2aWNlICpwY2lfZGV2LCBzdHJ1Y3QNCj4gdmlydGlvX2h3ICpodykNCj4gIAkJCVBNRF9J TklUX0xPRyhERUJVRywgImZhaWxlZCB0byBtYXAgcGNpIGRldmljZSEiKTsNCj4gIAkJCXJldHVy biAtMTsNCj4gIAkJfQ0KPiAtCX0gZWxzZSB7DQo+ICsJfSBlbHNlIGlmIChody0+YnVzX3R5cGUg PT0gVklSVElPX0JVU19QQ0lfTEVHQUNZKSB7DQo+ICAJCWlmIChydGVfcGNpX2lvcG9ydF9tYXAo cGNpX2RldiwgMCwgVlRQQ0lfSU8oaHcpKSA8IDApDQo+ICAJCQlyZXR1cm4gLTE7DQo+ICAJfQ0K PiBAQCAtMTg4MywxNSArMTg4MywxNCBAQCB2aXJ0aW9fcmVtYXBfcGNpKHN0cnVjdCBydGVfcGNp X2RldmljZSAqcGNpX2RldiwNCj4gc3RydWN0IHZpcnRpb19odyAqaHcpDQo+ICBzdGF0aWMgdm9p ZA0KPiAgdmlydGlvX3NldF92dHBjaV9vcHMoc3RydWN0IHZpcnRpb19odyAqaHcpDQo+ICB7DQo+ IC0jaWZkZWYgUlRFX1ZJUlRJT19VU0VSDQo+IC0JaWYgKGh3LT52aXJ0aW9fdXNlcl9kZXYpDQo+ ICsJaWYgKGh3LT5idXNfdHlwZSA9PSBWSVJUSU9fQlVTX1VTRVIpDQo+ICAJCVZUUENJX09QUyho dykgPSAmdmlydGlvX3VzZXJfb3BzOw0KPiAtCWVsc2UNCj4gLSNlbmRpZg0KPiAtCWlmIChody0+ bW9kZXJuKQ0KPiArCWVsc2UgaWYgKGh3LT5idXNfdHlwZSA9PSBWSVJUSU9fQlVTX1BDSV9NT0RF Uk4pDQo+ICAJCVZUUENJX09QUyhodykgPSAmbW9kZXJuX29wczsNCj4gLQllbHNlDQo+ICsJZWxz ZSBpZiAoaHctPmJ1c190eXBlID09IFZJUlRJT19CVVNfUENJX0xFR0FDWSkNCj4gIAkJVlRQQ0lf T1BTKGh3KSA9ICZsZWdhY3lfb3BzOw0KPiArDQo+ICsJcmV0dXJuOw0KPiAgfQ0KPiANCj4gIC8q DQo+IEBAIC0xOTE5LDcgKzE5MTgsNyBAQCBldGhfdmlydGlvX2Rldl9pbml0KHN0cnVjdCBydGVf ZXRoX2RldiAqZXRoX2RldikNCj4gIAlldGhfZGV2LT5yeF9kZXNjcmlwdG9yX2RvbmUgPSB2aXJ0 aW9fZGV2X3J4X3F1ZXVlX2RvbmU7DQo+IA0KPiAgCWlmIChydGVfZWFsX3Byb2Nlc3NfdHlwZSgp ID09IFJURV9QUk9DX1NFQ09OREFSWSkgew0KPiAtCQlpZiAoIWh3LT52aXJ0aW9fdXNlcl9kZXYp IHsNCj4gKwkJaWYgKGh3LT5idXNfdHlwZSAhPSBWSVJUSU9fQlVTX1VTRVIpIHsNCj4gIAkJCXJl dCA9IHZpcnRpb19yZW1hcF9wY2koUlRFX0VUSF9ERVZfVE9fUENJKGV0aF9kZXYpLCBodyk7DQo+ ICAJCQlpZiAocmV0KQ0KPiAgCQkJCXJldHVybiByZXQ7DQo+IEBAIC0xOTUwLDcgKzE5NDksNyBA QCBldGhfdmlydGlvX2Rldl9pbml0KHN0cnVjdCBydGVfZXRoX2RldiAqZXRoX2RldikNCj4gIAkv KiBGb3IgdmlydGlvX3VzZXIgY2FzZSB0aGUgaHctPnZpcnRpb191c2VyX2RldiBpcyBwb3B1bGF0 ZWQgYnkNCj4gIAkgKiB2aXJ0aW9fdXNlcl9ldGhfZGV2X2FsbG9jKCkgYmVmb3JlIGV0aF92aXJ0 aW9fZGV2X2luaXQoKSBpcyBjYWxsZWQuDQo+ICAJICovDQo+IC0JaWYgKCFody0+dmlydGlvX3Vz ZXJfZGV2KSB7DQo+ICsJaWYgKGh3LT5idXNfdHlwZSAhPSBWSVJUSU9fQlVTX1VTRVIpIHsNCj4g IAkJcmV0ID0gdnRwY2lfaW5pdChSVEVfRVRIX0RFVl9UT19QQ0koZXRoX2RldiksIGh3KTsNCj4g IAkJaWYgKHJldCkNCj4gIAkJCWdvdG8gZXJyX3Z0cGNpX2luaXQ7DQo+IEBAIC0xOTgyLDkgKzE5 ODEsOSBAQCBldGhfdmlydGlvX2Rldl9pbml0KHN0cnVjdCBydGVfZXRoX2RldiAqZXRoX2RldikN Cj4gIAlyZXR1cm4gMDsNCj4gDQo+ICBlcnJfdmlydGlvX2luaXQ6DQo+IC0JaWYgKCFody0+dmly dGlvX3VzZXJfZGV2KSB7DQo+ICsJaWYgKGh3LT5idXNfdHlwZSA9PSBWSVJUSU9fQlVTX1BDSV9N T0RFUk4gfHwgaHctPmJ1c190eXBlID09DQo+IFZJUlRJT19CVVNfUENJX0xFR0FDWSkgew0KPiAg CQlydGVfcGNpX3VubWFwX2RldmljZShSVEVfRVRIX0RFVl9UT19QQ0koZXRoX2RldikpOw0KPiAt CQlpZiAoIWh3LT5tb2Rlcm4pDQo+ICsJCWlmIChody0+YnVzX3R5cGUgPT0gVklSVElPX0JVU19Q Q0lfTEVHQUNZKQ0KPiAgCQkJcnRlX3BjaV9pb3BvcnRfdW5tYXAoVlRQQ0lfSU8oaHcpKTsNCj4g IAl9DQo+ICBlcnJfdnRwY2lfaW5pdDoNCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3ZpcnRp by92aXJ0aW9fcGNpLmMgYi9kcml2ZXJzL25ldC92aXJ0aW8vdmlydGlvX3BjaS5jDQo+IGluZGV4 IGQ2Yjk1MGVlNjkuLjE2OTIyNjhmMzAgMTAwNjQ0DQo+IC0tLSBhL2RyaXZlcnMvbmV0L3ZpcnRp by92aXJ0aW9fcGNpLmMNCj4gKysrIGIvZHJpdmVycy9uZXQvdmlydGlvL3ZpcnRpb19wY2kuYw0K PiBAQCAtNjk3LDcgKzY5Nyw3IEBAIHZ0cGNpX2luaXQoc3RydWN0IHJ0ZV9wY2lfZGV2aWNlICpk ZXYsIHN0cnVjdCB2aXJ0aW9faHcNCj4gKmh3KQ0KPiAgCWlmICh2aXJ0aW9fcmVhZF9jYXBzKGRl diwgaHcpID09IDApIHsNCj4gIAkJUE1EX0lOSVRfTE9HKElORk8sICJtb2Rlcm4gdmlydGlvIHBj aSBkZXRlY3RlZC4iKTsNCj4gIAkJdmlydGlvX2h3X2ludGVybmFsW2h3LT5wb3J0X2lkXS52dHBj aV9vcHMgPSAmbW9kZXJuX29wczsNCj4gLQkJaHctPm1vZGVybiA9IDE7DQo+ICsJCWh3LT5idXNf dHlwZSA9IFZJUlRJT19CVVNfUENJX01PREVSTjsNCj4gIAkJcmV0dXJuIDA7DQo+ICAJfQ0KPiAN Cj4gQEAgLTcxNiw3ICs3MTYsNyBAQCB2dHBjaV9pbml0KHN0cnVjdCBydGVfcGNpX2RldmljZSAq ZGV2LCBzdHJ1Y3QgdmlydGlvX2h3DQo+ICpodykNCj4gIAl9DQo+IA0KPiAgCXZpcnRpb19od19p bnRlcm5hbFtody0+cG9ydF9pZF0udnRwY2lfb3BzID0gJmxlZ2FjeV9vcHM7DQo+IC0JaHctPm1v ZGVybiAgID0gMDsNCj4gKwlody0+YnVzX3R5cGUgPSBWSVJUSU9fQlVTX1BDSV9MRUdBQ1k7DQo+ IA0KPiAgCXJldHVybiAwOw0KPiAgfQ0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvdmlydGlv L3ZpcnRpb19wY2kuaCBiL2RyaXZlcnMvbmV0L3ZpcnRpby92aXJ0aW9fcGNpLmgNCj4gaW5kZXgg YWI2MWU5MTFiOC4uNjM4OGYwYTc0ZCAxMDA2NDQNCj4gLS0tIGEvZHJpdmVycy9uZXQvdmlydGlv L3ZpcnRpb19wY2kuaA0KPiArKysgYi9kcml2ZXJzL25ldC92aXJ0aW8vdmlydGlvX3BjaS5oDQo+ IEBAIC0yNDMsNyArMjQzLDE1IEBAIHN0cnVjdCB2aXJ0aW9fcGNpX29wcyB7DQo+IA0KPiAgc3Ry dWN0IHZpcnRpb19uZXRfY29uZmlnOw0KPiANCj4gK2VudW0gdmlydGlvX2J1c190eXBlIHsNCj4g KwlWSVJUSU9fQlVTX1VOS05PV04sDQo+ICsJVklSVElPX0JVU19QQ0lfTEVHQUNZLA0KPiArCVZJ UlRJT19CVVNfUENJX01PREVSTiwNCj4gKwlWSVJUSU9fQlVTX1VTRVIsDQo+ICt9Ow0KPiArDQo+ ICBzdHJ1Y3QgdmlydGlvX2h3IHsNCj4gKwllbnVtIHZpcnRpb19idXNfdHlwZSBidXNfdHlwZTsN Cj4gIAlzdHJ1Y3QgdmlydG5ldF9jdGwgKmN2cTsNCj4gIAl1aW50NjRfdCAgICByZXFfZ3Vlc3Rf ZmVhdHVyZXM7DQo+ICAJdWludDY0X3QgICAgZ3Vlc3RfZmVhdHVyZXM7DQo+IEBAIC0yNTMsNyAr MjYxLDYgQEAgc3RydWN0IHZpcnRpb19odyB7DQo+ICAJdWludDE2X3QgICAgdnRuZXRfaGRyX3Np emU7DQo+ICAJdWludDhfdAkgICAgdmxhbl9zdHJpcDsNCj4gIAl1aW50OF90CSAgICB1c2VfbXNp eDsNCj4gLQl1aW50OF90ICAgICBtb2Rlcm47DQo+ICAJdWludDhfdCAgICAgdXNlX3ZlY19yeDsN Cj4gIAl1aW50OF90ICAgICB1c2VfdmVjX3R4Ow0KPiAgCXVpbnQ4X3QgICAgIHVzZV9pbm9yZGVy X3J4Ow0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvdmlydGlvL3ZpcnRpb191c2VyX2V0aGRl di5jDQo+IGIvZHJpdmVycy9uZXQvdmlydGlvL3ZpcnRpb191c2VyX2V0aGRldi5jDQo+IGluZGV4 IDQwMzQ1MTkzZTYuLjUxNmQwZWU1NzcgMTAwNjQ0DQo+IC0tLSBhL2RyaXZlcnMvbmV0L3ZpcnRp by92aXJ0aW9fdXNlcl9ldGhkZXYuYw0KPiArKysgYi9kcml2ZXJzL25ldC92aXJ0aW8vdmlydGlv X3VzZXJfZXRoZGV2LmMNCj4gQEAgLTYyOSw3ICs2MjksNyBAQCB2aXJ0aW9fdXNlcl9ldGhfZGV2 X2FsbG9jKHN0cnVjdCBydGVfdmRldl9kZXZpY2UgKnZkZXYpDQo+ICAJICogSGVyZSBqdXN0IHBy ZXRlbmQgdGhhdCB3ZSBzdXBwb3J0IG1zaXguDQo+ICAJICovDQo+ICAJaHctPnVzZV9tc2l4ID0g MTsNCj4gLQlody0+bW9kZXJuICAgPSAwOw0KPiArCWh3LT5idXNfdHlwZSA9IFZJUlRJT19CVVNf VVNFUjsNCj4gIAlody0+dXNlX3ZlY19yeCA9IDA7DQo+ICAJaHctPnVzZV92ZWNfdHggPSAwOw0K PiAgCWh3LT51c2VfaW5vcmRlcl9yeCA9IDA7DQo+IC0tDQo+IDIuMjkuMg0KDQpSZXZpZXdlZC1i eTogQ2hlbmJvIFhpYSA8Y2hlbmJvLnhpYUBpbnRlbC5jb20+DQo=