From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: Re: HVMlite ABI specification DRAFT B + implementation outline Date: Tue, 9 Feb 2016 10:56:58 +0000 Message-ID: <56B9C5FA.7010208@citrix.com> References: <56B8E66C.6060605@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta4.messagelabs.com ([85.158.143.247]) by lists.xen.org with esmtp (Exim 4.72) (envelope-from ) id 1aT5yj-0006db-PD for xen-devel@lists.xenproject.org; Tue, 09 Feb 2016 10:57:05 +0000 In-Reply-To: <56B8E66C.6060605@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: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= , 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 T24gMDgvMDIvMTYgMTk6MDMsIFJvZ2VyIFBhdSBNb25uw6kgd3JvdGU6Cj4gVGhlIGZvcm1hdCBv ZiB0aGUgYm9vdCBzdGFydCBpbmZvIHN0cnVjdHVyZSBpcyB0aGUgZm9sbG93aW5nIChwb2ludGVk IHRvCj4gYmUgJWVieCk6Cj4KPiBOT1RFOiBub3RoaW5nIHdpbGwgYmUgbG9hZGVkIGF0IHBoeXNp Y2FsIGFkZHJlc3MgMCwgc28gYSAwIHZhbHVlIGluIGFueSBvZiB0aGUKPiBhZGRyZXNzIGZpZWxk cyBzaG91bGQgYmUgdHJlYXRlZCBhcyBub3QgcHJlc2VudC4KPgo+ICAwICstLS0tLS0tLS0tLS0t LS0tKwo+ICAgIHwgbWFnaWMgICAgICAgICAgfCBDb250YWlucyB0aGUgbWFnaWMgdmFsdWUgMHgz MzZlYzU3OAo+ICAgIHwgICAgICAgICAgICAgICAgfCAoInhFbjMiIHdpdGggdGhlIDB4ODAgYml0 IG9mIHRoZSAiRSIgc2V0KS4KPiAgNCArLS0tLS0tLS0tLS0tLS0tLSsKPiAgICB8IGZsYWdzICAg ICAgICAgIHwgU0lGX3h4eCBmbGFncy4KPiAgOCArLS0tLS0tLS0tLS0tLS0tLSsKPiAgICB8IGNt ZGxpbmVfcGFkZHIgIHwgUGh5c2ljYWwgYWRkcmVzcyBvZiB0aGUgY29tbWFuZCBsaW5lLAo+ICAg IHwgICAgICAgICAgICAgICAgfCBhIHplcm8tdGVybWluYXRlZCBBU0NJSSBzdHJpbmcuCj4gMTIg Ky0tLS0tLS0tLS0tLS0tLS0rCj4gICAgfCBucl9tb2R1bGVzICAgICB8IE51bWJlciBvZiBtb2R1 bGVzIHBhc3NlZCB0byB0aGUga2VybmVsLgo+IDE2ICstLS0tLS0tLS0tLS0tLS0tKwo+ICAgIHwg bW9kbGlzdF9wYWRkciAgfCBQaHlzaWNhbCBhZGRyZXNzIG9mIGFuIGFycmF5IG9mIG1vZHVsZXMK PiAgICB8ICAgICAgICAgICAgICAgIHwgKGxheW91dCBvZiB0aGUgc3RydWN0dXJlIGJlbG93KS4K PiAyMCArLS0tLS0tLS0tLS0tLS0tLSsKPgo+IFRoZSBsYXlvdXQgb2YgZWFjaCBlbnRyeSBpbiB0 aGUgbW9kdWxlIHN0cnVjdHVyZSBpcyB0aGUgZm9sbG93aW5nOgo+Cj4gIDAgKy0tLS0tLS0tLS0t LS0tLS0rCj4gICAgfCBwYWRkciAgICAgICAgICB8IFBoeXNpY2FsIGFkZHJlc3Mgb2YgdGhlIG1v ZHVsZS4KPiAgNCArLS0tLS0tLS0tLS0tLS0tLSsKPiAgICB8IHNpemUgICAgICAgICAgIHwgU2l6 ZSBvZiB0aGUgbW9kdWxlIGluIGJ5dGVzLgo+ICA4ICstLS0tLS0tLS0tLS0tLS0tKwo+ICAgIHwg Y21kbGluZV9wYWRkciAgfCBQaHlzaWNhbCBhZGRyZXNzIG9mIHRoZSBjb21tYW5kIGxpbmUsCj4g ICAgfCAgICAgICAgICAgICAgICB8IGEgemVyby10ZXJtaW5hdGVkIEFTQ0lJIHN0cmluZy4KPiAx MiArLS0tLS0tLS0tLS0tLS0tLSsKPiAgICB8IHJlc2VydmVkICAgICAgIHwKPiAxNiArLS0tLS0t LS0tLS0tLS0tLSsKPgo+IE90aGVyIHJlbGV2YW50IGluZm9ybWF0aW9uIG5lZWRlZCBpbiBvcmRl ciB0byBib290IGEgZ3Vlc3Qga2VybmVsCj4gKGNvbnNvbGUgcGFnZSBhZGRyZXNzLCB4ZW5zdG9y ZSBldmVudCBjaGFubmVsLi4uKSBjYW4gYmUgb2J0YWluZWQKPiB1c2luZyBIVk1QQVJBTVMsIGp1 c3QgbGlrZSBpdCdzIGRvbmUgb24gSFZNIGd1ZXN0cy4KPgo+IFRoZSBzZXR1cCBvZiB0aGUgaHlw ZXJjYWxsIHBhZ2UgaXMgYWxzbyBwZXJmb3JtZWQgaW4gdGhlIHNhbWUgd2F5Cj4gYXMgSFZNIGd1 ZXN0cywgdXNpbmcgdGhlIGh5cGVydmlzb3IgY3B1aWQgbGVhdmVzIGFuZCBtc3IgcmFuZ2VzLgo+ Cj4gSGFyZHdhcmUgZGVzY3JpcHRpb24KPiAtLS0tLS0tLS0tLS0tLS0tLS0tLQo+Cj4gSGFyZHdh cmUgZGVzY3JpcHRpb24gY2FuIGNvbWUgZnJvbSB0d28gZGlmZmVyZW50IHNvdXJjZXMsIGp1c3Qg bGlrZSBvbiAoUFYpSFZNCj4gZ3Vlc3RzLgo+Cj4gRGVzY3JpcHRpb24gb2YgUFYgZGV2aWNlcyB3 aWxsIGFsd2F5cyBjb21lIGZyb20geGVuYnVzLCBhbmQgaW4gZmFjdAo+IHhlbmJ1cyBpcyB0aGUg b25seSBoYXJkd2FyZSBkZXNjcmlwdGlvbiB0aGF0IGlzIGd1YXJhbnRlZWQgdG8gYWx3YXlzIGJl Cj4gcHJvdmlkZWQgdG8gSFZNbGl0ZSBndWVzdHMuCj4KPiBEZXNjcmlwdGlvbiBvZiBwaHlzaWNh bCBoYXJkd2FyZSBkZXZpY2VzIHdpbGwgYWx3YXlzIGNvbWUgZnJvbSBBQ1BJLCBpbiB0aGUKPiBh YnNlbmNlIG9mIGFueSBwaHlzaWNhbCBoYXJkd2FyZSBkZXZpY2Ugbm8gQUNQSSB0YWJsZXMgd2ls bCBiZSBwcm92aWRlZC4gVGhlCj4gcHJlc2VuY2Ugb2YgQUNQSSB0YWJsZXMgY2FuIGJlIGRldGVj dGVkIGJ5IGZpbmRpbmcgdGhlIFJTRFAsIGp1c3QgbGlrZSBvbgo+IGJhcmUgbWV0YWwuCgpBcyB3 ZSBhcmUgZXh0ZW5kaW5nIHRoZSBiYXNlIHN0cnVjdHVyZSwgd2h5IG5vdCBoYXZlIGFuIFJTRFAg cGFkZHIgaW4gaXQKYXMgd2VsbD8gIFRoaXMgYXZvaWRzIHRoZSBuZWVkIHRvIHNjYW4gUkFNLCBh bmQgYWxzbyBzZXJ2ZXMgYXMgYW4KaW5kaWNhdGlvbiBvZiAiTm8gQUNQSSIuCgo+Cj4gTm9uLVBW IGRldmljZXMgZXhwb3NlZCB0byB0aGUgZ3Vlc3QKPiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQo+Cj4gVGhlIGluaXRpYWwgaWRlYSB3YXMgdG8gc2ltcGx5IGRvbid0IHByb3Zp ZGUgYW55IGVtdWxhdGVkIGRldmljZXMgdG8gYSBIVk1saXRlCj4gZ3Vlc3QgYXMgdGhlIGRlZmF1 bHQgb3B0aW9uLiBXZSBoYXZlIGhvd2V2ZXIgaWRlbnRpZmllZCBjZXJ0YWluIHNpdHVhdGlvbnMK PiB3aGVyZSBlbXVsYXRlZCBkZXZpY2VzIGNvdWxkIGJlIGludGVyZXN0aW5nLCBib3RoIGZyb20g YSBwZXJmb3JtYW5jZSBhbmQKPiBlYXNlIG9mIGltcGxlbWVudGF0aW9uIHBvaW50IG9mIHZpZXcu IFRoZSBmb2xsb3dpbmcgbGlzdCB0cmllcyB0byBlbmNvbXBhc3MKPiB0aGUgZGlmZmVyZW50IGlk ZW50aWZpZWQgc2NlbmFyaW9zOgo+Cj4gICogMS4gSFZNbGl0ZSB3aXRoIG5vIGVtdWxhdGVkIGRl dmljZXMgYXQgYWxsCj4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCj4gICAgVGhpcyBpcyB0aGUgY3VycmVudCBpbXBsZW1lbnRhdGlvbiBpbnNpZGUgb2YgWGVu LCBldmVyeXRoaW5nIGlzIGRpc2FibGVkCj4gICAgYnkgZGVmYXVsdCBhbmQgdGhlIGd1ZXN0IGhh cyBhY2Nlc3MgdG8gdGhlIFBWIGRldmljZXMgb25seS4gVGhpcyBpcyBvZgo+ICAgIGNvdXJzZSB0 aGUgbW9zdCBzZWN1cmUgZGVzaWduIGJlY2F1c2UgaXQgaGFzIHRoZSBzbWFsbGVyIHN1cmZhY2Ug b2YgYXR0YWNrLgo+Cj4gICogMi4gSFZNbGl0ZSB3aXRoIChvciBjYXBhYmxlIHRvKSBQQ0ktcGFz c3Rocm91Z2gKPiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQo+ICAgIFRoZSBjdXJyZW50IG1vZGVsIG9mIFBDSS1wYXNzdGhyb3VnaHQgaW4gUFYgZ3Vl c3RzIGlzIGNvbXBsZXggYW5kIHJlcXVpcmVzCj4gICAgaGVhdnkgbW9kaWZpY2F0aW9ucyB0byB0 aGUgZ3Vlc3QgT1MuIEdvaW5nIGZvcndhcmQgd2Ugd291bGQgbGlrZSB0byByZW1vdmUKPiAgICB0 aGlzIGxpbWl0YXRpb24sIGJ5IHByb3ZpZGluZyBhbiBpbnRlcmZhY2UgdGhhdCdzIHRoZSBzYW1l IGFzIGZvdW5kIG9uIGJhcmUKPiAgICBtZXRhbC4gSW4gb3JkZXIgdG8gZG8gdGhpcywgYXQgbGVh c3QgYW4gZW11bGF0ZWQgbG9jYWwgQVBJQyBzaG91bGQgYmUKPiAgICBwcm92aWRlZCB0byBndWVz dHMsIHRvZ2V0aGVyIHdpdGggdGhlIGFjY2VzcyB0byBhIFBDSS1Sb290IGNvbXBsZXguCj4gICAg QXMgc2FpZCBpbiB0aGUgJ0hhcmR3YXJlIGRlc2NyaXB0aW9uJyBzZWN0aW9uIGFib3ZlLCB0aGlz IHdpbGwgYWxzbyByZXF1aXJlCj4gICAgQUNQSS4gU28gdGhpcyBwcm9wb3NlZCBzY2VuYXJpbyB3 aWxsIHJlcXVpcmUgdGhlIGZvbGxvd2luZyBlbGVtZW50cyB0aGF0IGFyZQo+ICAgIG5vdCBwcmVz ZW50IGluIHRoZSBtaW5pbWFsIChvciBkZWZhdWx0KSBIVk1saXRlIGltcGxlbWVudGF0aW9uOiBB Q1BJLCBsb2NhbAo+ICAgIEFQSUMsIElPIEFQSUMgKG9wdGlvbmFsKSBhbmQgUENJLVJvb3QgY29t cGxleC4KPgo+ICAqIDMuIEhWTWxpdGUgaGFyZHdhcmUgZG9tYWluCj4gICAgLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0KPiAgICBUaGUgYWltIGlzIHRoYXQgYSBIVk1saXRlIGhhcmR3YXJlIGRv bWFpbiBpcyBnb2luZyB0byB3b3JrIGV4YWN0bHkgbGlrZSBhCj4gICAgSFZNbGl0ZSBkb21haW4g d2l0aCBwYXNzZWQtdGhyb3VnaCBkZXZpY2VzLiBUaGlzIG1lYW5zIHRoYXQgdGhlIGRvbWFpbiB3 aWxsCj4gICAgbmVlZCBhY2Nlc3MgdG8gdGhlIHNhbWUgc2V0IG9mIGVtdWxhdGVkIGRldmljZXMs IGFuZCB0aGF0IHNvbWUgQUNQSSB0YWJsZXMKPiAgICBtdXN0IGJlIGZpeGVkIGluIG9yZGVyIHRv IHJlZmxlY3QgdGhlIHJlYWxpdHkgb2YgdGhlIGNvbnRhaW5lciB0aGUgaGFyZHdhcmUKPiAgICBk b21haW4gaXMgcnVubmluZyBvbi4gVGhlIEFDUEkgc2VjdGlvbiBjb250YWlucyBtb3JlIGRldGFp bGVkIGluZm9ybWF0aW9uCj4gICAgYWJvdXQgd2hpY2gvaG93IHRoZXNlIHRhYmxlcyBhcmUgZ29p bmcgdG8gYmUgZml4ZWQuCj4KPiAgICBOb3RlIHRoYXQgaW4gdGhpcyBzY2VuYXJpbyB0aGUgaGFy ZHdhcmUgZG9tYWluIHdpbGwgKmFsd2F5cyogaGF2ZSBhIGxvY2FsCj4gICAgQVBJQyBhbmQgSU8g QVBJQywgYW5kIHRoYXQgdGhlIHVzYWdlIG9mIFBIWVNERVYgb3BlcmF0aW9ucyBhbmQgUElSUSBl dmVudAo+ICAgIGNoYW5uZWxzIGlzIGdvaW5nIHRvIGJlIHJlbW92ZWQgaW4gZmF2b3VyIG9mIHRo ZSBiYXJlIG1ldGFsIG1lY2hhbmlzbXMuCj4KPiBUaGUgZGVmYXVsdCBtb2RlbCBmb3IgSFZNbGl0 ZSBndWVzdHMgaXMgZ29pbmcgdG8gYmUgdG8gcHJvdmlkZSBhIGxvY2FsIEFQSUMKPiB0b2dldGhl ciB3aXRoIGEgbWluaW1hbCBzZXQgb2YgQUNQSSB0YWJsZXMgdGhhdCBhY2N1cmF0ZWx5IG1hdGNo IHRoZSByZWFsaXR5IG9mCj4gdGhlIGNvbnRhaW5lciBpcyBndWVzdCBpcyBydW5uaW5nIG9uLgoK VGhpcyBzdGF0ZW1lbnQgaXMgY29udHJhcnkgdG8gb3B0aW9uIDEgYWJvdmUsIHdoaWNoIHN0YXRl cyB0aGF0IGFsbAplbXVsYXRpb24gaXMgZGlzYWJsZWQuCgpGV0lXLCBJIHRoaW5rIHRoZXJlIG5l ZWRzIHRvIGJlIGEgNHRoIG9wdGlvbiwgaW5iZXR3ZWVuIGN1cnJlbnQgMSBhbmQgMiwKd2hpY2gg aXMgSFZNTGl0ZSArIExBUElDLiAgVGhpcyBpcyB0aGVuIHRoZSBkZWZhdWx0IEhWTUxpdGUgQUJJ LCBhbmQgaXMKbm90IHBhc3N0aHJvdWdoLWNhcGFibGUuCgo+ICBBbiBhZG1pbmlzdHJhdG9yIHNo b3VsZCBiZSBhYmxlIHRvIGNoYW5nZQo+IHRoZSBkZWZhdWx0IHNldHRpbmcgdXNpbmcgdGhlIGZv bGxvd2luZyB0dW5hYmxlcyB0aGF0IGFyZSBwYXJ0IG9mIHRoZSB4bAo+IHRvb2xzdGFjazoKPgo+ ICAqIGxhcGljOiBkZWZhdWx0IHRvIHRydWUuIEluZGljYXRlcyB3aGV0aGVyIGEgbG9jYWwgQVBJ QyBpcyBwcm92aWRlZC4KPiAgKiBpb2FwaWM6IGRlZmF1bHQgdG8gZmFsc2UuIEluZGljYXRlcyB3 aGV0aGVyIGFuIElPIEFQSUMgaXMgcHJvdmlkZWQKPiAgICAocmVxdWlyZXMgbGFwaWMgc2V0IHRv IHRydWUpLgo+ICAqIGFjcGk6IGRlZmF1bHQgdG8gdHJ1ZS4gSW5kaWNhdGVzIHdoZXRoZXIgQUNQ SSB0YWJsZXMgYXJlIHByb3ZpZGVkLgo+Cj4gPHNuaXA+Cj4KPiBNTUlPIG1hcHBpbmcKPiAtLS0t LS0tLS0tLS0KPgo+IEZvciBEb21VcyB3aXRob3V0IGFueSBkZXZpY2UgcGFzc2VkLXRocm91Z2gg bm8gZGlyZWN0IE1NSU8gbWFwcGluZ3Mgd2lsbCBiZQo+IHByZXNlbnQgaW4gdGhlIHBoeXNpY2Fs IG1lbW9yeSBtYXAgcHJlc2VudGVkIHRvIHRoZSBndWVzdC4gRm9yIERvbVVzIHdpdGgKPiBkZXZp Y2VzIHBhc3NlZC10aG91Z2ggdGhlIHRvb2xzdGFjayB3aWxsIGNyZWF0ZSBkaXJlY3QgTU1JTyBt YXBwaW5ncyBhcwo+IHBhcnQgb2YgdGhlIGRvbWFpbiBidWlsZCBwcm9jZXNzLCBhbmQgdGh1cyBu byBhY3Rpb24gd2lsbCBiZSByZXF1aXJlZAo+IGZyb20gdGhlIERvbVUuCj4KPiBGb3IgdGhlIGhh cmR3YXJlIGRvbWFpbiBpbml0aWFsIGRpcmVjdCBNTUlPIG1hcHBpbmdzIHdpbGwgYmUgc2V0IGZv ciB0aGUKPiBmb2xsb3dpbmcgcmVnaW9uczoKPgo+IE5PVEU6IHJhbmdlcyBhcmUgZGVmaW5lZCB1 c2luZyBtZW1vcnkgYWRkcmVzc2VzLCBub3QgcGFnZXMuCgpJIHdvdWxkIHByZWZhY2UgdGhpcyB3 aXRoICJ3aGVyZSBhcHBsaWNhYmxlIi4gIE5vbi1sZWdhY3kgYm9vdHMgYXJlCnVubGlrZWx5IHRv IGhhdmUgYW55dGhpbmcgaW50ZXJlc3RpbmcgaW4gdGhlIGZpcnN0IDFNQi4KCj4KPiAgKiBbMHgw LCAweEZGRkZGXTogdGhlIGxvdyAxTWlCIHdpbGwgYmUgbWFwcGVkIGludG8gdGhlIHBoeXNpY2Fs IGd1ZXN0Cj4gICAgbWVtb3J5IG1hcCBhdCB0aGUgc2FtZSBwb3NpdGlvbi4KPgo+ICAqIFsweEYw MDAwMCwgMHhGRkZGRkZdOiB0aGUgSVNBIG1lbW9yeSBob2xlIHdpbGwgYmUgbWFwcGVkIDE6MSBp bnRvIHRoZQo+ICAgIGd1ZXN0IHBoeXNpY2FsIG1lbW9yeS4KPgo+ICAqIEFDUEkgbWVtb3J5IGFy ZWFzOiByZWdpb25zIHdpdGggdHlwZSBFODIwX0FDUEkgb3IgRTgyMF9OVlMgd2lsbCBiZSBtYXBw ZWQKPiAgICAxOjEgdG8gdGhlIGd1ZXN0IHBoeXNpY2FsIG1lbW9yeSBtYXAuIFRoZXJlIGFyZSBn b2luZyB0byBiZSBleGNlcHRpb25zIGlmCj4gICAgWGVuIGhhcyB0byBtb2RpZnkgdGhlIHRhYmxl cyBiZWZvcmUgcHJlc2VudGluZyB0aGVtIHRvIHRoZSBndWVzdC4KPgo+ICAqIFBDSSBFeHByZXNz IE1NQ0ZHOiBpZiBYZW4gaXMgYWJsZSB0byBpZGVudGlmeSBhbnkgb2YgdGhlc2UgcmVnaW9ucyBh dCBib290Cj4gICAgdGltZSB0aGV5IHdpbGwgYWxzbyBiZSBtYWRlIGF2YWlsYWJsZSB0byB0aGUg Z3Vlc3QgYXQgdGhlIHNhbWUgcG9zaXRpb24KPiAgICBpbiBpdCdzIHBoeXNpY2FsIG1lbW9yeSBt YXAuIEl0IGlzIHBvc3NpYmxlIHRoYXQgWGVuIHdpbGwgdHJhcCBhY2Nlc3NlcyB0bwo+ICAgIHRo b3NlIHJlZ2lvbnMsIGJ1dCBhIGd1ZXN0IHNob3VsZCBiZSBhYmxlIHRvIHVzZSB0aGUgbmF0aXZl IGNvbmZpZ3VyYXRpb24KPiAgICBtZWNoYW5pc20gaW4gb3JkZXIgdG8gaW50ZXJhY3Qgd2l0aCB0 aGlzIGNvbmZpZ3VyYXRpb24gc3BhY2UuIElmIHRoZQo+ICAgIGhhcmR3YXJlIGRvbWFpbiByZXBv cnRzIHRoZSBwcmVzZW5jZSBvZiBhbnkgb2YgdGhvc2UgcmVnaW9ucyB1c2luZyB0aGUKPiAgICBQ SFlTREVWT1BfcGNpX21tY2ZnX3Jlc2VydmVkIGh5cGVyY2FsbCBYZW4gd2lsbCBhbHNvIGFsbCBn dWVzdCBhY2Nlc3MgdG8KPiAgICB0aGVtLgo+Cj4gICogUENJIEJBUnM6IGl0J3Mgbm90IHBvc3Np YmxlIGZvciBYZW4gdG8ga25vdyB0aGUgcG9zaXRpb24gb2YgdGhlIEJBUnMgb2YKPiAgICB0aGUg UENJIGRldmljZXMgd2l0aG91dCBoYXJkd2FyZSBkb21haW4gaW50ZXJhY3Rpb24uCgpYZW4gcmVx dWlyZXMgbm8gZG9tMCBpbnRlcmFjdGlvbiB0byBmaW5kIGFsbCBpbmZvcm1hdGlvbiBsaWtlIHRo aXMgZm9yCmRldmljZXMgaW4gc2VnbWVudCAwIChpLmUuIGFsbCBjdXJyZW50IGhhcmR3YXJlKS4g IFNlZ21lbnRzIG90aGVyIHRoYW4gMAptYXkgaGF2ZSB0aGVpciBNTUNPTkYgcmVnaW9ucyBleHBy ZXNzZWQgaW4gQU1MIG9ubHkuCgpUaGUgcmVhc29uIHRoaXMgaXMgYWxsIGF3a3dhcmQgaW4gWGVu IGlzIHRoYXQgUENJIGRldmljZXMgd2VyZSBoYWNrZWQgaW4KYXMgc2Vjb25kLWNsYXNzIGNpdGl6 ZW5zIHdoZW4gSU9NTVUgc3VwcG9ydCB3YXMgYWRkZWQuICBUaGlzIGlzIGEgcHVyZWx5CmEgWGVu IHNvZnR3YXJlIGlzc3VlIHdoaWNoIG5lZWRzIHVuZG9pbmcuCgo+ICBJbiBvcmRlciB0byBoYXZl Cj4gICAgdGhlIEJBUnMgb2YgUENJIGRldmljZXMgcHJvcGVybHkgbWFwcGVkIHRoZSBoYXJkd2Fy ZSBkb21haW4gbmVlZHMgdG8KPiAgICBjYWxsIHRoZSBQSFlTREVWT1BfcGNpX2RldmljZV9hZGQg aHlwZXJjYWxsLCB0aGF0IHdpbGwgdGFrZSBjYXJlIG9mIHNldHRpbmcKPiAgICB1cCB0aGUgQkFS cyBpbiB0aGUgZ3Vlc3QgcGh5c2ljYWwgbWVtb3J5IG1hcCB1c2luZyAxOjEgTU1JTyBtYXBwaW5n cy4gVGhpcwo+ICAgIHByb2NlZHVyZSB3aWxsIGJlIHRyYW5zcGFyZW50IGZyb20gZ3Vlc3QgcG9p bnQgb2YgdmlldywgYW5kIHVwb24gcmV0dXJuaW5nCj4gICAgZnJvbSB0aGUgaHlwZXJjYWxsIG1h cHBpbmdzIG11c3QgYmUgYWxyZWFkeSBlc3RhYmxpc2hlZC4KPgo+Cgp+QW5kcmV3CgpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGlu ZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0cy54ZW4ub3JnL3hlbi1k ZXZlbAo=