Re: [libre-riscv-dev] system call (sc) LEV "reserved field"
[libre-riscv-dev.git] / f6 / a2bdce917135f5e952ef200fa13084d7d3b5a0
1 Return-path: <libre-riscv-dev-bounces@lists.libre-riscv.org>
2 Envelope-to: publicinbox@libre-riscv.org
3 Delivery-date: Mon, 27 Jul 2020 09:01:30 +0100
4 Received: from localhost ([::1] helo=libre-riscv.org)
5 by libre-soc.org with esmtp (Exim 4.92)
6 (envelope-from <libre-riscv-dev-bounces@lists.libre-riscv.org>)
7 id 1jzy4e-0006F7-OB; Mon, 27 Jul 2020 09:01:28 +0100
8 Received: from lkcl.net ([217.147.94.29])
9 by libre-soc.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
10 (Exim 4.92) (envelope-from <lkcl@lkcl.net>) id 1jzy4d-0006F1-QN
11 for libre-riscv-dev@lists.libre-riscv.org; Mon, 27 Jul 2020 09:01:27 +0100
12 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lkcl.net;
13 s=201607131;
14 h=Content-Type:Cc:To:Subject:Message-ID:Date:From:In-Reply-To:References:MIME-Version;
15 bh=xvQZ4TK4b5qcZklXlJdApeUoTWs1wQbzj6mors5PzZc=;
16 b=KxUY4yUyjAFP92W3iSbrKtJ3fchAZoqn2fVlrhMNPUR24r9CJAH13lu9eRZoZDUNaBL1psW6DunXHO1pkt0l7wGJ81+5kmTm81pEY3wIDvCQ3iBtzIGGa9uj8jcQ0A9ReZUox35smaCeK855svNsT+2WjAClWJaiX+aZ+gSbsA4=;
17 Received: from mail-lj1-f182.google.com ([209.85.208.182])
18 by lkcl.net with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
19 (Exim 4.84_2) (envelope-from <lkcl@lkcl.net>) id 1jzy4d-0001fx-As
20 for libre-riscv-dev@lists.libre-riscv.org; Mon, 27 Jul 2020 08:01:27 +0000
21 Received: by mail-lj1-f182.google.com with SMTP id 185so5958350ljj.7
22 for <libre-riscv-dev@lists.libre-riscv.org>;
23 Mon, 27 Jul 2020 01:01:11 -0700 (PDT)
24 X-Gm-Message-State: AOAM531UddcR/dKMlO2XtPT7VpLq4vZ9OZMgrKJLu9GNgIoy6/GDt0za
25 Y1e1yUonxSwn/N0Pg5WN2Qc0b9H1qhMT2FAJ6Uk=
26 X-Google-Smtp-Source: ABdhPJxccqlxJvhgdLOcqFbKdChEeHW+Oe31he1L2j2Om+hmxtv8xLIXi3TWmhXOmYDo6FiiZIm8aLNVxesPC9EwdNQ=
27 X-Received: by 2002:a2e:92d0:: with SMTP id k16mr9899759ljh.48.1595836866221;
28 Mon, 27 Jul 2020 01:01:06 -0700 (PDT)
29 MIME-Version: 1.0
30 References: <CAPweEDzJpX8mDE1QJO6=rPEQfz0jCt+Yi9sS48cE4bXcu8AwcQ@mail.gmail.com>
31 <20200722224713.GA213782@thinks.paulus.ozlabs.org>
32 <CAPweEDxxJqcy4kAcL0+wDYQh9A0KtW3dSi9kMdQ-_YotuRSsQw@mail.gmail.com>
33 <bc0527a82b8a777486388ab6084ce364db4c278c.camel@kernel.crashing.org>
34 <CAPweEDx_gUy8KoQUrfE+Xn-URqFQsMiiT8A9WcLsK67E5bY8Jg@mail.gmail.com>
35 <b3a6d1be404b96594d69d9b59701c574957c8d2a.camel@kernel.crashing.org>
36 <CAPweEDws3LZYJuYmMuDd89Q5RWjHPYX3tWbQp9VjPZC_AFSDWg@mail.gmail.com>
37 <16afa487019146baacfc26f50db637f6c2c9576a.camel@kernel.crashing.org>
38 In-Reply-To: <16afa487019146baacfc26f50db637f6c2c9576a.camel@kernel.crashing.org>
39 From: Luke Kenneth Casson Leighton <lkcl@lkcl.net>
40 Date: Mon, 27 Jul 2020 09:00:54 +0100
41 X-Gmail-Original-Message-ID: <CAPweEDz+=H1FQ24uFyveuC3-BoaQeYLPY7phUsc1Zm1WpazvBA@mail.gmail.com>
42 Message-ID: <CAPweEDz+=H1FQ24uFyveuC3-BoaQeYLPY7phUsc1Zm1WpazvBA@mail.gmail.com>
43 To: Benjamin Herrenschmidt <benh@kernel.crashing.org>
44 Subject: Re: [libre-riscv-dev] system call (sc) LEV "reserved field"
45 X-BeenThere: libre-riscv-dev@lists.libre-riscv.org
46 X-Mailman-Version: 2.1.23
47 Precedence: list
48 List-Id: Libre-RISCV General Development
49 <libre-riscv-dev.lists.libre-riscv.org>
50 List-Unsubscribe: <http://lists.libre-riscv.org/mailman/options/libre-riscv-dev>,
51 <mailto:libre-riscv-dev-request@lists.libre-riscv.org?subject=unsubscribe>
52 List-Archive: <http://lists.libre-riscv.org/pipermail/libre-riscv-dev/>
53 List-Post: <mailto:libre-riscv-dev@lists.libre-riscv.org>
54 List-Help: <mailto:libre-riscv-dev-request@lists.libre-riscv.org?subject=help>
55 List-Subscribe: <http://lists.libre-riscv.org/mailman/listinfo/libre-riscv-dev>,
56 <mailto:libre-riscv-dev-request@lists.libre-riscv.org?subject=subscribe>
57 Reply-To: Libre-RISCV General Development
58 <libre-riscv-dev@lists.libre-riscv.org>
59 Cc: "openpower-hdl-cores@mailinglist.openpowerfoundation.org"
60 <openpower-hdl-cores@mailinglist.openpowerfoundation.org>,
61 Libre-RISCV General Development <libre-riscv-dev@lists.libre-riscv.org>
62 Content-Type: text/plain; charset="utf-8"
63 Content-Transfer-Encoding: base64
64 Errors-To: libre-riscv-dev-bounces@lists.libre-riscv.org
65 Sender: "libre-riscv-dev" <libre-riscv-dev-bounces@lists.libre-riscv.org>
66
67 LS0tCmNyb3dkLWZ1bmRlZCBlY28tY29uc2Npb3VzIGhhcmR3YXJlOiBodHRwczovL3d3dy5jcm93
68 ZHN1cHBseS5jb20vZW9tYTY4CgpPbiBNb24sIEp1bCAyNywgMjAyMCBhdCA1OjMwIEFNIEJlbmph
69 bWluIEhlcnJlbnNjaG1pZHQKPGJlbmhAa2VybmVsLmNyYXNoaW5nLm9yZz4gd3JvdGU6Cgo+ID4g
70 YWx0aG91Z2ggaSBoYXZlIHRvIGFzayB3aHksIGZvciBFbWJlZGRlZCwgdGhleSBkaWQgbm90IGp1
71 c3QgcmVjb21waWxlCj4gPiB0aGUgc291cmNlIGNvZGUsIGN1c3RvbWlzZWQgZm9yIHRoYXQgZW5k
72 dXNlciBhcHBsaWNhdGlvbi4KPgo+IEJlY2F1c2UgdGhlIGRpc3RpbmN0aW9uIGJldHdlZW4gImVt
73 YmVkZGVkIiBhbmQgInVuaXgiIGlzIHZlcnkgYmx1cnJ5CgpiZW5qYW1pbjogdGhpcyBpcyBub3Qg
74 Z29vZCEgIHNwZWNpZmljYXRpb25zIHNob3VsZCAqbmV2ZXIqIGJlIGJsdXJyeSEKaSBiZWxpZXZl
75 IHlvdSBtYXkgbWVhbiBzb21ldGhpbmcgZGlmZmVyZW50LCBoZXJlLCB3aGljaCB3YXJyYW50cwpp
76 bnZlc3RpZ2F0aW9uLiAgaSB0aGluayBpIGtub3cgd2h5LCBnaXZlbiB0aGF0IHRoZSB0eXBpY2Fs
77 IG1hcmtldHMgZm9yCmVtYmVkZGVkIFBvd2VySVNBIGNvcmVzIGFyZSBzcGVjaWFsaXN0IGFyZWFz
78 IChhZXJvc3BhY2UgYW5kIHNvIG9uKS4KUXVvcmwgZm9yIGV4YW1wbGUgaXMgbWFya2V0ZWQgYXQg
79 cm91dGVycyBhbmQgZGVmaW5pdGVseSBjcm9zc2VzIG92ZXIsCnlldCBpcyBzdGlsbCB0ZXJtZWQg
80 ImVtYmVkZGVkIi4KCj4gYW5kIGluIG1hbnkgYXJlYXMgb2Jzb2xldGUuCgpvayBsZXQncyBsb29r
81 IGF0IHRoZSB2My4xQiBkb2N1bWVudCwgcGFnZSB2aWlpICJDb21wbGlhbmN5IFN1YnNldHMiLgoK
82 bm93aGVyZSBpbiB0aGVyZSAtIGV2ZW4gaW4gdGhlIHNjYWxhciBmaXhlZC1wb2ludCBzZWN0aW9u
83 IC0gYW0gaQpzZWVpbmcgbWVudGlvbiBvZiB3aGF0IHdvdWxkIGJlIGV4cGVjdGVkIGZvciAicmVh
84 bGx5IHJlc291cmNlCmNvbnN0cmFpbmVkIGkuZS4gKnRydWx5KiBlbWJlZGRlZCIgbWFya2V0czog
85 YmVpbmcgYWJsZSB0byBkcm9wIHRoZQoodmVyeSBleHBlbnNpdmUsIGdhdGUtd2lzZSkgbG9naWMg
86 ZGVjb2RpbmcgZm9yIGNhdGNoaW5nIGlsbGVnYWwKaW5zdHJ1Y3Rpb25zLCBpbGxlZ2FsIFNQUiBh
87 Y2Nlc3MsIGFuZCBzbyBvbi4KCmluIFNGUyB0aGUgZHJvcCBpbiBnYXRlIGNvdW50IGZyb20gbm90
88 IG5lZWRpbmcgYSBGUFUgaXMgbWFzc2l2ZTogYW4KRlBVIHR5cGljYWxseSBkd2FyZnMgdGhlIHNp
89 emUgb2YgdGhlIG1haW4gY29yZS4gIG9uY2UgdGhlIEZQVSBpcwpkcm9wcGVkIHRoZW4gcmVsYXRp
90 dmVseSBzcGVha2luZyBmdXJ0aGVyIHNhdmluZ3Mgc3VjaCBhcyBjdXR0aW5nIHRob3NlCm5lZWRl
91 ZCBmb3IgaWxsZWdhbCBpbnN0cnVjdGlvbnMgYmVjb21lcyBzaWduZmljYW50ICg1JSBzYXZpbmcs
92 IDEwJQpzYXZpbmcpIGFuZCBpbiBtYXNzLXZvbHVtZSBtYXJrZXRzIHRoYXQncyBhYnNvbHV0ZWx5
93 IG1hc3NpdmUuCgpsZXQgdXMgdGhlcmVmb3JlIGRlZmluZSAicmVzb3VyY2UtY29uc3RyYWluZWQg
94 ZW1iZWRkZWQgbWFya2V0cyIgYXMKInRydWx5IiBlbWJlZGRlZCwgcmF0aGVyIHRoYW4gdGhlIGJs
95 dXJyeSBkZWZpbml0aW9uIGluc3BpcmVkIGJ5IHRoZQptZW1lIHRoYXQgZ29lcyBieSB0aGUgbW9u
96 aWtlciAiSW9UIiwgd2hpY2ggbm93IGluY2x1ZGVzIDgrIHdhdHQKcmFzcGJlcnJ5IHBpIDQgZGV2
97 aWNlcyB0aGF0IHJ1biBzbyBob3QgdGhleSBuZWVkIGZhbiBjb29saW5nLgoKd2hpbHN0IGl0IGNv
98 bWVzIHdpdGggdGhlICJidXJkZW4iIG9mIG5lZWRpbmcgdG8gc25hcHNob3QgYW5kIG1haW50YWlu
99 CnRoZSBmdWxsIHRvb2xjaGFpbiAod2hpY2ggZm9yIGN1c3RvbWlzYXRpb24gYW5kIGN1c3RvbSBl
100 eHRlbnNpb25zIGlzIGEKaGFyZCByZXF1aXJlbWVudCBhbnl3YXkpLCBvbmUgb2YgdGhlIGtleSBh
101 cmVhcyBpbiB3aGljaCBSSVNDLVYgaGFzCmJlZW4gc3VjY2Vzc2Z1bCBpcyB0aGUgbWFzcy12b2x1
102 bWUgKnRydWx5KiBlbWJlZGRlZCBtYXJrZXQuCgp0aGUgY2Fub25pY2FsIGV4YW1wbGUgaXMgV2Vz
103 dGVybiBEaWdpdGFsLCB3aG8gdXAgdW50aWwgUklTQy1WIGhhZAp0aGVpciBvd24gInRydWx5IiBl
104 bWJlZGRlZCBjdXN0b20gSVNBIHdoaWNoIGhhcyBiZWVuIGh5cGVyLWVmZmljaWVudApmb3IgdGhl
105 bSwgZm9yIHVzZSBpbiBTU0RzLCBIRERzIGFuZCBVU0IgRmxhc2ggZGV2aWNlcy4gIHRoZSByZWFz
106 b24KdGhleSB3YW50ZWQgdG8gZ28gd2l0aCBSSVNDLXYgaXMgdG8gc2F2ZSBvbiBtYWludGVuYW5j
107 ZSBvZiB0aGVpciBvd24KY3VzdG9tIHRvb2xjaGFpbiAoYmVhciBpbiBtaW5kIHRoYXQgd2l0aCBh
108 IGN1c3RvbSBJU0EgeW91IG5lZWQgbm90Cm9ubHkgYSBjdXN0b20gdG9vbGNoYWluLCB5b3UgbmVl
109 ZCBhIGN1c3RvbSBPUyBhbmQgY3VzdG9tIGFwcGxpY2F0aW9ucwphcyB3ZWxsISAgdGhlIGNvc3Qg
110 dG8gdGhlbSBvZiBtYWludGFpbmluZyB0aGlzIHdvdWxkIGJlIGVub3Jtb3VzISkKCmhlcmUsIGlm
111 IHRoZSBiaW5hcnkgc2l6ZSBpcyBsYXJnZSwgdGhpcyBjdXRzIGludG8gdGhlIHVzYWdlIGFsbG9j
112 YXRpb24Kb2YgdGhlIG9uLWJvYXJkIE5BTkQgYW5kIG9uLWJvYXJkIFJBTSAoYmVjYXVzZSB0aGV5
113 IGRvbid0IGhhdmUKc2VwYXJhdGUgTkFORCBmcm9tIHRoZSBjdXN0b21lci1hbGxvY2F0ZWQgYXJl
114 YSwgb3Igc2VwYXJhdGUgUkFNIGZvcgp0aGUgY2FjaGVpbmcgb2YgY3VzdG9tZXIncyBkYXRhKS4K
115 CmlmIHRoZSBOQU5EIGFuZCBSQU0gYWxsb2NhdGlvbiBhcmUgcmVkdWNlZCwgdGhhdCBoYXMgYSB2
116 ZXJ5IHJlYWwKZGV0cmltZW50YWwgaW1wYWN0IG9uIHRoZWlyIHNhbGVzIGFuZCBwcm9maXRhYmls
117 aXR5LCBlc3BlY2lhbGx5IGluCnN1Y2ggYSBoaWdobHkgY29tcGV0aXRpdmUgbWFya2V0IQoKcmVt
118 ZW1iZXIgdGhhdCBmb3IgV0Qgd2UgYXJlIHRhbGtpbmcgc2FsZXMgb2YgYmlsbGlvbnMgb2YgdW5p
119 dHMsIGhlcmUuCiJhIGZldyBnYXRlcyIgbXVsdGlwbGllZCBieSBhIGJpbGxpb24gc2FsZXMgY2Fu
120 IG1ha2UgdGhlIGRpZmZlcmVuY2UKYmV0d2VlbiBwcm9maXQgYW5kIGxvc3MuCgpzbyB0aGV5IGZv
121 dW5kIHdoZW4gY29udmVydGluZyB0byBSSVNDLVYgZnJvbSB0aGVpciBvd24gaW50ZXJuYWwgSVNB
122 CnRoYXQgYmluYXJ5IHNpemUgaW5jcmVhc2VkIGJ5IChpaXJjKSAyMCUuICB0aGV5IGFic29sdXRl
123 bHkgaGFkIHRvIGRvCnNvbWV0aGluZyBhYm91dCB0aGlzIGFuZCBzbyBzZXQgYWJvdXQgYW5hbHlz
124 aW5nIHN0YXRpYyBpbnN0cnVjdGlvbgphbGxvY2F0aW9uIGFuZCAoaSBhbSBwcm9qZWN0aW5nIGhl
125 cmUgYXMgdGhpcyB3YXMgMjAxNikgdGhleSB3b3VsZCBieQpub3cgbGlrZWx5IGhhdmUgdXNlZCB0
126 aGF0IHJlc2VhcmNoIHRvIGNyZWF0ZSBjdXN0b20gaW5zdHJ1Y3Rpb24KbW9kaWZpY2F0aW9ucyBz
127 aW1pbGFyIHRvIHRoZSBWTEUgQm9vaywgZXhjZXB0IHRhcmdldHRlZCBzcGVjaWZpY2FsbHkKYXQg
128 dGhlaXIgdXNlLWNhc2UuCgpub25lIG9mIHRoZXNlIGN1c3RvbSBJU0EgbW9kaWZpY2F0aW9ucyB3
129 aGljaCByZXN1bHQgaW4gY29kZS1zaXplCnJlZHVjdGlvbiB0aGF0IGlzIGltcG9ydGFudCB0byB0
130 aGVpciBwcm9maXRhYmlsaXR5IGluIGEgdmVyeSByZWFsIHdheQphZmFpayBhcmUgbWFkZSBwdWJs
131 aWMgKGkgaGF2ZSBub3QgY2hlY2tlZCBvciBoZWFyZCBhbnkgbmV3cyBzbyB0aGlzCmNvdWxkIGJl
132 IHdyb25nKS4KCnRoaXMgd2FzIGFsbCBiYXNlZCBvbiB0aGUgaW5pdGlhbCBiYXNlIG9mICpub3Qq
133 IGhhdmluZyB0byBoYXZlIHRoZQpnYXRlcyBmb3IgaWxsZWdhbCBpbnN0cnVjdGlvbiBjYXRjaGlu
134 ZyBldGMuLCB0aGV5IGhhZCB0byBnbyAiY3VzdG9tCmZpcm13YXJlLCBjdXN0b20gdG9vbGNoYWlu
135 IiBhbnl3YXksIGFuZCB0aGUgUklTQy1WIGluaXRpYXRpdmUgcHJvdmlkZWQKdGhlbSB3aXRoIGEg
136 aHVnZSBjb3N0IHNhdmluZyBvbiB0aGUgdG9vbGNoYWluIGFuZCBtdWNoIG1vcmUuCgpzbyB0aGV5
137 IGdvdCB0byBoYXZlIHRoZWlyIGNha2UgYW5kIGVhdCBpdDoKCiogY29zdCBzYXZpbmdzIG9uIHRv
138 b2xjaGFpbiwga2VybmVsLCBvcyBhbmQgYm9vdGxvYWRlciBtYWludGVuYW5jZSAoYnkKYmVpbmcg
139 YWJsZSB0byByaWRlIG9mZiB0aGUgYmFjayBvZiBSSVNDLVYgIm9mZmljaWFsIikKKiBjb3N0IHNh
140 dmluZ3MgZnJvbSB0aGUgIkVtYmVkZGVkIFJJU0MtViBQbGF0Zm9ybSIgYWxyZWFkeSBoYXZpbmcg
141 bWFkZQpkZWNpc2lvbnMgdGhhdCBzaWduaWZpY2FudGx5IHJlZHVjZWQgZ2F0ZSBjb3VudAoqIGNv
142 c3Qgc2F2aW5ncyBmcm9tIGZ1cnRoZXIgcmVkdWN0aW9ucyBieSBhZGRpbmcgY3VzdG9tIGluc3Ry
143 dWN0aW9ucwphbmQgY3VzdG9taXNpbmcgdGhlIHRvb2xjaGFpbiB0byBtYXRjaCB0aGVtLgoKKnRo
144 aXMqIGlzICp0cnVseSogZW1iZWRkZWQuCgoKCj4gT25lIGNhbiBjb21waWxlIGEgc2luZ2xlIGlt
145 YWdlIHRoYXQgaXMgbWVhbnQgdG8gcnVuIG9uIGEgd2lkZSB2YXJpZXR5Cj4gb2Ygc3lzdGVtIGFu
146 ZCBldmVuIHRoZSAiZW1iZWRkZWQiIHdvcmxkIHdhbnRzIHRoYXQgY2FwYWJpbGl0eS4KCmlmIHdl
147 IGFyZSB0YWxraW5nIGFib3V0IHRoZSBleGlzdGluZyAoY29yZSkgT3BlblBPV0VSIEZvdW5kYXRp
148 b24KbWVtYmVycyBzdWJzZXQgZW1iZWRkZWQgbWFya2V0cywgc2VydmVkIGJ5IHRoZWlyIGN1cnJl
149 bnQgcHJvZHVjdApvZmZlcmluZ3M6IHllcy4KCmlmIHdlIGFyZSB0YWxraW5nIGFib3V0IHRoZSAq
150 ZnVsbCogKHdvcmxkLXdpZGUpIGRlZmluaXRpb24gb2YKImVtYmVkZGVkIiB3aGljaCBpbmNsdWRl
151 cyAidHJ1bHkiIGVtYmVkZGVkOiBhYnNvbHV0ZWx5IG5vdC4KCmFuZCBpIGhhdmUgdG8gcG9pbnQg
152 b3V0IHRoYXQgaWYgT3BlblBPV0VSJ3MgZGlyZWN0aW9uIG9ubHkgdGFrZXMgaW50bwpjb25zaWRl
153 cmF0aW9uIHRoZSBmb3JtZXIsIGl0IGlzICpndWFyYW50ZWVkKiB0aGF0IFBvd2VyIHdpbGwgbmV2
154 ZXIKZXh0ZW5kIG9yIHNlZSB3aWRlIGFkb3B0aW9uIGludG8gdGhlIGxhdHRlci4gIHRoZSBjb3N0
155 LWJlbmVmaXQKYW5hbHlzaXMgY29tZXMgdXAgc28gc2hvcnQgdGhhdCBubyBtYXNzLXZvbHVtZSBw
156 cm9kdWN0IG1hbnVmYWN0dXJlcgp3aWxsIGNvbnNpZGVyIGl0LCBhbmQgcXVpdGUgcmlnaHRseSBz
157 bywgYXMgdGhpbmdzIHN0YW5kLgoKdGhpcyB0aGVuIGlzIHRoZSBjaGFsbGVuZ2UgZm9yIE9wZW5Q
158 T1dFUiBpZiBpdCB3aXNoZXMgdG8gaGF2ZSBhIHdpZGVyCnJlYWNoOiB0byBhZGFwdCB0byBiZXlv
159 bmQgdGhlIG5lZWRzIG9mIHRoZSBjdXJyZW50IG1lbWJlcnMsIHdoaWxzdAphbHNvIC0gdmVyeSBp
160 bXBvcnRhbnRseSAtIHJlc3BlY3RpbmcgdGhlIGxvbmctc3RhbmRpbmcgcmVsYXRpb25zaGlwLApj
161 b250cmlidXRpb24gYW5kIG5lZWRzICpvZiogdGhvc2UgY3VycmVudCBtZW1iZXJzIGF0IHRoZSBz
162 YW1lIHRpbWUuCgppdCdzIGEgZGVsaWNhdGUgYmFsYW5jZSB0byBhY2hpZXZlLgoKCj4gRWl0aGVy
163 Cj4gYmVjYXVzZSB0aGV5IGVuZCB1cCBydW5uaW5nIHNvbWUga2luZCBvZiAidXBzdHJlYW0iIE9T
164 IGltYWdlLCBvcgo+IGJlY2F1c2UgdGhleSBkb24ndCB3YW50IHRvIG1haW50YWluIGNvbXBsZXRl
165 bHkgZGlmZmVyZW50IFNXIGltYWdlcyBmb3IKPiBhbGwgdGhlaXIgcHJvZHVjdHMsIGV0Yy4uLgoK
166 aW5kZWVkLiAgYW5kIHRoaXMgaXMgcGVyZmVjdGx5IHJlYXNvbmFibGUsIGZvciB3aGF0IHdlJ3Zl
167 IGNvbGxvcXVpYWxseQp0ZXJtZWQgdGhlICJibHVycnkiIGVtYmVkZGVkIG1hcmtldHMuICB0aGUg
168 Y29zdCBzYXZpbmdzIG9mIG5vdCBoYXZpbmcKdG8gcmVjb21waWxlIG9yIG1haW50YWluIGN1c3Rv
169 bSBwYWNrYWdlcyBldGMuIC0gdGhlc2UgYXJlIGVub3Jtb3VzCnNhdmluZ3MsIGFic29sdXRlbHkg
170 d29ydGh3aGlsZSBwdXJzdWluZy4KCnVuZm9ydHVuYXRlbHksIGlmIHRoYXQgZXhwZWN0YXRpb24g
171 dGhlbiBwcm9wYWdhdGVzIHRocm91Z2hvdXQgdGhlCmVudGlyZSBPcGVuUE9XRVIgY29tbXVuaXR5
172 IGFzIGEgImhhcmQgZXhwZWN0YXRpb24iIChldmVuIHRvIHRoZSBTRlMKQ29tcGxpYW5jeSBzdWJz
173 ZXQpLCBpdCAqYXV0b21hdGljYWxseSBhbmQgaW5oZXJlbnRseSogZXhjbHVkZXMgYW55CnBvc3Np
174 YmlsaXR5IGZvciAgInRydWx5IiBlbWJlZGRlZCB2ZW5kb3JzIHRvIGNvbnNpZGVyIHVzaW5nIFBP
175 V0VSLApiZWNhdXNlIHRoZXkgYXJlICpwcm9oaWJpdGVkKiBieSB0aGUgQ29tcGxpYW5jeSBSZXF1
176 aXJlbWVudHMgZnJvbQpkcm9wcGluZyB0aGUgZ2F0ZXMgdGhhdCB3b3VsZCBtYWtlIHRoZSBwcm9k
177 dWN0IHByb2ZpdGFibGUhCgoKPiA+IGhvd2V2ZXIgdGhpcyBhbHNvIGFjdHVhbGx5IGlsbHVzdHJh
178 dGVzIHByZWNpc2VseSB3aHkgaSBtZW50aW9uZWQgdGhhdAo+ID4gZm9yIGJlc3QgcmVzdWx0cywg
179 YSBzcGVjIGhhcyB0byBoYXZlIGRpZmZlcmVudCBwbGF0Zm9ybSBiZWhhdmlvdXIgZm9yCj4gPiBF
180 bWJlZGRlZCBhcyBjb21wbGV0ZWx5IHNlcGFyYXRlIGFuZCBkaXN0aW5jdCBmcm9tIFVOSVguCj4K
181 PiBUaGlzIGlzIG5vdCByZWFsbHkgdHJ1ZSBhbnltb3JlLgoKdGhhbmtzIHRvIHRoZSBtZW1lICJJ
182 b1QiIGFuZCBzbyBvbiB0aGUgd29yZCAiZW1iZWRkZWQiIHdoZW4gaW4gZ2VuZXJhbApjaXJjdWxh
183 dGlvbiBoYXMgYmVjb21lIG1lYW5pbmdsZXNzLCB5ZXMuICBpIGFtIG5vdCB1c2luZyB0aGUgdGVy
184 bQoiRW1iZWRkZWQiIGluIHRoZSBtZWFuaW5nbGVzcyBzZW5zZSwgaSBhbSB1c2luZyBpdCBpbiB0
185 aGUgb3JpZ2luYWwKc2Vuc2UgdXNlZCB0byBkZXNjcmliZSA4IGFuZCAxNiBiaXQgcHJvY2Vzc29y
186 IG1hcmtldHMgKHdoZW4gdXByYXRlZCB0bwozMiBhbmQgc29tZXRpbWVzIDY0IGJpdCkuCgpFbWJl
187 ZGRlZCBpbiB0aGUgc2Vuc2Ugb2YgQXJkdWlubyBQSUNzLCBBVE1FTCBBVFNBTTMgc2VyaWVzLCBT
188 VCBNaWNybwpTVE0zMkYgc2VyaWVzLCBhbmQgc28gb24uIEFSTSBDb3J0ZXggTTAsIE0zIHN0eWxl
189 IGFuZCBzdWNoLgoKbm90IHRoZSAidGFrZSB0aGUgbGF0ZXN0IDY0IGJpdCBoaWdoIHBlcmZvcm1h
190 bmNlIDIuNSBnaHogcXVhZC1jb3JlIDgrCndhdHQgcHJvY2Vzc29yLCBzbGFwIGl0IGludG8gYSBT
191 QkMgZm9ybS1mYWN0b3IgYW5kIGNhbGwgaXQgcXVvdGVzCmVtYmVkZGVkIHF1b3RlcyIgZGVmaW5p
192 dGlvbiBvZiBFbWJlZGRlZC4KCj4gRm9yIGV4YW1wbGUsIGRvIHlvdSBjb25zaWRlciB5b3VyIGNl
193 bGwKPiBwaG9uZSBvciB5b3VyIFRWICJlbWJlZGRlZCIgb3IgInVuaXgiID8KClVOSVgsIHdpdGhv
194 dXQgYSBzaGFkb3cgb2YgZG91YnQuICBBbmRyb2lkIGlzIGEgVU5JWCBQbGF0Zm9ybS4gIHRoZQpB
195 bmRyb2lkIGtlcm5lbCAqaXMqIHRoZSBsaW51eCBrZXJuZWwsIGFuZCwgaWYgZW5kLXVzZXJzIGFy
196 ZSBwcmVwYXJlZAp0byBwdXQgaW4gc29tZSBlZmZvcnQsIGFsbCBkZXZpY2VzIHJ1bm5pbmcgQW5k
197 cm9pZCAtIGlmIHRoZXJlIGlzbid0ClRyZWFjaGVyb3VzIERSTSBidWlsdC1pbiB0byB0aGUgYm9v
198 dCBzZXF1ZW5jZSAtIGNhbiBoYXZlIHRoZWlyIE9TCmVudGlyZWx5IHJlcGxhY2VkIGJ5IGFueSBH
199 TlUvTGludXggZGlzdHJvIHRoYXQncyBjb21wYXRpYmxlIHdpdGggdGhlCnByb2Nlc3Nvci4KCnNv
200 IG5vIC0gdGhvc2UgYXJlICpkZWZpbml0ZWx5KiBVTklYIHBsYXRmb3JtIGRldmljZXMuCgo+ID4g
201 dGhpcyBvbiB0aGUgYmFzaXMgdGhhdCBFbWJlZGRlZCBNYXJrZXRzIGFyZSB0eXBpY2FsbHkgb25l
202 LW9mZgo+ID4gZGVwbG95bWVudCwgd2hlcmUgdGhlIHRvb2xjaGFpbiBhbmQgYWxsIGJ1aWxkIHNv
203 dXJjZSBpcyAic25hcHNob3R0ZWQiCj4gPiBhdCBwcm9kdWN0IHJlbGVhc2UgdGltZSwgdXNlZCBp
204 bnRlcm5hbGx5IGFuZCB0aGUgc291cmNlIGNvZGUgYW5kCj4gPiB0b29sY2hhaW4gYWxtb3N0IG5l
205 dmVyIHNlZSB0aGUgbGlnaHQgb2YgZGF5LiAgbWFpbmxpbmUgdXBncmFkZXMgYXJlCj4gPiBleGNl
206 cHRpb25hbGx5IHJhcmUuCj4KPiBUaGVyZSBhcmUgcXVpdGUgYSBmZXcgY291bnRlciBleGFtcGxl
207 cyBldmVuIGluIHRoZSAiZW1iZWRkZWQiIG1hcmtldC4KPiBFc3BlY2lhbGx5IHdoZW4gaXQgY29t
208 ZXMgdG8gc3RvcmFnZSBhcHBsaWFuY2VzLiBTb21lIG9mIHRoZXNlIHRoaW5ncwo+IGNhbiBldmVu
209 IHJ1biBDZW50T1MuCgpjb29sIQoKaG93ZXZlciwgYWdhaW46IGFyZSB3ZSByZWZlcnJpbmcgdG8g
210 ImdlbmVyYWwgbW9ycGhlZCAoYmx1cnJ5KSIKZGVmaW5pdGlvbiBvZiBFbWJlZGRlZCwgb3IgInRy
211 dWx5IiBlbWJlZGRlZD8KCj4gPiBzbyBpbiB0aGF0IGNvbnRleHQsIGkgYW0gc2xpZ2h0bHkgY29u
212 ZnVzZWQgdG8gaGVhciB0aGF0IGZvciBGcmVlc2NhbGUKPiA+ICpFbWJlZGRlZCogcHJvY2Vzc29y
213 cyB0aGF0IHRoZXJlIGlzIGV2ZW4gYSBiaW5hcnkgaW5jb21wYXRpYmlsaXR5Cj4gPiBwcm9ibGVt
214 IHdpdGggbHdzeW5jICphdCBhbGwqLgo+ID4KPiA+IGlmIHlvdSBoYXZlIHRpbWUgaSdkIGxvdmUg
215 dG8gaGVhciBtb3JlLCB3aGF0J3MgdGhlIHN0b3J5IHRoZXJlPwo+Cj4gSSBmb3Jnb3QgdGhlIGRl
216 dGFpbHMsIGJ1dCBhIHNwZWNpZmljIGNvcmUgdmFyaWFudCBmcm9tIEZTTCBzY3Jld2VkIHVwCj4g
217 dGhlIGRlY29kZSB0YWJsZSBhbmQgd291bGQgdHJhcCBvbiBsd3N5bmMgaW5zdGVhZCBvZiBpZ25v
218 cmluZyB0aGUgYml0LgoKYW5kLCBnaXZlbiB0aGUgZXhwZWN0YXRpb24gdG8gaGF2ZSBiaW5hcnkg
219 aW50ZXJvcGVyYWJpbGl0eSBldmVuIGFjcm9zcwoiZ2VuZXJhbCIgKGFrYSBjb2xsb3F1aWFsbHkg
220 Ymx1cnJ5KSBFbWJlZGRlZCwgdGhhdCB3b3VsZCBtYXR0ZXIgKGEKbG90KS4KCj4gPiBpbmRlZWQu
221 Li4gaW4gdGhpcyB2ZXJ5IHNwZWNpYWwgY2FzZSB0aGF0IHdlIGhhdmUgZXN0YWJsaXNoZWQsIGJ5
222 IGl0Cj4gPiBlZmZlY3RpdmVseSBiZWluZyBhICJoaW50IiwgZmFsbHMgY29tcGxldGVseSBvdXRz
223 aWRlIG9mIHdoYXQgaSBhbQo+ID4gY29uY2VybmVkIGFib3V0Cj4KPiBJbiAqbW9zdCogY2FzZXMg
224 dHJhcCArIGVtdWxhdGlvbiBsZWFkcyB0byB1bnVzYWJsZSBwZXJmb3JtYW5jZXMgdGhvdWdoLgoK
225 dGhpcyBpcyBhbm90aGVyIHN1Yi10b3BpYyBlbnRpcmVseS4gIHRoZSBxdWVzdGlvbiBvbmUgbmVl
226 ZHMgdG8gYXNrIGlzOgoqd2h5KiBpcyBwZXJmb3JtYW5jZSB1bnVzYWJsZT8gICp3aHkqIGlzIHRo
227 ZSBjb3N0IHNvIGhpZ2g/CgpSSVNDLVYgKGFnYWluLiAgdGhlcmUgYXJlIG1hbnkgZ29vZCBiaXRz
228 IHRvIFJJU0MtVikgcHJvdmlkZXMKaGFyZHdhcmUtbGV2ZWwgcGFydGlhbC1kZWNvZGUgb2YgaW5z
229 dHJ1Y3Rpb24gc3ViLWZpZWxkcy4gIFJBLCBSQiwgUlMsClJUIChvciwgUklTQy1WIGVxdWl2YWxl
230 bnRzKSBhbmQgb3RoZXIgc3ViLWZpZWxkcywgdGhlc2UgYXJlIGFsbAphdmFpbGFibGUgdmlhIGlu
231 ZGl2aWR1YWwgU1BScyAoQ1NScyBpbiBSSVNDLVYgdGVybWlub2xvZ3kpIGluIHRoZQoiaWxsZWdh
232 bCBpbnN0cnVjdGlvbiIgdHJhcCwgc2F2aW5nIGh1Z2UgbnVtYmVycyBvZiBtYXNrL3NoaWZ0Cm9w
233 ZXJhdGlvbnMgdGhhdCBtYWtlIHRyYXAtYW5kLWVtdWxhdGUgbXVjaCBmYXN0ZXIgYW5kIHJlcXVp
234 cmUgZmFyIGxlc3MKaW5zdHJ1Y3Rpb25zLgoKd2l0aG91dCBzdWNoIGhhcmR3YXJlLWxldmVsIGFz
235 c2lzdGFuY2UgeWVzIGkgY2FuIHNlZSB0aGF0IHRyYXAgYW5kCmVtdWxhdGUgd291bGQgYmUgY29u
236 c2lkZXJlZCBjb21wbGV0ZWx5IHVuYWNjZXB0YWJsZS4KCndlJ3ZlIGRpdmVyZ2VkIHF1aXRlIGEg
237 bG90IGZyb20gdGhlIG9yaWdpbmFsIHRvcGljIDopICBidXQgYWxzbyBpCmJlbGlldmUgcHJvdmlk
238 ZWQgc29tZSBpbnNpZ2h0cyBpbnRvIHRoZSB2ZXJ5IGRpZmZlcmVudCBuZWVkcyBvZgpkaWZmZXJl
239 bnQgbWFya2V0cywgd2hpY2ggcHVsbCBpbiBjb21wbGV0ZWx5IHBvbGFyIG9wcG9zaXRlIGRpcmVj
240 dGlvbnMKb24gdGhlIHNhbWUgSVNBLgoKdGhlIHN1bW1hcnkgaXM6IHRoZSBQb3dlciBTcGVjIGlz
241 IGEgdmFsdWVkIGFuZCB2YWx1YWJsZSByZWZsZWN0aW9uIG9mCnRoZSBuZWVkcyBvZiBpdHMgY29t
242 bXVuaXR5LiAgdGhlIHF1ZXN0aW9uIGJlY29tZXM6IGRvZXMgdGhhdCBjb21tdW5pdHkKd2FudCB0
243 byBzZWUgT3BlblBPV0VSIGV4dGVuZCBmdXJ0aGVyPyAgaWYgc28sIGl0IG5lZWRzIHRvIGxlYXJu
244 IGZyb20KdGhlIGFuYWx5c2lzIGRvbmUgYnkgdGhlIFJJU0MtViBmb3VuZGVycywgd2hvIGFuYWx5
245 c2VkICozMCB5ZWFycyogb2YKUklTQyBwcm9jZXNzb3IgYXJjaGl0ZWN0dXJlcyBhbmQgYW1hbGdh
246 bWF0ZWQgdGhlIGJlc3QgYml0cyB0aGF0IHRoZXkKdGhvdWdodCB3b3VsZCBtYWtlIGEgbW9kZXJu
247 IElTQSAqYW5kIGVjby1zeXN0ZW0qIHN1cHBvcnRpbmcgYSBodWdlbHkKZGl2ZXJzZSByYW5nZSBv
248 ZiBtYXJrZXRzLCBmcm9tIHRpbnkgKCJ0cnVseSIpIGVtYmVkZGVkIGFsbCB0aGUgd2F5IHVwCnRv
249 IHN1cGVyY29tcHV0ZXJzLgoKbC4KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
250 X19fX19fX19fX19fCmxpYnJlLXJpc2N2LWRldiBtYWlsaW5nIGxpc3QKbGlicmUtcmlzY3YtZGV2
251 QGxpc3RzLmxpYnJlLXJpc2N2Lm9yZwpodHRwOi8vbGlzdHMubGlicmUtcmlzY3Yub3JnL21haWxt
252 YW4vbGlzdGluZm8vbGlicmUtcmlzY3YtZGV2Cg==
253