From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ian Campbell Subject: Re: [PATCH v3 5/5] libxl: add options to enable/disable emulated devices Date: Thu, 21 Jan 2016 09:39:40 +0000 Message-ID: <1453369180.26343.181.camel@citrix.com> References: <1453291044-83976-1-git-send-email-roger.pau@citrix.com> <1453291044-83976-6-git-send-email-roger.pau@citrix.com> <1453294881.26343.112.camel@citrix.com> <569FD316.3090202@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta14.messagelabs.com ([193.109.254.103]) by lists.xen.org with esmtp (Exim 4.72) (envelope-from ) id 1aMBiW-0005xE-Lw for xen-devel@lists.xenproject.org; Thu, 21 Jan 2016 09:39:48 +0000 In-Reply-To: <569FD316.3090202@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Roger Pau =?ISO-8859-1?Q?Monn=E9?= , xen-devel@lists.xenproject.org Cc: Wei Liu , Ian Jackson List-Id: xen-devel@lists.xenproject.org T24gV2VkLCAyMDE2LTAxLTIwIGF0IDE5OjMzICswMTAwLCBSb2dlciBQYXUgTW9ubsOpIHdyb3Rl Ogo+IEVsIDIwLzAxLzE2IGEgbGVzIDE0LjAxLCBJYW4gQ2FtcGJlbGwgaGEgZXNjcml0Ogo+ID4g T24gV2VkLCAyMDE2LTAxLTIwIGF0IDEyOjU3ICswMTAwLCBSb2dlciBQYXUgTW9ubmUgd3JvdGU6 Cj4gPiA+IEFsbG93IGVuYWJsaW5nIG9yIGRpc2FibGluZyBlbXVsYXRlZCBkZXZpY2VzIGZyb20g dGhlIGxpYnhsIGRvbWFpbgo+ID4gPiBjb25maWd1cmF0aW9uIGZpbGUuIEZvciBIVk0gZ3Vlc3Rz IHdpdGggYSBkZXZpY2UgbW9kZWwgYWxsIHRoZQo+ID4gPiBlbXVsYXRlZAo+ID4gPiBkZXZpY2Vz IGFyZSBlbmFibGVkLiBGb3IgSFZNIGd1ZXN0cyB3aXRob3V0IGEgZGV2aWNlIG1vZGVsIG5vIGRl dmljZXMKPiA+ID4gYXJlCj4gPiA+IGVuYWJsZWQgYnkgZGVmYXVsdCwgYWx0aG91Z2ggdGhleSBj YW4gYmUgZW5hYmxlZCB1c2luZyB0aGUgb3B0aW9ucwo+ID4gPiBwcm92aWRlZC4KPiA+ID4gVGhl IGFyYml0ZXIgb2Ygd2hldGhlciBhIGNvbWJpbmF0aW9uIGlzIHBvc2libGUgb3Igbm90IGlzIGFs d2F5cyBYZW4sCj4gPiA+IGxpYnhsCj4gPiA+IGRvZXNuJ3QgZG8gYW55IGtpbmQgb2YgY2hlY2su Cj4gPiA+IAo+ID4gPiBUaGlzIHNldCBvZiBvcHRpb25zIGlzIGFsc28gcHJvcGFnYXRlZCBpbnNp ZGUgb2YgdGhlIGxpYnhsIG1pZ3JhdGlvbgo+ID4gPiByZWNvcmQKPiA+ID4gYXMgcGFydCBvZiB0 aGUgY29udGVudHMgb2YgdGhlIGxpYnhsX2RvbWFpbl9idWlsZF9pbmZvIHN0cnVjdC4KPiA+IAo+ ID4gLi4uIGFuZCB0aGlzIGlzIHRoZSByZWFsIG1vdGl2YXRpb24gZm9yIHRoaXMgY2hhbmdlLCBu b3QgYWN0dWFsbHkKPiA+IGFsbG93aW5nCj4gPiB1c2VycyB0byBjb250cm9sIGFsbCB0aGlzIEFJ VUkuCj4gPiAKPiA+IERpZCB5b3UgY2hlY2sgdGhhdCB0aGUgZmllbGRzIHVwZGF0ZWQgdXNpbmcg bGlieGxfZGVmYm9vbF9zZXRkZWZhdWx0Cj4gPiBhcmUKPiA+IGFjdHVhbGx5IHVwZGF0ZWQgaW4g dGhlIEpTT04gY29weSBhbmQgdGhlcmVmb3JlIHByb3BhZ2F0ZWQgdG8gdGhlIG90aGVyCj4gPiBz aWRlIG9mIGEgbWlncmF0aW9uIGFzIHNwZWNpZmljIHZhbHVlcyBhbmQgbm90IGFzICJwaWNrIGEg ZGVmYXVsdCI/IEkKPiA+IHRoaW5rCj4gPiB3ZSBkb24ndCB3YW50IHRoZXNlIGNoYW5naW5nIG9u IG1pZ3JhdGlvbi4gSSB0aGluay9ob3BlIGFsbCB0aGlzIHdhcwo+ID4gYXV0b21hdGljYWxseSBo YW5kbGVkIGJ5IHRoZSB3b3JrIFdlaSBkaWQgaW4gdGhlIGxhc3QgcmVsZWFzZSBjeWNsZS4KPiAK PiBObywgdmFsdWVzIHBvcHVsYXRlZCBieSB0aGUge2J1aWxkL2NyZWF0ZX1faW5mb19zZXRkZWZh dWx0IGZ1bmN0aW9ucyBhcmUKPiBub3QgcHJvcGFnYXRlZCwgT1RPSCB2YWx1ZXMgbWFudWFsbHkg c2V0IGJ5IHRoZSB1c2VyIGluIHRoZSBjb25maWcgZmlsZQo+IGFyZSBpbmRlZWQgcHJvcGFnYXRl ZC4gRG8gd2UgaGF2ZSBhbnkgZ3VhcmFudGVlIHRoYXQgX3NldGRlZmF1bHQgaXMKPiBhbHdheXMg Z29pbmcgdG8gYmVoYXZlIGluIHRoZSBzYW1lIHdheT8KCk5vLCBwYXJ0IG9mIHRoZSBwdXJwb3Nl IG9mIGRlZmJvb2wgYW5kIHRoZSBvdGhlciAiZG8gdGhlIGRlZmF1bHQiIHZhbHVlcyBpcwp0aGF0 IHdlIGNhbiBldm9sdmUgdGhpbmdzIG92ZXIgdGltZS4KCj4gSWYgd2UgZG9uJ3QgaGF2ZSB0aGF0 IGd1YXJhbnRlZSBJIHRoaW5rIHRoaXMgaXMgYWxyZWFkeSBhIGJ1ZywgYW5kIHdlCj4gc2hvdWxk IGNhbGwgX3NldGRlZmF1bHQgYmVmb3JlIHNlbmRpbmcgdGhlIGRvbWFpbiBpbmZvIHRvIHRoZSBv dGhlciBlbmQuCj4gSW4gZmFjdCBJIGhhdmUgYSBwYXRjaCB0aGF0IGRvZXMgZXhhY3RseSB0aGF0 LCBidXQgSSdtIHVuc3VyZSBpZiBpdCdzCj4gbmVlZGVkIGJlY2F1c2UgSSBkb24ndCBrbm93IHRo ZSBwb2xpY3kgcmVnYXJkaW5nIGRlZmF1bHQgdmFsdWVzIGluIGxpYnhsLgoKV2VpLCBpc24ndCB0 aGlzICh0dXJuaW5nIHRoZSBkZWZhdWx0cyBpbnRvIGNvbmNyZXRlIHZhbHVlcykgc3VwcG9zZWQg dG8gYmUKdGFrZW4gY2FyZSBvZiBieSB0aGUgSlNPTiBtYW5nbGluZyB3aGljaCB5b3UgYWRkZWQ/ Cgo+IAo+ID4gPiBTaWduZWQtb2ZmLWJ5OiBSb2dlciBQYXUgTW9ubsOpIDxyb2dlci5wYXVAY2l0 cml4LmNvbT4KPiA+ID4gLS0tCj4gPiA+IENjOiBJYW4gSmFja3NvbiA8aWFuLmphY2tzb25AZXUu Y2l0cml4LmNvbT4KPiA+ID4gQ2M6IElhbiBDYW1wYmVsbCA8aWFuLmNhbXBiZWxsQGNpdHJpeC5j b20+Cj4gPiA+IENjOiBXZWkgTGl1IDx3ZWkubGl1MkBjaXRyaXguY29tPgo+ID4gPiAtLS0KPiA+ ID4gwqBkb2NzL21hbi94bC5jZmcucG9kLjXCoMKgwqDCoMKgwqDCoHwgMzkKPiA+ID4gKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4gPiA+IMKgdG9vbHMvbGlieGwvbGli eGwuaMKgwqDCoMKgwqDCoMKgwqDCoHwgMTEgKysrKysrKysrKysKPiA+ID4gwqB0b29scy9saWJ4 bC9saWJ4bF9jcmVhdGUuY8KgwqB8IDIxICsrKysrKysrKysrKysrKysrKysrLQo+ID4gPiDCoHRv b2xzL2xpYnhsL2xpYnhsX3R5cGVzLmlkbCB8wqDCoDYgKysrKysrCj4gPiA+IMKgdG9vbHMvbGli eGwvbGlieGxfeDg2LmPCoMKgwqDCoMKgfCAzMyArKysrKysrKysrKysrKysrKysrKysrKysrKysr LS0tLS0KPiA+ID4gwqB0b29scy9saWJ4bC94bF9jbWRpbXBsLmPCoMKgwqDCoHzCoMKgNyArKysr KysrCj4gPiA+IMKgNiBmaWxlcyBjaGFuZ2VkLCAxMTEgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlv bnMoLSkKPiA+ID4gCj4gPiA+IGRpZmYgLS1naXQgYS9kb2NzL21hbi94bC5jZmcucG9kLjUgYi9k b2NzL21hbi94bC5jZmcucG9kLjUKPiA+ID4gaW5kZXggODg5OWY3NS4uNDZkNDUyOSAxMDA2NDQK PiA+ID4gLS0tIGEvZG9jcy9tYW4veGwuY2ZnLnBvZC41Cj4gPiA+ICsrKyBiL2RvY3MvbWFuL3hs LmNmZy5wb2QuNQo+ID4gPiBAQCAtMTc2Miw2ICsxNzYyLDQ1IEBAIFNlZSBGPGRvY3MvbWlzYy9w Y2ktZGV2aWNlLXJlc2VydmF0aW9ucy50eHQ+Cj4gPiA+IGZvcgo+ID4gPiBtb3JlIGluZm9ybWF0 aW9uLgo+ID4gPiDCoAo+ID4gPiDCoD1iYWNrCj4gPiA+IMKgCj4gPiA+ICs9aGVhZDMgSFZNIHdp dGhvdXQgYSBkZXZpY2UgbW9kZWwgb3B0aW9ucwo+ID4gPiArCj4gPiA+ICtUaGlzIG9wdGlvbnMg Y2FuIGJlIHVzZWQgdG8gY2hhbmdlIHRoZSBzZXQgb2YgZW11bGF0ZWQgZGV2aWNlcwo+ID4gPiBw cm92aWRlZAo+ID4gCj4gPiAiVGhlc2UuLi4iCj4gPiAKPiA+ID4gK3RvIGd1ZXN0cyB3aXRob3V0 IGEgZGV2aWNlIG1vZGVsLiBOb3RlIHRoYXQgWGVuIG1pZ2h0IG5vdCBzdXBwb3J0Cj4gPiA+IGFs bAo+ID4gPiArcG9zc2libGUgY29tYmluYXRpb25zLiBCeSBkZWZhdWx0IEhWTSBndWVzdHMgd2l0 aG91dCBhIGRldmljZSBtb2RlbAo+ID4gPiArZG9uJ3QgaGF2ZSBhbnkgb2YgdGhlbSBlbmFibGVk Lgo+ID4gCj4gPiAuLi4gYW5kIGZvciB0aG9zZSB3aXRoIGEgZGV2aWNlIG1vZGVsPyBUaGUgdGl0 bGUgYW5kIHRleHQgc3VnZ2VzdCB0aGVzZQo+ID4gb3B0aW9ucyBhcmUgaW52YWxpZC9pZ25vcmVk IGluIHRoYXQgY2FzZSwgYnV0IHRoZSBjb2RlIGRvZXMgYWN0dWFsbHkKPiA+IGhvbm91cgo+ID4g d2hhdCB0aGUgdXNlciBzcGVjaWZpZWQgaW4gdGhpcyBjYXNlLgo+IAo+IFJpZ2h0LCBJJ3ZlIGNs YXJpZmllZCB0aGlzIGJ5IGFkZGluZyB0aGUgZm9sbG93aW5nIHBhcmFncmFwaDoKPiAKPiAiSXQg aXMgaW1wb3J0YW50IHRvIG5vdGljZSB0aGF0IHRoZXNlIG9wdGlvbnMgKGV4Y2VwdCB0aGUgaHBl dCBvbmUpIGFyZQo+IG5vdCBhdmFpbGFibGUgdG8gSFZNIGd1ZXN0cyB3aXRoIGEgZGV2aWNlIG1v ZGVsLCBhbmQgdHJ5aW5nIHRvIHNldCB0aGVtCj4gd2lsbCBjYXVzZSB4bCB0byBleGl0IHdpdGgg YW4gZXJyb3IuIgo+IAo+IEkndmUgYWxzbyBmaXhlZCB1cCB0aGUgY29kZSBpbiBsaWJ4bF9fZG9t YWluX2J1aWxkX2luZm9fc2V0ZGVmYXVsdCB0bwo+IGFjdHVhbGx5IGVycm9yIG91dCBpZiBhIEhW TSBndWVzdCB3aXRoIGRldmljZSBtb2RlbCB0cmllcyB0byBzZXQgYW55IG9mCj4gdGhlbS4KPiAK PiA+ID4gZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX3R5cGVzLmlkbAo+ID4gPiBiL3Rv b2xzL2xpYnhsL2xpYnhsX3R5cGVzLmlkbAo+ID4gPiBpbmRleCA5MmM5NWU1Li44YTIxY2RhIDEw MDY0NAo+ID4gPiAtLS0gYS90b29scy9saWJ4bC9saWJ4bF90eXBlcy5pZGwKPiA+ID4gKysrIGIv dG9vbHMvbGlieGwvbGlieGxfdHlwZXMuaWRsCj4gPiA+IEBAIC01MTksNiArNTE5LDEyIEBAIGxp YnhsX2RvbWFpbl9idWlsZF9pbmZvID0KPiA+ID4gU3RydWN0KCJkb21haW5fYnVpbGRfaW5mbyIs Wwo+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCgic2VyaWFsX2xpc3QiLMKgwqDCoMKgwqDC oGxpYnhsX3N0Cj4gPiA+IHJpbmdfbGlzdCksCj4gPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg KCJyZG0iLCBsaWJ4bF9yZG1fcmVzZXJ2ZSksCj4gPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg KCJyZG1fbWVtX2JvdW5kYXJ5X21lbWtiIiwKPiA+ID4gTWVtS0IpLAo+ID4gPiArwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgKCJsYXBpYyIswqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgbGlieGxfZGUKPiA+ ID4gZmJvb2wpLAo+ID4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgKCJpb2FwaWMiLMKgwqDCoMKg wqDCoMKgwqDCoMKgwqBsaWJ4bF9kZQo+ID4gPiBmYm9vbCksCj4gPiA+ICvCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAoInJ0YyIswqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGxpYnhsX2RlCj4gPiA+ IGZib29sKSwKPiA+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCgicG93ZXJfbWFuYWdlbWVudCIs Cj4gPiA+IGxpYnhsX2RlZmJvb2wpLAo+ID4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgKCJwaWMi LMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBsaWJ4bF9kZQo+ID4gPiBmYm9vbCksCj4gPiA+ ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAoInBpdCIswqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oGxpYnhsX2RlCj4gPiA+IGZib29sKSwKPiA+IAo+ID4gSSB3b25kZXIgaWYgdGhlc2Ugc2hvdWxk IGdvIGluIGEgc3ViLXN0cnVjdC4gQWx0aG91Z2ggeW91IG1pZ2h0Cj4gPiByZWFzb25hYmx5Cj4g PiBhcmd1ZSB0aGF0IHRoaXMgaXMgYWxyZWFkeSBzdWNoIGEgZHVtcGluZyBncm91bmQgaXQgZG9l c24ndCBtYXR0ZXIuLi4KPiAKPiBSaWdodCwgVEJIIEkgc2F3IHRoYXQgQVJNIGFkZGVkIGFuIGFy Y2hfYXJtIHN1Yi1zdHJ1Y3QsIHdoaWNoIHNvdW5kcwo+IGZpbmUgYW5kIHNob3VsZCBoYXZlIGJl ZW4gZG9uZSBlYXJsaWVyLiBOb3cgdGhlIGh2bSBzdWItc3RydWN0IGlzCj4gYWxyZWFkeSBzbyB4 ODYgc3BlY2lmaWMgdGhhdCwgYXMgeW91IHNhaWQsIEkgZG9uJ3QgdGhpbmsgaXQgbWF0dGVycyBt dWNoLgoKSSBtZWFudCBhIHN1YnN0cnVjdCBvZiBodm0gKGkuZS4gdmhtLmVtdWxfb3B0cyksIGJ1 dCB5b3VyIHBvaW50IGlzIGFsc28KdmFsaWQuCgo+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oF0pKSwKPiA+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgKCJwdiIsIFN0 cnVjdChOb25lLCBbKCJrZXJuZWwiLCBzdHJpbmcpLAo+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAoInNsYWNrX21lbWtiIiwgTWVtS0IpLAo+ID4gPiBkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwv bGlieGxfeDg2LmMgYi90b29scy9saWJ4bC9saWJ4bF94ODYuYwo+ID4gPiBpbmRleCA0NmNmYWZi Li45MmYyNWZkIDEwMDY0NAo+ID4gPiAtLS0gYS90b29scy9saWJ4bC9saWJ4bF94ODYuYwo+ID4g PiArKysgYi90b29scy9saWJ4bC9saWJ4bF94ODYuYwo+ID4gPiBAQCAtNywxNSArNywzOCBAQCBp bnQgbGlieGxfX2FyY2hfZG9tYWluX3ByZXBhcmVfY29uZmlnKGxpYnhsX19nYyAqZ2MsCj4gPiA+ IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoGxpYnhsX2RvbWFpbl9jb25maWcgKmRfY29uZmlnLAo+ID4g PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB4Y19kb21haW5fY29uZmlndXJhdGlvbl90Cj4gPiA+ICp4 Y19jb25maWcpCj4gPiA+IMKgewo+ID4gPiArwqDCoMKgwqBzdHJ1Y3QgbGlieGxfZG9tYWluX2J1 aWxkX2luZm8gKmluZm8gPSAmZF9jb25maWctPmJfaW5mbzsKPiA+ID4gwqAKPiA+ID4gLcKgwqDC oMKgaWYgKGRfY29uZmlnLT5jX2luZm8udHlwZSA9PSBMSUJYTF9ET01BSU5fVFlQRV9IVk0gJiYK PiA+ID4gLcKgwqDCoMKgwqDCoMKgwqBkX2NvbmZpZy0+Yl9pbmZvLmRldmljZV9tb2RlbF92ZXJz aW9uICE9Cj4gPiA+IC3CoMKgwqDCoMKgwqDCoMKgTElCWExfREVWSUNFX01PREVMX1ZFUlNJT05f Tk9ORSkgewo+ID4gPiAtwqDCoMKgwqDCoMKgwqDCoC8qIEhWTSBkb21haW5zIHdpdGggYSBkZXZp Y2UgbW9kZWwuICovCj4gPiAKPiA+IFNvLCBJJ20gbm90IDEwMCUgY2xlYXIgb24gd2h5IHRoaXMg Y2hlY2sgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGxvZ2ljIHRvIHNldAo+ID4geGNfY29uZmlnLT5l bXVsYXRpb25fZmxhZ3MgaXMgbm90IGFsc28gc3VmZmljaWVudCBmb3IgYWZ0ZXIgbWlncmF0aW9u Lgo+ID4gQ291bGQgeW91IGV4cGxhaW4gKGFuZCBsaWtlbHkgZXZlbnR1YWxseSBhZGQgdGhlIHJh dGlvbmFsZSB0byB0aGUgY29tbWl0Cj4gPiBtZXNzYWdlKS4KPiAKPiBBcyBJIHVuZGVyc3RhbmQg dGhpcywgd2Ugd2FudCB0byBhdm9pZCBoYXZpbmcgdHdvIGRpZmZlcmVudCBwbGFjZXMgd2hlcmUK PiB0aGUgcG9saWN5IChpZTogdGhlIHNldCBvZiBlbmFibGVkIGRldmljZXMpIGlzIGVuZm9yY2Vk LgoKQnV0IGl0IG11c3QgX2Fsd2F5c18gYmUgZW5mb3JjZWQgYnkgWGVuIGFzIHRoZSBsYXN0IHJl c29ydC4KCj4gV2l0aCB0aGUgY3VycmVudCBjb2RlLCBsaWJ4bCBiYXNpY2FsbHkgbGltaXRzIHRo ZSBzZXQgb2YgYWxsb3dlZCBtYXNrcwo+IHRvIHdoYXQgaXQga25vd3MuIEFmdGVyIHRoZSBjaGFu Z2UgbGlieGwganVzdCBiZWNvbWVzIGEgcHJveHkgZm9yCj4gdHJhbnNtaXR0aW5nIHdoYXQgdGhl IHVzZXIgaGFzIHNlbGVjdGVkIHRvIFhlbiwgYW5kIFhlbiBlaXRoZXIgYWNjZXB0cwo+IG9yIHJl ZnVzZXMgaXQsIGJhc2ljYWxseSBtYWtpbmcgWGVuIHRoZSBvbmx5IGFyYml0ZXIgdGhhdCBkZWNp ZGVzIHdoaWNoCj4gZW11bGF0ZWQgZGV2aWNlcyBnZXQgZW5hYmxlZCBvciBub3QuIFRoaXMgbWVh bnMgdGhhdCBpZiB3ZSB3YW50IHRvIG1ha2UKPiBtb3JlIGVtdWxhdGVkIGRldmljZXMgYXZhaWxh YmxlIHRvIHRoZSBndWVzdCBpbiB0aGUgZnV0dXJlIG5vIGxpYnhsCj4gY2hhbmdlcyB3aWxsIGJl IHJlcXVpcmVkLgoKV2Ugd291bGQgbmVlZCB0byBhZGQgYSBuZXcgZGVmYm9vbCBmb3IgdGhlIG5l dyBmZWF0dXJlLgoKPiBJdCBhbHNvIG1lYW5zIHRoYXQgSFZNbGl0ZSBndWVzdHMgY3JlYXRlZCB3 aXRoIGN1cnJlbnQgWGVuIHdpbGwgYmUKPiBjYXBhYmxlIG9mIG1pZ3JhdGluZyB0byBuZXdlciB2 ZXJzaW9uIG9mIFhlbiwgdGhhdCBtaWdodCBoYXZlIGEKPiBkaWZmZXJlbnQgZGVmYXVsdCBwb2xp Y3kuIEZvciBleGFtcGxlIGluIHRoZSBmdXR1cmUgd2UgbWlnaHQgd2FudCB0bwo+IGVuYWJsZSB0 aGUgbGFwaWMgYnkgZGVmYXVsdCwgc28gaWYgYSBndWVzdCBpcyBjcmVhdGVkIHdpdGggdGhlIGN1 cnJlbnQKPiBYZW4gdmVyc2lvbiBpdCBkb2Vzbid0IGdldCBhIGxhcGljIGF0IGFsbCwgYW5kIHRo ZW4gd2hlbiBtaWdyYXRlZCB0bwo+IG5ld2VyIHZlcnNpb25zIGEgbGFwaWMgd291bGQgbWFnaWNh bGx5IGFwcGVhciBhZnRlciB0aGUgbWlncmF0aW9uLCB3aGljaAo+IGlzIG5vdCBkZXNpcmVkLgoK Li4uIGFuZCB0aGUgcmVhc29uIHRoZXNlIGRldGFpbHMgY2FuJ3QgYmUgcHJvcGFnYXRlZCB2aWEg dGhlIFhlbiBibG9iIGlzCnRoYXQgdGhpcyBlbXVsIHN0dWZmIG5lZWRzIHRvIGJlIHNldCBleGFj dGx5IG9uY2UgYXQgZG9tYWluIGNyZWF0ZSB0aW1lIEkKc3VwcG9zZT8gQ2hhbmdpbmcgaXQgdG8g YmUgbGF0ZXIgYmluZGluZyBpcyBjb25zaWRlcmVkIHRvIGJlIHRvbyBoYXJkL3RvbwpiaWcgYSB5 YWs/CgpFdmVuIHdpdGggdGhlIHNldCBvZiBkZXZpY2VzIHNldCBhdCBkb21haW4gY3JlYXRpb24g dGltZSBYZW4gbmVlZHMgdG8gdGFrZQpjYXJlIHdoZW4gcmVhZGluZyBpdHMgYmxvYiwgYW5kIG5v dCBmYWxsIGFwYXJ0IChmcm9tIGEgc2VjdXJpdHkgUG9WLCBpdCdzCmFsbG93ZWQgdG8gZmFpbCB0 aGUgc3RhdGUgbG9hZCkgd2hlbiBwcmVzZW50ZWQgd2l0aCBhIHNhdmUgcmVjb3JkIHJlbGF0aW5n CnRvIHNvbWV0aGluZyB3aGljaCBpcyBzdXBwb3NlZGx5IGRpc2FibGVkLiBIYXMgdGhpcyBiZWVu IGNoZWNrZWQ/CgpJYW4uCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0 dHA6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=