From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-12.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7D2A8C47420 for ; Mon, 28 Sep 2020 17:35:37 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 087672083B for ; Mon, 28 Sep 2020 17:35:37 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=quicinc.com header.i=@quicinc.com header.b="H0dtFfGh" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 087672083B Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=quicinc.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:49948 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kMx3o-0002yG-3m for qemu-devel@archiver.kernel.org; Mon, 28 Sep 2020 13:35:36 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:48650) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kMwxd-0002dk-K9 for qemu-devel@nongnu.org; Mon, 28 Sep 2020 13:29:13 -0400 Received: from alexa-out-sd-02.qualcomm.com ([199.106.114.39]:51862) by eggs.gnu.org with esmtps (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kMwxY-0007uu-L8 for qemu-devel@nongnu.org; Mon, 28 Sep 2020 13:29:13 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=quicinc.com; i=@quicinc.com; q=dns/txt; s=qcdkim; t=1601314148; x=1632850148; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=FOrpJg5Hi1hVUCPuEm8tzQD2JYnuL3UKC+njCWl0d7w=; b=H0dtFfGhJ71UNhDAOkIbNEASacix5vnoJtBklGQyNRPtZFzrpDnlksOW NP5Gttf5H1R9gQIVhZPTSuDlkfC0V6CD/b3cIZ3H96rlH/YgkwWKTJoe+ 4nXilS0U0WLReArwWiYBMdQY4GgPRwOlAQhHxcH7m43L+w+rdCMDgWaOa A=; Received: from unknown (HELO ironmsg04-sd.qualcomm.com) ([10.53.140.144]) by alexa-out-sd-02.qualcomm.com with ESMTP; 28 Sep 2020 10:29:03 -0700 X-QCInternal: smtphost Received: from vu-tsimpson-aus.qualcomm.com (HELO vu-tsimpson1-aus.qualcomm.com) ([10.222.150.1]) by ironmsg04-sd.qualcomm.com with ESMTP; 28 Sep 2020 10:29:02 -0700 Received: by vu-tsimpson1-aus.qualcomm.com (Postfix, from userid 47164) id C152B1184; Mon, 28 Sep 2020 12:29:01 -0500 (CDT) From: Taylor Simpson To: qemu-devel@nongnu.org Subject: [RFC PATCH v4 02/29] Hexagon (target/hexagon) README Date: Mon, 28 Sep 2020 12:28:31 -0500 Message-Id: <1601314138-9930-3-git-send-email-tsimpson@quicinc.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1601314138-9930-1-git-send-email-tsimpson@quicinc.com> References: <1601314138-9930-1-git-send-email-tsimpson@quicinc.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Received-SPF: pass client-ip=199.106.114.39; envelope-from=tsimpson@qualcomm.com; helo=alexa-out-sd-02.qualcomm.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/09/28 13:29:03 X-ACL-Warn: Detected OS = FreeBSD 9.x or newer [fuzzy] X-Spam_score_int: -40 X-Spam_score: -4.1 X-Spam_bar: ---- X-Spam_report: (-4.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HEADER_FROM_DIFFERENT_DOMAINS=0.199, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: ale@rev.ng, riku.voipio@iki.fi, richard.henderson@linaro.org, laurent@vivier.eu, tsimpson@quicinc.com, philmd@redhat.com, aleksandar.m.mail@gmail.com Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" R2l2ZXMgYW4gaW50cm9kdWN0aW9uIGFuZCBvdmVydmlldyB0byB0aGUgSGV4YWdvbiB0YXJnZXQK ClNpZ25lZC1vZmYtYnk6IFRheWxvciBTaW1wc29uIDx0c2ltcHNvbkBxdWljaW5jLmNvbT4KLS0t CiB0YXJnZXQvaGV4YWdvbi9SRUFETUUgfCAyMzYgKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysKIDEgZmlsZSBjaGFuZ2VkLCAyMzYgaW5zZXJ0aW9ucygr KQogY3JlYXRlIG1vZGUgMTAwNjQ0IHRhcmdldC9oZXhhZ29uL1JFQURNRQoKZGlmZiAtLWdpdCBh L3RhcmdldC9oZXhhZ29uL1JFQURNRSBiL3RhcmdldC9oZXhhZ29uL1JFQURNRQpuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZTJkMWQ5Ci0tLSAvZGV2L251bGwKKysrIGIvdGFy Z2V0L2hleGFnb24vUkVBRE1FCkBAIC0wLDAgKzEsMjM2IEBACitIZXhhZ29uIGlzIFF1YWxjb21t J3MgdmVyeSBsb25nIGluc3RydWN0aW9uIHdvcmQgKFZMSVcpIGRpZ2l0YWwgc2lnbmFsCitwcm9j ZXNzb3IoRFNQKS4KKworVGhlIGZvbGxvd2luZyB2ZXJzaW9ucyBvZiB0aGUgSGV4YWdvbiBjb3Jl IGFyZSBzdXBwb3J0ZWQKKyAgICBTY2FsYXIgY29yZTogdjY3CisgICAgaHR0cHM6Ly9kZXZlbG9w ZXIucXVhbGNvbW0uY29tL2Rvd25sb2Fkcy9xdWFsY29tbS1oZXhhZ29uLXY2Ny1wcm9ncmFtbWVy LXMtcmVmZXJlbmNlLW1hbnVhbAorCitXZSBwcmVzZW50ZWQgYW4gb3ZlcnZpZXcgb2YgdGhlIHBy b2plY3QgYXQgdGhlIDIwMTkgS1ZNIEZvcnVtLgorICAgIGh0dHBzOi8va3ZtZm9ydW0yMDE5LnNj aGVkLmNvbS9ldmVudC9UbXdjL3FlbXUtaGV4YWdvbi1hdXRvbWF0aWMtdHJhbnNsYXRpb24tb2Yt dGhlLWlzYS1tYW51YWwtcHNldWRjb2RlLXRvLXRpbnktY29kZS1pbnN0cnVjdGlvbnMtb2YtYS12 bGl3LWFyY2hpdGVjdHVyZS1uaWNjb2xvLWl6em8tcmV2bmctdGF5bG9yLXNpbXBzb24tcXVhbGNv bW0taW5ub3ZhdGlvbi1jZW50ZXIKKworKioqIFRvdXIgb2YgdGhlIGNvZGUgKioqCisKK1RoZSBx ZW11LWhleGFnb24gaW1wbGVtZW50YXRpb24gaXMgYSBjb21iaW5hdGlvbiBvZiBxZW11IGFuZCB0 aGUgSGV4YWdvbgorYXJjaGl0ZWN0dXJlIGxpYnJhcnkgKGFrYSBhcmNobGliKS4gIFRoZSB0aHJl ZSBwcmltYXJ5IGRpcmVjdG9yaWVzIHdpdGgKK0hleGFnb24tc3BlY2lmaWMgY29kZSBhcmUKKwor ICAgIHFlbXUvdGFyZ2V0L2hleGFnb24KKyAgICAgICAgVGhpcyBoYXMgYWxsIHRoZSBpbnN0cnVj dGlvbiBhbmQgcGFja2V0IHNlbWFudGljcworICAgIHFlbXUvdGFyZ2V0L2hleGFnb24vaW1wb3J0 ZWQKKyAgICAgICAgVGhlc2UgZmlsZXMgYXJlIGltcG9ydGVkIHdpdGggdmVyeSBsaXR0bGUgbW9k aWZpY2F0aW9uIGZyb20gYXJjaGxpYgorICAgICAgICAqLmlkZWYgICAgICAgICAgICAgICAgICBJ bnN0cnVjdGlvbiBzZW1hbnRpY3MgZGVmaW5pdGlvbgorICAgICAgICBtYWNyb3MuZGVmICAgICAg ICAgICAgICBNYXBwaW5nIG9mIG1hY3JvcyB0byBpbnN0cnVjdGlvbiBhdHRyaWJ1dGVzCisgICAg ICAgIGVuY29kZSouZGVmICAgICAgICAgICAgIEVuY29kaW5nIHBhdHRlcm5zIGZvciBlYWNoIGlu c3RydWN0aW9uCisgICAgICAgIGljbGFzcy5kZWYgICAgICAgICAgICAgIEluc3RydWN0aW9uIGNs YXNzIGRlZmluaXRpb25zIHVzZWQgdG8gZGV0ZXJtaW5lCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGxlZ2FsIFZMSVcgc2xvdHMgZm9yIGVhY2ggaW5zdHJ1Y3Rpb24KKyAgICBxZW11 L2xpbnV4LXVzZXIvaGV4YWdvbgorICAgICAgICBIZWxwZXJzIGZvciBsb2FkaW5nIHRoZSBFTEYg ZmlsZSBhbmQgbWFraW5nIExpbnV4IHN5c3RlbSBjYWxscywKKyAgICAgICAgc2lnbmFscywgZXRj CisKK1dlIHN0YXJ0IHdpdGggc2NyaXB0cyB0aGF0IGdlbmVyYXRlIGEgYnVuY2ggb2YgaW5jbHVk ZSBmaWxlcy4gIFRoaXMKK2lzIGEgdHdvIHN0ZXAgcHJvY2Vzcy4gIFRoZSBmaXJzdCBzdGVwIGlz IHRvIHVzZSB0aGUgQyBwcmVwcm9jZXNzb3IgdG8gZXhwYW5kCittYWNyb3MgaW5zaWRlIHRoZSBh cmNoaXRlY3R1cmUgZGVmaW5pdGlvbiBmaWxlcy4gIFRoaXMgaXMgZG9uZSBpbgordGFyZ2V0L2hl eGFnb24vZ2VuX3NlbWFudGljcy5jLiAgVGhpcyBzdGVwIHByb2R1Y2VzCisgICAgPEJVSUxEX0RJ Uj4vdGFyZ2V0L2hleGFnb24vc2VtYW50aWNzX2dlbmVyYXRlZC5weWluYy4KK1RoYXQgZmlsZSBp cyBjb25zdW1lZCBieSB0aGUgZm9sbG93aW5nIHB5dGhvbiBzY3JpcHRzIHRvIHByb2R1Y2UgdGhl IGluZGljYXRlZAoraGVhZGVyIGZpbGVzIGluIDxCVUlMRF9ESVI+L3RhcmdldC9oZXhhZ29uCisg ICAgICAgIGdlbl9vcGNvZGVzX2RlZi5weSAgICAgICAgICAgICAgLT4gb3Bjb2Rlc19kZWZfZ2Vu ZXJhdGVkLmgKKyAgICAgICAgZ2VuX29wX3JlZ3MucHkgICAgICAgICAgICAgICAgICAtPiBvcF9y ZWdzX2dlbmVyYXRlZC5oCisgICAgICAgIGdlbl9wcmludGluc24ucHkgICAgICAgICAgICAgICAg LT4gcHJpbnRpbnNuX2dlbmVyYXRlZC5oCisgICAgICAgIGdlbl9vcF9hdHRyaWJzLnB5ICAgICAg ICAgICAgICAgLT4gb3BfYXR0cmlic19nZW5lcmF0ZWQuaAorICAgICAgICBnZW5faGVscGVyX3By b3Rvcy5weSAgICAgICAgICAgIC0+IGhlbHBlcl9wcm90b3NfZ2VuZXJhdGVkLmgKKyAgICAgICAg Z2VuX3Nob3J0Y29kZS5weSAgICAgICAgICAgICAgICAtPiBzaG9ydGNvZGVfZ2VuZXJhdGVkLmgK KyAgICAgICAgZ2VuX3RjZ19mdW5jcy5weSAgICAgICAgICAgICAgICAtPiB0Y2dfZnVuY3NfZ2Vu ZXJhdGVkLmgKKyAgICAgICAgZ2VuX3RjZ19mdW5jX3RhYmxlLnB5ICAgICAgICAgICAtPiB0Y2df ZnVuY190YWJsZV9nZW5lcmF0ZWQuaAorICAgICAgICBnZW5faGVscGVyX2Z1bmNzLnB5ICAgICAg ICAgICAgIC0+IGhlbHBlcl9mdW5jc19nZW5lcmF0ZWQuaAorCitRZW11IGhlbHBlciBmdW5jdGlv bnMgaGF2ZSAzIHBhcnRzCisgICAgREVGX0hFTFBFUiBkZWNsYXJhdGlvbiBpbmRpY2F0ZXMgdGhl IHNpZ25hdHVyZSBvZiB0aGUgaGVscGVyCisgICAgZ2VuX2hlbHBlcl88TkFNRT4gd2lsbCBnZW5l cmF0ZSBhIFRDRyBjYWxsIHRvIHRoZSBoZWxwZXIgZnVuY3Rpb24KKyAgICBUaGUgaGVscGVyIGlt cGxlbWVudGF0aW9uCisKK0hlcmUncyBhbiBleGFtcGxlIG9mIHRoZSBBMl9hZGQgaW5zdHJ1Y3Rp b24uCisgICAgSW5zdHJ1Y3Rpb24gdGFnICAgICAgICBBMl9hZGQKKyAgICBBc3NlbWJseSBzeW50 YXggICAgICAgICJSZDMyPWFkZChSczMyLFJ0MzIpIgorICAgIEluc3RydWN0aW9uIHNlbWFudGlj cyAgInsgUmRWPVJzVitSdFY7fSIKKworQnkgY29udmVudGlvbiwgdGhlIG9wZXJhbmRzIGFyZSBp ZGVudGlmaWVkIGJ5IGxldHRlcgorICAgIFJkViBpcyB0aGUgZGVzdGluYXRpb24gcmVnaXN0ZXIK KyAgICBSc1YsIFJ0ViBhcmUgc291cmNlIHJlZ2lzdGVycworCitUaGUgZ2VuZXJhdG9yIHVzZXMg dGhlIG9wZXJhbmQgbmFtaW5nIGNvbnZlbnRpb25zIChzZWUgbGFyZ2UgY29tbWVudCBpbgoraGV4 X2NvbW1vbi5weSkgdG8gZGV0ZXJtaW5lIHRoZSBzaWduYXR1cmUgb2YgdGhlIGhlbHBlciBmdW5j dGlvbi4gIEhlcmUgYXJlIHRoZQorcmVzdWx0cyBmb3IgQTJfYWRkCisKK2hlbHBlcl9wcm90b3Nf Z2VuZXJhdGVkLmgKKyAgICBERUZfSEVMUEVSXzMoQTJfYWRkLCBzMzIsIGVudiwgczMyLCBzMzIp CisKK3RjZ19mdW5jc19nZW5lcmF0ZWQuaAorICAgIHN0YXRpYyB2b2lkIGdlbmVyYXRlX0EyX2Fk ZCgKKyAgICAgICAgICAgICAgICAgICAgQ1BVSGV4YWdvblN0YXRlICplbnYsCisgICAgICAgICAg ICAgICAgICAgIERpc2FzQ29udGV4dCAqY3R4LAorICAgICAgICAgICAgICAgICAgICBpbnNuX3Qg Kmluc24sCisgICAgICAgICAgICAgICAgICAgIHBhY2tldF90ICpwa3QpCisgICAgeworICAgICAg ICBUQ0d2IFJkViA9IHRjZ190ZW1wX2xvY2FsX25ldygpOworICAgICAgICBjb25zdCBpbnQgUmRO ID0gaW5zbi0+cmVnbm9bMF07CisgICAgICAgIFRDR3YgUnNWID0gaGV4X2dwcltpbnNuLT5yZWdu b1sxXV07CisgICAgICAgIFRDR3YgUnRWID0gaGV4X2dwcltpbnNuLT5yZWdub1syXV07CisgICAg ICAgIGdlbl9oZWxwZXJfQTJfYWRkKFJkViwgY3B1X2VudiwgUnNWLCBSdFYpOworICAgICAgICBn ZW5fbG9nX3JlZ193cml0ZShSZE4sIFJkVik7CisgICAgICAgIGN0eF9sb2dfcmVnX3dyaXRlKGN0 eCwgUmROKTsKKyAgICAgICAgdGNnX3RlbXBfZnJlZShSZFYpOworICAgIH0KKworaGVscGVyX2Z1 bmNzX2dlbmVyYXRlZC5oCisgICAgaW50MzJfdCBIRUxQRVIoQTJfYWRkKShDUFVIZXhhZ29uU3Rh dGUgKmVudiwgaW50MzJfdCBSc1YsIGludDMyX3QgUnRWKQorICAgIHsKKyAgICAgICAgdWludDMy X3Qgc2xvdCBfX2F0dHJpYnV0ZV9fKCh1bnVzZWQpKSA9IDQ7CisgICAgICAgIGludDMyX3QgUmRW ID0gMDsKKyAgICAgICAgeyBSZFY9UnNWK1J0Vjt9CisgICAgICAgIHJldHVybiBSZFY7CisgICAg fQorCitOb3RlIHRoYXQgZ2VuZXJhdGVfQTJfYWRkIHVwZGF0ZXMgdGhlIGRpc2Fzc2VtYmx5IGNv bnRleHQgdG8gYmUgcHJvY2Vzc2VkCit3aGVuIHRoZSBwYWNrZXQgY29tbWl0cyAoc2VlICJQYWNr ZXQgU2VtYW50aWNzIiBiZWxvdykuCisKK1RoZSBnZW5lcmF0b3IgY2hlY2tzIGZvciBmR0VOX1RD R188dGFnPiBtYWNyby4gIFRoaXMgYWxsb3dzIHVzIHRvIGdlbmVyYXRlCitUQ0cgY29kZSBpbnN0 ZWFkIG9mIGEgY2FsbCB0byB0aGUgaGVscGVyLiAgSWYgZGVmaW5lZCwgdGhlIG1hY3JvIHRha2Vz IDEKK2FyZ3VtZW50LgorICAgIEMgc2VtYW50aWNzIChha2Egc2hvcnQgY29kZSkKKworVGhpcyBh bGxvd3MgdGhlIGNvZGUgZ2VuZXJhdG9yIHRvIG92ZXJyaWRlIHRoZSBhdXRvLWdlbmVyYXRlZCBj b2RlLiAgSW4gc29tZQorY2FzZXMgdGhpcyBpcyBuZWNlc3NhcnkgZm9yIGNvcnJlY3QgZXhlY3V0 aW9uLiAgV2UgY2FuIGFsc28gb3ZlcnJpZGUgZm9yCitmYXN0ZXIgZW11bGF0aW9uLiAgRm9yIGV4 YW1wbGUsIGNhbGxpbmcgYSBoZWxwZXIgZm9yIGFkZCBpcyBtb3JlIGV4cGVuc2l2ZQordGhhbiBn ZW5lcmF0aW5nIGEgVENHIGFkZCBvcGVyYXRpb24uCisKK1RoZSBnZW5fdGNnLmggZmlsZSBoYXMg YW55IG92ZXJyaWRlcy4gRm9yIGV4YW1wbGUsIHdlIGNvdWxkIHdyaXRlCisgICAgI2RlZmluZSBm R0VOX1RDR19BMl9hZGQoR0VOSExQUiwgU0hPUlRDT0RFKSBcCisgICAgICAgIHRjZ19nZW5fYWRk X3RsKFJkViwgUnNWLCBSdFYpCisKK1RoZSBpbnN0cnVjdGlvbiBzZW1hbnRpY3MgQyBjb2RlIHJl bGllcyBoZWF2aWx5IG9uIG1hY3Jvcy4gIEluIGNhc2VzIHdoZXJlIHRoZQorQyBzZW1hbnRpY3Mg YXJlIHNwZWNpZmllZCBvbmx5IHdpdGggbWFjcm9zLCB3ZSBjYW4gb3ZlcnJpZGUgdGhlIGRlZmF1 bHQgd2l0aAordGhlIHNob3J0IHNlbWFudGljcyBvcHRpb24gYW5kICNkZWZpbmUgdGhlIG1hY3Jv cyB0byBnZW5lcmF0ZSBUQ0cgY29kZS4gIE9uZQorZXhhbXBsZSBpcyBMMl9sb2Fkd19sb2NrZWQ6 CisgICAgSW5zdHJ1Y3Rpb24gdGFnICAgICAgICBMMl9sb2Fkd19sb2NrZWQKKyAgICBBc3NlbWJs eSBzeW50YXggICAgICAgICJSZDMyPW1lbXdfbG9ja2VkKFJzMzIpIgorICAgIEluc3RydWN0aW9u IHNlbWFudGljcyAgInsgZkVBX1JFRyhSc1YpOyBmTE9BRF9MT0NLRUQoMSw0LHUsRUEsUmRWKSB9 IgorCitJbiBnZW5fdGNnLmgsIHdlIHVzZSB0aGUgc2hvcnRjb2RlCisjZGVmaW5lIGZHRU5fVENH X0wyX2xvYWR3X2xvY2tlZChTSE9SVENPREUpIFwKKyAgICBTSE9SVENPREUKKworVGhlcmUgYXJl IGFsc28gY2FzZXMgd2hlcmUgd2UgYnJ1dGUgZm9yY2UgdGhlIFRDRyBjb2RlIGdlbmVyYXRpb24u CitJbnN0cnVjdGlvbnMgd2l0aCBtdWx0aXBsZSBkZWZpbml0aW9ucyBhcmUgZXhhbXBsZXMuICBU aGVzZSByZXF1aXJlIHNwZWNpYWwKK2hhbmRsaW5nIGJlY2F1c2UgcWVtdSBoZWxwZXJzIGNhbiBv bmx5IHJldHVybiBhIHNpbmdsZSB2YWx1ZS4KKworSW4gYWRkaXRpb24gdG8gaW5zdHJ1Y3Rpb24g c2VtYW50aWNzLCB3ZSB1c2UgYSBnZW5lcmF0b3IgdG8gY3JlYXRlIHRoZSBkZWNvZGUKK3RyZWUu ICBUaGlzIGdlbmVyYXRpb24gaXMgYWxzbyBhIHR3byBzdGVwIHByb2Nlc3MuICBUaGUgZmlyc3Qg c3RlcCBpcyB0byBydW4KK3RhcmdldC9oZXhhZ29uL2dlbl9kZWN0cmVlX2ltcG9ydC5jIHRvIHBy b2R1Y2UKKyAgICA8QlVJTERfRElSPi90YXJnZXQvaGV4YWdvbi9pc2V0LnB5CitUaGlzIGZpbGUg aXMgaW1wb3J0ZWQgYnkgdGFyZ2V0L2hleGFnb24vZGVjdHJlZS5weSB0byBwcm9kdWNlCisgICAg PEJVSUxEX0RJUj4vdGFyZ2V0L2hleGFnb24vZGVjdHJlZV9nZW5lcmF0ZWQuaAorCisqKiogS2V5 IEZpbGVzICoqKgorCitjcHUuaAorCitUaGlzIGZpbGUgY29udGFpbnMgdGhlIGRlZmluaXRpb24g b2YgdGhlIENQVUhleGFnb25TdGF0ZSBzdHJ1Y3QuICBJdCBpcyB0aGUKK3J1bnRpbWUgaW5mb3Jt YXRpb24gZm9yIGVhY2ggdGhyZWFkIGFuZCBjb250YWlucyBzdHVmZiBsaWtlIHRoZSBHUFIgYW5k CitwcmVkaWNhdGUgcmVnaXN0ZXJzLgorCittYWNyb3MuaAorCitUaGUgSGV4YWdvbiBhcmNoIGxp YiByZWxpZXMgaGVhdmlseSBvbiBtYWNyb3MgZm9yIHRoZSBpbnN0cnVjdGlvbiBzZW1hbnRpY3Mu CitUaGlzIGlzIGEgZ3JlYXQgYWR2YW50YWdlIGZvciBxZW11IGJlY2F1c2Ugd2UgY2FuIG92ZXJy aWRlIHRoZW0gZm9yIGRpZmZlcmVudAorcHVycG9zZXMuICBZb3Ugd2lsbCBhbHNvIG5vdGljZSB0 aGVyZSBhcmUgc29tZXRpbWVzIHR3byBkZWZpbml0aW9ucyBvZiBhIG1hY3JvLgorVGhlIFFFTVVf R0VORVJBVEUgdmFyaWFibGUgZGV0ZXJtaW5lcyB3aGV0aGVyIHdlIHdhbnQgdGhlIG1hY3JvIHRv IGdlbmVyYXRlIFRDRworY29kZS4gIElmIFFFTVVfR0VORVJBVEUgaXMgbm90IGRlZmluZWQsIHdl IHdhbnQgdGhlIG1hY3JvIHRvIGdlbmVyYXRlIHZhbmlsbGEKK0MgY29kZSB0aGF0IHdpbGwgd29y ayBpbiB0aGUgaGVscGVyIGltcGxlbWVudGF0aW9uLgorCit0cmFuc2xhdGUuYworCitUaGUgZnVu Y3Rpb25zIGluIHRoaXMgZmlsZSBnZW5lcmF0ZSBUQ0cgY29kZSBmb3IgYSB0cmFuc2xhdGlvbiBi bG9jay4gIFNvbWUKK2ltcG9ydGFudCBmdW5jdGlvbnMgaW4gdGhpcyBmaWxlIGFyZQorCisgICAg Z2VuX3N0YXJ0X3BhY2tldCAtIGluaXRpYWxpemUgdGhlIGRhdGEgc3RydWN0dXJlcyBmb3IgcGFj a2V0IHNlbWFudGljcworICAgIGdlbl9jb21taXRfcGFja2V0IC0gY29tbWl0IHRoZSByZWdpc3Rl ciB3cml0ZXMsIHN0b3JlcywgZXRjIGZvciBhIHBhY2tldAorICAgIGRlY29kZV9wYWNrZXQgLSBk aXNhc3NlbWJsZSBhIHBhY2tldCBhbmQgZ2VuZXJhdGUgY29kZQorCitnZW5wdHIuYworZ2VuX3Rj Zy5oCisKK1RoZXNlIGZpbGVzIGNyZWF0ZSBhIGZ1bmN0aW9uIGZvciBlYWNoIGluc3RydWN0aW9u LiAgSXQgaXMgbW9zdGx5IGNvbXBvc2VkIG9mCitmR0VOX1RDR188dGFnPiBkZWZpbml0aW9ucyBm b2xsb3dlZCBieSBpbmNsdWRpbmcgdGNnX2Z1bmNzX2dlbmVyYXRlZC5oLgorCitvcF9oZWxwZXIu YworCitUaGlzIGZpbGUgY29udGFpbnMgdGhlIGltcGxlbWVudGF0aW9ucyBvZiBhbGwgdGhlIGhl bHBlcnMuICBUaGVyZSBhcmUgYSBmZXcKK2dlbmVyYWwgcHVycG9zZSBoZWxwZXJzLCBidXQgbW9z dCBvZiB0aGVtIGFyZSBnZW5lcmF0ZWQgYnkgaW5jbHVkaW5nCitoZWxwZXJfZnVuY3NfZ2VuZXJh dGVkLmguICBUaGVyZSBhcmUgYWxzbyBzZXZlcmFsIGhlbHBlcnMgdXNlZCBmb3IgZGVidWdnaW5n LgorCisKKyoqKiBQYWNrZXQgU2VtYW50aWNzICoqKgorCitWTElXIHBhY2tldCBzZW1hbnRpY3Mg ZGlmZmVyIGZyb20gc2VyaWFsIHNlbWFudGljcyBpbiB0aGF0IGFsbCBpbnB1dCBvcGVyYW5kcwor YXJlIHJlYWQsIHRoZW4gdGhlIG9wZXJhdGlvbnMgYXJlIHBlcmZvcm1lZCwgdGhlbiBhbGwgdGhl IHJlc3VsdHMgYXJlIHdyaXR0ZW4uCitGb3IgZXhtYXBsZSwgdGhpcyBwYWNrZXQgcGVyZm9ybXMg YSBzd2FwIG9mIHJlZ2lzdGVycyByMCBhbmQgcjEKKyAgICB7IHIwID0gcjE7IHIxID0gcjAgfQor Tm90ZSB0aGF0IHRoZSByZXN1bHQgaXMgZGlmZmVyZW50IGlmIHRoZSBpbnN0cnVjdGlvbnMgYXJl IGV4ZWN1dGVkIHNlcmlhbGx5LgorCitQYWNrZXQgc2VtYW50aWNzIGRpY3RhdGUgdGhhdCB3ZSBk ZWZlciBhbnkgY2hhbmdlcyBvZiBzdGF0ZSB1bnRpbCB0aGUgZW50aXJlCitwYWNrZXQgaXMgY29t bWl0dGVkLiAgV2UgcmVjb3JkIHRoZSByZXN1bHRzIG9mIGVhY2ggaW5zdHJ1Y3Rpb24gaW4gYSBz aWRlIGRhdGEKK3N0cnVjdHVyZSwgYW5kIHVwZGF0ZSB0aGUgdmlzaWJsZSBwcm9jZXNzb3Igc3Rh dGUgd2hlbiB3ZSBjb21taXQgdGhlIHBhY2tldC4KKworVGhlIGRhdGEgc3RydWN0dXJlcyBhcmUg ZGl2aWRlZCBiZXR3ZWVuIHRoZSBydW50aW1lIHN0YXRlIGFuZCB0aGUgdHJhbnNsYXRpb24KK2Nv bnRleHQuCisKK0R1cmluZyB0aGUgVENHIGdlbmVyYXRpb24gKHNlZSB0cmFuc2xhdGUuW2NoXSks IHdlIHVzZSB0aGUgRGlzYXNDb250ZXh0IHRvCit0cmFjayB3aGF0IG5lZWRzIHRvIGJlIGRvbmUg ZHVyaW5nIHBhY2tldCBjb21taXQuICBIZXJlIGFyZSB0aGUgcmVsZXZhbnQKK2ZpZWxkcworCisg ICAgcmVnX2xvZyAgICAgICAgICAgIGxpc3Qgb2YgcmVnaXN0ZXJzIHdyaXR0ZW4KKyAgICByZWdf bG9nX2lkeCAgICAgICAgaW5kZXggaW50byBjdHhfcmVnX2xvZworICAgIHByZWRfbG9nICAgICAg ICAgICBsaXN0IG9mIHByZWRpY2F0ZXMgd3JpdHRlbgorICAgIHByZWRfbG9nX2lkeCAgICAgICBp bmRleCBpbnRvIGN0eF9wcmVkX2xvZworICAgIHN0b3JlX3dpZHRoICAgICAgICB3aWR0aCBvZiBz dG9yZXMgKGluZGV4ZWQgYnkgc2xvdCkKKworRHVyaW5nIHJ1bnRpbWUsIHRoZSBmb2xsb3dpbmcg ZmllbGRzIGluIENQVUhleGFnb25TdGF0ZSAoc2VlIGNwdS5oKSBhcmUgdXNlZAorCisgICAgbmV3 X3ZhbHVlICAgICAgICAgICAgIG5ldyB2YWx1ZSBvZiBhIGdpdmVuIHJlZ2lzdGVyCisgICAgcmVn X3dyaXR0ZW4gICAgICAgICAgIGJvb2xlYW4gaW5kaWNhdGluZyBpZiByZWdpc3RlciB3YXMgd3Jp dHRlbgorICAgIG5ld19wcmVkX3ZhbHVlICAgICAgICBuZXcgdmFsdWUgb2YgYSBwcmVkaWNhdGUg cmVnaXN0ZXIKKyAgICBwcmVkX3dyaXR0ZW4gICAgICAgICAgYm9vbGVhbiBpbmRpY2F0aW5nIGlm IHByZWRpY2F0ZSB3YXMgd3JpdHRlbgorICAgIG1lbV9sb2dfc3RvcmVzICAgICAgICByZWNvcmQg b2YgdGhlIHN0b3JlcyAoaW5kZXhlZCBieSBzbG90KQorCisqKiogRGVidWdnaW5nICoqKgorCitZ b3UgY2FuIHR1cm4gb24gYSBsb3Qgb2YgZGVidWdnaW5nIGJ5IGNoYW5naW5nIHRoZSBIRVhfREVC VUcgbWFjcm8gdG8gMSBpbgoraW50ZXJuYWwuaC4gIFRoaXMgd2lsbCBzdHJlYW0gYSBsb3Qgb2Yg aW5mb3JtYXRpb24gYXMgaXQgZ2VuZXJhdGVzIFRDRyBhbmQKK2V4ZWN1dGVzIHRoZSBjb2RlLgor CitUbyB0cmFjayBkb3duIG5hc3R5IGlzc3VlcyB3aXRoIEhleGFnb24tPlRDRyBnZW5lcmF0aW9u LCB3ZSBjb21wYXJlIHRoZQorZXhlY3V0aW9uIHJlc3VsdHMgd2l0aCBhY3R1YWwgaGFyZHdhcmUg cnVubmluZyBvbiBhIEhleGFnb24gTGludXggdGFyZ2V0LgorUnVuIHFlbXUgd2l0aCB0aGUgIi1k IGNwdSIgb3B0aW9uLiAgVGhlbiwgd2UgY2FuIGRpZmYgdGhlIHJlc3VsdHMgYW5kIGZpZ3VyZQor b3V0IHdoZXJlIHFlbXUgYW5kIGhhcmR3YXJlIGJlaGF2ZSBkaWZmZXJlbnRseS4KKworVGhlIHN0 YWNrcyBhcmUgbG9jYXRlZCBhdCBkaWZmZXJlbnQgbG9jYXRpb25zLiAgV2UgaGFuZGxlIHRoaXMg YnkgY2hhbmdpbmcKK2Vudi0+c3RhY2tfYWRqdXN0IGluIHRyYW5zbGF0ZS5jLiAgRmlyc3QsIHNl dCB0aGlzIHRvIHplcm8gYW5kIHJ1biBxZW11LgorVGhlbiwgY2hhbmdlIGVudi0+c3RhY2tfYWRq dXN0IHRvIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gdGhlIHR3byBzdGFjaworbG9jYXRpb25zLiAg VGhlbiByZWJ1aWxkIHFlbXUgYW5kIHJ1biBhZ2Fpbi4gVGhhdCB3aWxsIHByb2R1Y2UgYSB2ZXJ5 CitjbGVhbiBkaWZmLgorCitIZXJlIGFyZSBzb21lIGhhbmR5IHBsYWNlcyB0byBzZXQgYnJlYWtw b2ludHMKKworICAgIEF0IHRoZSBjYWxsIHRvIGdlbl9zdGFydF9wYWNrZXQgZm9yIGEgZ2l2ZW4g UEMgKG5vdGUgdGhhdCB0aGUgbGluZSBudW1iZXIKKyAgICAgICAgbWlnaHQgY2hhbmdlIGluIHRo ZSBmdXR1cmUpCisgICAgICAgIGJyIHRyYW5zbGF0ZS5jOjYwMiBpZiBjdHgtPmJhc2UucGNfbmV4 dCA9PSAweGRlYWRiZWVmCisgICAgVGhlIGhlbHBlciBmdW5jdGlvbiBmb3IgZWFjaCBpbnN0cnVj dGlvbiBpcyBuYW1lZCBoZWxwZXJfPFRBRz4sIHNvIGhlcmUncworICAgICAgICBhbiBleGFtcGxl IHRoYXQgd2lsbCBzZXQgYSBicmVha3BvaW50IGF0IHRoZSBzdGFydAorICAgICAgICBiciBoZWxw ZXJfQTJfYWRkCisgICAgSWYgeW91IGhhdmUgdGhlIEhFWF9ERUJVRyBtYWNybyBzZXQsIHRoZSBm b2xsb3dpbmcgd2lsbCBiZSB1c2VmdWwKKyAgICAgICAgQXQgdGhlIHN0YXJ0IG9mIGV4ZWN1dGlv biBvZiBhIHBhY2tldCBmb3IgYSBnaXZlbiBQQworICAgICAgICAgICAgYnIgaGVscGVyX2RlYnVn X3N0YXJ0X3BhY2tldCBpZiBlbnYtPmdwcls0MV0gPT0gMHhkZWFkYmVlZgorICAgICAgICBBdCB0 aGUgZW5kIG9mIGV4ZWN1dGlvbiBvZiBhIHBhY2tldCBmb3IgYSBnaXZlbiBQQworICAgICAgICAg ICAgYnIgaGVscGVyX2RlYnVnX2NvbW1pdF9lbmQgaWYgZW52LT50aGlzX1BDID09IDB4ZGVhZGJl ZWYKKwotLSAKMi43LjQKCg==