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 D9CAEA0350; Tue, 23 Jun 2020 13:54:00 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 878781D61D; Tue, 23 Jun 2020 13:54:00 +0200 (CEST) Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2048.outbound.protection.outlook.com [40.107.21.48]) by dpdk.org (Postfix) with ESMTP id AD0CC1D610 for ; Tue, 23 Jun 2020 13:53:59 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=KRW0uWN/sS/LcjlKBjkJLjm+JvncyO0H1oSv/BsQ2wzWfIg2BKJRpTEvpi0078VntNmKwS+hb+wD9AQTPFvLLTC36YTFPte9V0kbr1vN/dTWs49y+JxmaWxUu2Xk5V56aZmf+6vOEnMIGivzOODD102OEXS/Wc66sRKUkqUZm21wj63Da4HDTsS8jLk0zL3yM5QJTLwm97KSoiukGk4eYG2chG2BQPz5u7FQt7TbaBoGgzSBZWsghdvrKWi7/Woe9zYnfePyQPeeaqNnIPSQ+tZF/FgzpxWo5cCzSX231n/Zrv1nvE/bMq4i3ZPATrv5xvhqgXXEDmf9B861NOrAgA== 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=PTq4HGfnXkQ+CpAM48hCmkmzo4pSmymelbx9HHYUVT0=; b=Ieo/SICWtWshmiyWZdC1vCLBqd3me7vk/HRNgdpiaYomm41uUB32Gaw2nbneeG9xS3lFJwBReXyJViXt1u+KjjcTVFRpbD2xfUS5TM4QF29GL/S8danVS74VX6X/y1d8tgPVWm+SPCFlBsHyefdy1tQYoKgCe3ij5sNSDKHav3Ad5YiEwlHZotpJtEtkjKeKol/F4mtdh9pDYIYDxg1elmK74RFjXLXr0xANQ0RhoFWK+25Z3cElDXTJ02+3oox6KTDIeklcUIGbs9Ly0l1LskxYoV3U5rny5zqj7pOrvJvnFrxLEPdf0KG+ny9ko7jlLIfwJ2R/vvWjVnUm5L3H6Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=mellanox.com; dmarc=pass action=none header.from=mellanox.com; dkim=pass header.d=mellanox.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=PTq4HGfnXkQ+CpAM48hCmkmzo4pSmymelbx9HHYUVT0=; b=nz30SnFMAumIzmH43IdR7KlwolOKpquUDWyP2ybLEBFbS0wiHKe5nPNRm377GNN8lCgCV2sVgn2N0CosjJOCVOPFTvqzAKbFZokziKUKYliH22Q2P+ohbsjyJAsYumniFjByakuoPpLamwB/0tbjUaTxpnArECwilrxUi+rkCL4= Received: from AM0PR0502MB4019.eurprd05.prod.outlook.com (2603:10a6:208:f::11) by AM0PR0502MB3714.eurprd05.prod.outlook.com (2603:10a6:208:26::27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3109.21; Tue, 23 Jun 2020 11:53:57 +0000 Received: from AM0PR0502MB4019.eurprd05.prod.outlook.com ([fe80::b189:d782:4c74:7998]) by AM0PR0502MB4019.eurprd05.prod.outlook.com ([fe80::b189:d782:4c74:7998%7]) with mapi id 15.20.3109.027; Tue, 23 Jun 2020 11:53:57 +0000 From: Matan Azrad To: Maxime Coquelin , Xiao Wang CC: "dev@dpdk.org" Thread-Topic: [PATCH v1 3/4] vhost: improve device ready definition Thread-Index: AQHWRY1+WLgdYR0e1E+Ph0x8zoCWqqjfjwYAgAA4hqCAAC+iAIACniawgAG2/YCAAAcQgIAAB3QAgAAM1OCAAC/AgIAACy5AgAAclQCAAAzpQIAAEnUAgAEB7XCAABMiAIAAIg9g Date: Tue, 23 Jun 2020 11:53:57 +0000 Message-ID: References: <1592497686-433697-1-git-send-email-matan@mellanox.com> <96191de9-63bd-0937-5bdd-d81e9db14e9f@redhat.com> <74f35cd8-3543-ba1c-0dc7-1502599e6cf7@redhat.com> <197079f4-7436-4f9e-7b8e-b8cb42042ffb@redhat.com> <62311463-2bc1-7f8b-1ec0-da31418e1d75@redhat.com> <6a2d8143-e48d-cdef-5b16-1c340d99b1ae@redhat.com> <3572c65c-394c-496f-483c-a57019550339@redhat.com> In-Reply-To: <3572c65c-394c-496f-483c-a57019550339@redhat.com> Accept-Language: en-US, he-IL 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=mellanox.com; x-originating-ip: [77.124.38.174] x-ms-publictraffictype: Email x-ms-office365-filtering-ht: Tenant x-ms-office365-filtering-correlation-id: 32188e02-cd04-4237-196e-08d8176c1cb1 x-ms-traffictypediagnostic: AM0PR0502MB3714: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-forefront-prvs: 04433051BF x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: RaaLoeoq3YKkjLcDHeK61VDhAbd5TEUNcj4SD0yfYoYghDMmFIUyQcwUaM48hZwpnP/sZSFjfr0vsqbg3mw3MKQ3xHkBJNwQXQeltEG35Ris5/wOCVWleSpZc4L8qdGDKCPjlpNVECIZvkSsIf1oVxdFvkHenmbav59Mkaq95oEsFh7ouqwx0lJ4xk3r0ab6D+K0GEt0Q1Bruc98xs4SPgJG8gWycIlfbUnBeVNB8sEhv8/Tegd+1Q9OFtlAAAlqeLGSyMjEyQTCRzn0mLak9pCv0CCmlg4KMxh9jmv43AS5uGwWmvfBsnSjYBDTrcGS+sznEJvr1xHEMfu4evCOgQ== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM0PR0502MB4019.eurprd05.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(4636009)(366004)(498600001)(110136005)(186003)(9686003)(76116006)(55016002)(66556008)(66946007)(71200400001)(64756008)(66476007)(66446008)(8936002)(86362001)(8676002)(53546011)(26005)(33656002)(52536014)(4326008)(83380400001)(5660300002)(2906002)(7696005)(6506007); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: H8C46zxDDtgveUA6S7gUVgzKboKPjiCuHCM2XtNMn5tsJixi2KrK2AnIG3mZ/samPLdWo/m84mws0OvAl+YGpCYh1UOpDaL5VPqOAOGTLzgjfPquxRnFppeJk/Z+J3cLpZlaM6KA01KKckJ+3/iNdbMrk3s5qX/m3g1Vt9uNSeRsSwmvSe+sS7DYfW8+cYEVq7tMqNOWjcMJL81eDRZaEokCicjWuz5GcOUMA11AfU0QGLWcVpX/5pmW3p3QYljonDtQNXSAoXS7QyTH5jBqU9+5gmQJKHuARFpLnBmKeFtOwejDkkecb60ZO5nmR/82JW355sr2kgXr5Me3mwY1XVzNIRrB5YwVPETFE20vpQLoJ11caZjI3OBqSgOLdBOhdfErObLL3BEJLgMX02bPYrwUiNg4AEYk9aGLSQIRMf1wKTNFQipct33CBHBiQhBAikQCT2NSjneHJzaOCAIo60/7TYI9SWjuilkGI0cdGW8= x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: 32188e02-cd04-4237-196e-08d8176c1cb1 X-MS-Exchange-CrossTenant-originalarrivaltime: 23 Jun 2020 11:53:57.7660 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: h3Ytwi7m3da+d58g9V8ftrYTmyOlhfNZ2hNVMqxafIGciLrXW5SGqfyeo3qYnWeaZDd6+y5dwYy11gCehEZL8Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR0502MB3714 Subject: Re: [dpdk-dev] [PATCH v1 3/4] vhost: improve device ready definition 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" DQoNCkZyb206IE1heGltZSBDb3F1ZWxpbjoNCj4gT24gNi8yMy8yMCAxMTowMiBBTSwgTWF0YW4g QXpyYWQgd3JvdGU6DQo+ID4NCj4gPg0KPiA+IEZyb206IE1heGltZSBDb3F1ZWxpbjoNCj4gPj4g T24gNi8yMi8yMCA1OjUxIFBNLCBNYXRhbiBBenJhZCB3cm90ZToNCj4gPj4+DQo+ID4+Pg0KPiA+ Pj4gRnJvbTogTWF4aW1lIENvcXVlbGluOg0KPiA+Pj4+IE9uIDYvMjIvMjAgMzo0MyBQTSwgTWF0 YW4gQXpyYWQgd3JvdGU6DQo+ID4+Pj4+DQo+ID4+Pj4+DQo+ID4+Pj4+IEZyb206IE1heGltZSBD b3F1ZWxpbjoNCj4gPj4+Pj4+IFNlbnQ6IE1vbmRheSwgSnVuZSAyMiwgMjAyMCAzOjMzIFBNDQo+ ID4+Pj4+PiBUbzogTWF0YW4gQXpyYWQgPG1hdGFuQG1lbGxhbm94LmNvbT47IFhpYW8gV2FuZw0K PiA+Pj4+Pj4gPHhpYW8udy53YW5nQGludGVsLmNvbT4NCj4gPj4+Pj4+IENjOiBkZXZAZHBkay5v cmcNCj4gPj4+Pj4+IFN1YmplY3Q6IFJlOiBbUEFUQ0ggdjEgMy80XSB2aG9zdDogaW1wcm92ZSBk ZXZpY2UgcmVhZHkNCj4gPj4+Pj4+IGRlZmluaXRpb24NCj4gPj4+Pj4+DQo+ID4+Pj4+Pg0KPiA+ Pj4+Pj4NCj4gPj4+Pj4+IE9uIDYvMjIvMjAgMTI6MDYgUE0sIE1hdGFuIEF6cmFkIHdyb3RlOg0K PiA+Pj4+Pj4+DQo+ID4+Pj4+Pj4gSGkgTWF4aW1lDQo+ID4+Pj4+Pj4NCj4gPj4+Pj4+PiBGcm9t OiBNYXhpbWUgQ29xdWVsaW4gPG1heGltZS5jb3F1ZWxpbkByZWRoYXQuY29tPg0KPiA+Pj4+Pj4+ PiBTZW50OiBNb25kYXksIEp1bmUgMjIsIDIwMjAgMTE6NTYgQU0NCj4gPj4+Pj4+Pj4gVG86IE1h dGFuIEF6cmFkIDxtYXRhbkBtZWxsYW5veC5jb20+OyBYaWFvIFdhbmcNCj4gPj4+Pj4+Pj4gPHhp YW8udy53YW5nQGludGVsLmNvbT4NCj4gPj4+Pj4+Pj4gQ2M6IGRldkBkcGRrLm9yZw0KPiA+Pj4+ Pj4+PiBTdWJqZWN0OiBSZTogW1BBVENIIHYxIDMvNF0gdmhvc3Q6IGltcHJvdmUgZGV2aWNlIHJl YWR5DQo+ID4+Pj4+Pj4+IGRlZmluaXRpb24NCj4gPj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4NCj4gPj4+ Pj4+Pj4NCj4gPj4+Pj4+Pj4gT24gNi8yMi8yMCAxMDo0MSBBTSwgTWF0YW4gQXpyYWQgd3JvdGU6 DQo+ID4+Pj4+Pj4+Pj4gVGhlIGlzc3VlIGlzIGlmIHlvdSBvbmx5IGNoZWNrIHJlYWR5IHN0YXRl IG9ubHkgYmVmb3JlIGFuZA0KPiA+Pj4+Pj4+Pj4+IGFmdGVyIHRoZSBtZXNzYWdlIGFmZmVjdGlu ZyB0aGUgcmluZyBpcyBoYW5kbGVkLCBpdCBjYW4gYmUNCj4gPj4+Pj4+Pj4+PiByZWFkeSBhdCBi b3RoIHN0YWdlcywgd2hpbGUgdGhlIHJpbmdzIGhhdmUgY2hhbmdlZCBhbmQgc3RhdGUNCj4gPj4+ Pj4+Pj4+PiBjaGFuZ2UgY2FsbGJhY2sgc2hvdWxkDQo+ID4+Pj4+Pj4+IGhhdmUgYmVlbiBjYWxs ZWQuDQo+ID4+Pj4+Pj4+PiBCdXQgaW4gdGhpcyB2ZXJzaW9uIEkgY2hlY2tlZCB0d2ljZSwgYmVm b3JlIG1lc3NhZ2UgaGFuZGxlcg0KPiA+Pj4+Pj4+Pj4gYW5kIGFmdGVyDQo+ID4+Pj4+Pj4+IG1l c3NhZ2UgaGFuZGxlciwgc28gaXQgc2hvdWxkIGNhdGNoIGFueSB1cGRhdGUuDQo+ID4+Pj4+Pj4+ DQo+ID4+Pj4+Pj4+IE5vLCB0aGlzIGlzIG5vdCBlbm91Z2gsIHdlIGhhdmUgdG8gY2hlY2sgYWxz byBkdXJpbmcgc29tZQ0KPiA+Pj4+Pj4+PiBoYW5kbGVycywgc28gdGhhdCB0aGUgcmVhZHkgc3Rh dGUgaXMgaW52YWxpZGF0ZWQgYmVjYXVzZQ0KPiA+Pj4+Pj4+PiBzb21ldGltZXMgaXQgd2lsbCBi ZSByZWFkeSBiZWZvcmUgYW5kIGFmdGVyIHRoZSBtZXNzYWdlIGhhbmRsZXINCj4gPj4+Pj4+Pj4g YnV0DQo+ID4+IHdpdGggZGlmZmVyZW50IHZhbHVlcy4NCj4gPj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4g VGhhdCdzIHdoYXQgSSBkaWQgaW4gbXkgZXhhbXBsZSBwYXRjaDoNCj4gPj4+Pj4+Pj4gQEAgLTE4 NDcsMTUgKzE4OTIsMTYgQEAgdmhvc3RfdXNlcl9zZXRfdnJpbmdfa2ljayhzdHJ1Y3QNCj4gPj4+ PiB2aXJ0aW9fbmV0DQo+ID4+Pj4+Pj4+ICoqcGRldiwgc3RydWN0IFZob3N0VXNlck1zZyAqbXNn LA0KPiA+Pj4+Pj4+Pg0KPiA+Pj4+Pj4+PiAuLi4NCj4gPj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4gICAg ICAgICBpZiAodnEtPmtpY2tmZCA+PSAwKQ0KPiA+Pj4+Pj4+PiAgICAgICAgICAgICAgICAgY2xv c2UodnEtPmtpY2tmZCk7DQo+ID4+Pj4+Pj4+ICsNCj4gPj4+Pj4+Pj4gKyAgICAgICB2cS0+a2lj a2ZkID0gVklSVElPX1VOSU5JVElBTElaRURfRVZFTlRGRDsNCj4gPj4+Pj4+Pj4gKw0KPiA+Pj4+ Pj4+PiArICAgICAgIHZob3N0X3VzZXJfdXBkYXRlX3ZyaW5nX3N0YXRlKGRldiwgZmlsZS5pbmRl eCk7DQo+ID4+Pj4+Pj4+ICsNCj4gPj4+Pj4+Pj4gICAgICAgICB2cS0+a2lja2ZkID0gZmlsZS5m ZDsNCj4gPj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4gV2l0aG91dCB0aGF0LCB0aGUg cmVhZHkgY2hlY2sgd2lsbCByZXR1cm4gcmVhZHkgYmVmb3JlIGFuZA0KPiA+Pj4+Pj4+PiBhZnRl ciB0aGUga2lja2ZkIGNoYW5nZWQgYW5kIHRoZSBkcml2ZXIgd29uJ3QgYmUgbm90aWZpZWQuDQo+ ID4+Pj4+Pj4NCj4gPj4+Pj4+PiBUaGUgZHJpdmVyIHdpbGwgYmUgbm90aWZpZWQgaW4gdGhlIG5l eHQNCj4gPj4+Pj4+PiBWSE9TVF9VU0VSX1NFVF9WUklOR19FTkFCTEUNCj4gPj4+Pj4+IG1lc3Nh Z2UgYWNjb3JkaW5nIHRvIHYxLg0KPiA+Pj4+Pj4+DQo+ID4+Pj4+Pj4gT25lIG9mIG91ciBhc3N1 bXB0aW9uIHdlIGFncmVlZCBvbiBpbiB0aGUgZGVzaWduIG1haWwgaXMgdGhhdCBpdA0KPiA+Pj4+ Pj4+IGRvZXNuJ3QNCj4gPj4+Pj4+IG1ha2Ugc2Vuc2UgdGhhdCBRRU1VIHdpbGwgY2hhbmdlIHF1 ZXVlIGNvbmZpZ3VyYXRpb24gd2l0aG91dA0KPiA+Pj4+Pj4gZW5hYmxpbmcgdGhlIHF1ZXVlIGFn YWluLg0KPiA+Pj4+Pj4+IEJlY2F1c2Ugb2YgdGhhdCB3ZSBkZWNpZGVkIHRvIGZvcmNlIGNhbGxp bmcgc3RhdGUgY2FsbGJhY2sgYWdhaW4NCj4gPj4+Pj4+PiB3aGVuDQo+ID4+Pj4+PiBRRU1VIHNl bmQgVkhPU1RfVVNFUl9TRVRfVlJJTkdfRU5BQkxFKDEpIG1lc3NhZ2UgZXZlbiBpZg0KPiB0aGUN Cj4gPj4+PiBxdWV1ZSBpcw0KPiA+Pj4+Pj4gYWxyZWFkeSByZWFkeS4NCj4gPj4+Pj4+PiBTbyB3 aGVuIGRyaXZlci9hcHAgc2VlIHN0YXRlIGVuYWJsZS0+ZW5hYmxlLCBpdCBzaG91bGQgdGFrZSBp bnRvDQo+ID4+Pj4+Pj4gYWNjb3VudA0KPiA+Pj4+Pj4gdGhhdCB0aGUgcXVldWUgY29uZmlndXJh dGlvbiB3YXMgcHJvYmFibHkgY2hhbmdlZC4NCj4gPj4+Pj4+Pg0KPiA+Pj4+Pj4+IEkgdGhpbmsg dGhhdCB0aGlzIGFzc3VtcHRpb24gaXMgY29ycmVjdCBhY2NvcmRpbmcgdG8gdGhlIFFFTVUgY29k ZS4NCj4gPj4+Pj4+DQo+ID4+Pj4+PiBZZXMsIHRoaXMgd2FzIG91ciBpbml0aWFsIGFzc3VtcHRp b24uDQo+ID4+Pj4+PiBCdXQgbm93IGxvb2tpbmcgaW50byB0aGUgZGV0YWlscyBvZiB0aGUgaW1w bGVtZW50YXRpb24sIEkgZmluZCBpdA0KPiA+Pj4+Pj4gaXMgZXZlbiBjbGVhbmVyICYgY2xlYXJl ciBub3QgdG8gZG8gdGhpcyBhc3N1bXB0aW9uLg0KPiA+Pj4+Pj4NCj4gPj4+Pj4+PiBUaGF0J3Mg d2h5IEkgcHJlZmVyIHRvIGNvbGxlY3QgYWxsIHRoZSByZWFkeSBjaGVja3MgY2FsbGJhY2tzDQo+ ID4+Pj4+Pj4gKHF1ZXVlIHN0YXRlIGFuZA0KPiA+Pj4+Pj4gZGV2aWNlIG5ld1xjb25mKSB0byBv bmUgZnVuY3Rpb24gdGhhdCB3aWxsIGJlIGNhbGxlZCBhZnRlciB0aGUNCj4gPj4+Pj4+IG1lc3Nh Z2UNCj4gPj4+Pj4+IGhhbmRsZXI6DQo+ID4+Pj4+Pj4gUHNldWRvOg0KPiA+Pj4+Pj4+ICB2aG9z dF91c2VyX3VwZGF0ZV9yZWFkeV9zdGF0dXNlcygpIHsNCj4gPj4+Pj4+PiAJc3dpdGNoIChtc2cp Og0KPiA+Pj4+Pj4+IAkJY2FzZSBlbmFibGU6DQo+ID4+Pj4+Pj4gCQkJaWYoZW5hYmxlIGlzIDEp DQo+ID4+Pj4+Pj4gCQkJCWZvcmNlIHF1ZXVlIHN0YXRlID0xLg0KPiA+Pj4+Pj4+IAkJY2FzZSBj YWxsZmQNCj4gPj4+Pj4+PiAJCWNhc2Uga2lja2ZkDQo+ID4+Pj4+Pj4gCQkJCS4uLi4uDQo+ID4+ Pj4+Pj4gCQlDaGVjayBxdWV1ZSBhbmQgZGV2aWNlIHJlYWR5ICsgY2FsbCBjYWxsYmFja3MgaWYN Cj4gbmVlZGVkLi4NCj4gPj4+Pj4+PiAJCURlZmF1bHQNCj4gPj4+Pj4+PiAJCQlSZXR1cm47DQo+ ID4+Pj4+Pj4gfQ0KPiA+Pj4+Pj4NCj4gPj4+Pj4+IEkgZmluZCBpdCBtb3JlIG5hdHVyYWwgdG8g ImludmFsaWRhdGUiIHJlYWR5IHN0YXRlIHdoZXJlIGl0IGlzDQo+ID4+Pj4+PiBoYW5kbGVkIChh ZnRlciB2cmluZ19pbnZhbGlkYXRlKCksIGJlZm9yZSBzZXR0aW5nIG5ldyBGRCBmb3IgY2FsbA0K PiA+Pj4+Pj4gJiBraWNrLCAuLi4pDQo+ID4+Pj4+DQo+ID4+Pj4+IEkgdGhpbmsgdGhhdCBpZiB5 b3UgZ28gd2l0aCB0aGlzIGRpcmVjdGlvbiwgaWYgdGhlIGZpcnN0IHF1ZXVlDQo+ID4+Pj4+IHBh aXIgaXMgaW52YWxpZGF0ZWQsDQo+ID4+Pj4geW91IG5lZWQgdG8gbm90aWZ5IGFwcFxkcml2ZXIg YWxzbyBhYm91dCBkZXZpY2UgcmVhZHkgY2hhbmdlLg0KPiA+Pj4+PiBBbHNvIGl0IHdpbGwgY2F1 c2UgMiBub3RpZmljYXRpb25zIHRvIHRoZSBkcml2ZXIgaW5zdGVhZCBvZiBvbmUgaW4NCj4gPj4+ Pj4gY2FzZSBvZiBGRA0KPiA+Pj4+IGNoYW5nZS4NCj4gPj4+Pg0KPiA+Pj4+IFlvdSdsbCBhbHdh eXMgZW5kLXVwIHdpdGggdHdvIG5vdGlmaWNhdGlvbnMsIGVpdGhlciBRZW11IGhhcyBzZW50DQo+ ID4+Pj4gdGhlIGRpc2FibGUgYW5kIHNvIHlvdSdsbCBoYXZlIG9uZSBub3RpZmljYXRpb24gZm9y IHRoZSBkaXNhYmxlIGFuZA0KPiA+Pj4+IG9uZSBmb3IgdGhlIGVuYWJsZSwgb3IgaXQgZGlkbid0 IHNlbnQgdGhlIGRpc2FibGUgYW5kIGl0IHdpbGwNCj4gPj4+PiBoYXBwZW4gYXQgb2xkIHZhbHVl IGludmFsaWRhdGlvbiB0aW1lIGFuZCBhZnRlciBuZXcgdmFsdWUgaXMgdGFrZW4gaW50bw0KPiBh Y2NvdW50Lg0KPiA+Pj4+DQo+ID4+Pg0KPiA+Pj4gSSBkb24ndCBzZWUgaXQgaW4gY3VycmVudCBR RU1VIGJlaGF2aW9yLg0KPiA+Pj4gV2hlbiB3b3JraW5nIE1RIEkgc2VlIHRoYXQgc29tZSB2aXJ0 cXMgZ2V0IGNvbmZpZ3VyYXRpb24gbWVzc2FnZQ0KPiA+Pj4gd2hpbGUNCj4gPj4gdGhleSBhcmUg aW4gZW5hYmxlZCBzdGF0ZS4NCj4gPj4+IFRoZW4sIGVuYWJsZSBtZXNzYWdlIGlzIHNlbnQgYWdh aW4gbGF0ZXIuDQo+ID4+DQo+ID4+IEkgZ3Vlc3MgeW91IG1lYW4gdGhlIGZpcnN0IHF1ZXVlIHBh aXI/IEFuZCBpdCB3b3VsZCBub3QgYmUgaW4gcmVhZHkNCj4gPj4gc3RhdGUgYXMgaXQgd291bGQg YmUgdGhlIGluaXRpYWwgY29uZmlndXJhdGlvbiBvZiB0aGUgcXVldWU/DQo+ID4NCj4gPiBFdmVu IGFmdGVyIGluaXRpYWxpemF0aW9uIHdoZW4gcXVldWUgaXMgcmVhZHkuDQo+ID4NCj4gPj4+DQo+ ID4+Pj4+IFdoeSBub3QgdG8gdGFrZSB0aGlzIGNvcnJlY3QgYXNzdW1wdGlvbiBhbmQgdXBkYXRl IHJlYWR5IHN0YXRlDQo+ID4+Pj4+IG9ubHkgaW4gb25lDQo+ID4+Pj4gcG9pbnQgaW4gdGhlIGNv ZGUgaW5zdGVhZCBvZiBkb2luZyBpdCBpbiBhbGwgdGhlIGNvbmZpZ3VyYXRpb24NCj4gPj4+PiBo YW5kbGVycw0KPiA+PiBhcm91bmQ/DQo+ID4+Pj4+IElNTywgSXQgaXMgY29ycmVjdCwgbGVzcyBp bnRydXNpdmUsIHNpbXBsZXIsIGNsZWFyZXIgYW5kIGNsZWFuZXIuDQo+ID4+Pj4NCj4gPj4+PiBJ IGp1c3QgbG9va2VkIGNsb3NlciBhdCB0aGUgVmhvc3QtdXNlciBzcGVjLCBhbmQgSSdtIG5vIG1v cmUgc28NCj4gPj4+PiBzdXJlIHRoaXMgaXMgYSBjb3JyZWN0IGFzc3VtcHRpb246DQo+ID4+Pj4N Cj4gPj4+PiAiV2hpbGUgcHJvY2Vzc2luZyB0aGUgcmluZ3MgKHdoZXRoZXIgdGhleSBhcmUgZW5h YmxlZCBvciBub3QpLA0KPiA+Pj4+IGNsaWVudCBtdXN0IHN1cHBvcnQgY2hhbmdpbmcgc29tZSBj b25maWd1cmF0aW9uIGFzcGVjdHMgb24gdGhlIGZseS4iDQo+ID4+Pg0KPiA+Pj4gT2ssIHRoaXMg ZG9lc24ndCBleHBsYWluIGhvdyBjb25maWd1cmF0aW9uIGlzIGNoYW5nZWQgb24gdGhlIGZseS4N Cj4gPj4NCj4gPj4gSSBhZ3JlZSBpdCBsYWNrcyBhIGJpdCBvZiBjbGFyaXR5Lg0KPiA+Pg0KPiA+ Pj4gQXMgSSBtZW50aW9uZWQsIFFFTVUgc2VuZHMgZW5hYmxlIG1lc3NhZ2UgYWx3YXlzIGFmdGVy IGNvbmZpZ3VyYXRpb24NCj4gPj4gbWVzc2FnZS4NCj4gPj4NCj4gPj4gWWVzLCBidXQgd2Ugc2hv dWxkIG5vdCBkbyBhc3N1bXB0aW9ucyBvbiBjdXJyZW50IFFlbXUgdmVyc2lvbiB3aGVuDQo+ID4+ IHBvc3NpYmxlLiBCZXR0ZXIgdG8gYmUgc2FmZSBhbmQgZm9sbG93IHRoZSBzcGVjaWZpY2F0aW9u LCBpdCB3aWxsIGJlIG1vcmUNCj4gcm9idXN0Lg0KPiA+PiBUaGVyZSBpcyBhbHNvIHRoZSBWaXJ0 aW8tdXNlciBQTUQgdG8gdGFrZSBpbnRvIGFjY291bnQgZm9yIGV4YW1wbGUuDQo+ID4NCj4gPiBJ IHVuZGVyc3RhbmQgeW91ciBwb2ludCBoZXJlIGJ1dCBkbyB5b3UgcmVhbGx5IHdhbnQgdG8gYmUg cmVhZHkgZm9yIGFueQ0KPiBjb25maWd1cmF0aW9uIHVwZGF0ZSBpbiBydW4gdGltZT8NCj4gPiBX aGF0IGRvZXMgaXQgbWVhbj8gSG93IGRhdGF0cGF0aCBzaG91bGQgaGFuZGxlIGNvbmZpZ3VyYXRp b24gZnJvbQ0KPiBjb250cm9sIHRocmVhZCBpbiBydW4gdGltZSB3aGlsZSB0cmFmZmljIGlzIG9u Pw0KPiA+IEZvciBleGFtcGxlLCBjaGFuZ2luZyBxdWV1ZSBzaXplIFwgYWRkcmVzc2VzIG11c3Qg c3RvcCB0cmFmZmljIGJlZm9yZS4uLg0KPiA+IEFsc28gY2hhbmdpbmcgRkRzIGlzIHZlcnkgc2Vu c2l0aXZlLg0KPiA+DQo+ID4gSXQgZG9lc24ndCBtYWtlIHNlbnNlIHRvIG1lLg0KPiA+DQo+ID4g QWxzbywgYWNjb3JkaW5nIHRvICJvbiB0aGUgZmx5IiBkaXJlY3Rpb24gd2Ugc2hvdWxkIG5vdCBk aXNhYmxlIHRoZSBxdWV1ZQ0KPiB1bmxlc3MgZW5hYmxlIG1lc3NhZ2UgaXMgY29taW5nIHRvIGRp c2FibGUgaXQuDQoNCk5vIHJlc3BvbnNlLCBzbyBsb29rcyBsaWtlIHlvdSBhZ3JlZSB0aGF0IGl0 IGRvZXNuJ3QgbWFrZSBzZW5zZS4NCg0KPiA+IEluIGFkZGl0aW9uOg0KPiA+IERvIHlvdSByZWFs bHkgd2FudCB0byB0b2dnbGUgdkRQQSBkcml2ZXJzXGFwcCBmb3IgYW55IGNvbmZpZ3VyYXRpb24N Cj4gbWVzc2FnZT8gSXQgbWF5IGNhdXNlIHF1ZXVlIHJlY3JlYXRpb24gZm9yIGVhY2ggb25lIChh dCBsZWFzdCBmb3IgbWx4NSkuDQo+IA0KPiBJIHdhbnQgdG8gaGF2ZSBzb21ldGhpbmcgcm9idXN0 IGFuZCBtYWludGFpbmFibGUuDQoNCk1lIHRvby4NCg0KPiBUaGVzZSBtZXNzYWdlcyBhcnJpdmlu ZyBhZnRlciBhIHF1ZXVlIGhhdmUgYmVlbiBjb25maWd1cmVkIG9uY2UgYXJlIHJhcmUNCj4gZXZl bnRzLCBidXQgdGhpcyBpcyB1c3VhbGx5IHRoZSBraW5kIG9mIHRoaW5ncyB0aGF0IGNhdXNlIG1h aW50ZW5hbmNlIGJ1cmRlbi4NCg0KSW4gY2FzZSBvZiBndWVzdCBwb2xsIG1vZGUgKHRlc3RwbWQg dmlydGlvKSB3ZSBhbGwgdGhlIHRpbWUgZ2V0IGNhbGxmZCB0d2ljZS4NCg0KPiBJZiB5b3UgbG9v ayBhdCBteSBleGFtcGxlIHBhdGNoLCB5b3Ugd2lsbCB1bmRlcnN0YW5kIHRoYXQgd2l0aCBteSBw cm9wb3NhbCwNCj4gdGhlcmUgd29uJ3QgYmUgYW55IG1vcmUgc3RhdGUgY2hhbmdlIG5vdGlmaWNh dGlvbiB0aGFuIHdpdGggeW91ciBwcm9wb3NhbA0KPiB3aGVuIFFlbXUgb3IgYW55IG90aGVyIFZo b3N0LXVzZXIgbWFzdGVyIHNlbmQgYSBkaXNhYmxlIHJlcXVlc3QgYmVmb3JlDQo+IHNlbmRpbmcg dGhlIHJlcXVlc3QgdGhhdCBpbXBhY3QgdGhlIHF1ZXVlIHN0YXRlLg0KDQp3ZSBkaWRuJ3QgdGFs ayBhYm91dCBkaXNhYmxlIHRpbWUgLSB0aGlzIG9uZSBpcyB2ZXJ5IHNpbXBsZS4NCg0KWWVzLCBJ biBjYXNlIHRoZSBxdWV1ZSBpcyBkaXNhYmxlZCB5b3VyIHByb3Bvc2FsIGRvZXNuJ3Qgc2VuZCBl eHRyYSBub3RpZmljYXRpb24gYXMgbXkuDQpCdXQgaW4gY2FzZSB0aGUgcXVldWUgaXMgcmVhZHks IHlvdXIgcHJvcG9zYWwgc2VuZCBleHRyYSBub3QgcmVhZHkgbm90aWZpY2F0aW9uIGZvciBraWtm ZCxjYWxsZmQsc2V0X3ZyaW5nX2Jhc2UgY29uZmlndXJhdGlvbnMuDQoNCj4gSXQganVzdCBhZGRz IG1vcmUgcm9idXN0bmVzcyBpZiB0aGlzIHVubGlrZWx5IGV2ZW50IGhhcHBlbnMsIGJ5IGludmFs aWRhdGluZw0KPiB0aGUgcmluZyBzdGF0ZSB0byBub3QgcmVhZHkgYmVmb3JlIGRvaW5nIHRoZSBh Y3R1YWwgcmluZyBjb25maWd1cmF0aW9uIGNoYW5nZS4NCj4gU28gdGhhdCB0aGlzIGNvbmZpZyBj aGFuZ2UgaXMgbm90IG1pc3NlZCBieSB0aGUgdkRQQSBkcml2ZXIgb3IgdGhlIGFwcGxpY2F0aW9u Lg0KDQpPbmUgbW9yZSBpc3N1ZSBoZXJlIGlzIHRoYXQgdGhlcmUgaXMgc29tZSB0aW1lIHRoYXQg ZGV2aWNlIGlzIHJlYWR5IChhbHJlYWR5IGNvbmZpZ3VyZWQpIGFuZCB0aGUgZmlyc3Qgdml0dHEt cGFpciBpcyBub3QgcmVhZHkgKHlvdXIgaW52YWxpZGF0ZSBwcm9wb3NhbCBmb3Igc2V0X3ZyaW5n X2Jhc2UpLg0KSXQgZG9lc27igJl0IHNhdmUgdGhlIGNvbmNlcHQgdGhhdCBkZXZpY2UgaXMgcmVh ZHkgb25seSBpbiBjYXNlIHRoZSBmaXJzdCB2aXJ0cS1wYWlyIGlzIHJlYWR5Lg0KDQoNCkkgd2ls bCBub3QgaW5zaXN0IGFueW1vcmUgb24gd2FpdGluZyBmb3IgZW5hYmxlIGZvciBub3RpZnlpbmcg YWx0aG91Z2ggSSBub3QgZmFuIHdpdGggaXQuDQoNClNvLCBJIHN1Z2dlc3QgdG8gY3JlYXRlIDEg bm90aWZpY2F0aW9uIGZ1bmN0aW9uIHRvIGJlIGNhbGxlZCBhZnRlciBtZXNzYWdlIGhhbmRsZXIg YW5kIGJlZm9yZSByZXBseS4NClRoaXMgZnVuY3Rpb24gaXMgdGhlIG9ubHkgb25lIHdoaWNoIG5v dGlmeSByZWFkeSBzdGF0ZXMgaW4gdGhlIG5leHQgb3B0aW9uczoNCg0KMS4gdmlydHEgcmVhZHkg c3RhdGUgaXMgY2hhbmdlZCBpbiB0aGUgcXVldWUuDQoyLiB2aXJ0cSByZWFkeSBzdGF0ZSBzdGF5 cyBvbiBhZnRlciBjb25maWd1cmF0aW9uIG1lc3NhZ2UgaGFuZGxlci4NCjMuIGRldmljZSBzdGF0 ZSB3aWxsIGJlIGVuYWJsZWQgd2hlbiB0aGUgZmlyc3QgcXVldWUgcGFpciBpcyByZWFkeS4NCg0K DQpNYXRhbg0KDQoNCg0KPiBNYXhpbWUNCg0K