From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= Subject: Re: HVMlite ABI specification DRAFT B + implementation outline Date: Tue, 9 Feb 2016 12:58:13 +0100 Message-ID: <56B9D455.90909@citrix.com> References: <56B8E66C.6060605@citrix.com> <56B9C5FA.7010208@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta3.messagelabs.com ([195.245.230.39]) by lists.xen.org with esmtp (Exim 4.72) (envelope-from ) id 1aT6wP-0001db-Qn for xen-devel@lists.xenproject.org; Tue, 09 Feb 2016 11:58:46 +0000 In-Reply-To: <56B9C5FA.7010208@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: Andrew Cooper , xen-devel Cc: Wei Liu , Stefano Stabellini , Tim Deegan , Paul Durrant , David Vrabel , Jan Beulich , Samuel Thibault , Boris Ostrovsky List-Id: xen-devel@lists.xenproject.org RWwgOS8yLzE2IGEgbGVzIDExOjU2LCBBbmRyZXcgQ29vcGVyIGhhIGVzY3JpdDoKPiBPbiAwOC8w Mi8xNiAxOTowMywgUm9nZXIgUGF1IE1vbm7DqSB3cm90ZToKPj4gVGhlIGZvcm1hdCBvZiB0aGUg Ym9vdCBzdGFydCBpbmZvIHN0cnVjdHVyZSBpcyB0aGUgZm9sbG93aW5nIChwb2ludGVkIHRvCj4+ IGJlICVlYngpOgo+Pgo+PiBOT1RFOiBub3RoaW5nIHdpbGwgYmUgbG9hZGVkIGF0IHBoeXNpY2Fs IGFkZHJlc3MgMCwgc28gYSAwIHZhbHVlIGluIGFueSBvZiB0aGUKPj4gYWRkcmVzcyBmaWVsZHMg c2hvdWxkIGJlIHRyZWF0ZWQgYXMgbm90IHByZXNlbnQuCj4+Cj4+ICAwICstLS0tLS0tLS0tLS0t LS0tKwo+PiAgICB8IG1hZ2ljICAgICAgICAgIHwgQ29udGFpbnMgdGhlIG1hZ2ljIHZhbHVlIDB4 MzM2ZWM1NzgKPj4gICAgfCAgICAgICAgICAgICAgICB8ICgieEVuMyIgd2l0aCB0aGUgMHg4MCBi aXQgb2YgdGhlICJFIiBzZXQpLgo+PiAgNCArLS0tLS0tLS0tLS0tLS0tLSsKPj4gICAgfCBmbGFn cyAgICAgICAgICB8IFNJRl94eHggZmxhZ3MuCj4+ICA4ICstLS0tLS0tLS0tLS0tLS0tKwo+PiAg ICB8IGNtZGxpbmVfcGFkZHIgIHwgUGh5c2ljYWwgYWRkcmVzcyBvZiB0aGUgY29tbWFuZCBsaW5l LAo+PiAgICB8ICAgICAgICAgICAgICAgIHwgYSB6ZXJvLXRlcm1pbmF0ZWQgQVNDSUkgc3RyaW5n Lgo+PiAxMiArLS0tLS0tLS0tLS0tLS0tLSsKPj4gICAgfCBucl9tb2R1bGVzICAgICB8IE51bWJl ciBvZiBtb2R1bGVzIHBhc3NlZCB0byB0aGUga2VybmVsLgo+PiAxNiArLS0tLS0tLS0tLS0tLS0t LSsKPj4gICAgfCBtb2RsaXN0X3BhZGRyICB8IFBoeXNpY2FsIGFkZHJlc3Mgb2YgYW4gYXJyYXkg b2YgbW9kdWxlcwo+PiAgICB8ICAgICAgICAgICAgICAgIHwgKGxheW91dCBvZiB0aGUgc3RydWN0 dXJlIGJlbG93KS4KPj4gMjAgKy0tLS0tLS0tLS0tLS0tLS0rCj4+Cj4+IFRoZSBsYXlvdXQgb2Yg ZWFjaCBlbnRyeSBpbiB0aGUgbW9kdWxlIHN0cnVjdHVyZSBpcyB0aGUgZm9sbG93aW5nOgo+Pgo+ PiAgMCArLS0tLS0tLS0tLS0tLS0tLSsKPj4gICAgfCBwYWRkciAgICAgICAgICB8IFBoeXNpY2Fs IGFkZHJlc3Mgb2YgdGhlIG1vZHVsZS4KPj4gIDQgKy0tLS0tLS0tLS0tLS0tLS0rCj4+ICAgIHwg c2l6ZSAgICAgICAgICAgfCBTaXplIG9mIHRoZSBtb2R1bGUgaW4gYnl0ZXMuCj4+ICA4ICstLS0t LS0tLS0tLS0tLS0tKwo+PiAgICB8IGNtZGxpbmVfcGFkZHIgIHwgUGh5c2ljYWwgYWRkcmVzcyBv ZiB0aGUgY29tbWFuZCBsaW5lLAo+PiAgICB8ICAgICAgICAgICAgICAgIHwgYSB6ZXJvLXRlcm1p bmF0ZWQgQVNDSUkgc3RyaW5nLgo+PiAxMiArLS0tLS0tLS0tLS0tLS0tLSsKPj4gICAgfCByZXNl cnZlZCAgICAgICB8Cj4+IDE2ICstLS0tLS0tLS0tLS0tLS0tKwo+Pgo+PiBPdGhlciByZWxldmFu dCBpbmZvcm1hdGlvbiBuZWVkZWQgaW4gb3JkZXIgdG8gYm9vdCBhIGd1ZXN0IGtlcm5lbAo+PiAo Y29uc29sZSBwYWdlIGFkZHJlc3MsIHhlbnN0b3JlIGV2ZW50IGNoYW5uZWwuLi4pIGNhbiBiZSBv YnRhaW5lZAo+PiB1c2luZyBIVk1QQVJBTVMsIGp1c3QgbGlrZSBpdCdzIGRvbmUgb24gSFZNIGd1 ZXN0cy4KPj4KPj4gVGhlIHNldHVwIG9mIHRoZSBoeXBlcmNhbGwgcGFnZSBpcyBhbHNvIHBlcmZv cm1lZCBpbiB0aGUgc2FtZSB3YXkKPj4gYXMgSFZNIGd1ZXN0cywgdXNpbmcgdGhlIGh5cGVydmlz b3IgY3B1aWQgbGVhdmVzIGFuZCBtc3IgcmFuZ2VzLgo+Pgo+PiBIYXJkd2FyZSBkZXNjcmlwdGlv bgo+PiAtLS0tLS0tLS0tLS0tLS0tLS0tLQo+Pgo+PiBIYXJkd2FyZSBkZXNjcmlwdGlvbiBjYW4g Y29tZSBmcm9tIHR3byBkaWZmZXJlbnQgc291cmNlcywganVzdCBsaWtlIG9uIChQVilIVk0KPj4g Z3Vlc3RzLgo+Pgo+PiBEZXNjcmlwdGlvbiBvZiBQViBkZXZpY2VzIHdpbGwgYWx3YXlzIGNvbWUg ZnJvbSB4ZW5idXMsIGFuZCBpbiBmYWN0Cj4+IHhlbmJ1cyBpcyB0aGUgb25seSBoYXJkd2FyZSBk ZXNjcmlwdGlvbiB0aGF0IGlzIGd1YXJhbnRlZWQgdG8gYWx3YXlzIGJlCj4+IHByb3ZpZGVkIHRv IEhWTWxpdGUgZ3Vlc3RzLgo+Pgo+PiBEZXNjcmlwdGlvbiBvZiBwaHlzaWNhbCBoYXJkd2FyZSBk ZXZpY2VzIHdpbGwgYWx3YXlzIGNvbWUgZnJvbSBBQ1BJLCBpbiB0aGUKPj4gYWJzZW5jZSBvZiBh bnkgcGh5c2ljYWwgaGFyZHdhcmUgZGV2aWNlIG5vIEFDUEkgdGFibGVzIHdpbGwgYmUgcHJvdmlk ZWQuIFRoZQo+PiBwcmVzZW5jZSBvZiBBQ1BJIHRhYmxlcyBjYW4gYmUgZGV0ZWN0ZWQgYnkgZmlu ZGluZyB0aGUgUlNEUCwganVzdCBsaWtlIG9uCj4+IGJhcmUgbWV0YWwuCj4gCj4gQXMgd2UgYXJl IGV4dGVuZGluZyB0aGUgYmFzZSBzdHJ1Y3R1cmUsIHdoeSBub3QgaGF2ZSBhbiBSU0RQIHBhZGRy IGluIGl0Cj4gYXMgd2VsbD8gIFRoaXMgYXZvaWRzIHRoZSBuZWVkIHRvIHNjYW4gUkFNLCBhbmQg YWxzbyBzZXJ2ZXMgYXMgYW4KPiBpbmRpY2F0aW9uIG9mICJObyBBQ1BJIi4KClJpZ2h0LCB0aGlz IHNlZW1zIGZpbmUgdG8gbWUuIEkgY2FuIHNlbmQgYSBwYXRjaCBsYXRlciB0byBleHBhbmQgdGhl CnN0cnVjdHVyZSB1bmxlc3MgYW55b25lIGVsc2UgY29tcGxhaW5zLgoKPiAKPj4KPj4gTm9uLVBW IGRldmljZXMgZXhwb3NlZCB0byB0aGUgZ3Vlc3QKPj4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0KPj4KPj4gVGhlIGluaXRpYWwgaWRlYSB3YXMgdG8gc2ltcGx5IGRvbid0IHBy b3ZpZGUgYW55IGVtdWxhdGVkIGRldmljZXMgdG8gYSBIVk1saXRlCj4+IGd1ZXN0IGFzIHRoZSBk ZWZhdWx0IG9wdGlvbi4gV2UgaGF2ZSBob3dldmVyIGlkZW50aWZpZWQgY2VydGFpbiBzaXR1YXRp b25zCj4+IHdoZXJlIGVtdWxhdGVkIGRldmljZXMgY291bGQgYmUgaW50ZXJlc3RpbmcsIGJvdGgg ZnJvbSBhIHBlcmZvcm1hbmNlIGFuZAo+PiBlYXNlIG9mIGltcGxlbWVudGF0aW9uIHBvaW50IG9m IHZpZXcuIFRoZSBmb2xsb3dpbmcgbGlzdCB0cmllcyB0byBlbmNvbXBhc3MKPj4gdGhlIGRpZmZl cmVudCBpZGVudGlmaWVkIHNjZW5hcmlvczoKPj4KPj4gICogMS4gSFZNbGl0ZSB3aXRoIG5vIGVt dWxhdGVkIGRldmljZXMgYXQgYWxsCj4+ICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQo+PiAgICBUaGlzIGlzIHRoZSBjdXJyZW50IGltcGxlbWVudGF0aW9uIGlu c2lkZSBvZiBYZW4sIGV2ZXJ5dGhpbmcgaXMgZGlzYWJsZWQKPj4gICAgYnkgZGVmYXVsdCBhbmQg dGhlIGd1ZXN0IGhhcyBhY2Nlc3MgdG8gdGhlIFBWIGRldmljZXMgb25seS4gVGhpcyBpcyBvZgo+ PiAgICBjb3Vyc2UgdGhlIG1vc3Qgc2VjdXJlIGRlc2lnbiBiZWNhdXNlIGl0IGhhcyB0aGUgc21h bGxlciBzdXJmYWNlIG9mIGF0dGFjay4KPj4KPj4gICogMi4gSFZNbGl0ZSB3aXRoIChvciBjYXBh YmxlIHRvKSBQQ0ktcGFzc3Rocm91Z2gKPj4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0KPj4gICAgVGhlIGN1cnJlbnQgbW9kZWwgb2YgUENJLXBhc3N0 aHJvdWdodCBpbiBQViBndWVzdHMgaXMgY29tcGxleCBhbmQgcmVxdWlyZXMKPj4gICAgaGVhdnkg bW9kaWZpY2F0aW9ucyB0byB0aGUgZ3Vlc3QgT1MuIEdvaW5nIGZvcndhcmQgd2Ugd291bGQgbGlr ZSB0byByZW1vdmUKPj4gICAgdGhpcyBsaW1pdGF0aW9uLCBieSBwcm92aWRpbmcgYW4gaW50ZXJm YWNlIHRoYXQncyB0aGUgc2FtZSBhcyBmb3VuZCBvbiBiYXJlCj4+ICAgIG1ldGFsLiBJbiBvcmRl ciB0byBkbyB0aGlzLCBhdCBsZWFzdCBhbiBlbXVsYXRlZCBsb2NhbCBBUElDIHNob3VsZCBiZQo+ PiAgICBwcm92aWRlZCB0byBndWVzdHMsIHRvZ2V0aGVyIHdpdGggdGhlIGFjY2VzcyB0byBhIFBD SS1Sb290IGNvbXBsZXguCj4+ICAgIEFzIHNhaWQgaW4gdGhlICdIYXJkd2FyZSBkZXNjcmlwdGlv bicgc2VjdGlvbiBhYm92ZSwgdGhpcyB3aWxsIGFsc28gcmVxdWlyZQo+PiAgICBBQ1BJLiBTbyB0 aGlzIHByb3Bvc2VkIHNjZW5hcmlvIHdpbGwgcmVxdWlyZSB0aGUgZm9sbG93aW5nIGVsZW1lbnRz IHRoYXQgYXJlCj4+ICAgIG5vdCBwcmVzZW50IGluIHRoZSBtaW5pbWFsIChvciBkZWZhdWx0KSBI Vk1saXRlIGltcGxlbWVudGF0aW9uOiBBQ1BJLCBsb2NhbAo+PiAgICBBUElDLCBJTyBBUElDIChv cHRpb25hbCkgYW5kIFBDSS1Sb290IGNvbXBsZXguCj4+Cj4+ICAqIDMuIEhWTWxpdGUgaGFyZHdh cmUgZG9tYWluCj4+ICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4+ICAgIFRoZSBhaW0g aXMgdGhhdCBhIEhWTWxpdGUgaGFyZHdhcmUgZG9tYWluIGlzIGdvaW5nIHRvIHdvcmsgZXhhY3Rs eSBsaWtlIGEKPj4gICAgSFZNbGl0ZSBkb21haW4gd2l0aCBwYXNzZWQtdGhyb3VnaCBkZXZpY2Vz LiBUaGlzIG1lYW5zIHRoYXQgdGhlIGRvbWFpbiB3aWxsCj4+ICAgIG5lZWQgYWNjZXNzIHRvIHRo ZSBzYW1lIHNldCBvZiBlbXVsYXRlZCBkZXZpY2VzLCBhbmQgdGhhdCBzb21lIEFDUEkgdGFibGVz Cj4+ICAgIG11c3QgYmUgZml4ZWQgaW4gb3JkZXIgdG8gcmVmbGVjdCB0aGUgcmVhbGl0eSBvZiB0 aGUgY29udGFpbmVyIHRoZSBoYXJkd2FyZQo+PiAgICBkb21haW4gaXMgcnVubmluZyBvbi4gVGhl IEFDUEkgc2VjdGlvbiBjb250YWlucyBtb3JlIGRldGFpbGVkIGluZm9ybWF0aW9uCj4+ICAgIGFi b3V0IHdoaWNoL2hvdyB0aGVzZSB0YWJsZXMgYXJlIGdvaW5nIHRvIGJlIGZpeGVkLgo+Pgo+PiAg ICBOb3RlIHRoYXQgaW4gdGhpcyBzY2VuYXJpbyB0aGUgaGFyZHdhcmUgZG9tYWluIHdpbGwgKmFs d2F5cyogaGF2ZSBhIGxvY2FsCj4+ICAgIEFQSUMgYW5kIElPIEFQSUMsIGFuZCB0aGF0IHRoZSB1 c2FnZSBvZiBQSFlTREVWIG9wZXJhdGlvbnMgYW5kIFBJUlEgZXZlbnQKPj4gICAgY2hhbm5lbHMg aXMgZ29pbmcgdG8gYmUgcmVtb3ZlZCBpbiBmYXZvdXIgb2YgdGhlIGJhcmUgbWV0YWwgbWVjaGFu aXNtcy4KPj4KPj4gVGhlIGRlZmF1bHQgbW9kZWwgZm9yIEhWTWxpdGUgZ3Vlc3RzIGlzIGdvaW5n IHRvIGJlIHRvIHByb3ZpZGUgYSBsb2NhbCBBUElDCj4+IHRvZ2V0aGVyIHdpdGggYSBtaW5pbWFs IHNldCBvZiBBQ1BJIHRhYmxlcyB0aGF0IGFjY3VyYXRlbHkgbWF0Y2ggdGhlIHJlYWxpdHkgb2YK Pj4gdGhlIGNvbnRhaW5lciBpcyBndWVzdCBpcyBydW5uaW5nIG9uLgo+IAo+IFRoaXMgc3RhdGVt ZW50IGlzIGNvbnRyYXJ5IHRvIG9wdGlvbiAxIGFib3ZlLCB3aGljaCBzdGF0ZXMgdGhhdCBhbGwK PiBlbXVsYXRpb24gaXMgZGlzYWJsZWQuCj4gCj4gRldJVywgSSB0aGluayB0aGVyZSBuZWVkcyB0 byBiZSBhIDR0aCBvcHRpb24sIGluYmV0d2VlbiBjdXJyZW50IDEgYW5kIDIsCj4gd2hpY2ggaXMg SFZNTGl0ZSArIExBUElDLiAgVGhpcyBpcyB0aGVuIHRoZSBkZWZhdWx0IEhWTUxpdGUgQUJJLCBh bmQgaXMKPiBub3QgcGFzc3Rocm91Z2gtY2FwYWJsZS4KClJpZ2h0LCBJIHRoaW5rIHRoaXMgbWFr ZXMgc2Vuc2UgYmVjYXVzZSAoMikgaXMgbm90IGV4YWN0bHkgdGhlIHNhbWUgYXMKaXQgcmVxdWly ZXMgdGhlIHByZXNlbmNlIG9mIGEgUENJIHJvb3QgY29tcGxleC4KCj4+ICBBbiBhZG1pbmlzdHJh dG9yIHNob3VsZCBiZSBhYmxlIHRvIGNoYW5nZQo+PiB0aGUgZGVmYXVsdCBzZXR0aW5nIHVzaW5n IHRoZSBmb2xsb3dpbmcgdHVuYWJsZXMgdGhhdCBhcmUgcGFydCBvZiB0aGUgeGwKPj4gdG9vbHN0 YWNrOgo+Pgo+PiAgKiBsYXBpYzogZGVmYXVsdCB0byB0cnVlLiBJbmRpY2F0ZXMgd2hldGhlciBh IGxvY2FsIEFQSUMgaXMgcHJvdmlkZWQuCj4+ICAqIGlvYXBpYzogZGVmYXVsdCB0byBmYWxzZS4g SW5kaWNhdGVzIHdoZXRoZXIgYW4gSU8gQVBJQyBpcyBwcm92aWRlZAo+PiAgICAocmVxdWlyZXMg bGFwaWMgc2V0IHRvIHRydWUpLgo+PiAgKiBhY3BpOiBkZWZhdWx0IHRvIHRydWUuIEluZGljYXRl cyB3aGV0aGVyIEFDUEkgdGFibGVzIGFyZSBwcm92aWRlZC4KPj4KPj4gPHNuaXA+Cj4+Cj4+IE1N SU8gbWFwcGluZwo+PiAtLS0tLS0tLS0tLS0KPj4KPj4gRm9yIERvbVVzIHdpdGhvdXQgYW55IGRl dmljZSBwYXNzZWQtdGhyb3VnaCBubyBkaXJlY3QgTU1JTyBtYXBwaW5ncyB3aWxsIGJlCj4+IHBy ZXNlbnQgaW4gdGhlIHBoeXNpY2FsIG1lbW9yeSBtYXAgcHJlc2VudGVkIHRvIHRoZSBndWVzdC4g Rm9yIERvbVVzIHdpdGgKPj4gZGV2aWNlcyBwYXNzZWQtdGhvdWdoIHRoZSB0b29sc3RhY2sgd2ls bCBjcmVhdGUgZGlyZWN0IE1NSU8gbWFwcGluZ3MgYXMKPj4gcGFydCBvZiB0aGUgZG9tYWluIGJ1 aWxkIHByb2Nlc3MsIGFuZCB0aHVzIG5vIGFjdGlvbiB3aWxsIGJlIHJlcXVpcmVkCj4+IGZyb20g dGhlIERvbVUuCj4+Cj4+IEZvciB0aGUgaGFyZHdhcmUgZG9tYWluIGluaXRpYWwgZGlyZWN0IE1N SU8gbWFwcGluZ3Mgd2lsbCBiZSBzZXQgZm9yIHRoZQo+PiBmb2xsb3dpbmcgcmVnaW9uczoKPj4K Pj4gTk9URTogcmFuZ2VzIGFyZSBkZWZpbmVkIHVzaW5nIG1lbW9yeSBhZGRyZXNzZXMsIG5vdCBw YWdlcy4KPiAKPiBJIHdvdWxkIHByZWZhY2UgdGhpcyB3aXRoICJ3aGVyZSBhcHBsaWNhYmxlIi4g IE5vbi1sZWdhY3kgYm9vdHMgYXJlCj4gdW5saWtlbHkgdG8gaGF2ZSBhbnl0aGluZyBpbnRlcmVz dGluZyBpbiB0aGUgZmlyc3QgMU1CLgoKWWVzLCBJJ3ZlIG9ubHkgdGFrZW4gbGVnYWN5IChCSU9T KSBib290IGludG8gYWNjb3VudCBoZXJlLiBJJ20gbm90CmZhbWlsaWFyIHdpdGggVUVGSSwgc28g SSdtIG5vdCByZWFsbHkgc3VyZSBob3cgZGlmZmVyZW50IGl0IGlzLCBvciB3aGljaAptZW1vcnkg cmVnaW9ucyBzaG91bGQgYmUgbWFwcGVkIGludG8gdGhlIGd1ZXN0IHBoeXNtYXAgaW4gdGhhdCBj YXNlLiBJCnNob3VsZCBoYXZlIG1hZGUgdGhpcyBleHBsaWNpdCBieSBhZGRpbmcgYSB0aXRsZSwg bGlrZToKCkxlZ2FjeSBCSU9TIGJvb3QKLS0tLS0tLS0tLS0tLS0tLQoKPiAKPj4KPj4gICogWzB4 MCwgMHhGRkZGRl06IHRoZSBsb3cgMU1pQiB3aWxsIGJlIG1hcHBlZCBpbnRvIHRoZSBwaHlzaWNh bCBndWVzdAo+PiAgICBtZW1vcnkgbWFwIGF0IHRoZSBzYW1lIHBvc2l0aW9uLgo+Pgo+PiAgKiBb MHhGMDAwMDAsIDB4RkZGRkZGXTogdGhlIElTQSBtZW1vcnkgaG9sZSB3aWxsIGJlIG1hcHBlZCAx OjEgaW50byB0aGUKPj4gICAgZ3Vlc3QgcGh5c2ljYWwgbWVtb3J5Lgo+Pgo+PiAgKiBBQ1BJIG1l bW9yeSBhcmVhczogcmVnaW9ucyB3aXRoIHR5cGUgRTgyMF9BQ1BJIG9yIEU4MjBfTlZTIHdpbGwg YmUgbWFwcGVkCj4+ICAgIDE6MSB0byB0aGUgZ3Vlc3QgcGh5c2ljYWwgbWVtb3J5IG1hcC4gVGhl cmUgYXJlIGdvaW5nIHRvIGJlIGV4Y2VwdGlvbnMgaWYKPj4gICAgWGVuIGhhcyB0byBtb2RpZnkg dGhlIHRhYmxlcyBiZWZvcmUgcHJlc2VudGluZyB0aGVtIHRvIHRoZSBndWVzdC4KPj4KPj4gICog UENJIEV4cHJlc3MgTU1DRkc6IGlmIFhlbiBpcyBhYmxlIHRvIGlkZW50aWZ5IGFueSBvZiB0aGVz ZSByZWdpb25zIGF0IGJvb3QKPj4gICAgdGltZSB0aGV5IHdpbGwgYWxzbyBiZSBtYWRlIGF2YWls YWJsZSB0byB0aGUgZ3Vlc3QgYXQgdGhlIHNhbWUgcG9zaXRpb24KPj4gICAgaW4gaXQncyBwaHlz aWNhbCBtZW1vcnkgbWFwLiBJdCBpcyBwb3NzaWJsZSB0aGF0IFhlbiB3aWxsIHRyYXAgYWNjZXNz ZXMgdG8KPj4gICAgdGhvc2UgcmVnaW9ucywgYnV0IGEgZ3Vlc3Qgc2hvdWxkIGJlIGFibGUgdG8g dXNlIHRoZSBuYXRpdmUgY29uZmlndXJhdGlvbgo+PiAgICBtZWNoYW5pc20gaW4gb3JkZXIgdG8g aW50ZXJhY3Qgd2l0aCB0aGlzIGNvbmZpZ3VyYXRpb24gc3BhY2UuIElmIHRoZQo+PiAgICBoYXJk d2FyZSBkb21haW4gcmVwb3J0cyB0aGUgcHJlc2VuY2Ugb2YgYW55IG9mIHRob3NlIHJlZ2lvbnMg dXNpbmcgdGhlCj4+ICAgIFBIWVNERVZPUF9wY2lfbW1jZmdfcmVzZXJ2ZWQgaHlwZXJjYWxsIFhl biB3aWxsIGFsc28gYWxsIGd1ZXN0IGFjY2VzcyB0bwo+PiAgICB0aGVtLgo+Pgo+PiAgKiBQQ0kg QkFSczogaXQncyBub3QgcG9zc2libGUgZm9yIFhlbiB0byBrbm93IHRoZSBwb3NpdGlvbiBvZiB0 aGUgQkFScyBvZgo+PiAgICB0aGUgUENJIGRldmljZXMgd2l0aG91dCBoYXJkd2FyZSBkb21haW4g aW50ZXJhY3Rpb24uCj4gCj4gWGVuIHJlcXVpcmVzIG5vIGRvbTAgaW50ZXJhY3Rpb24gdG8gZmlu ZCBhbGwgaW5mb3JtYXRpb24gbGlrZSB0aGlzIGZvcgo+IGRldmljZXMgaW4gc2VnbWVudCAwIChp LmUuIGFsbCBjdXJyZW50IGhhcmR3YXJlKS4gIFNlZ21lbnRzIG90aGVyIHRoYW4gMAo+IG1heSBo YXZlIHRoZWlyIE1NQ09ORiByZWdpb25zIGV4cHJlc3NlZCBpbiBBTUwgb25seS4KClRoYW5rcyBm b3IgdGhlIGNvbW1lbnRzLCBwbGVhc2UgYmVhciB3aXRoIG1lLiBJIHRoaW5rIHdlIGFyZSBtaXhp bmcgdHdvCnRoaW5ncyBoZXJlLCBvbmUgaXMgdGhlIE1NQ0ZHIGFyZWFzLCBhbmQgdGhlIG90aGVy IG9uZSBhcmUgdGhlIEJBUnMgb2YKZWFjaCBQQ0kgZGV2aWNlLgoKQUZBSUsgTU1DRkcgYXJlYXMg YXJlIGRlc2NyaWJlZCBpbiB0aGUgJ01DRkcnIEFDUEkgdGFibGUsIHdoaWNoIGlzCnN0YXRpYyBh bmQgWGVuIHNob3VsZCBiZSBhYmxlIHRvIHBhcnNlIG9uIGl0J3Mgb3duLiBUaGVuIEknbSBub3Qg c3VyZQp3aHkgUEhZU0RFVk9QX3BjaV9tbWNmZ19yZXNlcnZlZCBpcyBuZWVkZWQgYXQgYWxsLgoK VGhlbiBmb3IgQkFScyB5b3UgbmVlZCB0byBrbm93IHRoZSBzcGVjaWZpYyBQQ0kgZGV2aWNlcywg d2hpY2ggYXJlCmVudW1lcmF0ZWQgaW4gdGhlIERTRFQgb3Igc2ltaWxhciBBQ1BJIHRhYmxlcywg d2hpY2ggYXJlIG5vdCBzdGF0aWMsIGFuZAp0aHVzIGNhbm5vdCBiZSBwYXJzZWQgYnkgWGVuLiBX ZSBjb3VsZCBkbyBhIGJydXRlIGZvcmNlIHNjYW4gb2YgdGhlCndob2xlIFBDSSBidXMgdXNpbmcg dGhlIGNvbmZpZyByZWdpc3RlcnMsIGJ1dCB0aGF0IHNlZW1zIGhhY2t5LiBBbmQgYXMKQm9yaXMg c2FpZCB3ZSBuZWVkIHRvIGtlZXAgdGhlIHVzYWdlIG9mIFBIWVNERVZPUF9wY2lfZGV2aWNlX2Fk ZCBpbgpvcmRlciB0byBub3RpZnkgWGVuIG9mIHRoZSBQWE0gaW5mb3JtYXRpb24uCgpJZiB3ZSBp bmRlZWQgaGF2ZSBhbGwgdGhlIGluZm9ybWF0aW9uIGFib3V0IHRoZSBCQVJzIChwb3NpdGlvbiBh bmQgc2l6ZSkKd2UgY291bGQgcHJlLW1hcCB0aGVtIDE6MSBiZWZvcmUgY3JlYXRpbmcgdGhlIGhh cmR3YXJlIGRvbWFpbiwgYW5kIHRodXMKbm8gbW9kaWZpY2F0aW9ucyB3aWxsIGJlIG5lZWRlZCB0 byB0aGUgUEhZU0RFVk9QX3BjaV9kZXZpY2VfYWRkIGh5cGVyY2FsbC4KClJvZ2VyLgoKCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWls aW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cDovL2xpc3RzLnhlbi5vcmcveGVu LWRldmVsCg==