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==