From mboxrd@z Thu Jan 1 00:00:00 1970 From: Oded Gabbay Subject: [RFC] VRAM allocations with amdkfd+ttm for HSA processes Date: Tue, 24 Feb 2015 16:56:12 +0200 Message-ID: <20150224145612.GA786@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from na01-bn1-obe.outbound.protection.outlook.com (mail-bn1bon0142.outbound.protection.outlook.com [157.56.111.142]) by gabe.freedesktop.org (Postfix) with ESMTP id B15846E42C for ; Tue, 24 Feb 2015 06:57:01 -0800 (PST) Received: from satlvexedge02.amd.com (satlvexedge02.amd.com [10.177.96.29]) (using TLSv1 with cipher AES128-SHA (128/128 bits)) (No client certificate requested) by atltwp01.amd.com (Axway MailGate 5.3.1) with ESMTPS id 22E3ECAE65F for ; Tue, 24 Feb 2015 08:56:55 -0600 (CST) Content-Disposition: inline List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org SW4gYSBudXRzaGVsbDoKClRoaXMgUkZDIHByb3Bvc2VzIGEgY29udHJvbCBtZWNoYW5pc20gZm9y IFZSQU0gKEdQVSBsb2NhbCBtZW1vcnkpIG1lbW9yeSAKcGlubmluZyB0aGF0IGlzIGluaXRpYXRl ZCBieSBIU0EgcHJvY2Vzc2VzLiBUaGlzIGNvbnRyb2wgbWVjaGFuaXNtIGlzIHByb3Bvc2VkIApp biBvcmRlciB0byBwcmV2ZW50IHN0YXJ2YXRpb24gb2YgZ3JhcGhpYyBhcHBsaWNhdGlvbnMgZHVl IHRvIGhpZ2ggVlJBTSB1c2FnZSAKYnkgSFNBIHByb2Nlc3Nlcy4KClRPQzoKLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoxLiAg YW1ka2ZkJ3MgVlJBTS1yZWxhdGVkIElPQ1RMcyBvdmVydmlldwoyLiAgVFRNIEJPcyBtaWdyYXRp b24gb3ZlcnZpZXcKMy4gIFRoZSB3aHkKNC4gIEFuYWx5emluZyB0aGUgdXNlLWNhc2VzCjUuICBQ cm9wb3NlZCBtZWNoYW5pc20KNi4gIENvbmNsdXNpb24KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKMS4gYW1ka2ZkJ3MgVlJB TS1yZWxhdGVkIElPQ1RMcyBvdmVydmlldzoKCmFtZGtmZCBwcm92aWRlcyBmb3VyIElPQ1RMcyBm b3IgVlJBTSBhbGxvY2F0aW9uICYgbWFwcGluZyAodGhlIG5hbWVzIGJlbG93IGFyZSAKcHJlc2Vu dGVkIGp1c3QgZm9yIGNvbnZpbmllbmNlIGFuZCBjYW4gYmUgY2hhbmdlZCB1bnRpbCB0aGUgZmlu YWwgCmltcGxlbWVudGF0aW9uKSA6CgogIC0gQWxsb2NhdGUgbWVtb3J5IG9uIFZSQU0JLT4gQU1E S0ZEX0lPQ19BTExPQ19NRU1PUllfT05fR1BVCiAgLSBGcmVlIG1lbW9yeSBvbiBWUkFNCQktPiBB TURLRkRfSU9DX0ZSRUVfTUVNT1JZX09OX0dQVQogIC0gTWFwIG1lbW9yeSB0byBHUFUJCS0+IEFN REtGRF9JT0NfTUFQX01FTU9SWV9UT19HUFUKICAtIFVubWFwIG1lbW9yeSB0byBHUFUJCS0+IEFN REtGRF9JT0NfVU5NQVBfTUVNT1JZX0ZST01fR1BVCgpBbiBIU0EgcHJvY2VzcyB3aGljaCBuZWVk cyB0byB1c2UgVlJBTSwgZmlyc3QgY2FsbHMgdGhlIApBTURLRkRfSU9DX0FMTE9DX01FTU9SWV9P Tl9HUFUgSU9DVEwuIFRoaXMgSU9DVEwgYWxsb2NhdGVzIGEgbGlzdCBvZiBCT3MgCihCdWZmZXIg T2JqZWN0cykgdGhhdCByZXByZXNlbnQgdGhlIGFtb3VudCBvZiBtZW1vcnkgdGhlIEhTQSBwcm9j ZXNzIHdhbnRlZCB0byAKYWxsb2NhdGUuIAplLmcuIElmIGEgc2luZ2xlIEJPIHJlcHJlc2VudCAx TUIgb2YgVlJBTSwgdGhhbiBhbWRrZmQgd2lsbCBhbGxvY2F0ZSBhIGxpc3QgCm9mIDEwMCBCT3Mg Zm9yIGFuIGFsbG9jYXRpb24gcmVxdWVzdCBvZiAxMDBNQiBvZiBWUkFNLgoKQmVmb3JlIHRoZSBt ZW1vcnkgY2FuIGJlIHVzZWQsIHRoZSBIU0EgcHJvY2VzcyBuZWVkcyB0byBjYWxsIHRoZSAKQU1E S0ZEX0lPQ19NQVBfTUVNT1JZX1RPX0dQVSBJT0NUTC4gVGhpcyBJT0NUTCBwaW5zIHRoZSByZWxl dmFudCBCT3MgKHBhcnQgb3IgCmFsbCBvZiB0aGUgQk9zIHRoYXQgd2VyZSBjcmVhdGVkIGluIHRo ZSBhbGxvYyBJT0NUTCkgYW5kIHVwZGF0ZXMgdGhlIFBUL1BEIG9mIAp0aGUgR1BVVk0uIAplLmcu IEluIHJlZ2FyZCB0byB0aGUgcHJldmlvdXMgZXhhbXBsZSwgaWYgdGhlIEhTQSBwcm9jZXNzIHdh bnRzIHRvIApkaXNwYXRjaCBhIGtlcm5lbCB0aGF0IHdpbGwgdXNlIHRoZSBsYXN0IDEwTUIgKG9m IHRoZSAxMDBNQiBpdCBhbGxvY2F0ZWQpLCB0aGVuIAphbWRrZmQgd2lsbCBwaW4gdGhlIGxhc3Qg dGVuIEJPcyBpbiB0aGUgbGlzdC4KCkFmdGVyIHRoZSBHUFUga2VybmVsIGhhcyBmaW5pc2hlZCB1 c2luZyB0aGUgbWVtb3J5LCB0aGUgSFNBIHByb2Nlc3MgbmVlZHMgdG8gCmNhbGwgdGhlIEFNREtG RF9JT0NfVU5NQVBfTUVNT1JZX0ZST01fR1BVIElPQ1RMLiBUaGlzIElPQ1RMIHVucGlucyB0aGUg Qk9zIGFuZCAKdXBkYXRlcyB0aGUgUFQvUEQgb2YgdGhlIEdQVVZNLgoKSWYgdGhlIEhTQSBwcm9j ZXNzIHdhbnRzIHRvIGRpc3BhdGNoIGFub3RoZXIgR1BVIGtlcm5lbCB3aGljaCB3aWxsIHVzZSB0 aGUgCnNhbWUgbWVtb3J5LCB0aGFuIGl0IGNhbiBhZ2FpbiBjYWxsIHRoZSBBTURLRkRfSU9DX01B UF9NRU1PUllfVE9fR1BVIElPQ1RMLiAKQWZ0ZXIgdGhlIGtlcm5lbCBmaW5pc2hlcywgdGhlIEhT QSBwcm9jZXNzIG5lZWRzIHRvIGNhbGwgdGhlIApBTURLRkRfSU9DX1VOTUFQX01FTU9SWV9GUk9N X0dQVSBJT0NUTC4KCkZpbmFsbHksIHdoZW4gdGhlIG1lbW9yeSBoYXMgbm8gbW9yZSB1c2UsIHRo ZSBIU0EgcHJvY2VzcyBuZWVkcyB0byBjYWxsIHRoZSAKQU1ES0ZEX0lPQ19GUkVFX01FTU9SWV9P Tl9HUFUgSU9DVEwuIFRoaXMgSU9DVEwgZGVzdHJveXMgdGhlIEJPcy4gVGhpcyBhY3Rpb24gCndp bGwgYWxzbyBiZSBwZXJmb3JtZWQgb24gcHJvY2VzcyB0ZWFyLWRvd24uCgpUaGUgaW1wb3J0YW50 IHBvaW50IHRvIHJlbWVtYmVyIGlzIHRoYXQgb25jZSB0aGUgSFNBIHByb2Nlc3MgY2FsbHMgdGhl IApBTURLRkRfSU9DX01BUF9NRU1PUllfVE9fR1BVIElPQ1RMIGFuZCBhbWRrZmQgcGlucyBhIGxp c3Qgb2YgQk9zLCB0aGFuIGZyb20gCmFtZGtmZCdzIFBPViwgdGhvc2UgQk9zIGFyZSBpbiB1c2Ug YW5kIG11c3Qgbm90IGJlIHVucGlubmVkICYgbW92ZWQsIGV2ZW4gaWYgCnRoZXkgYXJlIGN1cnJl bnRseSBpZGxlIChub3QgdXNlZCBieSBhIEdQVSBrZXJuZWwpLgoKMi4gVFRNIHN1YnN5c3RlbSBv dmVydmlldzoKCkZvciB0aG9zZSB1bmZhbWlsaWFyIHdpdGggVFRNLCBoZXJlIGlzIGEgc2hvcnQg b3ZlcnZpZXcgcmVnYXJkaW5nIG1pZ3JhdGlvbiBvZiAKQk9zIGluIFRUTSAoTm90ZSwgdGhpcyBp cyBhIHNpbXBsaXN0aWMgb3ZlcnZpZXcpOgoKRXZlcnkgQk8gaGFzIGEgcmVzZXJ2YXRpb24gcG9p bnQgKGZlbmNlKSBhdHRhY2hlZCB0byBpdC4gV2hlbiB0aGUgR1BVIApoYXMgZmluaXNoZWQgd29y a2luZyB3aXRoIHRoYXQgQk8sIGl0IHdyaXRlcyB0byBpdHMgcmVzdi4gcG9pbnQgdG8gc2lnbmFs IHRoZSAKd29yayBoYXMgYmVlbiBkb25lIGFuZCB0aGUgQk8gaXMgbm93IGlkbGUuIFRvIGVuYWJs ZSB0aGlzIG1lY2hhbmlzbSwgdGhlIApncmFwaGljIGRyaXZlciAocmFkZW9uKSBkaXNwYXRjaGVz IGEgZmVuY2UgcGFja2V0IGFmdGVyIGVhY2ggQ1MuCgpUVE0gbWFpbnRhaW5zIGFuIExSVSBsaXN0 IG9mIEJPcy4gQWxsIHRoZSBCT3MgYXJlIG9uIHRoYXQgbGlzdCwgcmVnYXJkbGVzcyBpZiAKdGhl eSBhcmUgaW4gdXNlIG9yIGlkbGUsIHBpbm5lZCBvciB1bnBpbm5lZC4gV2hlbiBUVE0gZW5jb3Vu dGVycyBhIG1lbW9yeSAKcHJlc3N1cmUgc2l0dWF0aW9uIChlLmcuIGl0IHRyaWVzIHRvIHBpbiBh IEJPIG9uIFZSQU0gYnV0IGRvZXMgbm90IGhhdmUgZW5vdWdoIApzcGFjZSksIGl0IHdhbGtzIG92 ZXIgdGhlIExSVSBsaXN0IGFuZCB0cmllcyB0byBldmljdCBCT3Mgd2hvIGFyZSBwbGFjZWQgaW4g ClZSQU0gKmFuZCogYXJlIGlkbGUgKG1lYW5pbmcgdGhhdCB0aGV5IGNhbiBiZSBtaWdyYXRlZCB0 byBHQVJUIG9yIHN5c3RlbSAKbWVtb3J5KSB1bnRpbCBpdCBoYXMgZW5vdWdoIHNwYWNlIGZvciB0 aGUgbmV3IHJlcXVlc3QuCgpIb3cgVFRNIGZpbmRzIG91dCBpZiBhIEJPIGlzIGlkbGUgb3Igbm90 ID8gSXQgY2hlY2tzIGl0cyByZXNlcnZhdGlvbiBwb2ludC4gSWYgCml0IGlzIHNpZ25hbGVkLCB0 aGVuIHRoZSBCTyBpcyBpZGxlIGFuZCBjYW4gYmUgbWlncmF0ZWQuIElmIG5vdCwgdGhhdCBCTyBp cyAKc3RpbGwgaW4gdXNlLiBUaGUgY2hlY2sgaXMgZG9uZSBpbiB0d28gc3RhZ2VzLiBGaXJzdCwg VFRNIGRvZXMgYSBzaW1wbGUgY2hlY2sgCnRoYXQgYXNrcyBpZiBhIGZlbmNlIGlzIHNpZ25hbGVk IG9yIG5vdCBhbmQgdGhpcyBvbmUgaXMgY2FsbGVkIGluIGF0b21pYyAKY29udGV4dCwgc28gdGhl IGRldmljZSBkcml2ZXIgY2FuJ3QgYmxvY2suIFRoZSBzZWNvbmQgY2hlY2sgaXMgdGhlIAp3YWl0 X3VudGlsX3NpZ25hbGVkIGFuZCB0aGF0IGZ1bmN0aW9uIGlzIGNhbiBibG9jaywgYnV0IHRoZXJl IGlzIGEgdGltZW91dCAKZW5mb3JjZWQgYnkgVFRNLgoKV2hhdCBpcyBhIHJlc2VydmF0aW9uIHBv aW50ID8gSXQgaXMgYSBnZW5lcmljIExpbnV4IGtlcm5lbCBtZWNoYW5pc20gdG8gCmFsbG93IHNo YXJpbmcgb2YgZmVuY2VzIGJldHdlZW4gZGlmZmVyZW50IGRldmljZSBkcml2ZXJzLiBJbiBvdXIg Y2FzZSwgVFRNIAphc3NpZ25zIGEgcmVzZXJ2YXRpb24gcG9pbnQgdG8gZXZlcnkgQk8uIFdoZW4g VFRNIGNoZWNrcyB0aGUgQk8ncyByZXNlcnZhdGlvbiAKcG9pbnQsIGl0IGFjdHVhbGx5IGNhbGxz IGEgY2FsbGJhY2sgZnVuY3Rpb24gb2YgdGhhdCByZXN2LiBwb2ludCB0aGF0IHRlbGxzIGl0IApp ZiB0aGUgcmVzdi4gcG9pbnQncyBmZW5jZSBoYXMgYmVlbiBzaWduYWxlZC4KClRoZSBjYWxsYmFj ayBmdW5jdGlvbiBpcyBpbXBsZW1lbnRlZCBieSB0aGUgZW50aXR5IHVzaW5nIHRoZSBCTy4gZS5n LiByYWRlb24gCmRyaXZlci4gV2hlbiB0aGF0IGNhbGxiYWNrIGlzIGNhbGxlZCwgcmFkZW9uIG5l ZWRzIHRvIHJlc3BvbmQgd2hldGhlciB0aGF0IEJPIAppcyBpZGxlIG9yIG5vdC4gcmFkZW9uIGhh cyB0aGF0IGluZm9ybWF0aW9uIGJlY2F1c2UgaXQgZGlzcGF0Y2hlcyBhIGZlbmNlIApwYWNrZXQg YWZ0ZXIgZWFjaCBDUy4gVGhhdCB3YXksIHdoZW4gdGhlIEdQVSBrZXJuZWwgaGFzIGZpbmlzaGVk LCB0aGUgR1BVIApoYW5kbGVzIHRoZSBmZW5jZSBwYWNrZXQgYW5kIHdyaXRlcyB0byB0aGF0IGZl bmNlLiBXaGVuIHJhZGVvbiBjaGVja3MgaWYgYSBCTyAKaXMgaWRsZSwgaXQgYWN0dWFsbHkgY2hl Y2tzIGlmIGl0cyBmZW5jZSBoYXMgYmVlbiB3cml0dGVuIHRvIGJ5IHRoZSBHUFUuCgpOb3csIGJh Y2sgdG8gdGhlIG1pZ3JhdGlvbiBwcm9jZXNzLiBJZiB0aGUgQk8gaXMgaW4gdXNlLCBUVE0ganVz dCBtb3ZlcyB0byB0aGUgCm5leHQgQk8gb24gdGhlIExSVSBsaXN0LiBJZiB0aGUgQk8gaXMgaWRs ZSwgVFRNIG1pZ3JhdGVzIGl0IHRvIEdBUlQgb3Igc3lzdGVtIAptZW1vcnkgdG8gY2xlYXIgc3Bh Y2UgZm9yIHRoZSBuZXcgQk8uIAoKSWYgdGhlcmUgaXMgbm90IGVub3VnaCBtZW1vcnkgZm9yIHRo ZSBuZXcgcmVxdWVzdCBhZnRlciBwYXNzaW5nIG92ZXIgdGhlIGVudGlyZSAKTFJVIGxpc3QsIFRU TSBmYWlscyB0aGUgbmV3IEJPIHZhbGlkYXRpb24gcmVxdWVzdC4KCjMuIFRoZSB3aHk6CgpIU0Eg dXNlcnNwYWNlIGFwcGxpY2F0aW9ucyBzb21ldGltZXMgbmVlZCB0byB1c2UgVlJBTSAoR1BVIGxv Y2FsIG1lbW9yeSkgZm9yIAp0aGVpciBvcGVyYXRpb24uIFRoaXMgaXMgZXNwZWNpYWxseSB0cnVl IHdoZW4gcnVubmluZyBvbiBkaXNjcmV0ZSBHUFVzLCAKd2hpY2ggaGF2ZSBhIGhpZ2ggYmFuZHdp ZHRoIG9uLWNoaXAgbWVtb3J5LiAKCkJlY2F1c2UgY3VycmVudCBBTUQgR1BVcyBkb24ndCBzdXBw b3J0IHBhZ2UgZmF1bHRzIGluIFZSQU0sIHRoZSBIU0EgYXBwbGljYXRpb24gCm5lZWRzIHRvIHBp biBpdHMgYWxsb2NhdGVkIG1lbW9yeSBpbiBWUkFNIGJlZm9yZSBkaXNwYXRjaGluZyB0aGUgR1BV IGtlcm5lbC4gCgpUbyBhbGxvY2F0ZSBhbmQgcGluIHRoZSBWUkFNLCBIU0EgYXBwbGljYXRpb25z IGNhbGwgYW1ka2ZkJ3MgSU9DVExzIHRoYXQgdXNlIAp0aGUgVFRNIHN1YnN5c3RlbSB0byBhbGxv Y2F0ZSBhbmQgcGluIEJPcyBvbiBWUkFNLgoKVXAgdW50aWwgbm93LCB0aGlzIGlzIHNpbWlsYXIg dG8gYSBncmFwaGljIGFwcGxpY2F0aW9uIGFsbG9jYXRpbmcgbWVtb3J5IG9uIApWUkFNIHRocm91 Z2ggcmFkZW9uLiBIb3dldmVyLCBpbiByYWRlb24sIHRoZSBDUyBpcyBkb25lIHRocm91Z2ggdGhl IGRyaXZlcidzIApJT0NUTC4gVGhlcmVmb3JlLCB0aGUgcmFkZW9uIGRyaXZlciBjYW4gcHV0IGEg ZmVuY2UgcGFja2V0IGFmdGVyIGV2ZXJ5IENTIHRvIAplbmFibGUgdGhlIFRUTSB0byBrbm93IGlm IGEgQk8gaXMgY3VycmVudGx5IGluIHVzZSBieSBhIENTLiAKCkluIGNvbnRyYXN0LCBpbiBIU0Eg dGhlIENTIGlzIGRvbmUgdGhyb3VnaCB1c2VybW9kZSBxdWV1ZXMuIEJlY2F1c2Ugb2YgdGhhdCAK cmVhc29uIGFtZGtmZCBjYW4gKm5vdCogcHV0IGEgZmVuY2UgcGFja2V0IGFmdGVyIGVhY2ggQ1Mg YW5kIG9mIGNvdXJzZSB3ZSAKY2FuJ3QgdHJ1c3QgdGhlIHVzZXJzcGFjZSB0byBkbyBpdC4gVGhl cmVmb3JlLCB0aGUgTGludXgga2VybmVsIGRvZXMgKm5vdCogCmhhdmUgdGhlIHZpc2liaWxpdHkg d2hldGhlciBhIEJPIGlzIGN1cnJlbnRseSBpbiB1c2Ugb3Igbm90LiAKClRoaXMgY3JlYXRlcyBh IHByb2JsZW0gd2hlbiBkZWFsaW5nIHdpdGggYSBtZW1vcnkgcHJlc3N1cmUgb24gYSBzeXN0ZW0g dGhhdCAKcnVucyBib3RoIEhTQSBhcHBsaWNhdGlvbnMgYW5kIFZSQU0tY29uc3VtaW5nIGdyYXBo aWMgYXBwbGljYXRpb25zLiBXaGVuIG1lbW9yeSAKcHJlc3N1cmUgb2NjdXJzIGR1ZSB0byBWUkFN IGFsbG9jYXRpb25zIHJlcXVlc3RzIGZyb20gZ3JhcGhpY3MgYXBwbGljYXRpb25zLCAKdGhlIGdy YXBoaWMgQ1MgY2FuIGZhaWwgYmVjYXVzZSBIU0EgQk9zIGFyZSBwaW5uZWQgaW4gVlJBTSBhbmQg Y2FuJ3QgYmUgc3dhcHBlZCAKb3V0IHRvIEdBUlQvU3lzdGVtIG1lbW9yeSwgZXZlbiBpZiB0aGUg Qk9zIGFyZSBjdXJyZW50bHkgaWRsZS4gSW4gYWRkaXRpb24sIAp0aGVyZSBjYW4gYWxzbyBiZSBh IHNpdHVhdGlvbiB3aGVyZSBhbiBIU0Etb25seSBzeXN0ZW0gaGFzIG1lbW9yeSBwcmVzc3VyZSBk dWUgCnRvIGZyYWdtZW50YXRpb24gaW4gdGhlIFZSQU0uCgo0LiAgQW5hbHl6aW5nIHRoZSB1c2Ut Y2FzZXMKClRoZSBmb2xsb3dpbmcgZGVzY3JpYmVzIGRpZmZlcmVudCBzY2VuYXJpb3Mgb2Ygc3lz dGVtIGJlaGF2aW9yIHJlZ2FyZGluZyAKVlJBTSB1c2FnZToKCi0gR3JhcGhpY3MgbmVlZHMgYSBi dWZmZXIgaW4gYSBzcGVjaWZpYyByYW5nZSAoc2V2ZXJhbCBjYXNlcyBmb3IgdGhhdCkuIFRoaXMg CiAgbWVhbnMgdGhhdCAqYWxsKiBWUkFNIGFsbG9jYXRpb25zIG11c3QgYmUgZXZpY3RlZCwgbm8g bWF0dGVyIHdoYXQgKGluY2x1ZGluZyAKICBIU0EpLgogIAotIEdyYXBoaWNzIGlzIHRvIGJlIHBy aW9yaXRpemVkIG92ZXIgSFNBIChlLmcuIGRlc2t0b3AgY29tcHV0ZXIgY2FzZSkuIEFsbCAKICBn cmFwaGljcyBhbGxvY2F0aW9ucyB0YWtlIHByZWNlZGVuY2Ugb3ZlciBIU0EuIGkuZS4gSFNBIG11 c3QgYWx3YXlzIHlpZWxkIAogIHRvIFRUTSBhc2tpbmcgdG8gZXZpY3QgQk9zLgogIAotIEdyYXBo aWNzIGlzIG5vdCBpbXBvcnRhbnQgb3Igbm90IGV2ZW4gZXhpc3RhbnQgKGUuZy4gc2VydmVyKS4g VGhlbiwgSFNBIAogIGV2aWN0aW9uIGNhbiBmYWlsLiBIb3dldmVyLCBldmVuIGluIHRoaXMgY2Fz ZSB0aGVyZSBtaWdodCBzdGlsbCBiZSBWUkFNIAogIGZyYWdtZW50YXRpb24gcHJvYmxlbSB0aGF0 IHdpbGwgcHJldmVudCBIU0EgcGlubmluZy4KCjUuICBQcm9wb3NlZCBtZWNoYW5pc20KClRoZSBw cm9wb3NlZCBtZWNoYW5pc20gaXMgY29tcG9zZWQgb2YgdHdvIHBhcnRzOgoKLSBQb2xpY3kgc2V0 IGJ5IHRoZSBzeXN0ZW0gYWRtaW4KLSBBbGxvd2luZyB0aGUgVFRNIHRvIGV2aWN0IEhTQSBCT3MK CjUuYS4gUG9saWN5CgpCZWNhdXNlIHdlIG5lZWQgdG8gc3VwcG9ydCBkaWZmZXJlbnQgc2NlbmFy aW9zIGFzIGRlc2NyaWJlZCBhYm92ZSwgSSBzdWdnZXN0IAp0byBnaXZlIHRoZSBzeXN0ZW0gYWRt aW4gdGhlIGFiaWxpdHkgdG8gc2VsZWN0IHRoZSBWUkFNIHVzYWdlIHBvbGljeS4gVGhpcyAKc2Vs ZWN0aW9uIHdpbGwgZGljdGF0ZSB0aGUgYmVoYXZpb3Igb2YgYW1ka2ZkIGluIHRoaXMgcmVnYXJk LgoKVGhlIHBvbGljeSBjb3VsZCBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyBvcHRpb25zOgotIFZS QU0gdXNhZ2U6IHByZWZlciBncmFwaGljcyBhcHBsaWNhdGlvbnMKLSBWUkFNIHVzYWdlOiBQcmVm ZXIgSFNBIGFwcGxpY2F0aW9ucwoKV2hlbiB0aGUgZmlyc3Qgb3B0aW9uIGlzIGNob3NlbiAocHJl ZmVyIGdyYXBoaWNzKSwgdXBvbiAqZWFjaCogcmVxdWVzdCB0byAKZXZpY3QgQk8gZnJvbSBWUkFN LCBhbWRrZmQgd2lsbCByZXNwb25kIGFzIGlmIHRoZSBCTyBpcyBpZGxlLgoKV2hlbiB0aGUgc2Vj b25kIG9wdGlvbiBpcyBjaG9zZW4gKHByZWZlciBIU0EpLCB1cG9uICplYWNoKiByZXF1ZXN0IHRv IApldmljdCBCTyBmcm9tIFZSQU0sIGFtZGtmZCB3aWxsIHJlc3BvbmQgYXMgaWYgdGhlIEJPIGlz IGluIHVzZS4KCkJlY2F1c2UgdGhpcyBpcyBhIG5ldyBwb2xpY3kgdGhhdCB3ZSBtaWdodCB3YW50 IHRvIHR3ZWFrIGluIHRoZSBmdXR1cmUsIEkgdGhpbmsgCnRoYXQgaXQgc2hvdWxkIGN1cnJlbnRs eSBiZSBhY2Nlc3NlZCBvbmx5IHRocm91Z2ggZGVidWdmcy4gT25jZSB0aGluZ3MgYXJlIAptYXR1 cmUgZW5vdWdoIGFuZCBwZW9wbGUgd2lsbCBmaWxsIGNvbmZpZGVudCBpbiBpdCwgdGhpcyBwb2xp Y3kgY2FuIGJlIHR1cm5lZCAKdG8gZWl0aGVyIGEga2VybmVsIHBhcmFtZXRlciBvciBzeXNmcyBh dHRyaWJ1dGUgb3IgYm90aC4KClRoZSBkZWZhdWx0IHBvbGljeSwgSU1PLCBzaG91bGQgYmUgInBy ZWZlciBncmFwaGljcyBhcHBsaWNhdGlvbnMiLgoKTm90ZSB0aGF0IGV2ZW4gd2l0aCB0aGUgcG9s aWN5IHNldCB0byAicHJlZmVyIGdyYXBoaWNzIiwgd2UgbXVzdCBub3QgZXZpY3QgCnRoZSBCT3Mg b2YgdGhlIFBUL1BECgo1LmIuIEV2aWN0aW9uIHByb2Nlc3MKClRvIGFsbG93IFRUTSB0byBldmlj dCBhIEJPIGZyb20gVlJBTSwgYW1ka2ZkIGVmZmVjdGl2ZWx5IG5lZWRzIHRvIHByZWVtcHQgCmEg cnVubmluZyB1c2VybW9kZSBxdWV1ZS4gT24gQ2Fycml6byB3ZSBjYW4gcHJlZW1wdCBhIHF1ZXVl IHdoZW5ldmVyIHdlIHdhbnQuCkhvd2V2ZXIsIHdoZW4gdXNpbmcgS2F2ZXJpIHdlIGNvdWxkIHJ1 biBpbnRvIHByb2JsZW1zIHdoZW4gdHJ5aW5nIHRvIHByZWVtcHQgCmEgcXVldWUuIApUaGUgcHJv YmxlbXMgY2FuIGFwcGVhciBpbiB0aGUgY2FzZSB3aGVyZSBhIHNoYWRlciB0YWtlcyBhIHZlcnkg bG9uZyAKdGltZSB0byBjb21wbGV0ZSAoaHVuZHJlZHMgb2YgbXMpLCBvciBpbiB0aGUgcmFyZSBj YXNlIHdoZXJlIHNvbWVvbmUgd3JvdGUgCmFuIGluZmluaXRlIHNoYWRlciAoYnVnIG9yIG90aGVy d2lzZSkuIEluIHRob3NlIGNhc2VzLCBLYXZlcmkgd2lsbCBmYWlsIHRvIApwcmVlbXB0IHRoZSBx dWV1ZSwgYW1ka2ZkIHdpbGwgaW5kaWNhdGUgYSBmYWlsdXJlIChkbWVzZykgYW5kIHRoZSBDUCAK d2lsbCBwcm9iYWJseSBiZSBzdHVjay4KCkluIHRob3NlIGNhc2VzLCB0aGUgb25seSBvcHRpb24g bGVmdCBmb3IgdGhlIGRyaXZlciBpcyB0byBwZXJmb3JtIGFuIG9wZXJhdGlvbgpjYWxsZWQgImtp bGwgYWxsIHdhdmVzIi4gVGhpcyB3b3VsZCB0ZXJtaW5hdGUgYWxsIHRoZSBydW5uaW5nIHdhdmVz IGFuZCBhbGxvdyAKdGhlIENQIHRvIHByZWVtcHQgdGhlIHF1ZXVlcy4gCgpJbiBhZGRpdGlvbiwg dGhlIEJPcyB0aGF0IGFyZSBjcmVhdGVkIG5lZWQgdG8gc2V0IHRoZSBjYWxsYmFjayBmdW5jdGlv biBvZiAKdGhlIHJlc3YuIHBvaW50IHRvIGFtZGtmZC4gSG93ZXZlciwgZm9yIHRoZSBCT3Mgb2Yg dGhlIFBUL1BELCB3ZSBuZWVkIHRvIHNldCAKYSBkaWZmZXJlbnQgY2FsbGJhY2sgZnVuY3Rpb24g c28gd2UgY291bGQgcHJldmVudCB0aGUgZXZpY3Rpb24gb2YgdGhvc2UgQk9zLgoKVGhlIHN1Z2dl c3RlZCBhbGdvcml0aG0gZm9yIGV2aWN0aW9uIGlzIChpbiBjYXNlIHBvbGljeSBpcyB0byBwcmVm ZXIgZ3JhcGhpY3MpOgoKICAtIFRUTSBjYWxscyBhbWRrZmQgY2FsbGJhY2ssIGFza2luZyBpZiBh IEJPIGlzIGlkbGUKICAtIGFtZGtmZCBwcmVlbXB0cyB1c2VyIHNwYWNlIHF1ZXVlIGFuZCByZW1v dmVzIGl0IGZyb20gcnVuLWxpc3QKCS0gaW4gY2FzZSB0aGUgcHJlZW1wdGlvbiBpcyBzdHVjaywg YW1ka2ZkIGtpbGxzIHRoZSB3YXZlLgogIC0gYW1ka2ZkIHRlbGxzIFRUTSB0aGF0IHRoZSBCTyBp cyBpZGxlCiAgLSBUVE0gZXZpY3QgYnVmZmVyIHRvIEdBUlQKICAtIGFtZGtmZCB1cGRhdGVzIEdQ VVZNIHBhZ2UgdGFibGUgYW5kIGRvZXMgYWxsIG5lY2Vzc2FyeSBUTEIgZmx1c2hpbmcKICAtIGFt ZGtmZCByZXN0b3JlcyB1c2VyIHNwYWNlIHF1ZXVlCgo2LiAgQ29uY2x1c2lvbgoKVGhlIGN1cnJl bnQgc3RhdHVzIG9mIHRoZSBjb2RlIGlzIHRoYXQgdGhlIGZvdXIgSU9DVExzIG1lbnRpb25lZCBp biAKcG9pbnQgMSBhcmUgcGFydGlhbGx5IGltcGxlbWVudGVkLiBUaGUgbWVjaGFuaXNtIGRlc2Ny aWJlZCBoZXJlIGlzIG5vdCAKaW1wbGVtZW50ZWQgeWV0IGFzIEkgZmlyc3Qgd2FudGVkIHRvIGdl dCBzb21lIHJlc3BvbnNlLgoKU28gYWx0aG91Z2ggcGFydCBvZiB0aGUgY29kZSBpcyByZWFkeSwg SSB3b3VsZCBsaWtlIHRvIHB1Ymxpc2ggdGhlIHBhdGNoZXMgCmFzIGEgc2luZ2xlIHBhdGNoLXNl dC4KCkkgd291bGQgbGlrZSB0byB0aGFuayBSSCdzIEplcm9tZSBHbGlzc2UgZm9yIGhlbHBpbmcg bWUgd2l0aCB0aGlzIFJGQy4KCkNvbW1lbnRzIGFuZCBmbGFtZXMgYXJlIHdlbGNvbWUuCgpUaGFu a3MsCglPZGVkCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpo dHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==