From: Luke Kenneth Casson Leighton Date: Mon, 27 Jul 2020 08:00:54 +0000 (+0100) Subject: Re: [libre-riscv-dev] system call (sc) LEV "reserved field" X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=138a0947cbd242ea8be709673fbf9233258962da;p=libre-riscv-dev.git Re: [libre-riscv-dev] system call (sc) LEV "reserved field" --- diff --git a/f6/a2bdce917135f5e952ef200fa13084d7d3b5a0 b/f6/a2bdce917135f5e952ef200fa13084d7d3b5a0 new file mode 100644 index 0000000..d6ba7e4 --- /dev/null +++ b/f6/a2bdce917135f5e952ef200fa13084d7d3b5a0 @@ -0,0 +1,253 @@ +Return-path: +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 ) + 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 ) 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 ) 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 ; + 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: + <20200722224713.GA213782@thinks.paulus.ozlabs.org> + + + + + + <16afa487019146baacfc26f50db637f6c2c9576a.camel@kernel.crashing.org> +In-Reply-To: <16afa487019146baacfc26f50db637f6c2c9576a.camel@kernel.crashing.org> +From: Luke Kenneth Casson Leighton +Date: Mon, 27 Jul 2020 09:00:54 +0100 +X-Gmail-Original-Message-ID: +Message-ID: +To: Benjamin Herrenschmidt +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 + +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-Type: text/plain; charset="utf-8" +Content-Transfer-Encoding: base64 +Errors-To: libre-riscv-dev-bounces@lists.libre-riscv.org +Sender: "libre-riscv-dev" + +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== +