From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andre Przywara Subject: Re: [RFC PATCH v2 00/26] arm64: Dom0 ITS emulation Date: Thu, 19 Jan 2017 13:50:11 +0000 Message-ID: <1c7d8bbb-db92-8d03-e623-6b7003ac543a@arm.com> References: <20161222182446.18791-1-andre.przywara@arm.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta6.messagelabs.com ([193.109.254.103]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cUD5H-0004Ii-EA for xen-devel@lists.xenproject.org; Thu, 19 Jan 2017 13:48:59 +0000 In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Vijay Kilari Cc: "prasun.kapoor" , Jayachandran.Nair@cavium.com, Stefano Stabellini , manish.jaggi@cavium.com, Julien Grall , xen-devel List-Id: xen-devel@lists.xenproject.org SGkgVmlqYXksCgpPbiAxOS8wMS8xNyAxMjoyNiwgVmlqYXkgS2lsYXJpIHdyb3RlOgo+IEhpIEFu ZHJlLAo+IAo+ICAgIEkgc2VlIGZvbGxvd2luZyBpc3N1ZXMgd2hlbiBydW5uaW5nIG9uIFRodW5k ZXJYIHBsYXRmb3JtIHdpdGggeW91ciBwYXRjaGVzLgo+IEkgaGF2ZSBkZWJ1Z2dlZCBhbmQgcGF0 Y2hlZC93b3JrYXJvdW5kIGZldyBpc3N1ZXMuIEZvciBpc3N1ZSAoNSkgSQo+IG5lZWQgeW91ciAg aW5wdXRzLgoKdGhhbmtzIGZvciB0aGUgdGVzdGluZyBhbmQgdGhlIGlucHV0LiBJdCBzZWVtcyB0 aGF0IG15IGFudGljaXBhdGlvbiBvZgppc3N1ZXMgd2hlbiBib290aW5nIG9uIGhhcmR3YXJlIHdl cmUgcmlnaHQgOy0pCkl0IHNlZW1zIHRoYXQgc29tZSBvZiB0aGUgaXNzdWVzIGdvdCBmaXhlZCBh bHJlYWR5IGJ5IG1lIHJld3JpdGluZyBzb21lCnBhcnRzLCB0cmlnZ2VyZWQgYnkgY29tbWVudHMg ZnJvbSBTdGVmYW5vLgoKPiAxKSBZb3VyIGNvZGUgYmFzZSBmYWlscyB0byBib290IHhlbi4gRmFp bHMgYXQgZG9tMCBtZW1vcnkgYWxsb2NhdGlvbi4KPiAgICAgVG8gb3ZlcmNvbWUgdGhpcyBJIGhh dmUgcmViYXNlZCB5b3VyIHBhdGNoZXMgb24gdG9wIG9mIDQuOCBzdGFibGUKPiByZWxlYXNlIGFu ZCB0aGlzIGlzc3VlIGlzIG5vdCBzZWVuLgoKQ2FuIHlvdSB0cnkgdG8gcmViYXNlIG9uIGxhdGVz dCB4ZW4gbWFzdGVyIGluc3RlYWQgYW5kIHNlZSBpZiB0aGF0J3MKZml4ZWQgdGhlcmUgYnkgYW55 IGNoYW5jZT8gQmVjYXVzZSB0aGF0J3Mgd2hlcmUgd2UgZXZlbnR1YWxseSBuZWVkIHRvCmJhc2Ug YWdhaW5zdCBhbnl3YXkuIDQuOCBzdGFibGUgd2lsbCBub3QgaGVscC4KCj4gMikgIElUUyBpcyBu b3QgaW5pdGlhbGl6ZWQgaWYgR0lDdjIgaW5mbyBpcyBub3QgZm91bmQgaW4gR0lDdjMgZHQKPiBu b2RlLiBCdXQgaGF2aW5nIEdJQ3YyIGluZm8gaXMgbm90Cj4gICAgbWFuZGF0b3J5LiBTbyBpbiB0 aGUgYmVsb3cgY29kZSBpZiBHSUN2MiBpbmZvIGlzIG5vdCBmb3VuZCBJVFMgaXMKPiBub3QgaW5p dGlhbGl6ZWQuCgpBaCwgcmlnaHQsIGdvb2QgcG9pbnQuIFRoZSBtb2RlbCBpcyB2MiBjb21wYXRp YmxlLgpBcyB0aGlzIGxvb2tzIGxpa2UgYW4gaXNzdWUgaW5kZXBlbmRlbnQgZnJvbSB0aGUgSVRT IGVtdWxhdGlvbiwgY2FuIHlvdQptYWtlIGEgcGF0Y2g/IE9yIGRvZXMgWGVuIGluZGVlZCByZWx5 IG9uIGhhdmluZyB2MiBjb21wYXQgc3VwcG9ydCBhdCB0aGUKbW9tZW50PyBJIHRoaW5rIHlvdSBz aG91bGQgYmUgYWJsZSB0byBib290IERvbTAgd2l0aCBhbiBpbml0cmQgb24KVGh1bmRlclggYWxy ZWFkeSwgY2FuJ3QgeW91PwoKPiBzdGF0aWMgdm9pZCBfX2luaXQgZ2ljdjNfZHRfaW5pdCAodm9p ZCkKPiB7Cj4gICAgLi4uCj4gICAgIC8qCj4gICAgICAqIEZvciBHSUN2MyBzdXBwb3J0aW5nIEdJ Q3YyLCBHSUNDIGFuZCBHSUNWIGJhc2UgYWRkcmVzcyB3aWxsIGJlCj4gICAgICAqIHByb3ZpZGVk Lgo+ICAgICAgKi8KPiAgICAgcmVzID0gZHRfZGV2aWNlX2dldF9hZGRyZXNzKG5vZGUsIDEgKyBn aWN2My5yZGlzdF9jb3VudCwKPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZjYmFz ZSwgJmNzaXplKTsKPiAKPiAtICAgIGlmICggcmVzICkgICAgLy8gPD09ICBUaGlzIGNoZWNrIG5l ZWRzIHRvIGJlIG1hbmFnZWQgcHJvcGVybHk/Cj4gLSAgICAgICAgcmV0dXJuOwo+IAo+ICAgICBk dF9kZXZpY2VfZ2V0X2FkZHJlc3Mobm9kZSwgMSArIGdpY3YzLnJkaXN0X2NvdW50ICsgMiwKPiAg ICAgICAgICAgICAgICAgICAgICAgICAgICZ2YmFzZSwgJnZzaXplKTsKPiAKPiAgICAgLyogQ2hl Y2sgZm9yIElUUyBjaGlsZCBub2RlcyBhbmQgYnVpbGQgdGhlIGhvc3QgSVRTIGxpc3QgYWNjb3Jk aW5nbHkuICovCj4gICAgIGdpY3YzX2l0c19kdF9pbml0KG5vZGUpOwo+IAo+IH0KPiAKPiAzKSBE b20wIGlzIG5vdCBjYWxsaW5nIFBIWVNERVZPUF9tYW5hZ2VfcGNpX2FkZCBmb3IgYWxsIHRoZSBw Y2kgZGV2aWNlcwo+ICAgIGluc3RlYWQgaXQgaXMgbWFraW5nIFBIWVNERVZPUF9wY2lfZGV2aWNl X2FkZCB3aGVuIHNlZ21lbnQgZXhpc3RzLgo+ICAgIFNvIEkgaGF2ZSBtYWRlIGJlbG93IGNoYW5n ZXMgc28gdGhhdCBJVFMgbWFwcGluZyBpcyBjYWxsZWQgZm9yIGFsbAo+IHRoZSBkZXZpY2VzLgoK QWgsIE9LLiBJIGRpZG4ndCBsb29rIGF0IHRoZSBjb2RlLCBqdXN0IG9ic2VydmVkIHRoZSBwaHlz ZGV2b3BzIGFuZAppbXBsZW1lbnRlZCB0aGVtLiBXaWxsIGNoZWNrIHRoaXMgYWdhaW4uCgo+IAo+ IDQpIEFsc28gcHV0X2RvbWFpbigpIGlzIHRocm93cyBwYW5pYy4gU28gSSBoYXZlIGRyb3BwZWQg aXQgaW4gYmVsb3cgY29kZS4KCkluZGVlZCwgSSBmb3VuZCB0aGlzIGJ5IGNvZGUgaW5zcGVjdGlv biBhbHJlYWR5LgoKPiAKPiAtLS0gYS94ZW4vYXJjaC9hcm0vcGh5c2Rldi5jCj4gKysrIGIveGVu L2FyY2gvYXJtL3BoeXNkZXYuYwo+IEBAIC0xNywyNyArMTcsNjggQEAKPiAgaW50IGRvX3BoeXNk ZXZfb3AoaW50IGNtZCwgWEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh2b2lkKSBhcmcpCj4gIHsKPiAg ICAgIHN0cnVjdCBwaHlzZGV2X21hbmFnZV9wY2kgbWFuYWdlOwo+ICsgICAgc3RydWN0IHBoeXNk ZXZfcGNpX2RldmljZV9hZGQgcGNpX2FkZDsKPiAgICAgIHN0cnVjdCBkb21haW4gKmRvbTA7Cj4g ICAgICB1MzIgZGV2aWQ7Cj4gICAgICBpbnQgcmV0Owo+IAo+ICAgICAgc3dpdGNoIChjbWQpCj4g ICAgICB7Cj4gICAgICAgICAgY2FzZSBQSFlTREVWT1BfbWFuYWdlX3BjaV9hZGQ6Cj4gICAgICAg ICAgY2FzZSBQSFlTREVWT1BfbWFuYWdlX3BjaV9yZW1vdmU6Cj4gICAgICAgICAgICAgIGlmICgg Y29weV9mcm9tX2d1ZXN0KCZtYW5hZ2UsIGFyZywgMSkgIT0gMCApCj4gICAgICAgICAgICAgICAg ICByZXR1cm4gLUVGQVVMVDsKPiAKPiAgICAgICAgICAgICAgZG9tMCA9IGhhcmR3YXJlX2RvbWFp bjsKPiAgICAgICAgICAgICAgZGV2aWQgPSBtYW5hZ2UuYnVzIDw8IDggfCBtYW5hZ2UuZGV2Zm47 Cj4gICAgICAgICAgICAgIC8qIEFsbG9jYXRlIGFuIElUUyBkZXZpY2UgdGFibGUgd2l0aCBzcGFj ZSBmb3IgMzIgTVNJcyAqLwo+ICAgICAgICAgICAgICByZXQgPSBnaWN2M19pdHNfbWFwX2Rldmlj ZShkb20wLCBkZXZpZCwgZGV2aWQsIDUsCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGNtZCA9PSBQSFlTREVWT1BfbWFuYWdlX3BjaV9hZGQpOwo+IAo+IC0gICAgICAg ICAgICBwdXRfZG9tYWluKGRvbTApOwo+ICAgICAgICAgICAgICByZXR1cm4gcmV0Owo+ICsgICAg ICAgY2FzZSBQSFlTREVWT1BfcGNpX2RldmljZV9hZGQ6Cj4gKyAgICAgICAgICAgIGlmICggY29w eV9mcm9tX2d1ZXN0KCZwY2lfYWRkLCBhcmcsIDEpICE9IDAgKQo+ICsgICAgICAgICAgICAgICAg cmV0dXJuIC1FRkFVTFQ7Cj4gKyAgICAgICAgICAgIGRvbTAgPSBoYXJkd2FyZV9kb21haW47Cj4g KyAgICAgICAgICAgIGRldmlkID0gcGNpX2FkZC5zZWcgPDwgMTYgfCBwY2lfYWRkLmJ1cyA8PCA4 IHwgcGNpX2FkZC5kZXZmbjsKPiArCj4gKyAgICAgICAgICAgIC8qIEFsbG9jYXRlIGFuIElUUyBk ZXZpY2UgdGFibGUgd2l0aCBzcGFjZSBmb3IgMzIgTVNJcyAqLwo+ICsgICAgICAgICAgICByZXQg PSBnaWN2M19pdHNfbWFwX2RldmljZShkb20wLCBkZXZpZCwgZGV2aWQsIDUsCj4gKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNtZCA9PSBQSFlTREVWT1BfcGNpX2Rldmlj ZV9hZGQpOwo+ICsKPiArICAgICAgICAgICAgcmV0dXJuIHJldDsKPiAgICAgIH0KPiAKPiAgICAg IGdkcHJpbnRrKFhFTkxPR19ERUJVRywgIlBIWVNERVZPUCBjbWQ9JWQ6IG5vdCBpbXBsZW1lbnRl ZFxuIiwgY21kKTsKPiAgICAgIHJldHVybiAtRU5PU1lTOwo+ICB9Cj4gCj4gCj4gNSkgIFdpdGgg dGhlIGFib3ZlIHBhdGNoLCBOb3cgSSBzZWUgSVRTIEhXIGlzIHRocm93aW5nIHVwIEVycm9yIDEw ODAxCj4gd2hlcmUgaW4gaXQgc2hvd3MKPiBkZXZpZCBpcyBvdXQgb2YgcmFuZ2UgaW4gTUFQRCBj b21tYW5kLgo+IAo+IFNlZSBiZWxvdyBsb2cgd2l0aCBzb21lIGRlYnVnIHByaW50cywgd2hlcmUg SSBoYXZlIHByaW50ZWQKPiBHSVRTX0lNUF9DU0VSIHJlZ2lzdGVyIGZvcgo+IGV2ZXJ5IE1BUEQg Y29tbWFuZC4KPiAoWEVOKSBHSVRTX0lNUF9DU0VSIDB4NWU0MDAwMDEwODAxCj4gCj4gVGhpcyBl cnJvciBpcyBzZWVuIHdoZW4gc2VnIGlzIDEuIFRoaXMgd2FzIG5vdCB0aGUgY2FzZSB3aXRoIHBy ZXZpb3VzCj4gdmVyc2lvbiBvZiBwYXRjaGVzLgo+IEhvd2V2ZXIgR0lUU19UWVBFUiBmcm9tIEhX IHNob3dzIGl0IHN1cHBvcnQgdXB0byAyMCBiaXRzLgo+IAo+IHBjaSAwMDAwOjAxOjEwLjE6IFsx NzdkOmEwMjZdIHR5cGUgMDAgY2xhc3MgMHgwMjgwMDAKPiBwY2kgMDAwMDowMToxMC4xOiBCQVIg MDogW21lbSAweDg3ZTBlMTAwMDAwMC0weDg3ZTBlMTNmZmZmZiA2NGJpdF0KPiAoZnJvbSBFbmhh bmNlZCBBbGxvY2F0aW9uLCBwcm9wZXJ0aWVzIDB4MCkKPiBwY2kgMDAwMDowMToxMC4xOiBCQVIg NDogW21lbSAweDg3ZTBlMTQwMDAwMC0weDg3ZTBlMTdmZmZmZiA2NGJpdF0KPiAoZnJvbSBFbmhh bmNlZCBBbGxvY2F0aW9uLCBwcm9wZXJ0aWVzIDB4MCkKPiAoWEVOKSBJbiBkb19waHlzZGV2X29w IFBIWVNERVZPUF9wY2lfZGV2aWNlX2FkZAo+IChYRU4pIEluIGRvX3BoeXNkZXZfb3AgZGV2IGlk IDM4NSBzZWcgMCBidXMgMSBkZXZmbiAxMjkKPiAoWEVOKSBJbiBnaWN2M19pdHNfbWFwX2Rldmlj ZSBzZW5kIE1BUEQgZm9yICBkZXYgaWQgMzg1Cj4gKFhFTikgQ01EWzBdIDB4MTgxMDAwMDAwMDgg Q01EWzFdIDB4NCBDTUQgWzJdIDB4ODAwMDAwMWZmNjA0NDIwMCBDTURbM10gMHgwCj4gKFhFTikg R0lUU19JTVBfVFNFUiAweDAKPiAoWEVOKSBHSVRTX0lNUF9DU0VSIDB4MAo+IGlvbW11OiBBZGRp bmcgZGV2aWNlIDAwMDA6MDE6MTAuMSB0byBncm91cCA0MQo+IHBjaSAwMDAwOjAxOjAwLjA6IGRp c2FibGluZyBBU1BNIG9uIHByZS0xLjEgUENJZSBkZXZpY2UuICBZb3UgY2FuCj4gZW5hYmxlIGl0 IHdpdGggJ3BjaWVfYXNwbT1mb3JjZScKPiBwY2lfYnVzIDAwMDA6MDE6IGJ1c25fcmVzOiBbYnVz IDAxLWZmXSBlbmQgaXMgdXBkYXRlZCB0byAwMQo+IHBjaV9idXMgMDAwMDowMjogYnVzbl9yZXM6 IGNhbiBub3QgaW5zZXJ0IFtidXMgMDItZmZdIHVuZGVyIFtidXMKPiAwMC0xZl0gKGNvbmZsaWN0 cyB3aXRoIChudWxsKSBbYnVzIDAwLTFmXSkKPiBwY2kgMDAwMDowMjowMC4wOiBbMTc3ZDphMDFk XSB0eXBlIDAwIGNsYXNzIDB4MDEwNDAwCj4gcGNpIDAwMDA6MDI6MDAuMDogQkFSIDA6IFttZW0g MHg4NzAwMDAwMDAwMDAtMHg4NzAwMDA3ZmZmZmYgNjRiaXRdCj4gKGZyb20gRW5oYW5jZWQgQWxs b2NhdGlvbiwgcHJvcGVydGllcyAweDApCj4gcGNpIDAwMDA6MDI6MDAuMDogQkFSIDQ6IFttZW0g MHg4NzAwMDBmMDAwMDAtMHg4NzAwMDBmZmZmZmYgNjRiaXRdCj4gKGZyb20gRW5oYW5jZWQgQWxs b2NhdGlvbiwgcHJvcGVydGllcyAweDApCj4gKFhFTikgSW4gZG9fcGh5c2Rldl9vcCBQSFlTREVW T1BfcGNpX2RldmljZV9hZGQKPiAoWEVOKSBJbiBkb19waHlzZGV2X29wIGRldiBpZCA1MTIgc2Vn IDAgYnVzIDIgZGV2Zm4gMAo+IChYRU4pIEluIGdpY3YzX2l0c19tYXBfZGV2aWNlIHNlbmQgTUFQ RCBmb3IgIGRldiBpZCA1MTIKPiAoWEVOKSBDTURbMF0gMHgyMDAwMDAwMDAwOCBDTURbMV0gMHg0 IENNRCBbMl0gMHg4MDAwMDAxZmY2MDQ0NDAwIENNRFszXSAweDAKPiAoWEVOKSBHSVRTX0lNUF9U U0VSIDB4MAo+IChYRU4pIEdJVFNfSU1QX0NTRVIgMHgwCj4gaW9tbXU6IEFkZGluZyBkZXZpY2Ug MDAwMDowMjowMC4wIHRvIGdyb3VwIDQyCj4gcGNpIDAwMDA6MDI6MDAuMDogZGlzYWJsaW5nIEFT UE0gb24gcHJlLTEuMSBQQ0llIGRldmljZS4gIFlvdSBjYW4KPiBlbmFibGUgaXQgd2l0aCAncGNp ZV9hc3BtPWZvcmNlJwo+IHBjaV9idXMgMDAwMDowMjogYnVzbl9yZXM6IFtidXMgMDItZmZdIGVu ZCBpcyB1cGRhdGVkIHRvIDAyCj4gcGNpX2J1cyAwMDAwOjAzOiBidXNuX3JlczogY2FuIG5vdCBp bnNlcnQgW2J1cyAwMy1mZl0gdW5kZXIgW2J1cwo+IDAwLTFmXSAoY29uZmxpY3RzIHdpdGggKG51 bGwpIFtidXMgMDAtMWZdKQo+IHBjaSAwMDAwOjAzOjAwLjA6IFsxNzdkOmEwMWFdIHR5cGUgMDAg Y2xhc3MgMHgxMjAwMDAKPiBwY2kgMDAwMDowMzowMC4wOiBCQVIgMDogW21lbSAweDgzODAwMDAw MDAwMC0weDgzODAwMDNmZmZmZiA2NGJpdF0KPiAoZnJvbSBFbmhhbmNlZCBBbGxvY2F0aW9uLCBw cm9wZXJ0aWVzIDB4MCkKPiBwY2kgMDAwMDowMzowMC4wOiBCQVIgNDogW21lbSAweDgzODAwMGYw MDAwMC0weDgzODAwMGZmZmZmZiA2NGJpdF0KPiAoZnJvbSBFbmhhbmNlZCBBbGxvY2F0aW9uLCBw cm9wZXJ0aWVzIDB4MCkKPiAoWEVOKSBJbiBkb19waHlzZGV2X29wIFBIWVNERVZPUF9wY2lfZGV2 aWNlX2FkZAo+IChYRU4pIEluIGRvX3BoeXNkZXZfb3AgZGV2IGlkIDc2OCBzZWcgMCBidXMgMyBk ZXZmbiAwCj4gKFhFTikgSW4gZ2ljdjNfaXRzX21hcF9kZXZpY2Ugc2VuZCBNQVBEIGZvciAgZGV2 IGlkIDc2OAo+IChYRU4pIENNRFswXSAweDMwMDAwMDAwMDA4IENNRFsxXSAweDQgQ01EIFsyXSAw eDgwMDAwMDFmZjYwNDQ1MDAgQ01EWzNdIDB4MAo+IChYRU4pIEdJVFNfSU1QX1RTRVIgMHgwCj4g KFhFTikgR0lUU19JTVBfQ1NFUiAweDAKPiBpb21tdTogQWRkaW5nIGRldmljZSAwMDAwOjAzOjAw LjAgdG8gZ3JvdXAgNDMKPiBwY2kgMDAwMDowMzowMC4wOiBkaXNhYmxpbmcgQVNQTSBvbiBwcmUt MS4xIFBDSWUgZGV2aWNlLiAgWW91IGNhbgo+IGVuYWJsZSBpdCB3aXRoICdwY2llX2FzcG09Zm9y Y2UnCj4gcGNpX2J1cyAwMDAwOjAzOiBidXNuX3JlczogW2J1cyAwMy1mZl0gZW5kIGlzIHVwZGF0 ZWQgdG8gMDMKPiBwY2lfYnVzIDAwMDA6MDQ6IGJ1c25fcmVzOiBjYW4gbm90IGluc2VydCBbYnVz IDA0LWZmXSB1bmRlciBbYnVzCj4gMDAtMWZdIChjb25mbGljdHMgd2l0aCAobnVsbCkgW2J1cyAw MC0xZl0pCj4gcGNpIDAwMDA6MDQ6MDAuMDogWzE3N2Q6YTAxOV0gdHlwZSAwMCBjbGFzcyAweDEy MDAwMAo+IHBjaSAwMDAwOjA0OjAwLjA6IEJBUiAwOiBbbWVtIDB4ODQ2MDAwMDAwMDAwLTB4ODQ2 N2ZmZmZmZmZmIDY0Yml0XQo+IChmcm9tIEVuaGFuY2VkIEFsbG9jYXRpb24sIHByb3BlcnRpZXMg MHgwKQo+IHBjaSAwMDAwOjA0OjAwLjA6IEJBUiA0OiBbbWVtIDB4ODQ2YTAwMDAwMDAwLTB4ODQ2 YTAwMGZmZmZmIDY0Yml0XQo+IChmcm9tIEVuaGFuY2VkIEFsbG9jYXRpb24sIHByb3BlcnRpZXMg MHgwKQo+IChYRU4pIEluIGRvX3BoeXNkZXZfb3AgUEhZU0RFVk9QX3BjaV9kZXZpY2VfYWRkCj4g KFhFTikgSW4gZG9fcGh5c2Rldl9vcCBkZXYgaWQgMTAyNCBzZWcgMCBidXMgNCBkZXZmbiAwCj4g KFhFTikgSW4gZ2ljdjNfaXRzX21hcF9kZXZpY2Ugc2VuZCBNQVBEIGZvciAgZGV2IGlkIDEwMjQK PiAoWEVOKSBDTURbMF0gMHg0MDAwMDAwMDAwOCBDTURbMV0gMHg0IENNRCBbMl0gMHg4MDAwMDAx ZmY2MDQ0NzAwIENNRFszXSAweDAKPiAoWEVOKSBHSVRTX0lNUF9UU0VSIDB4MAo+IChYRU4pIEdJ VFNfSU1QX0NTRVIgMHgwCj4gaW9tbXU6IEFkZGluZyBkZXZpY2UgMDAwMDowNDowMC4wIHRvIGdy b3VwIDQ0Cj4gcGNpIDAwMDA6MDQ6MDAuMDogZGlzYWJsaW5nIEFTUE0gb24gcHJlLTEuMSBQQ0ll IGRldmljZS4gIFlvdSBjYW4KPiBlbmFibGUgaXQgd2l0aCAncGNpZV9hc3BtPWZvcmNlJwo+IHBj aV9idXMgMDAwMDowNDogYnVzbl9yZXM6IFtidXMgMDQtZmZdIGVuZCBpcyB1cGRhdGVkIHRvIDA0 Cj4gcGNpIDAwMDA6MDA6MDEuMDogUENJIGJyaWRnZSB0byBbYnVzIDAxXQo+IHBjaSAwMDAwOjAw OjE0LjA6IFBDSSBicmlkZ2UgdG8gW2J1cyAwMl0KPiBwY2kgMDAwMDowMDoxNS4wOiBQQ0kgYnJp ZGdlIHRvIFtidXMgMDNdCj4gcGNpIDAwMDA6MDA6MTYuMDogUENJIGJyaWRnZSB0byBbYnVzIDA0 XQo+IE9GOiBQQ0k6IGhvc3QgYnJpZGdlIC9zb2NAMC9wY2lAODQ5MDAwMDAwMDAwIHJhbmdlczoK PiBPRjogUENJOiAgIE1FTSAweDgxMDAwMDAwMDAwMC4uMHg4MTdmZmZmZmZmZmYgLT4gMHg4MTAw MDAwMDAwMDAKPiBwY2ktaG9zdC1nZW5lcmljIDg0OTAwMDAwMDAwMC5wY2k6IEVDQU0gYXQgW21l bQo+IDB4ODQ5MDAwMDAwMDAwLTB4ODQ5MDAxZmZmZmZmXSBmb3IgW2J1cyAwMC0xZl0KPiBwY2kt aG9zdC1nZW5lcmljIDg0OTAwMDAwMDAwMC5wY2k6IFBDSSBob3N0IGJyaWRnZSB0byBidXMgMDAw MTowMAo+IHBjaV9idXMgMDAwMTowMDogcm9vdCBidXMgcmVzb3VyY2UgW2J1cyAwMC0xZl0KPiBw Y2lfYnVzIDAwMDE6MDA6IHJvb3QgYnVzIHJlc291cmNlIFttZW0gMHg4MTAwMDAwMDAwMDAtMHg4 MTdmZmZmZmZmZmZdCj4gcGNpIDAwMDE6MDA6MDguMDogWzE3N2Q6YTAxY10gdHlwZSAwMCBjbGFz cyAweDAxMDYwMQo+IHBjaSAwMDAxOjAwOjA4LjA6IEJBUiAwOiBbbWVtIDB4ODE0MDAwMDAwMDAw LTB4ODE0MDAwMWZmZmZmIDY0Yml0XQo+IChmcm9tIEVuaGFuY2VkIEFsbG9jYXRpb24sIHByb3Bl cnRpZXMgMHgwKQo+IHBjaSAwMDAxOjAwOjA4LjA6IEJBUiA0OiBbbWVtIDB4ODE0MDAwMjAwMDAw LTB4ODE0MDAwMmZmZmZmIDY0Yml0XQo+IChmcm9tIEVuaGFuY2VkIEFsbG9jYXRpb24sIHByb3Bl cnRpZXMgMHgwKQo+IChYRU4pIEluIGRvX3BoeXNkZXZfb3AgUEhZU0RFVk9QX3BjaV9kZXZpY2Vf YWRkCj4gKFhFTikgSW4gZG9fcGh5c2Rldl9vcCBkZXYgaWQgNjU2MDAgc2VnIDEgYnVzIDAgZGV2 Zm4gNjQKPiAoWEVOKSBJbiBnaWN2M19pdHNfbWFwX2RldmljZSBzZW5kIE1BUEQgZm9yICBkZXYg aWQgNjU2MDAKPiAoWEVOKSBDTURbMF0gMHgxMDA0MDAwMDAwMDA4IENNRFsxXSAweDQgQ01EIFsy XSAweDgwMDAwMDFmZjYwNDQ5MDAgQ01EWzNdIDB4MAo+IChYRU4pIEdJVFNfSU1QX1RTRVIgMHgw Cj4gKFhFTikgR0lUU19JTVBfQ1NFUiAweDVlNDAwMDAxMDgwMSAgLy8gPD09IE1BUEQgZGV2aWNl aWQgT3V0IG9mIFJhbmdlIGVycm9yLgo+IAo+IDYpIEkgaGF2ZSBhbHNvIHNlZW4gcGFuaWMgaW4g Z2ljdjNfYXNzaWduX2d1ZXN0X2V2ZW50KCkgd2hlbiBjYWxsZWQKPiBmcm9tIGRvbTAgRElTQ0FS RCBJVFMgY29tbWFuZC4KPiAgICBOb3QgZGVidWdnZWQgbXVjaC4KCkkgdGhpbmsgbXkgbG9jYWwg Zml4ZXMgaGVyZSBhZGRyZXNzIHNvbWUgb2YgdGhhdCBhbHJlYWR5LiBJIHdpbGwgc2VuZCBhCm5l dyB2ZXJzaW9uIGhvcGVmdWxseSBsYXRlciB0aGlzIG1vbnRoLCBzbyBqdXN0IHN0YXkgdHVuZWQu CgpDaGVlcnMsCkFuZHJlLgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpo dHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==