From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stephen Boyd Subject: [RFC/PATCH v4 1/4] Document nexus nodes/specifier remapping Date: Fri, 11 Aug 2017 08:42:33 -0700 Message-ID: <20170811154236.12891-2-stephen.boyd@linaro.org> References: <20170811154236.12891-1-stephen.boyd@linaro.org> Mime-Version: 1.0 Content-Transfer-Encoding: base64 Return-path: DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=dHIB+1zXzE3/G5xjTqo4fWJBBTq+OsngO06tyyu+W20=; b=cEkESZ4OSuuI3w w8PB54JCSJ20X2YqzijlWJFANMHCEhvgtY0wYK59DONtXFHt+4W9aYRlaQMceNgX265YC/r+iXf9N jqeVj6o6LqRwclkkAIRHOPs4/DiglHSU2ymUJoq1L6OyKWExc/J3PNoQq7yrIyZS9QSEijDpWpXlk +TMkuPoQ7pVge/uKDFI8GRKeCQ2g2P4XldYFzfIqBdDANmRuoUVQKeoQxHb7WRHU7VrFn81crZWuM f2Bcfc8n2m5T/8vcpNQxXST0Ym928VHv2hAyY2/7k3VQxtcSG8rezSO+vlJWjo/KcLF26yNV6bvTa KOULeQiQAHaFLZLaMozA==; DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=AB8am0REOkhfntEGal1rjAOunxPU744WX2yPer7FEFM=; b=jFOAB8FFDx2/fd4SWYkF3DQmoCqn9j++ZEfI5LL26qvFVigvvZevYsGU1fICZ7rc5l Dbx18mHy7VG/e3cE/KydUTi9k1zGuV3RityY0rWUQuBXLRqCy4n5EVd9ZRCZ6FYHlWsd BxiqUOGvh+yMv2aURmInVQ7+yNUZNIYjrVqkc= In-Reply-To: <20170811154236.12891-1-stephen.boyd@linaro.org> List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=m.gmane.org@lists.infradead.org Content-Type: text/plain; charset="windows-1252" To: Rob Herring , Frank Rowand Cc: devicetree-spec@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Russell King - ARM Linux RG9jdW1lbnQgdGhlIGdlbmVyaWMgbmV4dXMgbm9kZSBwcm9wZXJ0aWVzLiBUaGlzIGNhbiBiZSB1 c2VkIGJ5CmFueSBzcGVjaWZpZXIgdGhhdCBjb25mb3JtcyB0byAjPHNwZWNpZmllcj4tY2VsbHMg d2hlcmUgdGhleQp3YW50IHRvIHN1cHBvcnQgcmVtYXBwaW5nIHBoYW5kbGUgbGlzdHMgdGhyb3Vn aCBuZXh1cyBub2Rlcy4gVGhpcwppcyBzaW1pbGFyIHRvIGludGVycnVwdCByZW1hcHBpbmcsIGJ1 dCBzbGlnaHRseSBkaWZmZXJlbnQgYmVjYXVzZQp3ZSBkb24ndCBjb25zaWRlciB1bml0IGFkZHJl c3NlcyB3aGVuIGRvaW5nIG1hcHBpbmdzLiBUaGlzIGlzCm1vc3RseSBhIGNvcHkvcGFzdGUgb2Yg dGhlIGludGVycnVwdCBzcGVjaWZpY2F0aW9uLCB3aXRoIHRoZSB1bml0CmFkZHJlc3MgcGFydHMg cmVtb3ZlZCBhbmQgZ2VuZXJhbGl6ZWQgdG8gYW55IHNwZWNpZmllci4gVGhlcmUncwphbHNvIHRo ZSBhZGRpdGlvbiBvZiBhIHBhc3MgdGhyb3VnaCBtZWNoYW5pc20gdG8gbWFrZSB0aGluZ3MgbW9y ZQpjb21wYWN0IGlmIGRlc2lyZWQgaW4gdGhlIG1hcHBpbmcgdGFibGUuCgpTaWduZWQtb2ZmLWJ5 OiBTdGVwaGVuIEJveWQgPHN0ZXBoZW4uYm95ZEBsaW5hcm8ub3JnPgotLS0KCkkgc3RpbGwgbmVl ZCB0byB3cml0ZSB0aGUgYmx1cmIgYWJvdXQgd2hhdCB0aGlzIGlzIGFsbCBhYm91dCwgYnV0Ckkg d2FudGVkIHRvIHNlbmQgdGhpcyBvdXQgbm93IHRvIGdldCBlYXJseSBmZWVkYmFjay4gU29tZSBz dGFydGluZwpwb2ludHM6CgogMSkgUmVwbGFjZSBjaGlsZC9wYXJlbnQgd2l0aCBpbmNvbWluZy9v dXRnb2luZyBldmVyeXdoZXJlPwogCiAyKSBNYWtlIGEgcHJldHR5IHBpY3R1cmUgdG8gZGVzY3Jp YmUgcmVtYXBwaW5nIHBoYW5kbGUrc3BlY2lmaWVycwogICAgc2ltaWxhciB0byB0aGUgaW50ZXJy dXB0IGhpZXJhcmNoeSBkaWFncmFtPwoKIDMpIENvbWUgdXAgd2l0aCBzb21lIGJldHRlciBuYW1l IHRoYW4gPHNwZWNpZmllcj4/IEtlcm5lbC1kb2MgdXNlcyA8bGlzdD4KICAgIGJ1dCBJJ20gbm90 IHN1cmUgdGhhdCdzIGFueSBiZXR0ZXIuCgogc291cmNlL2RldmljZXRyZWUtYmFzaWNzLnJzdCB8 IDIwOCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiAxIGZpbGUg Y2hhbmdlZCwgMjA4IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9zb3VyY2UvZGV2aWNldHJl ZS1iYXNpY3MucnN0IGIvc291cmNlL2RldmljZXRyZWUtYmFzaWNzLnJzdAppbmRleCAwMjY5NmJh YzE1YzcuLmIwNTcxMTQ1ZWU0MCAxMDA2NDQKLS0tIGEvc291cmNlL2RldmljZXRyZWUtYmFzaWNz LnJzdAorKysgYi9zb3VyY2UvZGV2aWNldHJlZS1iYXNpY3MucnN0CkBAIC0xMjgwLDMgKzEyODAs MjExIEBAIHBlcmZvcm1lZDoKICogIFRoYXQgcmVzdWx0IGlzIGxvb2tlZCB1cCBpbiB0aGUgKmlu dGVycnVwdC1tYXAqIHRhYmxlLCB3aGljaCBtYXBzIHRvCiAgICB0aGUgcGFyZW50IGludGVycnVw dCBzcGVjaWZpZXIgYGA8NCAxPmBgLgogCisuLiBfc2VjdC1uZXh1czoKKworTmV4dXMgTm9kZXMg YW5kIFNwZWNpZmllciBNYXBwaW5nCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K KworVE9ETzogV3JpdGUgYmx1cmIgaGVyZSBhYm91dCBuZXh1cyBub2RlcyBhbmQgcmVtYXBwaW5n IHRoZW0KKworTmV4dXMgTm9kZSBQcm9wZXJ0aWVzCit+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwor QSBuZXh1cyBub2RlIHNoYWxsIGhhdmUgYSAqIzxzcGVjaWZpZXI+LWNlbGxzKiBwcm9wZXJ0eSwg d2hlcmUgPHNwZWNpZmllcj4gaXMKK3NvbWUgc3BlY2lmaWVyIHNwYWNlIGxpa2UgJ2dwaW8nLCAn Y2xvY2snLCAncmVzZXQnLCBldGMuCisKKzxzcGVjaWZpZXI+LW1hcAorXl5eXl5eXl5eXl5eXl5e CisKK1Byb3BlcnR5OiBgYDxzcGVjaWZpZXI+LW1hcGBgCisKK1ZhbHVlIHR5cGU6IGBgPHByb3At ZW5jb2RlZC1hcnJheT5gYCBlbmNvZGVkIGFzIGFuIGFyYml0cmFyeSBudW1iZXIgb2YKK3NwZWNp ZmllciBtYXBwaW5nIGVudHJpZXMuCisKK0Rlc2NyaXB0aW9uOgorCisgICBBICo8c3BlY2lmaWVy Pi1tYXAqIGlzIGEgcHJvcGVydHkgaW4gYSBuZXh1cyBub2RlIHRoYXQgYnJpZGdlcyBvbmUKKyAg IHNwZWNpZmllciBkb21haW4gd2l0aCBhIHNldCBvZiBwYXJlbnQgc3BlY2lmaWVyIGRvbWFpbnMg YW5kIGRlc2NyaWJlcworICAgaG93IHNwZWNpZmllcnMgaW4gdGhlIGNoaWxkIGRvbWFpbiBhcmUg bWFwcGVkIHRvIHRoZWlyIHJlc3BlY3RpdmUgcGFyZW50CisgICBkb21haW5zLgorCisgICBUaGUg bWFwIGlzIGEgdGFibGUgd2hlcmUgZWFjaCByb3cgaXMgYSBtYXBwaW5nIGVudHJ5CisgICBjb25z aXN0aW5nIG9mIHRocmVlIGNvbXBvbmVudHM6ICpjaGlsZCBzcGVjaWZpZXIqLCAqc3BlY2lmaWVy IHBhcmVudCosIGFuZAorICAgKnBhcmVudCBzcGVjaWZpZXIqLgorCisgICBjaGlsZCBzcGVjaWZp ZXIKKyAgICAgICBUaGUgc3BlY2lmaWVyIG9mIHRoZSBjaGlsZCBub2RlIGJlaW5nIG1hcHBlZC4g VGhlIG51bWJlcgorICAgICAgIG9mIDMyLWJpdCBjZWxscyByZXF1aXJlZCB0byBzcGVjaWZ5IHRo aXMgY29tcG9uZW50IGlzIGRlc2NyaWJlZCBieQorICAgICAgIHRoZSAqIzxzcGVjaWZpZXI+LWNl bGxzKiBwcm9wZXJ0eSBvZiB0aGlzIG5vZGXigJR0aGUgbmV4dXMgbm9kZQorICAgICAgIGNvbnRh aW5pbmcgdGhlICo8c3BlY2lmaWVyPi1tYXAqIHByb3BlcnR5LgorCisgICBzcGVjaWZpZXIgcGFy ZW50CisgICAgICAgQSBzaW5nbGUgKjxwaGFuZGxlPiogdmFsdWUgdGhhdCBwb2ludHMgdG8gdGhl IHNwZWNpZmllciBwYXJlbnQgdG8KKyAgICAgICB3aGljaCB0aGUgY2hpbGQgZG9tYWluIGlzIGJl aW5nIG1hcHBlZC4KKworICAgcGFyZW50IHNwZWNpZmllcgorICAgICAgIFRoZSBzcGVjaWZpZXIg aW4gdGhlIHBhcmVudCBkb21haW4uIFRoZSBudW1iZXIgb2YgMzItYml0CisgICAgICAgY2VsbHMg cmVxdWlyZWQgdG8gc3BlY2lmeSB0aGlzIGNvbXBvbmVudCBpcyBkZXNjcmliZWQgYnkgdGhlCisg ICAgICAgKiM8c3BlY2lmaWVyPi1jZWxscyogcHJvcGVydHkgb2YgdGhlIHNwZWNpZmllciBwYXJl bnQgbm9kZS4KKworICAgTG9va3VwcyBhcmUgcGVyZm9ybWVkIG9uIHRoZSBtYXBwaW5nIHRhYmxl IGJ5IG1hdGNoaW5nIGEgc3BlY2lmaWVyIGFnYWluc3QKKyAgIHRoZSBjaGlsZCBzcGVjaWZpZXIg aW4gdGhlIG1hcC4gQmVjYXVzZSBzb21lIGZpZWxkcyBpbiB0aGUgc3BlY2lmaWVyIG1heQorICAg bm90IGJlIHJlbGV2YW50IG9yIG5lZWQgdG8gYmUgbW9kaWZpZWQsIGEgbWFzayBpcyBhcHBsaWVk IGJlZm9yZSB0aGUgbG9va3VwCisgICBpcyBkb25lLiBUaGlzIG1hc2sgaXMgZGVmaW5lZCBpbiB0 aGUgKjxzcGVjaWZpZXI+LW1hcC1tYXNrKiBwcm9wZXJ0eSAoc2VlCisgICBzZWN0aW9uIDpyZWY6 YHNlY3Qtc3BlY2lmaWVyLW1hcC1tYXNrYCkuCisKKyAgIFNpbWlsYXJseSwgd2hlbiB0aGUgc3Bl Y2lmaWVyIGlzIG1hcHBlZCBzb21lIGZpZWxkcyBpbiB0aGUgdW5pdCBzcGVjaWZpZXIKKyAgIG1h eSBuZWVkIHRvIGJlIGtlcHQgdW5tb2RpZmllZCBhbmQgcGFzc2VkIHRocm91Z2ggZnJvbSB0aGUg Y2hpbGQgbm9kZSB0byB0aGUKKyAgIHBhcmVudCBub2RlLiBJbiB0aGlzIGNhc2UsIGEgKjxzcGVj aWZpZXI+LW1hcC1wYXNzLXRocnUqIHByb3BlcnR5IChzZWUKKyAgIHNlY3Rpb24gOnJlZjpgc2Vj dC1zcGVjaWZpZXItbWFwLXBhc3MtdGhydWApIG1heSBiZSBzcGVjaWZpZWQgdG8gYXBwbHkKKyAg IGEgbWFzayB0byB0aGUgaW5jb21pbmcgc3BlY2lmaWVyIGFuZCBjb3B5IGFueSBiaXRzIHRoYXQg bWF0Y2ggdG8gdGhlIG91dGdvaW5nCisgICB1bml0IHNwZWNpZmllci4KKworLi4gX3NlY3Qtc3Bl Y2lmaWVyLW1hcC1tYXNrOgorCis8c3BlY2lmaWVyPi1tYXAtbWFzaworXl5eXl5eXl5eXl5eXl5e Xl5eXl4KKworUHJvcGVydHk6IGBgPHNwZWNpZmllcj4tbWFwLW1hc2tgYAorCitWYWx1ZSB0eXBl OiBgYDxwcm9wLWVuY29kZWQtYXJyYXk+YGAgZW5jb2RlZCBhcyBhIGJpdCBtYXNrCisKK0Rlc2Ny aXB0aW9uOgorCisgICBBICo8c3BlY2lmaWVyPi1tYXAtbWFzayogcHJvcGVydHkgbWF5IGJlIHNw ZWNpZmllZCBmb3IgYSBuZXh1cyBub2RlLgorICAgVGhpcyBwcm9wZXJ0eSBzcGVjaWZpZXMgYSBt YXNrIHRoYXQgaXMgYXBwbGllZCB0byB0aGUgaW5jb21pbmcgdW5pdAorICAgc3BlY2lmaWVyIGJl aW5nIGxvb2tlZCB1cCBpbiB0aGUgdGFibGUgc3BlY2lmaWVkIGluIHRoZSAqPHNwZWNpZmllcj4t bWFwKgorICAgcHJvcGVydHkuIElmIHRoaXMgcHJvcGVydHkgaXMgbm90IHNwZWNpZmllZCwgdGhl IG1hc2sgaXMgYXNzdW1lZCB0byBiZQorICAgYSBtYXNrIHdpdGggYWxsIGJpdHMgc2V0LgorCisu LiBfc2VjdC1zcGVjaWZpZXItbWFwLXBhc3MtdGhydToKKworPHNwZWNpZmllcj4tbWFwLXBhc3Mt dGhydQorXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXgorCitQcm9wZXJ0eTogYGA8c3BlY2lmaWVy Pi1tYXAtcGFzcy10aHJ1YGAKKworVmFsdWUgdHlwZTogYGA8cHJvcC1lbmNvZGVkLWFycmF5PmBg IGVuY29kZWQgYXMgYSBiaXQgbWFzaworCitEZXNjcmlwdGlvbjoKKworICAgQSAqPHNwZWNpZmll cj4tbWFwLXBhc3MtdGhydSogcHJvcGVydHkgbWF5IGJlIHNwZWNpZmllZCBmb3IgYSBuZXh1cyBu b2RlLgorICAgVGhpcyBwcm9wZXJ0eSBzcGVjaWZpZXMgYSBtYXNrIHRoYXQgaXMgYXBwbGllZCB0 byB0aGUgaW5jb21pbmcgdW5pdAorICAgc3BlY2lmaWVyIGJlaW5nIGxvb2tlZCB1cCBpbiB0aGUg dGFibGUgc3BlY2lmaWVkIGluIHRoZSAqPHNwZWNpZmllcj4tbWFwKgorICAgcHJvcGVydHkuIEFu eSBtYXRjaGluZyBiaXRzIGluIHRoZSBpbmNvbWluZyB1bml0IHNwZWNpZmllciBhcmUgY29waWVk IG92ZXIKKyAgIHRvIHRoZSBvdXRnb2luZyBzcGVjaWZpZXIuIElmIHRoaXMgcHJvcGVydHkgaXMg bm90IHNwZWNpZmllZCwgdGhlIG1hc2sgaXMKKyAgIGFzc3VtZWQgdG8gYmUgYSBtYXNrIHdpdGgg bm8gYml0cyBzZXQuCisKKyM8c3BlY2lmaWVyPi1jZWxscworXl5eXl5eXl5eXl5eXl5eXl5eCisK K1Byb3BlcnR5OiBgYCM8c3BlY2lmaWVyPi1jZWxsc2BgCisKK1ZhbHVlIHR5cGU6IGBgPHUzMj5g YAorCitEZXNjcmlwdGlvbjoKKworICAgVGhlICojPHNwZWNpZmllcj4tY2VsbHMqIHByb3BlcnR5 IGRlZmluZXMgdGhlIG51bWJlciBvZiBjZWxscyByZXF1aXJlZCB0bworICAgZW5jb2RlIGEgc3Bl Y2lmaWVyIGZvciBhIGRvbWFpbi4KKworU3BlY2lmaWVyIE1hcHBpbmcgRXhhbXBsZQorfn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fgorCitUaGUgZm9sbG93aW5nIHNob3dzIHRoZSByZXByZXNlbnRh dGlvbiBvZiBhIGZyYWdtZW50IG9mIGEgZGV2aWNldHJlZSB3aXRoCit0d28gR1BJTyBjb250cm9s bGVycyBhbmQgYSBzYW1wbGUgc3BlY2lmaWVyIG1hcCBmb3IgZGVzY3JpYmluZyB0aGUKK0dQSU8g cm91dGluZyBvZiBhIGZldyBncGlvcyBvbiBib3RoIG9mIHRoZSBjb250cm9sbGVycyB0aHJvdWdo IGEgY29ubmVjdG9yCitvbiBhIGJvYXJkIHRvIGEgZGV2aWNlLiBUaGUgZXhwYW5zaW9uIGRldmlj ZSBub2RlIGlzIG9uZSBvbmUgc2lkZSBvZiB0aGUKK2Nvbm5lY3RvciBub2RlIGFuZCB0aGUgU29D IHdpdGggdGhlIHR3byBHUElPIGNvbnRyb2xsZXJzIGlzIG9uIHRoZSBvdGhlcgorc2lkZSBvZiB0 aGUgY29ubmVjdG9yLgorCisuLiBfZXhhbXBsZS1zcGVjaWZpZXItbWFwcGluZzoKKworLi4gY29k ZS1ibG9jazo6IGR0cworCisgICAgICAgIHNvYyB7CisgICAgICAgICAgICAgICAgc29jX2dwaW8x OiBncGlvLWNvbnRyb2xsZXIxIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICNncGlvLWNlbGxz ID0gPDI+OworICAgICAgICAgICAgICAgIH07CisKKyAgICAgICAgICAgICAgICBzb2NfZ3BpbzI6 IGdwaW8tY29udHJvbGxlcjIgeworICAgICAgICAgICAgICAgICAgICAgICAgI2dwaW8tY2VsbHMg PSA8Mj47CisgICAgICAgICAgICAgICAgfTsKKyAgICAgICAgfTsKKworICAgICAgICBjb25uZWN0 b3I6IGNvbm5lY3RvciB7CisgICAgICAgICAgICAgICAgI2dwaW8tY2VsbHMgPSA8Mj47CisgICAg ICAgICAgICAgICAgZ3Bpby1tYXAgPSA8MCAwICZzb2NfZ3BpbzEgMSAwPiwKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgIDwxIDAgJnNvY19ncGlvMiA0IDA+LAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgPDIgMCAmc29jX2dwaW8xIDMgMD4sCisgICAgICAgICAgICAgICAgICAgICAgICAg ICA8MyAwICZzb2NfZ3BpbzIgMiAwPjsKKyAgICAgICAgICAgICAgICBncGlvLW1hcC1tYXNrID0g PDB4ZiAweDA+OworICAgICAgICAgICAgICAgIGdwaW8tbWFwLXBhc3MtdGhydSA9IDwweDAgMHgx PjsKKyAgICAgICAgfTsKKworICAgICAgICBleHBhbnNpb25fZGV2aWNlIHsKKyAgICAgICAgICAg ICAgICByZXNldC1ncGlvcyA9IDwmY29ubmVjdG9yIDIgR1BJT19BQ1RJVkVfTE9XPjsKKyAgICAg ICAgfTsKKworCitFYWNoIHJvdyBpbiB0aGUgZ3Bpby1tYXAgdGFibGUgY29uc2lzdHMgb2YgdGhy ZWUgcGFydHM6IGEgY2hpbGQgdW5pdAorc3BlY2lmaWVyLCB3aGljaCBpcyBtYXBwZWQgdG8gYSAq Z3Bpby1jb250cm9sbGVyKgorbm9kZSB3aXRoIGEgcGFyZW50IHNwZWNpZmllci4KKworKiBGb3Ig ZXhhbXBsZSwgdGhlIGZpcnN0IHJvdyBvZiB0aGUgc3BlY2lmaWVyLW1hcCB0YWJsZSBzcGVjaWZp ZXMgdGhlCisgIG1hcHBpbmcgZm9yIEdQSU8gMCBvZiB0aGUgY29ubmVjdG9yLiBUaGUgY29tcG9u ZW50cyBvZiB0aGF0IHJvdyBhcmUgc2hvd24KKyAgaGVyZQorCisgIHwgY2hpbGQgc3BlY2lmaWVy OiBgYDAgMGBgCisgIHwgc3BlY2lmaWVyIHBhcmVudDogYGAmc29jX2dwaW8xYGAKKyAgfCBwYXJl bnQgc3BlY2lmaWVyOiBgYDEgMGBgCisKKyAgKiBUaGUgY2hpbGQgc3BlY2lmaWVyIGlzIGBgPDAg MD5gYCwgd2hpY2ggc3BlY2lmaWVzIEdQSU8gMCBpbiB0aGUgY29ubmVjdG9yCisgICAgd2l0aCBh ICpmbGFncyogZmllbGQgb2YgYGAwYGAuIFRoaXMgdGFrZXMgdHdvIDMyLWJpdCBjZWxscyBhcyBz cGVjaWZpZWQKKyAgICBieSB0aGUgKiNncGlvLWNlbGxzKiBwcm9wZXJ0eSBvZiB0aGUgY29ubmVj dG9yIG5vZGUsIHdoaWNoIGlzIHRoZQorICAgIGNoaWxkIHNwZWNpZmllciBkb21pYW4uCisKKyAg KiBUaGUgc3BlY2lmaWVyIHBhcmVudCBpcyBzcGVjaWZpZWQgYnkgYSBwaGFuZGxlIHdoaWNoIHBv aW50cyB0byB0aGUKKyAgICBzcGVjaWZpZXIgcGFyZW50IG9mIHRoZSBjb25uZWN0b3IsIHRoZSBm aXJzdCBHUElPIGNvbnRyb2xsZXIgaW4gdGhlIFNvQy4KKworICAqIFRoZSBwYXJlbnQgc3BlY2lm aWVyIGlzIGBgPDEgMD5gYC4gVGhlIG51bWJlciBvZiBjZWxscyB0bworICAgIHJlcHJlc2VudCB0 aGUgZ3BpbyBzcGVjaWZpZXIgKHR3byBjZWxscykgaXMgZGV0ZXJtaW5lZCBieSB0aGUKKyAgICAq I2dwaW8tY2VsbHMqIHByb3BlcnR5IG9uIHRoZSBzcGVjaWZpZXIgcGFyZW50LCB0aGUgc29jX2dw aW8xCisgICAgbm9kZS4KKworICAgICogVGhlIHZhbHVlIGBgPDEgMD5gYCBpcyBhIHZhbHVlIHNw ZWNpZmllZCBieSB0aGUgZGV2aWNlIGJpbmRpbmcgZm9yCisgICAgICB0aGUgR1BJTyBjb250cm9s bGVyLiBUaGUgdmFsdWUgYGA8MT5gYCBzcGVjaWZpZXMgdGhlCisgICAgICBHUElPIHBpbiBudW1i ZXIgb24gdGhlIEdQSU8gY29udHJvbGxlciB0byB3aGljaCBHUElPIDAgb24gdGhlIGNvbm5lY3Rv cgorICAgICAgaXMgd2lyZWQuIFRoZSB2YWx1ZSBgYDwwPmBgIHNwZWNpZmllcyB0aGUgZmxhZ3Mg KGFjdGl2ZSBsb3csCisgICAgICBhY3RpdmUgaGlnaCwgZXRjLikuCisKK0luIHRoaXMgZXhhbXBs ZSwgdGhlICpncGlvLW1hcC1tYXNrKiBwcm9wZXJ0eSBoYXMgYSB2YWx1ZSBvZiBgYDwweGYgMD5g YC4KK1RoaXMgbWFzayBpcyBhcHBsaWVkIHRvIGEgY2hpbGQgdW5pdCBzcGVjaWZpZXIgYmVmb3Jl IHBlcmZvcm1pbmcgYSBsb29rdXAgaW4KK3RoZSAqZ3Bpby1tYXAqIHRhYmxlLiBTaW1pbGFybHks IHRoZSAqZ3Bpby1tYXAtcGFzcy10aHJ1KiBwcm9wZXJ0eSBoYXMgYSB2YWx1ZQorb2YgYGA8MHgw IDB4MT5gYC4gVGhpcyBtYXNrIGlzIGFwcGxpZWQgdG8gYSBjaGlsZCB1bml0IHNwZWNpZmllciB3 aGVuIG1hcHBpbmcKK2l0IHRvIHRoZSBwYXJlbnQgdW5pdCBzcGVjaWZpZXIuIEFueSBiaXRzIHNl dCBpbiB0aGUgbWFzayBhcmUgY2xlYXJlZCBvdXQgb2YKK3RoZSBwYXJlbnQgdW5pdCBzcGVjaWZp ZXIgYW5kIGNvcGllZCBvdmVyIGZyb20gdGhlIGNoaWxkIHVuaXQgc3BlY2lmaWVyCit0byB0aGUg cGFyZW50IHVuaXQgc3BlY2lmaWVyLgorCitUbyBwZXJmb3JtIGEgbG9va3VwIG9mIHRoZSBjb25u ZWN0b3IncyBzcGVjaWZpZXIgc291cmNlIG51bWJlciBmb3IgR1BJTyAyCitmcm9tIHRoZSBleHBh bnNpb24gZGV2aWNlJ3MgcmVzZXQtZ3Bpb3MgcHJvcGVydHksIHRoZSBmb2xsb3dpbmcgc3RlcHMg d291bGQgYmUKK3BlcmZvcm1lZDoKKworKiAgVGhlIGNoaWxkIHNwZWNpZmllciBmb3JtcyB0aGUg dmFsdWUKKyAgIGBgPDIgR1BJT19BQ1RJVkVfTE9XPmBgLgorCisgICAqICBUaGUgc3BlY2lmaWVy IGlzIGVuY29kaW5nIEdQSU8gMiB3aXRoIGFjdGl2ZSBsb3cgZmxhZ3MgcGVyIHRoZSBHUElPCisg ICAgICBiaW5kaW5nLgorCisqICBUaGUgKmdwaW8tbWFwLW1hc2sqIHZhbHVlIGBgPDB4ZiAweDA+ YGAgaXMgYXBwbGllZCwgZ2l2aW5nIGEKKyAgIHJlc3VsdCBvZiBgYDwweDIgMD5gYC4KKworKiAg VGhhdCByZXN1bHQgaXMgbG9va2VkIHVwIGluIHRoZSAqZ3Bpby1tYXAqIHRhYmxlLCB3aGljaCBt YXBzIHRvCisgICB0aGUgcGFyZW50IHNwZWNpZmllciBgYDwzIDA+YGAgYW5kICZzb2NfZ3BpbzEg KnBoYW5kbGUqLgorCisqICBUaGF0ICpncGlvLW1hcC1wYXNzLXRocnUqIHZhbHVlIGBgPDB4MCAw eDE+YGAgaXMgYXBwbGllZCB0byBjaGlsZCBzcGVjaWZpZXIsCisgICBmb3JtaW5nIGBgPDAgR1BJ T19BQ1RJVkVfTE9XPmBgIHdoaWNoIGlzIHRoZW4gT1JlZCB3aXRoIHRoZSBwYXJlbnQKKyAgIHNw ZWNpZmllciBgYDwzIDA+YGAgQU5EZWQgd2l0aCB0aGUgaW52ZXJzZSBvZiB0aGUgcGFzcy10aHJ1 IG1hc2sKKyAgIGBgPDB4ZmZmZmZmZmYgMHhmZmZmZmZlPmBgIHJlc3VsdGluZyBpbiBgYDwzIEdQ SU9fQUNUSVZFX0xPVz5gYC4KKworKiAgVGhhdCBzcGVjaWZpZXIgaXMgY29tYmluZWQgd2l0aCB0 aGUgbWFwcGVkICpwaGFuZGxlKiAmc29jX2dwaW8xIHJlc3VsdGluZworICAgaW4gYGA8JnNvY19n cGlvMSAzIEdQSU9fQUNUSVZFX0xPVz5gYC4KLS0gCjIuNy40CgoKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxp c3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZy YWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=