Re: [libre-riscv-dev] system call (sc) LEV "reserved field"
authorLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Mon, 27 Jul 2020 08:00:54 +0000 (09:00 +0100)
committerlibre-riscv-dev <libre-riscv-dev@lists.libre-riscv.org>
Mon, 27 Jul 2020 08:01:28 +0000 (09:01 +0100)
f6/a2bdce917135f5e952ef200fa13084d7d3b5a0 [new file with mode: 0644]

diff --git a/f6/a2bdce917135f5e952ef200fa13084d7d3b5a0 b/f6/a2bdce917135f5e952ef200fa13084d7d3b5a0
new file mode 100644 (file)
index 0000000..d6ba7e4
--- /dev/null
@@ -0,0 +1,253 @@
+Return-path: <libre-riscv-dev-bounces@lists.libre-riscv.org>
+Envelope-to: publicinbox@libre-riscv.org
+Delivery-date: Mon, 27 Jul 2020 09:01:30 +0100
+Received: from localhost ([::1] helo=libre-riscv.org)
+       by libre-soc.org with esmtp (Exim 4.92)
+       (envelope-from <libre-riscv-dev-bounces@lists.libre-riscv.org>)
+       id 1jzy4e-0006F7-OB; Mon, 27 Jul 2020 09:01:28 +0100
+Received: from lkcl.net ([217.147.94.29])
+ by libre-soc.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
+ (Exim 4.92) (envelope-from <lkcl@lkcl.net>) id 1jzy4d-0006F1-QN
+ for libre-riscv-dev@lists.libre-riscv.org; Mon, 27 Jul 2020 09:01:27 +0100
+DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lkcl.net;
+ s=201607131; 
+ h=Content-Type:Cc:To:Subject:Message-ID:Date:From:In-Reply-To:References:MIME-Version;
+ bh=xvQZ4TK4b5qcZklXlJdApeUoTWs1wQbzj6mors5PzZc=; 
+ b=KxUY4yUyjAFP92W3iSbrKtJ3fchAZoqn2fVlrhMNPUR24r9CJAH13lu9eRZoZDUNaBL1psW6DunXHO1pkt0l7wGJ81+5kmTm81pEY3wIDvCQ3iBtzIGGa9uj8jcQ0A9ReZUox35smaCeK855svNsT+2WjAClWJaiX+aZ+gSbsA4=;
+Received: from mail-lj1-f182.google.com ([209.85.208.182])
+ by lkcl.net with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
+ (Exim 4.84_2) (envelope-from <lkcl@lkcl.net>) id 1jzy4d-0001fx-As
+ for libre-riscv-dev@lists.libre-riscv.org; Mon, 27 Jul 2020 08:01:27 +0000
+Received: by mail-lj1-f182.google.com with SMTP id 185so5958350ljj.7
+ for <libre-riscv-dev@lists.libre-riscv.org>;
+ Mon, 27 Jul 2020 01:01:11 -0700 (PDT)
+X-Gm-Message-State: AOAM531UddcR/dKMlO2XtPT7VpLq4vZ9OZMgrKJLu9GNgIoy6/GDt0za
+ Y1e1yUonxSwn/N0Pg5WN2Qc0b9H1qhMT2FAJ6Uk=
+X-Google-Smtp-Source: ABdhPJxccqlxJvhgdLOcqFbKdChEeHW+Oe31he1L2j2Om+hmxtv8xLIXi3TWmhXOmYDo6FiiZIm8aLNVxesPC9EwdNQ=
+X-Received: by 2002:a2e:92d0:: with SMTP id k16mr9899759ljh.48.1595836866221; 
+ Mon, 27 Jul 2020 01:01:06 -0700 (PDT)
+MIME-Version: 1.0
+References: <CAPweEDzJpX8mDE1QJO6=rPEQfz0jCt+Yi9sS48cE4bXcu8AwcQ@mail.gmail.com>
+ <20200722224713.GA213782@thinks.paulus.ozlabs.org>
+ <CAPweEDxxJqcy4kAcL0+wDYQh9A0KtW3dSi9kMdQ-_YotuRSsQw@mail.gmail.com>
+ <bc0527a82b8a777486388ab6084ce364db4c278c.camel@kernel.crashing.org>
+ <CAPweEDx_gUy8KoQUrfE+Xn-URqFQsMiiT8A9WcLsK67E5bY8Jg@mail.gmail.com>
+ <b3a6d1be404b96594d69d9b59701c574957c8d2a.camel@kernel.crashing.org>
+ <CAPweEDws3LZYJuYmMuDd89Q5RWjHPYX3tWbQp9VjPZC_AFSDWg@mail.gmail.com>
+ <16afa487019146baacfc26f50db637f6c2c9576a.camel@kernel.crashing.org>
+In-Reply-To: <16afa487019146baacfc26f50db637f6c2c9576a.camel@kernel.crashing.org>
+From: Luke Kenneth Casson Leighton <lkcl@lkcl.net>
+Date: Mon, 27 Jul 2020 09:00:54 +0100
+X-Gmail-Original-Message-ID: <CAPweEDz+=H1FQ24uFyveuC3-BoaQeYLPY7phUsc1Zm1WpazvBA@mail.gmail.com>
+Message-ID: <CAPweEDz+=H1FQ24uFyveuC3-BoaQeYLPY7phUsc1Zm1WpazvBA@mail.gmail.com>
+To: Benjamin Herrenschmidt <benh@kernel.crashing.org>
+Subject: Re: [libre-riscv-dev] 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
+ <libre-riscv-dev.lists.libre-riscv.org>
+List-Unsubscribe: <http://lists.libre-riscv.org/mailman/options/libre-riscv-dev>, 
+ <mailto:libre-riscv-dev-request@lists.libre-riscv.org?subject=unsubscribe>
+List-Archive: <http://lists.libre-riscv.org/pipermail/libre-riscv-dev/>
+List-Post: <mailto:libre-riscv-dev@lists.libre-riscv.org>
+List-Help: <mailto:libre-riscv-dev-request@lists.libre-riscv.org?subject=help>
+List-Subscribe: <http://lists.libre-riscv.org/mailman/listinfo/libre-riscv-dev>, 
+ <mailto:libre-riscv-dev-request@lists.libre-riscv.org?subject=subscribe>
+Reply-To: Libre-RISCV General Development
+ <libre-riscv-dev@lists.libre-riscv.org>
+Cc: "openpower-hdl-cores@mailinglist.openpowerfoundation.org"
+ <openpower-hdl-cores@mailinglist.openpowerfoundation.org>,
+ Libre-RISCV General Development <libre-riscv-dev@lists.libre-riscv.org>
+Content-Type: text/plain; charset="utf-8"
+Content-Transfer-Encoding: base64
+Errors-To: libre-riscv-dev-bounces@lists.libre-riscv.org
+Sender: "libre-riscv-dev" <libre-riscv-dev-bounces@lists.libre-riscv.org>
+
+LS0tCmNyb3dkLWZ1bmRlZCBlY28tY29uc2Npb3VzIGhhcmR3YXJlOiBodHRwczovL3d3dy5jcm93
+ZHN1cHBseS5jb20vZW9tYTY4CgpPbiBNb24sIEp1bCAyNywgMjAyMCBhdCA1OjMwIEFNIEJlbmph
+bWluIEhlcnJlbnNjaG1pZHQKPGJlbmhAa2VybmVsLmNyYXNoaW5nLm9yZz4gd3JvdGU6Cgo+ID4g
+YWx0aG91Z2ggaSBoYXZlIHRvIGFzayB3aHksIGZvciBFbWJlZGRlZCwgdGhleSBkaWQgbm90IGp1
+c3QgcmVjb21waWxlCj4gPiB0aGUgc291cmNlIGNvZGUsIGN1c3RvbWlzZWQgZm9yIHRoYXQgZW5k
+dXNlciBhcHBsaWNhdGlvbi4KPgo+IEJlY2F1c2UgdGhlIGRpc3RpbmN0aW9uIGJldHdlZW4gImVt
+YmVkZGVkIiBhbmQgInVuaXgiIGlzIHZlcnkgYmx1cnJ5CgpiZW5qYW1pbjogdGhpcyBpcyBub3Qg
+Z29vZCEgIHNwZWNpZmljYXRpb25zIHNob3VsZCAqbmV2ZXIqIGJlIGJsdXJyeSEKaSBiZWxpZXZl
+IHlvdSBtYXkgbWVhbiBzb21ldGhpbmcgZGlmZmVyZW50LCBoZXJlLCB3aGljaCB3YXJyYW50cwpp
+bnZlc3RpZ2F0aW9uLiAgaSB0aGluayBpIGtub3cgd2h5LCBnaXZlbiB0aGF0IHRoZSB0eXBpY2Fs
+IG1hcmtldHMgZm9yCmVtYmVkZGVkIFBvd2VySVNBIGNvcmVzIGFyZSBzcGVjaWFsaXN0IGFyZWFz
+IChhZXJvc3BhY2UgYW5kIHNvIG9uKS4KUXVvcmwgZm9yIGV4YW1wbGUgaXMgbWFya2V0ZWQgYXQg
+cm91dGVycyBhbmQgZGVmaW5pdGVseSBjcm9zc2VzIG92ZXIsCnlldCBpcyBzdGlsbCB0ZXJtZWQg
+ImVtYmVkZGVkIi4KCj4gYW5kIGluIG1hbnkgYXJlYXMgb2Jzb2xldGUuCgpvayBsZXQncyBsb29r
+IGF0IHRoZSB2My4xQiBkb2N1bWVudCwgcGFnZSB2aWlpICJDb21wbGlhbmN5IFN1YnNldHMiLgoK
+bm93aGVyZSBpbiB0aGVyZSAtIGV2ZW4gaW4gdGhlIHNjYWxhciBmaXhlZC1wb2ludCBzZWN0aW9u
+IC0gYW0gaQpzZWVpbmcgbWVudGlvbiBvZiB3aGF0IHdvdWxkIGJlIGV4cGVjdGVkIGZvciAicmVh
+bGx5IHJlc291cmNlCmNvbnN0cmFpbmVkIGkuZS4gKnRydWx5KiBlbWJlZGRlZCIgbWFya2V0czog
+YmVpbmcgYWJsZSB0byBkcm9wIHRoZQoodmVyeSBleHBlbnNpdmUsIGdhdGUtd2lzZSkgbG9naWMg
+ZGVjb2RpbmcgZm9yIGNhdGNoaW5nIGlsbGVnYWwKaW5zdHJ1Y3Rpb25zLCBpbGxlZ2FsIFNQUiBh
+Y2Nlc3MsIGFuZCBzbyBvbi4KCmluIFNGUyB0aGUgZHJvcCBpbiBnYXRlIGNvdW50IGZyb20gbm90
+IG5lZWRpbmcgYSBGUFUgaXMgbWFzc2l2ZTogYW4KRlBVIHR5cGljYWxseSBkd2FyZnMgdGhlIHNp
+emUgb2YgdGhlIG1haW4gY29yZS4gIG9uY2UgdGhlIEZQVSBpcwpkcm9wcGVkIHRoZW4gcmVsYXRp
+dmVseSBzcGVha2luZyBmdXJ0aGVyIHNhdmluZ3Mgc3VjaCBhcyBjdXR0aW5nIHRob3NlCm5lZWRl
+ZCBmb3IgaWxsZWdhbCBpbnN0cnVjdGlvbnMgYmVjb21lcyBzaWduZmljYW50ICg1JSBzYXZpbmcs
+IDEwJQpzYXZpbmcpIGFuZCBpbiBtYXNzLXZvbHVtZSBtYXJrZXRzIHRoYXQncyBhYnNvbHV0ZWx5
+IG1hc3NpdmUuCgpsZXQgdXMgdGhlcmVmb3JlIGRlZmluZSAicmVzb3VyY2UtY29uc3RyYWluZWQg
+ZW1iZWRkZWQgbWFya2V0cyIgYXMKInRydWx5IiBlbWJlZGRlZCwgcmF0aGVyIHRoYW4gdGhlIGJs
+dXJyeSBkZWZpbml0aW9uIGluc3BpcmVkIGJ5IHRoZQptZW1lIHRoYXQgZ29lcyBieSB0aGUgbW9u
+aWtlciAiSW9UIiwgd2hpY2ggbm93IGluY2x1ZGVzIDgrIHdhdHQKcmFzcGJlcnJ5IHBpIDQgZGV2
+aWNlcyB0aGF0IHJ1biBzbyBob3QgdGhleSBuZWVkIGZhbiBjb29saW5nLgoKd2hpbHN0IGl0IGNv
+bWVzIHdpdGggdGhlICJidXJkZW4iIG9mIG5lZWRpbmcgdG8gc25hcHNob3QgYW5kIG1haW50YWlu
+CnRoZSBmdWxsIHRvb2xjaGFpbiAod2hpY2ggZm9yIGN1c3RvbWlzYXRpb24gYW5kIGN1c3RvbSBl
+eHRlbnNpb25zIGlzIGEKaGFyZCByZXF1aXJlbWVudCBhbnl3YXkpLCBvbmUgb2YgdGhlIGtleSBh
+cmVhcyBpbiB3aGljaCBSSVNDLVYgaGFzCmJlZW4gc3VjY2Vzc2Z1bCBpcyB0aGUgbWFzcy12b2x1
+bWUgKnRydWx5KiBlbWJlZGRlZCBtYXJrZXQuCgp0aGUgY2Fub25pY2FsIGV4YW1wbGUgaXMgV2Vz
+dGVybiBEaWdpdGFsLCB3aG8gdXAgdW50aWwgUklTQy1WIGhhZAp0aGVpciBvd24gInRydWx5IiBl
+bWJlZGRlZCBjdXN0b20gSVNBIHdoaWNoIGhhcyBiZWVuIGh5cGVyLWVmZmljaWVudApmb3IgdGhl
+bSwgZm9yIHVzZSBpbiBTU0RzLCBIRERzIGFuZCBVU0IgRmxhc2ggZGV2aWNlcy4gIHRoZSByZWFz
+b24KdGhleSB3YW50ZWQgdG8gZ28gd2l0aCBSSVNDLXYgaXMgdG8gc2F2ZSBvbiBtYWludGVuYW5j
+ZSBvZiB0aGVpciBvd24KY3VzdG9tIHRvb2xjaGFpbiAoYmVhciBpbiBtaW5kIHRoYXQgd2l0aCBh
+IGN1c3RvbSBJU0EgeW91IG5lZWQgbm90Cm9ubHkgYSBjdXN0b20gdG9vbGNoYWluLCB5b3UgbmVl
+ZCBhIGN1c3RvbSBPUyBhbmQgY3VzdG9tIGFwcGxpY2F0aW9ucwphcyB3ZWxsISAgdGhlIGNvc3Qg
+dG8gdGhlbSBvZiBtYWludGFpbmluZyB0aGlzIHdvdWxkIGJlIGVub3Jtb3VzISkKCmhlcmUsIGlm
+IHRoZSBiaW5hcnkgc2l6ZSBpcyBsYXJnZSwgdGhpcyBjdXRzIGludG8gdGhlIHVzYWdlIGFsbG9j
+YXRpb24Kb2YgdGhlIG9uLWJvYXJkIE5BTkQgYW5kIG9uLWJvYXJkIFJBTSAoYmVjYXVzZSB0aGV5
+IGRvbid0IGhhdmUKc2VwYXJhdGUgTkFORCBmcm9tIHRoZSBjdXN0b21lci1hbGxvY2F0ZWQgYXJl
+YSwgb3Igc2VwYXJhdGUgUkFNIGZvcgp0aGUgY2FjaGVpbmcgb2YgY3VzdG9tZXIncyBkYXRhKS4K
+CmlmIHRoZSBOQU5EIGFuZCBSQU0gYWxsb2NhdGlvbiBhcmUgcmVkdWNlZCwgdGhhdCBoYXMgYSB2
+ZXJ5IHJlYWwKZGV0cmltZW50YWwgaW1wYWN0IG9uIHRoZWlyIHNhbGVzIGFuZCBwcm9maXRhYmls
+aXR5LCBlc3BlY2lhbGx5IGluCnN1Y2ggYSBoaWdobHkgY29tcGV0aXRpdmUgbWFya2V0IQoKcmVt
+ZW1iZXIgdGhhdCBmb3IgV0Qgd2UgYXJlIHRhbGtpbmcgc2FsZXMgb2YgYmlsbGlvbnMgb2YgdW5p
+dHMsIGhlcmUuCiJhIGZldyBnYXRlcyIgbXVsdGlwbGllZCBieSBhIGJpbGxpb24gc2FsZXMgY2Fu
+IG1ha2UgdGhlIGRpZmZlcmVuY2UKYmV0d2VlbiBwcm9maXQgYW5kIGxvc3MuCgpzbyB0aGV5IGZv
+dW5kIHdoZW4gY29udmVydGluZyB0byBSSVNDLVYgZnJvbSB0aGVpciBvd24gaW50ZXJuYWwgSVNB
+CnRoYXQgYmluYXJ5IHNpemUgaW5jcmVhc2VkIGJ5IChpaXJjKSAyMCUuICB0aGV5IGFic29sdXRl
+bHkgaGFkIHRvIGRvCnNvbWV0aGluZyBhYm91dCB0aGlzIGFuZCBzbyBzZXQgYWJvdXQgYW5hbHlz
+aW5nIHN0YXRpYyBpbnN0cnVjdGlvbgphbGxvY2F0aW9uIGFuZCAoaSBhbSBwcm9qZWN0aW5nIGhl
+cmUgYXMgdGhpcyB3YXMgMjAxNikgdGhleSB3b3VsZCBieQpub3cgbGlrZWx5IGhhdmUgdXNlZCB0
+aGF0IHJlc2VhcmNoIHRvIGNyZWF0ZSBjdXN0b20gaW5zdHJ1Y3Rpb24KbW9kaWZpY2F0aW9ucyBz
+aW1pbGFyIHRvIHRoZSBWTEUgQm9vaywgZXhjZXB0IHRhcmdldHRlZCBzcGVjaWZpY2FsbHkKYXQg
+dGhlaXIgdXNlLWNhc2UuCgpub25lIG9mIHRoZXNlIGN1c3RvbSBJU0EgbW9kaWZpY2F0aW9ucyB3
+aGljaCByZXN1bHQgaW4gY29kZS1zaXplCnJlZHVjdGlvbiB0aGF0IGlzIGltcG9ydGFudCB0byB0
+aGVpciBwcm9maXRhYmlsaXR5IGluIGEgdmVyeSByZWFsIHdheQphZmFpayBhcmUgbWFkZSBwdWJs
+aWMgKGkgaGF2ZSBub3QgY2hlY2tlZCBvciBoZWFyZCBhbnkgbmV3cyBzbyB0aGlzCmNvdWxkIGJl
+IHdyb25nKS4KCnRoaXMgd2FzIGFsbCBiYXNlZCBvbiB0aGUgaW5pdGlhbCBiYXNlIG9mICpub3Qq
+IGhhdmluZyB0byBoYXZlIHRoZQpnYXRlcyBmb3IgaWxsZWdhbCBpbnN0cnVjdGlvbiBjYXRjaGlu
+ZyBldGMuLCB0aGV5IGhhZCB0byBnbyAiY3VzdG9tCmZpcm13YXJlLCBjdXN0b20gdG9vbGNoYWlu
+IiBhbnl3YXksIGFuZCB0aGUgUklTQy1WIGluaXRpYXRpdmUgcHJvdmlkZWQKdGhlbSB3aXRoIGEg
+aHVnZSBjb3N0IHNhdmluZyBvbiB0aGUgdG9vbGNoYWluIGFuZCBtdWNoIG1vcmUuCgpzbyB0aGV5
+IGdvdCB0byBoYXZlIHRoZWlyIGNha2UgYW5kIGVhdCBpdDoKCiogY29zdCBzYXZpbmdzIG9uIHRv
+b2xjaGFpbiwga2VybmVsLCBvcyBhbmQgYm9vdGxvYWRlciBtYWludGVuYW5jZSAoYnkKYmVpbmcg
+YWJsZSB0byByaWRlIG9mZiB0aGUgYmFjayBvZiBSSVNDLVYgIm9mZmljaWFsIikKKiBjb3N0IHNh
+dmluZ3MgZnJvbSB0aGUgIkVtYmVkZGVkIFJJU0MtViBQbGF0Zm9ybSIgYWxyZWFkeSBoYXZpbmcg
+bWFkZQpkZWNpc2lvbnMgdGhhdCBzaWduaWZpY2FudGx5IHJlZHVjZWQgZ2F0ZSBjb3VudAoqIGNv
+c3Qgc2F2aW5ncyBmcm9tIGZ1cnRoZXIgcmVkdWN0aW9ucyBieSBhZGRpbmcgY3VzdG9tIGluc3Ry
+dWN0aW9ucwphbmQgY3VzdG9taXNpbmcgdGhlIHRvb2xjaGFpbiB0byBtYXRjaCB0aGVtLgoKKnRo
+aXMqIGlzICp0cnVseSogZW1iZWRkZWQuCgoKCj4gT25lIGNhbiBjb21waWxlIGEgc2luZ2xlIGlt
+YWdlIHRoYXQgaXMgbWVhbnQgdG8gcnVuIG9uIGEgd2lkZSB2YXJpZXR5Cj4gb2Ygc3lzdGVtIGFu
+ZCBldmVuIHRoZSAiZW1iZWRkZWQiIHdvcmxkIHdhbnRzIHRoYXQgY2FwYWJpbGl0eS4KCmlmIHdl
+IGFyZSB0YWxraW5nIGFib3V0IHRoZSBleGlzdGluZyAoY29yZSkgT3BlblBPV0VSIEZvdW5kYXRp
+b24KbWVtYmVycyBzdWJzZXQgZW1iZWRkZWQgbWFya2V0cywgc2VydmVkIGJ5IHRoZWlyIGN1cnJl
+bnQgcHJvZHVjdApvZmZlcmluZ3M6IHllcy4KCmlmIHdlIGFyZSB0YWxraW5nIGFib3V0IHRoZSAq
+ZnVsbCogKHdvcmxkLXdpZGUpIGRlZmluaXRpb24gb2YKImVtYmVkZGVkIiB3aGljaCBpbmNsdWRl
+cyAidHJ1bHkiIGVtYmVkZGVkOiBhYnNvbHV0ZWx5IG5vdC4KCmFuZCBpIGhhdmUgdG8gcG9pbnQg
+b3V0IHRoYXQgaWYgT3BlblBPV0VSJ3MgZGlyZWN0aW9uIG9ubHkgdGFrZXMgaW50bwpjb25zaWRl
+cmF0aW9uIHRoZSBmb3JtZXIsIGl0IGlzICpndWFyYW50ZWVkKiB0aGF0IFBvd2VyIHdpbGwgbmV2
+ZXIKZXh0ZW5kIG9yIHNlZSB3aWRlIGFkb3B0aW9uIGludG8gdGhlIGxhdHRlci4gIHRoZSBjb3N0
+LWJlbmVmaXQKYW5hbHlzaXMgY29tZXMgdXAgc28gc2hvcnQgdGhhdCBubyBtYXNzLXZvbHVtZSBw
+cm9kdWN0IG1hbnVmYWN0dXJlcgp3aWxsIGNvbnNpZGVyIGl0LCBhbmQgcXVpdGUgcmlnaHRseSBz
+bywgYXMgdGhpbmdzIHN0YW5kLgoKdGhpcyB0aGVuIGlzIHRoZSBjaGFsbGVuZ2UgZm9yIE9wZW5Q
+T1dFUiBpZiBpdCB3aXNoZXMgdG8gaGF2ZSBhIHdpZGVyCnJlYWNoOiB0byBhZGFwdCB0byBiZXlv
+bmQgdGhlIG5lZWRzIG9mIHRoZSBjdXJyZW50IG1lbWJlcnMsIHdoaWxzdAphbHNvIC0gdmVyeSBp
+bXBvcnRhbnRseSAtIHJlc3BlY3RpbmcgdGhlIGxvbmctc3RhbmRpbmcgcmVsYXRpb25zaGlwLApj
+b250cmlidXRpb24gYW5kIG5lZWRzICpvZiogdGhvc2UgY3VycmVudCBtZW1iZXJzIGF0IHRoZSBz
+YW1lIHRpbWUuCgppdCdzIGEgZGVsaWNhdGUgYmFsYW5jZSB0byBhY2hpZXZlLgoKCj4gRWl0aGVy
+Cj4gYmVjYXVzZSB0aGV5IGVuZCB1cCBydW5uaW5nIHNvbWUga2luZCBvZiAidXBzdHJlYW0iIE9T
+IGltYWdlLCBvcgo+IGJlY2F1c2UgdGhleSBkb24ndCB3YW50IHRvIG1haW50YWluIGNvbXBsZXRl
+bHkgZGlmZmVyZW50IFNXIGltYWdlcyBmb3IKPiBhbGwgdGhlaXIgcHJvZHVjdHMsIGV0Yy4uLgoK
+aW5kZWVkLiAgYW5kIHRoaXMgaXMgcGVyZmVjdGx5IHJlYXNvbmFibGUsIGZvciB3aGF0IHdlJ3Zl
+IGNvbGxvcXVpYWxseQp0ZXJtZWQgdGhlICJibHVycnkiIGVtYmVkZGVkIG1hcmtldHMuICB0aGUg
+Y29zdCBzYXZpbmdzIG9mIG5vdCBoYXZpbmcKdG8gcmVjb21waWxlIG9yIG1haW50YWluIGN1c3Rv
+bSBwYWNrYWdlcyBldGMuIC0gdGhlc2UgYXJlIGVub3Jtb3VzCnNhdmluZ3MsIGFic29sdXRlbHkg
+d29ydGh3aGlsZSBwdXJzdWluZy4KCnVuZm9ydHVuYXRlbHksIGlmIHRoYXQgZXhwZWN0YXRpb24g
+dGhlbiBwcm9wYWdhdGVzIHRocm91Z2hvdXQgdGhlCmVudGlyZSBPcGVuUE9XRVIgY29tbXVuaXR5
+IGFzIGEgImhhcmQgZXhwZWN0YXRpb24iIChldmVuIHRvIHRoZSBTRlMKQ29tcGxpYW5jeSBzdWJz
+ZXQpLCBpdCAqYXV0b21hdGljYWxseSBhbmQgaW5oZXJlbnRseSogZXhjbHVkZXMgYW55CnBvc3Np
+YmlsaXR5IGZvciAgInRydWx5IiBlbWJlZGRlZCB2ZW5kb3JzIHRvIGNvbnNpZGVyIHVzaW5nIFBP
+V0VSLApiZWNhdXNlIHRoZXkgYXJlICpwcm9oaWJpdGVkKiBieSB0aGUgQ29tcGxpYW5jeSBSZXF1
+aXJlbWVudHMgZnJvbQpkcm9wcGluZyB0aGUgZ2F0ZXMgdGhhdCB3b3VsZCBtYWtlIHRoZSBwcm9k
+dWN0IHByb2ZpdGFibGUhCgoKPiA+IGhvd2V2ZXIgdGhpcyBhbHNvIGFjdHVhbGx5IGlsbHVzdHJh
+dGVzIHByZWNpc2VseSB3aHkgaSBtZW50aW9uZWQgdGhhdAo+ID4gZm9yIGJlc3QgcmVzdWx0cywg
+YSBzcGVjIGhhcyB0byBoYXZlIGRpZmZlcmVudCBwbGF0Zm9ybSBiZWhhdmlvdXIgZm9yCj4gPiBF
+bWJlZGRlZCBhcyBjb21wbGV0ZWx5IHNlcGFyYXRlIGFuZCBkaXN0aW5jdCBmcm9tIFVOSVguCj4K
+PiBUaGlzIGlzIG5vdCByZWFsbHkgdHJ1ZSBhbnltb3JlLgoKdGhhbmtzIHRvIHRoZSBtZW1lICJJ
+b1QiIGFuZCBzbyBvbiB0aGUgd29yZCAiZW1iZWRkZWQiIHdoZW4gaW4gZ2VuZXJhbApjaXJjdWxh
+dGlvbiBoYXMgYmVjb21lIG1lYW5pbmdsZXNzLCB5ZXMuICBpIGFtIG5vdCB1c2luZyB0aGUgdGVy
+bQoiRW1iZWRkZWQiIGluIHRoZSBtZWFuaW5nbGVzcyBzZW5zZSwgaSBhbSB1c2luZyBpdCBpbiB0
+aGUgb3JpZ2luYWwKc2Vuc2UgdXNlZCB0byBkZXNjcmliZSA4IGFuZCAxNiBiaXQgcHJvY2Vzc29y
+IG1hcmtldHMgKHdoZW4gdXByYXRlZCB0bwozMiBhbmQgc29tZXRpbWVzIDY0IGJpdCkuCgpFbWJl
+ZGRlZCBpbiB0aGUgc2Vuc2Ugb2YgQXJkdWlubyBQSUNzLCBBVE1FTCBBVFNBTTMgc2VyaWVzLCBT
+VCBNaWNybwpTVE0zMkYgc2VyaWVzLCBhbmQgc28gb24uIEFSTSBDb3J0ZXggTTAsIE0zIHN0eWxl
+IGFuZCBzdWNoLgoKbm90IHRoZSAidGFrZSB0aGUgbGF0ZXN0IDY0IGJpdCBoaWdoIHBlcmZvcm1h
+bmNlIDIuNSBnaHogcXVhZC1jb3JlIDgrCndhdHQgcHJvY2Vzc29yLCBzbGFwIGl0IGludG8gYSBT
+QkMgZm9ybS1mYWN0b3IgYW5kIGNhbGwgaXQgcXVvdGVzCmVtYmVkZGVkIHF1b3RlcyIgZGVmaW5p
+dGlvbiBvZiBFbWJlZGRlZC4KCj4gRm9yIGV4YW1wbGUsIGRvIHlvdSBjb25zaWRlciB5b3VyIGNl
+bGwKPiBwaG9uZSBvciB5b3VyIFRWICJlbWJlZGRlZCIgb3IgInVuaXgiID8KClVOSVgsIHdpdGhv
+dXQgYSBzaGFkb3cgb2YgZG91YnQuICBBbmRyb2lkIGlzIGEgVU5JWCBQbGF0Zm9ybS4gIHRoZQpB
+bmRyb2lkIGtlcm5lbCAqaXMqIHRoZSBsaW51eCBrZXJuZWwsIGFuZCwgaWYgZW5kLXVzZXJzIGFy
+ZSBwcmVwYXJlZAp0byBwdXQgaW4gc29tZSBlZmZvcnQsIGFsbCBkZXZpY2VzIHJ1bm5pbmcgQW5k
+cm9pZCAtIGlmIHRoZXJlIGlzbid0ClRyZWFjaGVyb3VzIERSTSBidWlsdC1pbiB0byB0aGUgYm9v
+dCBzZXF1ZW5jZSAtIGNhbiBoYXZlIHRoZWlyIE9TCmVudGlyZWx5IHJlcGxhY2VkIGJ5IGFueSBH
+TlUvTGludXggZGlzdHJvIHRoYXQncyBjb21wYXRpYmxlIHdpdGggdGhlCnByb2Nlc3Nvci4KCnNv
+IG5vIC0gdGhvc2UgYXJlICpkZWZpbml0ZWx5KiBVTklYIHBsYXRmb3JtIGRldmljZXMuCgo+ID4g
+dGhpcyBvbiB0aGUgYmFzaXMgdGhhdCBFbWJlZGRlZCBNYXJrZXRzIGFyZSB0eXBpY2FsbHkgb25l
+LW9mZgo+ID4gZGVwbG95bWVudCwgd2hlcmUgdGhlIHRvb2xjaGFpbiBhbmQgYWxsIGJ1aWxkIHNv
+dXJjZSBpcyAic25hcHNob3R0ZWQiCj4gPiBhdCBwcm9kdWN0IHJlbGVhc2UgdGltZSwgdXNlZCBp
+bnRlcm5hbGx5IGFuZCB0aGUgc291cmNlIGNvZGUgYW5kCj4gPiB0b29sY2hhaW4gYWxtb3N0IG5l
+dmVyIHNlZSB0aGUgbGlnaHQgb2YgZGF5LiAgbWFpbmxpbmUgdXBncmFkZXMgYXJlCj4gPiBleGNl
+cHRpb25hbGx5IHJhcmUuCj4KPiBUaGVyZSBhcmUgcXVpdGUgYSBmZXcgY291bnRlciBleGFtcGxl
+cyBldmVuIGluIHRoZSAiZW1iZWRkZWQiIG1hcmtldC4KPiBFc3BlY2lhbGx5IHdoZW4gaXQgY29t
+ZXMgdG8gc3RvcmFnZSBhcHBsaWFuY2VzLiBTb21lIG9mIHRoZXNlIHRoaW5ncwo+IGNhbiBldmVu
+IHJ1biBDZW50T1MuCgpjb29sIQoKaG93ZXZlciwgYWdhaW46IGFyZSB3ZSByZWZlcnJpbmcgdG8g
+ImdlbmVyYWwgbW9ycGhlZCAoYmx1cnJ5KSIKZGVmaW5pdGlvbiBvZiBFbWJlZGRlZCwgb3IgInRy
+dWx5IiBlbWJlZGRlZD8KCj4gPiBzbyBpbiB0aGF0IGNvbnRleHQsIGkgYW0gc2xpZ2h0bHkgY29u
+ZnVzZWQgdG8gaGVhciB0aGF0IGZvciBGcmVlc2NhbGUKPiA+ICpFbWJlZGRlZCogcHJvY2Vzc29y
+cyB0aGF0IHRoZXJlIGlzIGV2ZW4gYSBiaW5hcnkgaW5jb21wYXRpYmlsaXR5Cj4gPiBwcm9ibGVt
+IHdpdGggbHdzeW5jICphdCBhbGwqLgo+ID4KPiA+IGlmIHlvdSBoYXZlIHRpbWUgaSdkIGxvdmUg
+dG8gaGVhciBtb3JlLCB3aGF0J3MgdGhlIHN0b3J5IHRoZXJlPwo+Cj4gSSBmb3Jnb3QgdGhlIGRl
+dGFpbHMsIGJ1dCBhIHNwZWNpZmljIGNvcmUgdmFyaWFudCBmcm9tIEZTTCBzY3Jld2VkIHVwCj4g
+dGhlIGRlY29kZSB0YWJsZSBhbmQgd291bGQgdHJhcCBvbiBsd3N5bmMgaW5zdGVhZCBvZiBpZ25v
+cmluZyB0aGUgYml0LgoKYW5kLCBnaXZlbiB0aGUgZXhwZWN0YXRpb24gdG8gaGF2ZSBiaW5hcnkg
+aW50ZXJvcGVyYWJpbGl0eSBldmVuIGFjcm9zcwoiZ2VuZXJhbCIgKGFrYSBjb2xsb3F1aWFsbHkg
+Ymx1cnJ5KSBFbWJlZGRlZCwgdGhhdCB3b3VsZCBtYXR0ZXIgKGEKbG90KS4KCj4gPiBpbmRlZWQu
+Li4gaW4gdGhpcyB2ZXJ5IHNwZWNpYWwgY2FzZSB0aGF0IHdlIGhhdmUgZXN0YWJsaXNoZWQsIGJ5
+IGl0Cj4gPiBlZmZlY3RpdmVseSBiZWluZyBhICJoaW50IiwgZmFsbHMgY29tcGxldGVseSBvdXRz
+aWRlIG9mIHdoYXQgaSBhbQo+ID4gY29uY2VybmVkIGFib3V0Cj4KPiBJbiAqbW9zdCogY2FzZXMg
+dHJhcCArIGVtdWxhdGlvbiBsZWFkcyB0byB1bnVzYWJsZSBwZXJmb3JtYW5jZXMgdGhvdWdoLgoK
+dGhpcyBpcyBhbm90aGVyIHN1Yi10b3BpYyBlbnRpcmVseS4gIHRoZSBxdWVzdGlvbiBvbmUgbmVl
+ZHMgdG8gYXNrIGlzOgoqd2h5KiBpcyBwZXJmb3JtYW5jZSB1bnVzYWJsZT8gICp3aHkqIGlzIHRo
+ZSBjb3N0IHNvIGhpZ2g/CgpSSVNDLVYgKGFnYWluLiAgdGhlcmUgYXJlIG1hbnkgZ29vZCBiaXRz
+IHRvIFJJU0MtVikgcHJvdmlkZXMKaGFyZHdhcmUtbGV2ZWwgcGFydGlhbC1kZWNvZGUgb2YgaW5z
+dHJ1Y3Rpb24gc3ViLWZpZWxkcy4gIFJBLCBSQiwgUlMsClJUIChvciwgUklTQy1WIGVxdWl2YWxl
+bnRzKSBhbmQgb3RoZXIgc3ViLWZpZWxkcywgdGhlc2UgYXJlIGFsbAphdmFpbGFibGUgdmlhIGlu
+ZGl2aWR1YWwgU1BScyAoQ1NScyBpbiBSSVNDLVYgdGVybWlub2xvZ3kpIGluIHRoZQoiaWxsZWdh
+bCBpbnN0cnVjdGlvbiIgdHJhcCwgc2F2aW5nIGh1Z2UgbnVtYmVycyBvZiBtYXNrL3NoaWZ0Cm9w
+ZXJhdGlvbnMgdGhhdCBtYWtlIHRyYXAtYW5kLWVtdWxhdGUgbXVjaCBmYXN0ZXIgYW5kIHJlcXVp
+cmUgZmFyIGxlc3MKaW5zdHJ1Y3Rpb25zLgoKd2l0aG91dCBzdWNoIGhhcmR3YXJlLWxldmVsIGFz
+c2lzdGFuY2UgeWVzIGkgY2FuIHNlZSB0aGF0IHRyYXAgYW5kCmVtdWxhdGUgd291bGQgYmUgY29u
+c2lkZXJlZCBjb21wbGV0ZWx5IHVuYWNjZXB0YWJsZS4KCndlJ3ZlIGRpdmVyZ2VkIHF1aXRlIGEg
+bG90IGZyb20gdGhlIG9yaWdpbmFsIHRvcGljIDopICBidXQgYWxzbyBpCmJlbGlldmUgcHJvdmlk
+ZWQgc29tZSBpbnNpZ2h0cyBpbnRvIHRoZSB2ZXJ5IGRpZmZlcmVudCBuZWVkcyBvZgpkaWZmZXJl
+bnQgbWFya2V0cywgd2hpY2ggcHVsbCBpbiBjb21wbGV0ZWx5IHBvbGFyIG9wcG9zaXRlIGRpcmVj
+dGlvbnMKb24gdGhlIHNhbWUgSVNBLgoKdGhlIHN1bW1hcnkgaXM6IHRoZSBQb3dlciBTcGVjIGlz
+IGEgdmFsdWVkIGFuZCB2YWx1YWJsZSByZWZsZWN0aW9uIG9mCnRoZSBuZWVkcyBvZiBpdHMgY29t
+bXVuaXR5LiAgdGhlIHF1ZXN0aW9uIGJlY29tZXM6IGRvZXMgdGhhdCBjb21tdW5pdHkKd2FudCB0
+byBzZWUgT3BlblBPV0VSIGV4dGVuZCBmdXJ0aGVyPyAgaWYgc28sIGl0IG5lZWRzIHRvIGxlYXJu
+IGZyb20KdGhlIGFuYWx5c2lzIGRvbmUgYnkgdGhlIFJJU0MtViBmb3VuZGVycywgd2hvIGFuYWx5
+c2VkICozMCB5ZWFycyogb2YKUklTQyBwcm9jZXNzb3IgYXJjaGl0ZWN0dXJlcyBhbmQgYW1hbGdh
+bWF0ZWQgdGhlIGJlc3QgYml0cyB0aGF0IHRoZXkKdGhvdWdodCB3b3VsZCBtYWtlIGEgbW9kZXJu
+IElTQSAqYW5kIGVjby1zeXN0ZW0qIHN1cHBvcnRpbmcgYSBodWdlbHkKZGl2ZXJzZSByYW5nZSBv
+ZiBtYXJrZXRzLCBmcm9tIHRpbnkgKCJ0cnVseSIpIGVtYmVkZGVkIGFsbCB0aGUgd2F5IHVwCnRv
+IHN1cGVyY29tcHV0ZXJzLgoKbC4KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
+X19fX19fX19fX19fCmxpYnJlLXJpc2N2LWRldiBtYWlsaW5nIGxpc3QKbGlicmUtcmlzY3YtZGV2
+QGxpc3RzLmxpYnJlLXJpc2N2Lm9yZwpodHRwOi8vbGlzdHMubGlicmUtcmlzY3Yub3JnL21haWxt
+YW4vbGlzdGluZm8vbGlicmUtcmlzY3YtZGV2Cg==
+