From: Hugh Blemings Date: Mon, 27 Jul 2020 09:07:57 +0000 (+1000) Subject: Re: [libre-riscv-dev] [OpenPOWER-HDL-Cores] system call (sc) LEV "reserved field" X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=c39dbc62005a6ccc33f155c6228f2d35d5c6de74;p=libre-riscv-dev.git Re: [libre-riscv-dev] [OpenPOWER-HDL-Cores] system call (sc) LEV "reserved field" --- diff --git a/b0/207e0975b149cfb5531a0c2f5721fd895c1b41 b/b0/207e0975b149cfb5531a0c2f5721fd895c1b41 new file mode 100644 index 0000000..3bc3392 --- /dev/null +++ b/b0/207e0975b149cfb5531a0c2f5721fd895c1b41 @@ -0,0 +1,289 @@ +Return-path: +Envelope-to: publicinbox@libre-riscv.org +Delivery-date: Mon, 27 Jul 2020 10:08:05 +0100 +Received: from localhost ([::1] helo=libre-riscv.org) + by libre-soc.org with esmtp (Exim 4.92) + (envelope-from ) + id 1jzz76-0007XY-EL; Mon, 27 Jul 2020 10:08:04 +0100 +Received: from bilbo.ozlabs.org ([203.11.71.1] helo=ozlabs.org) + by libre-soc.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) + (Exim 4.92) (envelope-from ) id 1jzz73-0007XR-Rx + for libre-riscv-dev@lists.libre-riscv.org; Mon, 27 Jul 2020 10:08:02 +0100 +Received: from authenticated.ozlabs.org (localhost [127.0.0.1]) + (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) + key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) + (No client certificate requested) + by mail.ozlabs.org (Postfix) with ESMTPSA id 4BFYqf02kCz9sRR; + Mon, 27 Jul 2020 19:07:57 +1000 (AEST) +DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=blemings.org; + s=201708; t=1595840878; + bh=j13F88OfJ7f8Yx+7K/WQJkJJxrJHdYkOp62cwIK7JXI=; + h=Subject:To:Cc:References:From:Date:In-Reply-To:From; + b=b1yDJkxrZ5zGLM6SJnOgAyiBRbAdRlZ6jFoQMtOYdiLwkkxMLIXVW26amMvx/IPFl + bKcOI3O5uRgV7Dv3hx/y4XHpEtcsI9ktRArPQfpp60s0hqgPJ0BUFdSOWgLWRpIrr2 + a5qAuokmsElhD+aS62ZD/TkjBG3yMU+HtFU1MIaXLqMJL4WgFxZOeBYKB1Rwm01xM6 + TIMv/fG+4zHenso8ZWt4yzUYE7UCHYlZPAje+x2vSbXgAH2cMdr6bA9OMpl3Z5t9Gn + wX0Flt6BYNWGxoviSlleeFvdVa/ZXIX8XTzthVPwaMb0nzbkkwgUyP1IUcQ0OH++xE + NpCzCb5J3pu+g== +To: Luke Kenneth Casson Leighton , + Benjamin Herrenschmidt +References: + <20200722224713.GA213782@thinks.paulus.ozlabs.org> + + + + + + <16afa487019146baacfc26f50db637f6c2c9576a.camel@kernel.crashing.org> + +From: Hugh Blemings +Message-ID: +Date: Mon, 27 Jul 2020 19:07:57 +1000 +User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 + Firefox/68.0 Thunderbird/68.10.0 +MIME-Version: 1.0 +In-Reply-To: +Content-Language: en-AU +X-Content-Filtered-By: Mailman/MimeDel 2.1.23 +Subject: Re: [libre-riscv-dev] [OpenPOWER-HDL-Cores] system call (sc) LEV + "reserved field" +X-BeenThere: libre-riscv-dev@lists.libre-riscv.org +X-Mailman-Version: 2.1.23 +Precedence: list +List-Id: Libre-RISCV General Development + +List-Unsubscribe: , + +List-Archive: +List-Post: +List-Help: +List-Subscribe: , + +Reply-To: Libre-RISCV General Development + +Cc: "openpower-hdl-cores@mailinglist.openpowerfoundation.org" + , + Libre-RISCV General Development +Content-Transfer-Encoding: base64 +Content-Type: text/plain; charset="utf-8"; Format="flowed" +Errors-To: libre-riscv-dev-bounces@lists.libre-riscv.org +Sender: "libre-riscv-dev" + +SGl5YSwKCkFwb2xvZ2llcyBmb3IgdGhlIHRvcCBwb3N0IGJ1dCBJIGNhbiBvZmZlciBhIGhpc3Rv +cmljYWwgcGVyc3BlY3RpdmUgb24gCmF0IGxlYXN0IHBhcnQgb2YgdGhpcyBJIHRoaW5rLgoKQmVm +b3JlIEkgZG8gdGhvdWdoIGEgZGlzY2xhaW1lciAtIHRoZXNlIGFyZSBteSBvcGluaW9ucyBhbmQg +CnJlY29sbGVjdGlvbnMgb25seSwgY2VydGFpbmx5IG5vdCBwb2xpY3khIDopCgpXaGlsZSBpdCBt +YXkgY2hhbmdlIG92ZXIgdGltZSwgdGhlIGZvY3VzIGZvciBPcGVuUE9XRVIgaW4gdGhlIGVtYmVk +ZGVkIApzcGFjZSB3aXRoIHRoZSBPcGVuIElTQSBoYXMgYmVlbiBmaXJtbHkgaW4gdGhlIG1pZCB0 +byBoaWdoIGVuZCBhbmQgCnRoZXJlZm9yZSBtb3N0bHkgNjQgYml0IHNwYWNlLgoKU28gdG8gYm9y +cm93IHNvbWUgb2YgdGhlIHRlcm1pbm9sb2d5L2V4YW1wbGVzIGJlbG93LCBhIFNvQyBmb3IgYSAK +UmFzcGJlcnJ5IFBpIHN0eWxlIGRldmljZSBiYXNlZCBvbiBPcGVuUE9XRVIgP8KgIFN1cmUsIGRl +ZmluaXRlbHkgYW4gYXJlYSAKb2YgaW50ZXJlc3QuCgpHZXR0aW5nIGRvd24gaW50byBzbWFsbGVy +IGRldmljZXMgLSByZWFsbHkgcmVzb3VyY2UgY29uc3RyYWluZWQgYW5kL29yIApuYXRpdmUgMzIg +Yml0IG9ubHkgLSAidHJ1bHkgZW1iZWRkZWQiIC0gdGhhdCdzIGFuIGFyZWEgd2VsbCBzZXJ2ZWQg +YnkgClJJU0MtViBhbmQgbm90LCBJIHRoaW5rIHNvbWV3aGVyZSB3ZSdyZSBnb2luZyB0byBzZWUg +Zm9jdXMgZm9yIE9wZW5QT1dFUiAKYXQgcHJlc2VudC4KCk5vdCB0byBzYXkgaXQgY2FuJ3QgaW4g +dGhlIGZ1dHVyZSwgYnV0IEkgdGhpbmsgdGhlcmUgaXMgYSBiaWFzIHRvd2FyZHMgCndvcmtpbmcg +aW4gYXJlYXMgdGhlIGVjb3N5c3RlbSBhcyBpdCBjdXJyZW50bHkgc3RhbmRzIGtub3dzIHdlbGwg +LSAKcGxheWluZyB0byBjdXJyZW50IHN0cmVuZ3Rocy4gOikKClRoYXQgc2FpZCBJIG1heSBzdGls +bCBkbyBhbiBPcGVuUE9XRVIgYmFzZWQgTlRQIGVuYWJsZWQgNy1zZWdtZW50IApkaXNwbGF5IGJl +ZHNpZGUgY2xvY2sgb25lIGRheSwgYnV0IHRoYXQgd2lsbCBiZSBib3JuIG9mIHN0dWJib3JubmVz +cywgCm5vdCBiZWNhdXNlIEkgYWN0dWFsbHkgbmVlZCBhIDY0IGJpdCBDUFUgdG8gZG8gaXQgOykK +CkNoZWVycywKSHVnaAoKCgpPbiAyNy83LzIwIDY6MDAgcG0sIEx1a2UgS2VubmV0aCBDYXNzb24g +TGVpZ2h0b24gd3JvdGU6Cj4gLS0tCj4gY3Jvd2QtZnVuZGVkIGVjby1jb25zY2lvdXMgaGFyZHdh +cmU6IGh0dHBzOi8vd3d3LmNyb3dkc3VwcGx5LmNvbS9lb21hNjgKPgo+IE9uIE1vbiwgSnVsIDI3 +LCAyMDIwIGF0IDU6MzAgQU0gQmVuamFtaW4gSGVycmVuc2NobWlkdAo+IDxiZW5oQGtlcm5lbC5j +cmFzaGluZy5vcmc+IHdyb3RlOgo+Cj4+PiBhbHRob3VnaCBpIGhhdmUgdG8gYXNrIHdoeSwgZm9y +IEVtYmVkZGVkLCB0aGV5IGRpZCBub3QganVzdCByZWNvbXBpbGUKPj4+IHRoZSBzb3VyY2UgY29k +ZSwgY3VzdG9taXNlZCBmb3IgdGhhdCBlbmR1c2VyIGFwcGxpY2F0aW9uLgo+PiBCZWNhdXNlIHRo +ZSBkaXN0aW5jdGlvbiBiZXR3ZWVuICJlbWJlZGRlZCIgYW5kICJ1bml4IiBpcyB2ZXJ5IGJsdXJy +eQo+IGJlbmphbWluOiB0aGlzIGlzIG5vdCBnb29kISAgc3BlY2lmaWNhdGlvbnMgc2hvdWxkICpu +ZXZlciogYmUgYmx1cnJ5IQo+IGkgYmVsaWV2ZSB5b3UgbWF5IG1lYW4gc29tZXRoaW5nIGRpZmZl +cmVudCwgaGVyZSwgd2hpY2ggd2FycmFudHMKPiBpbnZlc3RpZ2F0aW9uLiAgaSB0aGluayBpIGtu +b3cgd2h5LCBnaXZlbiB0aGF0IHRoZSB0eXBpY2FsIG1hcmtldHMgZm9yCj4gZW1iZWRkZWQgUG93 +ZXJJU0EgY29yZXMgYXJlIHNwZWNpYWxpc3QgYXJlYXMgKGFlcm9zcGFjZSBhbmQgc28gb24pLgo+ +IFF1b3JsIGZvciBleGFtcGxlIGlzIG1hcmtldGVkIGF0IHJvdXRlcnMgYW5kIGRlZmluaXRlbHkg +Y3Jvc3NlcyBvdmVyLAo+IHlldCBpcyBzdGlsbCB0ZXJtZWQgImVtYmVkZGVkIi4KPgo+PiBhbmQg +aW4gbWFueSBhcmVhcyBvYnNvbGV0ZS4KPiBvayBsZXQncyBsb29rIGF0IHRoZSB2My4xQiBkb2N1 +bWVudCwgcGFnZSB2aWlpICJDb21wbGlhbmN5IFN1YnNldHMiLgo+Cj4gbm93aGVyZSBpbiB0aGVy +ZSAtIGV2ZW4gaW4gdGhlIHNjYWxhciBmaXhlZC1wb2ludCBzZWN0aW9uIC0gYW0gaQo+IHNlZWlu +ZyBtZW50aW9uIG9mIHdoYXQgd291bGQgYmUgZXhwZWN0ZWQgZm9yICJyZWFsbHkgcmVzb3VyY2UK +PiBjb25zdHJhaW5lZCBpLmUuICp0cnVseSogZW1iZWRkZWQiIG1hcmtldHM6IGJlaW5nIGFibGUg +dG8gZHJvcCB0aGUKPiAodmVyeSBleHBlbnNpdmUsIGdhdGUtd2lzZSkgbG9naWMgZGVjb2Rpbmcg +Zm9yIGNhdGNoaW5nIGlsbGVnYWwKPiBpbnN0cnVjdGlvbnMsIGlsbGVnYWwgU1BSIGFjY2Vzcywg +YW5kIHNvIG9uLgo+Cj4gaW4gU0ZTIHRoZSBkcm9wIGluIGdhdGUgY291bnQgZnJvbSBub3QgbmVl +ZGluZyBhIEZQVSBpcyBtYXNzaXZlOiBhbgo+IEZQVSB0eXBpY2FsbHkgZHdhcmZzIHRoZSBzaXpl +IG9mIHRoZSBtYWluIGNvcmUuICBvbmNlIHRoZSBGUFUgaXMKPiBkcm9wcGVkIHRoZW4gcmVsYXRp +dmVseSBzcGVha2luZyBmdXJ0aGVyIHNhdmluZ3Mgc3VjaCBhcyBjdXR0aW5nIHRob3NlCj4gbmVl +ZGVkIGZvciBpbGxlZ2FsIGluc3RydWN0aW9ucyBiZWNvbWVzIHNpZ25maWNhbnQgKDUlIHNhdmlu +ZywgMTAlCj4gc2F2aW5nKSBhbmQgaW4gbWFzcy12b2x1bWUgbWFya2V0cyB0aGF0J3MgYWJzb2x1 +dGVseSBtYXNzaXZlLgo+Cj4gbGV0IHVzIHRoZXJlZm9yZSBkZWZpbmUgInJlc291cmNlLWNvbnN0 +cmFpbmVkIGVtYmVkZGVkIG1hcmtldHMiIGFzCj4gInRydWx5IiBlbWJlZGRlZCwgcmF0aGVyIHRo +YW4gdGhlIGJsdXJyeSBkZWZpbml0aW9uIGluc3BpcmVkIGJ5IHRoZQo+IG1lbWUgdGhhdCBnb2Vz +IGJ5IHRoZSBtb25pa2VyICJJb1QiLCB3aGljaCBub3cgaW5jbHVkZXMgOCsgd2F0dAo+IHJhc3Bi +ZXJyeSBwaSA0IGRldmljZXMgdGhhdCBydW4gc28gaG90IHRoZXkgbmVlZCBmYW4gY29vbGluZy4K +Pgo+IHdoaWxzdCBpdCBjb21lcyB3aXRoIHRoZSAiYnVyZGVuIiBvZiBuZWVkaW5nIHRvIHNuYXBz +aG90IGFuZCBtYWludGFpbgo+IHRoZSBmdWxsIHRvb2xjaGFpbiAod2hpY2ggZm9yIGN1c3RvbWlz +YXRpb24gYW5kIGN1c3RvbSBleHRlbnNpb25zIGlzIGEKPiBoYXJkIHJlcXVpcmVtZW50IGFueXdh +eSksIG9uZSBvZiB0aGUga2V5IGFyZWFzIGluIHdoaWNoIFJJU0MtViBoYXMKPiBiZWVuIHN1Y2Nl +c3NmdWwgaXMgdGhlIG1hc3Mtdm9sdW1lICp0cnVseSogZW1iZWRkZWQgbWFya2V0Lgo+Cj4gdGhl +IGNhbm9uaWNhbCBleGFtcGxlIGlzIFdlc3Rlcm4gRGlnaXRhbCwgd2hvIHVwIHVudGlsIFJJU0Mt +ViBoYWQKPiB0aGVpciBvd24gInRydWx5IiBlbWJlZGRlZCBjdXN0b20gSVNBIHdoaWNoIGhhcyBi +ZWVuIGh5cGVyLWVmZmljaWVudAo+IGZvciB0aGVtLCBmb3IgdXNlIGluIFNTRHMsIEhERHMgYW5k +IFVTQiBGbGFzaCBkZXZpY2VzLiAgdGhlIHJlYXNvbgo+IHRoZXkgd2FudGVkIHRvIGdvIHdpdGgg +UklTQy12IGlzIHRvIHNhdmUgb24gbWFpbnRlbmFuY2Ugb2YgdGhlaXIgb3duCj4gY3VzdG9tIHRv +b2xjaGFpbiAoYmVhciBpbiBtaW5kIHRoYXQgd2l0aCBhIGN1c3RvbSBJU0EgeW91IG5lZWQgbm90 +Cj4gb25seSBhIGN1c3RvbSB0b29sY2hhaW4sIHlvdSBuZWVkIGEgY3VzdG9tIE9TIGFuZCBjdXN0 +b20gYXBwbGljYXRpb25zCj4gYXMgd2VsbCEgIHRoZSBjb3N0IHRvIHRoZW0gb2YgbWFpbnRhaW5p +bmcgdGhpcyB3b3VsZCBiZSBlbm9ybW91cyEpCj4KPiBoZXJlLCBpZiB0aGUgYmluYXJ5IHNpemUg +aXMgbGFyZ2UsIHRoaXMgY3V0cyBpbnRvIHRoZSB1c2FnZSBhbGxvY2F0aW9uCj4gb2YgdGhlIG9u +LWJvYXJkIE5BTkQgYW5kIG9uLWJvYXJkIFJBTSAoYmVjYXVzZSB0aGV5IGRvbid0IGhhdmUKPiBz +ZXBhcmF0ZSBOQU5EIGZyb20gdGhlIGN1c3RvbWVyLWFsbG9jYXRlZCBhcmVhLCBvciBzZXBhcmF0 +ZSBSQU0gZm9yCj4gdGhlIGNhY2hlaW5nIG9mIGN1c3RvbWVyJ3MgZGF0YSkuCj4KPiBpZiB0aGUg +TkFORCBhbmQgUkFNIGFsbG9jYXRpb24gYXJlIHJlZHVjZWQsIHRoYXQgaGFzIGEgdmVyeSByZWFs +Cj4gZGV0cmltZW50YWwgaW1wYWN0IG9uIHRoZWlyIHNhbGVzIGFuZCBwcm9maXRhYmlsaXR5LCBl +c3BlY2lhbGx5IGluCj4gc3VjaCBhIGhpZ2hseSBjb21wZXRpdGl2ZSBtYXJrZXQhCj4KPiByZW1l +bWJlciB0aGF0IGZvciBXRCB3ZSBhcmUgdGFsa2luZyBzYWxlcyBvZiBiaWxsaW9ucyBvZiB1bml0 +cywgaGVyZS4KPiAiYSBmZXcgZ2F0ZXMiIG11bHRpcGxpZWQgYnkgYSBiaWxsaW9uIHNhbGVzIGNh +biBtYWtlIHRoZSBkaWZmZXJlbmNlCj4gYmV0d2VlbiBwcm9maXQgYW5kIGxvc3MuCj4KPiBzbyB0 +aGV5IGZvdW5kIHdoZW4gY29udmVydGluZyB0byBSSVNDLVYgZnJvbSB0aGVpciBvd24gaW50ZXJu +YWwgSVNBCj4gdGhhdCBiaW5hcnkgc2l6ZSBpbmNyZWFzZWQgYnkgKGlpcmMpIDIwJS4gIHRoZXkg +YWJzb2x1dGVseSBoYWQgdG8gZG8KPiBzb21ldGhpbmcgYWJvdXQgdGhpcyBhbmQgc28gc2V0IGFi +b3V0IGFuYWx5c2luZyBzdGF0aWMgaW5zdHJ1Y3Rpb24KPiBhbGxvY2F0aW9uIGFuZCAoaSBhbSBw +cm9qZWN0aW5nIGhlcmUgYXMgdGhpcyB3YXMgMjAxNikgdGhleSB3b3VsZCBieQo+IG5vdyBsaWtl +bHkgaGF2ZSB1c2VkIHRoYXQgcmVzZWFyY2ggdG8gY3JlYXRlIGN1c3RvbSBpbnN0cnVjdGlvbgo+ +IG1vZGlmaWNhdGlvbnMgc2ltaWxhciB0byB0aGUgVkxFIEJvb2ssIGV4Y2VwdCB0YXJnZXR0ZWQg +c3BlY2lmaWNhbGx5Cj4gYXQgdGhlaXIgdXNlLWNhc2UuCj4KPiBub25lIG9mIHRoZXNlIGN1c3Rv +bSBJU0EgbW9kaWZpY2F0aW9ucyB3aGljaCByZXN1bHQgaW4gY29kZS1zaXplCj4gcmVkdWN0aW9u +IHRoYXQgaXMgaW1wb3J0YW50IHRvIHRoZWlyIHByb2ZpdGFiaWxpdHkgaW4gYSB2ZXJ5IHJlYWwg +d2F5Cj4gYWZhaWsgYXJlIG1hZGUgcHVibGljIChpIGhhdmUgbm90IGNoZWNrZWQgb3IgaGVhcmQg +YW55IG5ld3Mgc28gdGhpcwo+IGNvdWxkIGJlIHdyb25nKS4KPgo+IHRoaXMgd2FzIGFsbCBiYXNl +ZCBvbiB0aGUgaW5pdGlhbCBiYXNlIG9mICpub3QqIGhhdmluZyB0byBoYXZlIHRoZQo+IGdhdGVz +IGZvciBpbGxlZ2FsIGluc3RydWN0aW9uIGNhdGNoaW5nIGV0Yy4sIHRoZXkgaGFkIHRvIGdvICJj +dXN0b20KPiBmaXJtd2FyZSwgY3VzdG9tIHRvb2xjaGFpbiIgYW55d2F5LCBhbmQgdGhlIFJJU0Mt +ViBpbml0aWF0aXZlIHByb3ZpZGVkCj4gdGhlbSB3aXRoIGEgaHVnZSBjb3N0IHNhdmluZyBvbiB0 +aGUgdG9vbGNoYWluIGFuZCBtdWNoIG1vcmUuCj4KPiBzbyB0aGV5IGdvdCB0byBoYXZlIHRoZWly +IGNha2UgYW5kIGVhdCBpdDoKPgo+ICogY29zdCBzYXZpbmdzIG9uIHRvb2xjaGFpbiwga2VybmVs +LCBvcyBhbmQgYm9vdGxvYWRlciBtYWludGVuYW5jZSAoYnkKPiBiZWluZyBhYmxlIHRvIHJpZGUg +b2ZmIHRoZSBiYWNrIG9mIFJJU0MtViAib2ZmaWNpYWwiKQo+ICogY29zdCBzYXZpbmdzIGZyb20g +dGhlICJFbWJlZGRlZCBSSVNDLVYgUGxhdGZvcm0iIGFscmVhZHkgaGF2aW5nIG1hZGUKPiBkZWNp +c2lvbnMgdGhhdCBzaWduaWZpY2FudGx5IHJlZHVjZWQgZ2F0ZSBjb3VudAo+ICogY29zdCBzYXZp +bmdzIGZyb20gZnVydGhlciByZWR1Y3Rpb25zIGJ5IGFkZGluZyBjdXN0b20gaW5zdHJ1Y3Rpb25z +Cj4gYW5kIGN1c3RvbWlzaW5nIHRoZSB0b29sY2hhaW4gdG8gbWF0Y2ggdGhlbS4KPgo+ICp0aGlz +KiBpcyAqdHJ1bHkqIGVtYmVkZGVkLgo+Cj4KPgo+PiBPbmUgY2FuIGNvbXBpbGUgYSBzaW5nbGUg +aW1hZ2UgdGhhdCBpcyBtZWFudCB0byBydW4gb24gYSB3aWRlIHZhcmlldHkKPj4gb2Ygc3lzdGVt +IGFuZCBldmVuIHRoZSAiZW1iZWRkZWQiIHdvcmxkIHdhbnRzIHRoYXQgY2FwYWJpbGl0eS4KPiBp +ZiB3ZSBhcmUgdGFsa2luZyBhYm91dCB0aGUgZXhpc3RpbmcgKGNvcmUpIE9wZW5QT1dFUiBGb3Vu +ZGF0aW9uCj4gbWVtYmVycyBzdWJzZXQgZW1iZWRkZWQgbWFya2V0cywgc2VydmVkIGJ5IHRoZWly +IGN1cnJlbnQgcHJvZHVjdAo+IG9mZmVyaW5nczogeWVzLgo+Cj4gaWYgd2UgYXJlIHRhbGtpbmcg +YWJvdXQgdGhlICpmdWxsKiAod29ybGQtd2lkZSkgZGVmaW5pdGlvbiBvZgo+ICJlbWJlZGRlZCIg +d2hpY2ggaW5jbHVkZXMgInRydWx5IiBlbWJlZGRlZDogYWJzb2x1dGVseSBub3QuCj4KPiBhbmQg +aSBoYXZlIHRvIHBvaW50IG91dCB0aGF0IGlmIE9wZW5QT1dFUidzIGRpcmVjdGlvbiBvbmx5IHRh +a2VzIGludG8KPiBjb25zaWRlcmF0aW9uIHRoZSBmb3JtZXIsIGl0IGlzICpndWFyYW50ZWVkKiB0 +aGF0IFBvd2VyIHdpbGwgbmV2ZXIKPiBleHRlbmQgb3Igc2VlIHdpZGUgYWRvcHRpb24gaW50byB0 +aGUgbGF0dGVyLiAgdGhlIGNvc3QtYmVuZWZpdAo+IGFuYWx5c2lzIGNvbWVzIHVwIHNvIHNob3J0 +IHRoYXQgbm8gbWFzcy12b2x1bWUgcHJvZHVjdCBtYW51ZmFjdHVyZXIKPiB3aWxsIGNvbnNpZGVy +IGl0LCBhbmQgcXVpdGUgcmlnaHRseSBzbywgYXMgdGhpbmdzIHN0YW5kLgo+Cj4gdGhpcyB0aGVu +IGlzIHRoZSBjaGFsbGVuZ2UgZm9yIE9wZW5QT1dFUiBpZiBpdCB3aXNoZXMgdG8gaGF2ZSBhIHdp +ZGVyCj4gcmVhY2g6IHRvIGFkYXB0IHRvIGJleW9uZCB0aGUgbmVlZHMgb2YgdGhlIGN1cnJlbnQg +bWVtYmVycywgd2hpbHN0Cj4gYWxzbyAtIHZlcnkgaW1wb3J0YW50bHkgLSByZXNwZWN0aW5nIHRo +ZSBsb25nLXN0YW5kaW5nIHJlbGF0aW9uc2hpcCwKPiBjb250cmlidXRpb24gYW5kIG5lZWRzICpv +ZiogdGhvc2UgY3VycmVudCBtZW1iZXJzIGF0IHRoZSBzYW1lIHRpbWUuCj4KPiBpdCdzIGEgZGVs +aWNhdGUgYmFsYW5jZSB0byBhY2hpZXZlLgo+Cj4KPj4gRWl0aGVyCj4+IGJlY2F1c2UgdGhleSBl +bmQgdXAgcnVubmluZyBzb21lIGtpbmQgb2YgInVwc3RyZWFtIiBPUyBpbWFnZSwgb3IKPj4gYmVj +YXVzZSB0aGV5IGRvbid0IHdhbnQgdG8gbWFpbnRhaW4gY29tcGxldGVseSBkaWZmZXJlbnQgU1cg +aW1hZ2VzIGZvcgo+PiBhbGwgdGhlaXIgcHJvZHVjdHMsIGV0Yy4uLgo+IGluZGVlZC4gIGFuZCB0 +aGlzIGlzIHBlcmZlY3RseSByZWFzb25hYmxlLCBmb3Igd2hhdCB3ZSd2ZSBjb2xsb3F1aWFsbHkK +PiB0ZXJtZWQgdGhlICJibHVycnkiIGVtYmVkZGVkIG1hcmtldHMuICB0aGUgY29zdCBzYXZpbmdz +IG9mIG5vdCBoYXZpbmcKPiB0byByZWNvbXBpbGUgb3IgbWFpbnRhaW4gY3VzdG9tIHBhY2thZ2Vz +IGV0Yy4gLSB0aGVzZSBhcmUgZW5vcm1vdXMKPiBzYXZpbmdzLCBhYnNvbHV0ZWx5IHdvcnRod2hp +bGUgcHVyc3VpbmcuCj4KPiB1bmZvcnR1bmF0ZWx5LCBpZiB0aGF0IGV4cGVjdGF0aW9uIHRoZW4g +cHJvcGFnYXRlcyB0aHJvdWdob3V0IHRoZQo+IGVudGlyZSBPcGVuUE9XRVIgY29tbXVuaXR5IGFz +IGEgImhhcmQgZXhwZWN0YXRpb24iIChldmVuIHRvIHRoZSBTRlMKPiBDb21wbGlhbmN5IHN1YnNl +dCksIGl0ICphdXRvbWF0aWNhbGx5IGFuZCBpbmhlcmVudGx5KiBleGNsdWRlcyBhbnkKPiBwb3Nz +aWJpbGl0eSBmb3IgICJ0cnVseSIgZW1iZWRkZWQgdmVuZG9ycyB0byBjb25zaWRlciB1c2luZyBQ +T1dFUiwKPiBiZWNhdXNlIHRoZXkgYXJlICpwcm9oaWJpdGVkKiBieSB0aGUgQ29tcGxpYW5jeSBS +ZXF1aXJlbWVudHMgZnJvbQo+IGRyb3BwaW5nIHRoZSBnYXRlcyB0aGF0IHdvdWxkIG1ha2UgdGhl +IHByb2R1Y3QgcHJvZml0YWJsZSEKPgo+Cj4+PiBob3dldmVyIHRoaXMgYWxzbyBhY3R1YWxseSBp +bGx1c3RyYXRlcyBwcmVjaXNlbHkgd2h5IGkgbWVudGlvbmVkIHRoYXQKPj4+IGZvciBiZXN0IHJl +c3VsdHMsIGEgc3BlYyBoYXMgdG8gaGF2ZSBkaWZmZXJlbnQgcGxhdGZvcm0gYmVoYXZpb3VyIGZv +cgo+Pj4gRW1iZWRkZWQgYXMgY29tcGxldGVseSBzZXBhcmF0ZSBhbmQgZGlzdGluY3QgZnJvbSBV +TklYLgo+PiBUaGlzIGlzIG5vdCByZWFsbHkgdHJ1ZSBhbnltb3JlLgo+IHRoYW5rcyB0byB0aGUg +bWVtZSAiSW9UIiBhbmQgc28gb24gdGhlIHdvcmQgImVtYmVkZGVkIiB3aGVuIGluIGdlbmVyYWwK +PiBjaXJjdWxhdGlvbiBoYXMgYmVjb21lIG1lYW5pbmdsZXNzLCB5ZXMuICBpIGFtIG5vdCB1c2lu +ZyB0aGUgdGVybQo+ICJFbWJlZGRlZCIgaW4gdGhlIG1lYW5pbmdsZXNzIHNlbnNlLCBpIGFtIHVz +aW5nIGl0IGluIHRoZSBvcmlnaW5hbAo+IHNlbnNlIHVzZWQgdG8gZGVzY3JpYmUgOCBhbmQgMTYg +Yml0IHByb2Nlc3NvciBtYXJrZXRzICh3aGVuIHVwcmF0ZWQgdG8KPiAzMiBhbmQgc29tZXRpbWVz +IDY0IGJpdCkuCj4KPiBFbWJlZGRlZCBpbiB0aGUgc2Vuc2Ugb2YgQXJkdWlubyBQSUNzLCBBVE1F +TCBBVFNBTTMgc2VyaWVzLCBTVCBNaWNybwo+IFNUTTMyRiBzZXJpZXMsIGFuZCBzbyBvbi4gQVJN +IENvcnRleCBNMCwgTTMgc3R5bGUgYW5kIHN1Y2guCj4KPiBub3QgdGhlICJ0YWtlIHRoZSBsYXRl +c3QgNjQgYml0IGhpZ2ggcGVyZm9ybWFuY2UgMi41IGdoeiBxdWFkLWNvcmUgOCsKPiB3YXR0IHBy +b2Nlc3Nvciwgc2xhcCBpdCBpbnRvIGEgU0JDIGZvcm0tZmFjdG9yIGFuZCBjYWxsIGl0IHF1b3Rl +cwo+IGVtYmVkZGVkIHF1b3RlcyIgZGVmaW5pdGlvbiBvZiBFbWJlZGRlZC4KPgo+PiBGb3IgZXhh +bXBsZSwgZG8geW91IGNvbnNpZGVyIHlvdXIgY2VsbAo+PiBwaG9uZSBvciB5b3VyIFRWICJlbWJl +ZGRlZCIgb3IgInVuaXgiID8KPiBVTklYLCB3aXRob3V0IGEgc2hhZG93IG9mIGRvdWJ0LiAgQW5k +cm9pZCBpcyBhIFVOSVggUGxhdGZvcm0uICB0aGUKPiBBbmRyb2lkIGtlcm5lbCAqaXMqIHRoZSBs +aW51eCBrZXJuZWwsIGFuZCwgaWYgZW5kLXVzZXJzIGFyZSBwcmVwYXJlZAo+IHRvIHB1dCBpbiBz +b21lIGVmZm9ydCwgYWxsIGRldmljZXMgcnVubmluZyBBbmRyb2lkIC0gaWYgdGhlcmUgaXNuJ3QK +PiBUcmVhY2hlcm91cyBEUk0gYnVpbHQtaW4gdG8gdGhlIGJvb3Qgc2VxdWVuY2UgLSBjYW4gaGF2 +ZSB0aGVpciBPUwo+IGVudGlyZWx5IHJlcGxhY2VkIGJ5IGFueSBHTlUvTGludXggZGlzdHJvIHRo +YXQncyBjb21wYXRpYmxlIHdpdGggdGhlCj4gcHJvY2Vzc29yLgo+Cj4gc28gbm8gLSB0aG9zZSBh +cmUgKmRlZmluaXRlbHkqIFVOSVggcGxhdGZvcm0gZGV2aWNlcy4KPgo+Pj4gdGhpcyBvbiB0aGUg +YmFzaXMgdGhhdCBFbWJlZGRlZCBNYXJrZXRzIGFyZSB0eXBpY2FsbHkgb25lLW9mZgo+Pj4gZGVw +bG95bWVudCwgd2hlcmUgdGhlIHRvb2xjaGFpbiBhbmQgYWxsIGJ1aWxkIHNvdXJjZSBpcyAic25h +cHNob3R0ZWQiCj4+PiBhdCBwcm9kdWN0IHJlbGVhc2UgdGltZSwgdXNlZCBpbnRlcm5hbGx5IGFu +ZCB0aGUgc291cmNlIGNvZGUgYW5kCj4+PiB0b29sY2hhaW4gYWxtb3N0IG5ldmVyIHNlZSB0aGUg +bGlnaHQgb2YgZGF5LiAgbWFpbmxpbmUgdXBncmFkZXMgYXJlCj4+PiBleGNlcHRpb25hbGx5IHJh +cmUuCj4+IFRoZXJlIGFyZSBxdWl0ZSBhIGZldyBjb3VudGVyIGV4YW1wbGVzIGV2ZW4gaW4gdGhl +ICJlbWJlZGRlZCIgbWFya2V0Lgo+PiBFc3BlY2lhbGx5IHdoZW4gaXQgY29tZXMgdG8gc3RvcmFn +ZSBhcHBsaWFuY2VzLiBTb21lIG9mIHRoZXNlIHRoaW5ncwo+PiBjYW4gZXZlbiBydW4gQ2VudE9T +Lgo+IGNvb2whCj4KPiBob3dldmVyLCBhZ2FpbjogYXJlIHdlIHJlZmVycmluZyB0byAiZ2VuZXJh +bCBtb3JwaGVkIChibHVycnkpIgo+IGRlZmluaXRpb24gb2YgRW1iZWRkZWQsIG9yICJ0cnVseSIg +ZW1iZWRkZWQ/Cj4KPj4+IHNvIGluIHRoYXQgY29udGV4dCwgaSBhbSBzbGlnaHRseSBjb25mdXNl +ZCB0byBoZWFyIHRoYXQgZm9yIEZyZWVzY2FsZQo+Pj4gKkVtYmVkZGVkKiBwcm9jZXNzb3JzIHRo +YXQgdGhlcmUgaXMgZXZlbiBhIGJpbmFyeSBpbmNvbXBhdGliaWxpdHkKPj4+IHByb2JsZW0gd2l0 +aCBsd3N5bmMgKmF0IGFsbCouCj4+Pgo+Pj4gaWYgeW91IGhhdmUgdGltZSBpJ2QgbG92ZSB0byBo +ZWFyIG1vcmUsIHdoYXQncyB0aGUgc3RvcnkgdGhlcmU/Cj4+IEkgZm9yZ290IHRoZSBkZXRhaWxz +LCBidXQgYSBzcGVjaWZpYyBjb3JlIHZhcmlhbnQgZnJvbSBGU0wgc2NyZXdlZCB1cAo+PiB0aGUg +ZGVjb2RlIHRhYmxlIGFuZCB3b3VsZCB0cmFwIG9uIGx3c3luYyBpbnN0ZWFkIG9mIGlnbm9yaW5n +IHRoZSBiaXQuCj4gYW5kLCBnaXZlbiB0aGUgZXhwZWN0YXRpb24gdG8gaGF2ZSBiaW5hcnkgaW50 +ZXJvcGVyYWJpbGl0eSBldmVuIGFjcm9zcwo+ICJnZW5lcmFsIiAoYWthIGNvbGxvcXVpYWxseSBi +bHVycnkpIEVtYmVkZGVkLCB0aGF0IHdvdWxkIG1hdHRlciAoYQo+IGxvdCkuCj4KPj4+IGluZGVl +ZC4uLiBpbiB0aGlzIHZlcnkgc3BlY2lhbCBjYXNlIHRoYXQgd2UgaGF2ZSBlc3RhYmxpc2hlZCwg +YnkgaXQKPj4+IGVmZmVjdGl2ZWx5IGJlaW5nIGEgImhpbnQiLCBmYWxscyBjb21wbGV0ZWx5IG91 +dHNpZGUgb2Ygd2hhdCBpIGFtCj4+PiBjb25jZXJuZWQgYWJvdXQKPj4gSW4gKm1vc3QqIGNhc2Vz +IHRyYXAgKyBlbXVsYXRpb24gbGVhZHMgdG8gdW51c2FibGUgcGVyZm9ybWFuY2VzIHRob3VnaC4K +PiB0aGlzIGlzIGFub3RoZXIgc3ViLXRvcGljIGVudGlyZWx5LiAgdGhlIHF1ZXN0aW9uIG9uZSBu +ZWVkcyB0byBhc2sgaXM6Cj4gKndoeSogaXMgcGVyZm9ybWFuY2UgdW51c2FibGU/ICAqd2h5KiBp +cyB0aGUgY29zdCBzbyBoaWdoPwo+Cj4gUklTQy1WIChhZ2Fpbi4gIHRoZXJlIGFyZSBtYW55IGdv +b2QgYml0cyB0byBSSVNDLVYpIHByb3ZpZGVzCj4gaGFyZHdhcmUtbGV2ZWwgcGFydGlhbC1kZWNv +ZGUgb2YgaW5zdHJ1Y3Rpb24gc3ViLWZpZWxkcy4gIFJBLCBSQiwgUlMsCj4gUlQgKG9yLCBSSVND +LVYgZXF1aXZhbGVudHMpIGFuZCBvdGhlciBzdWItZmllbGRzLCB0aGVzZSBhcmUgYWxsCj4gYXZh +aWxhYmxlIHZpYSBpbmRpdmlkdWFsIFNQUnMgKENTUnMgaW4gUklTQy1WIHRlcm1pbm9sb2d5KSBp +biB0aGUKPiAiaWxsZWdhbCBpbnN0cnVjdGlvbiIgdHJhcCwgc2F2aW5nIGh1Z2UgbnVtYmVycyBv +ZiBtYXNrL3NoaWZ0Cj4gb3BlcmF0aW9ucyB0aGF0IG1ha2UgdHJhcC1hbmQtZW11bGF0ZSBtdWNo +IGZhc3RlciBhbmQgcmVxdWlyZSBmYXIgbGVzcwo+IGluc3RydWN0aW9ucy4KPgo+IHdpdGhvdXQg +c3VjaCBoYXJkd2FyZS1sZXZlbCBhc3Npc3RhbmNlIHllcyBpIGNhbiBzZWUgdGhhdCB0cmFwIGFu +ZAo+IGVtdWxhdGUgd291bGQgYmUgY29uc2lkZXJlZCBjb21wbGV0ZWx5IHVuYWNjZXB0YWJsZS4K +Pgo+IHdlJ3ZlIGRpdmVyZ2VkIHF1aXRlIGEgbG90IGZyb20gdGhlIG9yaWdpbmFsIHRvcGljIDop +ICBidXQgYWxzbyBpCj4gYmVsaWV2ZSBwcm92aWRlZCBzb21lIGluc2lnaHRzIGludG8gdGhlIHZl +cnkgZGlmZmVyZW50IG5lZWRzIG9mCj4gZGlmZmVyZW50IG1hcmtldHMsIHdoaWNoIHB1bGwgaW4g +Y29tcGxldGVseSBwb2xhciBvcHBvc2l0ZSBkaXJlY3Rpb25zCj4gb24gdGhlIHNhbWUgSVNBLgo+ +Cj4gdGhlIHN1bW1hcnkgaXM6IHRoZSBQb3dlciBTcGVjIGlzIGEgdmFsdWVkIGFuZCB2YWx1YWJs +ZSByZWZsZWN0aW9uIG9mCj4gdGhlIG5lZWRzIG9mIGl0cyBjb21tdW5pdHkuICB0aGUgcXVlc3Rp +b24gYmVjb21lczogZG9lcyB0aGF0IGNvbW11bml0eQo+IHdhbnQgdG8gc2VlIE9wZW5QT1dFUiBl +eHRlbmQgZnVydGhlcj8gIGlmIHNvLCBpdCBuZWVkcyB0byBsZWFybiBmcm9tCj4gdGhlIGFuYWx5 +c2lzIGRvbmUgYnkgdGhlIFJJU0MtViBmb3VuZGVycywgd2hvIGFuYWx5c2VkICozMCB5ZWFycyog +b2YKPiBSSVNDIHByb2Nlc3NvciBhcmNoaXRlY3R1cmVzIGFuZCBhbWFsZ2FtYXRlZCB0aGUgYmVz +dCBiaXRzIHRoYXQgdGhleQo+IHRob3VnaHQgd291bGQgbWFrZSBhIG1vZGVybiBJU0EgKmFuZCBl +Y28tc3lzdGVtKiBzdXBwb3J0aW5nIGEgaHVnZWx5Cj4gZGl2ZXJzZSByYW5nZSBvZiBtYXJrZXRz +LCBmcm9tIHRpbnkgKCJ0cnVseSIpIGVtYmVkZGVkIGFsbCB0aGUgd2F5IHVwCj4gdG8gc3VwZXJj +b21wdXRlcnMuCj4KPiBsLgo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f +X19fX19fX19fCj4gT3BlblBPV0VSLUhETC1Db3JlcyBtYWlsaW5nIGxpc3QKPiBPcGVuUE9XRVIt +SERMLUNvcmVzQG1haWxpbmdsaXN0Lm9wZW5wb3dlcmZvdW5kYXRpb24ub3JnCj4gaHR0cDovL2xp +c3RzLm1haWxpbmdsaXN0Lm9wZW5wb3dlcmZvdW5kYXRpb24ub3JnL21haWxtYW4vbGlzdGluZm8v +b3BlbnBvd2VyLWhkbC1jb3Jlcwo+Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f +X19fX19fX19fX19fCmxpYnJlLXJpc2N2LWRldiBtYWlsaW5nIGxpc3QKbGlicmUtcmlzY3YtZGV2 +QGxpc3RzLmxpYnJlLXJpc2N2Lm9yZwpodHRwOi8vbGlzdHMubGlicmUtcmlzY3Yub3JnL21haWxt +YW4vbGlzdGluZm8vbGlicmUtcmlzY3YtZGV2Cg== +