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=-9.6 required=3.0 tests=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 E1354C3F2D2 for ; Fri, 28 Feb 2020 17:33:12 +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 A039B24699 for ; Fri, 28 Feb 2020 17:33:12 +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="A6oW84fp" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org A039B24699 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]:51460 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j7jVf-0006NR-Nd for qemu-devel@archiver.kernel.org; Fri, 28 Feb 2020 12:33:11 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:58348) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j7im0-0005Zd-8m for qemu-devel@nongnu.org; Fri, 28 Feb 2020 11:46:02 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1j7ily-000783-8J for qemu-devel@nongnu.org; Fri, 28 Feb 2020 11:46:00 -0500 Received: from alexa-out-sd-02.qualcomm.com ([199.106.114.39]:27035) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1j7ilx-0005Ug-QS for qemu-devel@nongnu.org; Fri, 28 Feb 2020 11:45:58 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=quicinc.com; i=@quicinc.com; q=dns/txt; s=qcdkim; t=1582908357; x=1614444357; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=q5aIV7ecl3r0K3V9trKTrERFci7vyJdEogS9DpK5o1w=; b=A6oW84fpwmAeG8IsDYWIu+WAjTK0qXsmEh8XAn3FE5biEWXOaHMtN5Sy oqYm9Di33emOQvro2FxvELl9YkhF9sCj+Q8MrWebHkXnQVLNKPmlEklWl nb8QB9bbylB4XOZf6trxfkTeN07tTzCadfxBYEaJ4B4exWHBt2PVMpZXv Y=; Received: from unknown (HELO ironmsg01-sd.qualcomm.com) ([10.53.140.141]) by alexa-out-sd-02.qualcomm.com with ESMTP; 28 Feb 2020 08:44:33 -0800 Received: from vu-tsimpson-aus.qualcomm.com (HELO vu-tsimpson1-aus.qualcomm.com) ([10.222.150.1]) by ironmsg01-sd.qualcomm.com with ESMTP; 28 Feb 2020 08:44:32 -0800 Received: by vu-tsimpson1-aus.qualcomm.com (Postfix, from userid 47164) id 1CE1A1163; Fri, 28 Feb 2020 10:44:32 -0600 (CST) From: Taylor Simpson To: qemu-devel@nongnu.org Subject: [RFC PATCH v2 50/67] Hexagon TCG generation - step 12 Date: Fri, 28 Feb 2020 10:43:46 -0600 Message-Id: <1582908244-304-51-git-send-email-tsimpson@quicinc.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1582908244-304-1-git-send-email-tsimpson@quicinc.com> References: <1582908244-304-1-git-send-email-tsimpson@quicinc.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 X-detected-operating-system: by eggs.gnu.org: FreeBSD 9.x [fuzzy] X-Received-From: 199.106.114.39 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: riku.voipio@iki.fi, richard.henderson@linaro.org, laurent@vivier.eu, Taylor Simpson , philmd@redhat.com, aleksandar.m.mail@gmail.com Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" T3ZlcnJpZGUgbWlzY2VsbGFuZW91cyBpbnN0cnVjdGlvbnMgaWRlbnRpZmllZCBkdXJpbmcgcHJv ZmlsaW5nCgpTaWduZWQtb2ZmLWJ5OiBUYXlsb3IgU2ltcHNvbiA8dHNpbXBzb25AcXVpY2luYy5j b20+Ci0tLQogdGFyZ2V0L2hleGFnb24vaGVscGVyX292ZXJyaWRlcy5oIHwgMjk2ICsrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiAxIGZpbGUgY2hhbmdlZCwgMjk2IGluc2Vy dGlvbnMoKykKCmRpZmYgLS1naXQgYS90YXJnZXQvaGV4YWdvbi9oZWxwZXJfb3ZlcnJpZGVzLmgg Yi90YXJnZXQvaGV4YWdvbi9oZWxwZXJfb3ZlcnJpZGVzLmgKaW5kZXggYWQ5YTg4Yy4uYjc5NmNl ZCAxMDA2NDQKLS0tIGEvdGFyZ2V0L2hleGFnb24vaGVscGVyX292ZXJyaWRlcy5oCisrKyBiL3Rh cmdldC9oZXhhZ29uL2hlbHBlcl9vdmVycmlkZXMuaApAQCAtMTU1MSw0ICsxNTUxLDMwMCBAQAog I2RlZmluZSBmV1JBUF9KMl9qdW1wdG5ld3B0KEdFTkhMUFIsIFNIT1JUQ09ERSkgXAogICAgIGdl bl9jb25kX2p1bXAoUHVOLCByaVYpCiAKKy8qCisgKiBOZXcgdmFsdWUgY29tcGFyZSAmIGp1bXAg aW5zdHJ1Y3Rpb25zCisgKiBpZiAoWyFdQ09ORChyMC5uZXcsIHIxKSBqdW1wOnQgYWRkcmVzcwor ICogaWYgKFshXUNPTkQocjAubmV3LCAjNykganVtcDp0IGFkZHJlc3MKKyAqLworI2RlZmluZSBm V1JBUF9KNF9jbXBndF9mX2p1bXBudl90KEdFTkhMUFIsIFNIT1JUQ09ERSkgXAorICAgIGdlbl9j bXBfanVtcG52KFRDR19DT05EX0xFLCBOc1gsIFJ0ViwgcmlWKQorI2RlZmluZSBmV1JBUF9KNF9j bXBlcV9mX2p1bXBudl9udChHRU5ITFBSLCBTSE9SVENPREUpIFwKKyAgICBnZW5fY21wX2p1bXBu dihUQ0dfQ09ORF9ORSwgTnNYLCBSdFYsIHJpVikKKyNkZWZpbmUgZldSQVBfSjRfY21wZ3RfdF9q dW1wbnZfdChHRU5ITFBSLCBTSE9SVENPREUpIFwKKyAgICBnZW5fY21wX2p1bXBudihUQ0dfQ09O RF9HVCwgTnNYLCBSdFYsIHJpVikKKyNkZWZpbmUgZldSQVBfSjRfY21wZXFpX3RfanVtcG52X250 KEdFTkhMUFIsIFNIT1JUQ09ERSkgXAorICAgIGdlbl9jbXBpX2p1bXBudihUQ0dfQ09ORF9FUSwg TnNYLCBVaVYsIHJpVikKKyNkZWZpbmUgZldSQVBfSjRfY21wbHR1X2ZfanVtcG52X3QoR0VOSExQ UiwgU0hPUlRDT0RFKSBcCisgICAgZ2VuX2NtcF9qdW1wbnYoVENHX0NPTkRfR0VVLCBOc1gsIFJ0 ViwgcmlWKQorI2RlZmluZSBmV1JBUF9KNF9jbXBndHVpX3RfanVtcG52X3QoR0VOSExQUiwgU0hP UlRDT0RFKSBcCisgICAgZ2VuX2NtcGlfanVtcG52KFRDR19DT05EX0dUVSwgTnNYLCBVaVYsIHJp VikKKyNkZWZpbmUgZldSQVBfSjRfY21wZXFfZl9qdW1wbnZfdChHRU5ITFBSLCBTSE9SVENPREUp IFwKKyAgICBnZW5fY21wX2p1bXBudihUQ0dfQ09ORF9ORSwgTnNYLCBSdFYsIHJpVikKKyNkZWZp bmUgZldSQVBfSjRfY21wZXFpX2ZfanVtcG52X3QoR0VOSExQUiwgU0hPUlRDT0RFKSBcCisgICAg Z2VuX2NtcGlfanVtcG52KFRDR19DT05EX05FLCBOc1gsIFVpViwgcmlWKQorI2RlZmluZSBmV1JB UF9KNF9jbXBndHVfdF9qdW1wbnZfdChHRU5ITFBSLCBTSE9SVENPREUpIFwKKyAgICBnZW5fY21w X2p1bXBudihUQ0dfQ09ORF9HVFUsIE5zWCwgUnRWLCByaVYpCisjZGVmaW5lIGZXUkFQX0o0X2Nt cGd0dV9mX2p1bXBudl90KEdFTkhMUFIsIFNIT1JUQ09ERSkgXAorICAgIGdlbl9jbXBfanVtcG52 KFRDR19DT05EX0xFVSwgTnNYLCBSdFYsIHJpVikKKyNkZWZpbmUgZldSQVBfSjRfY21wbHRfdF9q dW1wbnZfdChHRU5ITFBSLCBTSE9SVENPREUpIFwKKyAgICBnZW5fY21wX2p1bXBudihUQ0dfQ09O RF9MVCwgTnNYLCBSdFYsIHJpVikKKworLyogcjAgPSByMSA7IGp1bXAgYWRkcmVzcyAqLworI2Rl ZmluZSBmV1JBUF9KNF9qdW1wc2V0cihHRU5ITFBSLCBTSE9SVENPREUpIFwKKyAgICBkbyB7IFwK KyAgICAgICAgdGNnX2dlbl9tb3ZfdGwoUmRWLCBSc1YpOyBcCisgICAgICAgIGdlbl9qdW1wKHJp Vik7IFwKKyAgICB9IHdoaWxlICgwKQorCisvKiByMCA9IGxzcihyMSwgIzUpICovCisjZGVmaW5l IGZXUkFQX1MyX2xzcl9pX3IoR0VOSExQUiwgU0hPUlRDT0RFKSBcCisgICAgZkxTSElGVFIoUmRW LCBSc1YsIElNTU5PKDApLCA0XzQpCisKKy8qIHIwICs9IGxzcihyMSwgIzUpICovCisjZGVmaW5l IGZXUkFQX1MyX2xzcl9pX3JfYWNjKEdFTkhMUFIsIFNIT1JUQ09ERSkgXAorICAgIGRvIHsgXAor ICAgICAgICBUQ0d2IHRtcCA9IHRjZ190ZW1wX25ldygpOyBcCisgICAgICAgIGZMU0hJRlRSKHRt cCwgUnNWLCBJTU1OTygwKSwgNF80KTsgXAorICAgICAgICB0Y2dfZ2VuX2FkZF90bChSeFYsIFJ4 ViwgdG1wKTsgXAorICAgICAgICB0Y2dfdGVtcF9mcmVlKHRtcCk7IFwKKyAgICB9IHdoaWxlICgw KQorCisvKiByMCBePSBsc3IocjEsICM1KSAqLworI2RlZmluZSBmV1JBUF9TMl9sc3JfaV9yX3hh Y2MoR0VOSExQUiwgU0hPUlRDT0RFKSBcCisgICAgZG8geyBcCisgICAgICAgIFRDR3YgdG1wID0g dGNnX3RlbXBfbmV3KCk7IFwKKyAgICAgICAgZkxTSElGVFIodG1wLCBSc1YsIElNTU5PKDApLCA0 XzQpOyBcCisgICAgICAgIHRjZ19nZW5feG9yX3RsKFJ4ViwgUnhWLCB0bXApOyBcCisgICAgICAg IHRjZ190ZW1wX2ZyZWUodG1wKTsgXAorICAgIH0gd2hpbGUgKDApCisKKy8qIHIwID0gYXNyKHIx LCAjNSkgKi8KKyNkZWZpbmUgZldSQVBfUzJfYXNyX2lfcihHRU5ITFBSLCBTSE9SVENPREUpIFwK KyAgICBmQVNISUZUUihSZFYsIFJzViwgSU1NTk8oMCksIDRfNCkKKworLyogcjAgPSBhZGRhc2wo cjEsIHIyLCAjMykgKi8KKyNkZWZpbmUgZldSQVBfUzJfYWRkYXNsX3JycmkoR0VOSExQUiwgU0hP UlRDT0RFKSBcCisgICAgZG8geyBcCisgICAgICAgIFRDR3YgdG1wID0gdGNnX3RlbXBfbmV3KCk7 IFwKKyAgICAgICAgZkFTSElGVEwodG1wLCBSc1YsIElNTU5PKDApLCA0XzQpOyBcCisgICAgICAg IHRjZ19nZW5fYWRkX3RsKFJkViwgUnRWLCB0bXApOyBcCisgICAgICAgIHRjZ190ZW1wX2ZyZWUo dG1wKTsgXAorICAgIH0gd2hpbGUgKDApCisKKy8qIHIwIHw9IGFzbChyMSwgcjIpICovCisjZGVm aW5lIGZXUkFQX1MyX2FzbF9yX3Jfb3IoR0VOSExQUiwgU0hPUlRDT0RFKSBcCisgICAgZ2VuX2Fz bF9yX3Jfb3IoUnhWLCBSc1YsIFJ0VikKKworLyogcjAgPSBhc2wocjEsICM1KSAqLworI2RlZmlu ZSBmV1JBUF9TMl9hc2xfaV9yKEdFTkhMUFIsIFNIT1JUQ09ERSkgXAorICAgIGZBU0hJRlRMKFJk ViwgUnNWLCBJTU1OTygwKSwgNF80KQorCisvKiByMCB8PSBhc2wocjEsICM1KSAqLworI2RlZmlu ZSBmV1JBUF9TMl9hc2xfaV9yX29yKEdFTkhMUFIsIFNIT1JUQ09ERSkgXAorICAgIGRvIHsgXAor ICAgICAgICBUQ0d2IHRtcCA9IHRjZ190ZW1wX25ldygpOyBcCisgICAgICAgIGZBU0hJRlRMKHRt cCwgUnNWLCBJTU1OTygwKSwgNF80KTsgXAorICAgICAgICB0Y2dfZ2VuX29yX3RsKFJ4ViwgUnhW LCB0bXApOyBcCisgICAgICAgIHRjZ190ZW1wX2ZyZWUodG1wKTsgXAorICAgIH0gd2hpbGUgKDAp CisKKy8qIHIwID0gdnNwbGF0YihyMSkgKi8KKyNkZWZpbmUgZldSQVBfUzJfdnNwbGF0cmIoR0VO SExQUiwgU0hPUlRDT0RFKSBcCisgICAgZG8geyBcCisgICAgICAgIFRDR3YgdG1wID0gdGNnX3Rl bXBfbmV3KCk7IFwKKyAgICAgICAgaW50IGk7IFwKKyAgICAgICAgdGNnX2dlbl9tb3ZpX3RsKFJk ViwgMCk7IFwKKyAgICAgICAgdGNnX2dlbl9hbmRpX3RsKHRtcCwgUnNWLCAweGZmKTsgXAorICAg ICAgICBmb3IgKGkgPSAwOyBpIDwgNDsgaSsrKSB7IFwKKyAgICAgICAgICAgIHRjZ19nZW5fc2hs aV90bChSZFYsIFJkViwgOCk7IFwKKyAgICAgICAgICAgIHRjZ19nZW5fb3JfdGwoUmRWLCBSZFYs IHRtcCk7IFwKKyAgICAgICAgfSBcCisgICAgICAgIHRjZ190ZW1wX2ZyZWUodG1wKTsgXAorICAg IH0gd2hpbGUgKDApCisKKyNkZWZpbmUgZldSQVBfU0ExX3NldGkoR0VOSExQUiwgU0hPUlRDT0RF KSBcCisgICAgdGNnX2dlbl9tb3ZpX3RsKFJkViwgSU1NTk8oMCkpCisKKyNkZWZpbmUgZldSQVBf UzJfaW5zZXJ0KEdFTkhMUFIsIFNIT1JUQ09ERSkgXAorICAgIHRjZ19nZW5fZGVwb3NpdF9pMzIo UnhWLCBSeFYsIFJzViwgSU1NTk8oMSksIElNTU5PKDApKQorCisjZGVmaW5lIGZXUkFQX1MyX2V4 dHJhY3R1KEdFTkhMUFIsIFNIT1JUQ09ERSkgXAorICAgIHRjZ19nZW5fZXh0cmFjdF9pMzIoUmRW LCBSc1YsIElNTU5PKDEpLCBJTU1OTygwKSkKKworI2RlZmluZSBmV1JBUF9BMl9jb21iaW5ldyhH RU5ITFBSLCBTSE9SVENPREUpIFwKKyAgICB0Y2dfZ2VuX2NvbmNhdF9pMzJfaTY0KFJkZFYsIFJ0 ViwgUnNWKQorI2RlZmluZSBmV1JBUF9BMl9jb21iaW5laWkoR0VOSExQUiwgU0hPUlRDT0RFKSBc CisgICAgZG8geyBcCisgICAgICAgIFRDR3YgdG1wX2xvID0gdGNnX2NvbnN0X3RsKFNpVik7IFwK KyAgICAgICAgVENHdiB0bXBfaGkgPSB0Y2dfY29uc3RfdGwoc2lWKTsgXAorICAgICAgICB0Y2df Z2VuX2NvbmNhdF9pMzJfaTY0KFJkZFYsIHRtcF9sbywgdG1wX2hpKTsgXAorICAgICAgICB0Y2df dGVtcF9mcmVlKHRtcF9sbyk7IFwKKyAgICAgICAgdGNnX3RlbXBfZnJlZSh0bXBfaGkpOyBcCisg ICAgfSB3aGlsZSAoMCkKKyNkZWZpbmUgZldSQVBfQTRfY29tYmluZXJpKEdFTkhMUFIsIFNIT1JU Q09ERSkgXAorICAgIGRvIHsgXAorICAgICAgICBUQ0d2IHRtcF9sbyA9IHRjZ19jb25zdF90bChz aVYpOyBcCisgICAgICAgIHRjZ19nZW5fY29uY2F0X2kzMl9pNjQoUmRkViwgdG1wX2xvLCBSc1Yp OyBcCisgICAgICAgIHRjZ190ZW1wX2ZyZWUodG1wX2xvKTsgXAorICAgIH0gd2hpbGUgKDApCisj ZGVmaW5lIGZXUkFQX0E0X2NvbWJpbmVpcihHRU5ITFBSLCBTSE9SVENPREUpIFwKKyAgICBkbyB7 IFwKKyAgICAgICAgVENHdiB0bXBfaGkgPSB0Y2dfY29uc3RfdGwoc2lWKTsgXAorICAgICAgICB0 Y2dfZ2VuX2NvbmNhdF9pMzJfaTY0KFJkZFYsIFJzViwgdG1wX2hpKTsgXAorICAgICAgICB0Y2df dGVtcF9mcmVlKHRtcF9oaSk7IFwKKyAgICB9IHdoaWxlICgwKQorI2RlZmluZSBmV1JBUF9BNF9j b21iaW5laWkoR0VOSExQUiwgU0hPUlRDT0RFKSBcCisgICAgZG8geyBcCisgICAgICAgIFRDR3Yg dG1wX2xvID0gdGNnX2NvbnN0X3RsKFVpVik7IFwKKyAgICAgICAgVENHdiB0bXBfaGkgPSB0Y2df Y29uc3RfdGwoc2lWKTsgXAorICAgICAgICB0Y2dfZ2VuX2NvbmNhdF9pMzJfaTY0KFJkZFYsIHRt cF9sbywgdG1wX2hpKTsgXAorICAgICAgICB0Y2dfdGVtcF9mcmVlKHRtcF9sbyk7IFwKKyAgICAg ICAgdGNnX3RlbXBfZnJlZSh0bXBfaGkpOyBcCisgICAgfSB3aGlsZSAoMCkKKworI2RlZmluZSBm V1JBUF9TQTFfY29tYmluZTBpKEdFTkhMUFIsIFNIT1JUQ09ERSkgXAorICAgIGRvIHsgXAorICAg ICAgICBUQ0d2IHRtcF9sbyA9IHRjZ19jb25zdF90bCh1aVYpOyBcCisgICAgICAgIFRDR3YgemVy byA9IHRjZ19jb25zdF90bCgwKTsgXAorICAgICAgICB0Y2dfZ2VuX2NvbmNhdF9pMzJfaTY0KFJk ZFYsIHRtcF9sbywgemVybyk7IFwKKyAgICAgICAgdGNnX3RlbXBfZnJlZSh0bXBfbG8pOyBcCisg ICAgICAgIHRjZ190ZW1wX2ZyZWUoemVybyk7IFwKKyAgICB9IHdoaWxlICgwKQorCisvKiByMCA9 IG9yKCM4LCBhc2wocjEsICM1KSkgKi8KKyNkZWZpbmUgZldSQVBfUzRfb3JpX2FzbF9yaShHRU5I TFBSLCBTSE9SVENPREUpIFwKKyAgICBkbyB7IFwKKyAgICAgICAgVENHdiB0bXAgPSB0Y2dfdGVt cF9uZXcoKTsgXAorICAgICAgICB0Y2dfZ2VuX3NobGlfdGwodG1wLCBSeFYsIElNTU5PKDEpKTsg XAorICAgICAgICB0Y2dfZ2VuX29yaV90bChSeFYsIHRtcCwgSU1NTk8oMCkpOyBcCisgICAgICAg IHRjZ190ZW1wX2ZyZWUodG1wKTsgXAorICAgIH0gd2hpbGUgKDApCisKKy8qIHIwID0gYWRkKHIx LCBzdWIoIzYsIHIyKSkgKi8KKyNkZWZpbmUgZldSQVBfUzRfc3ViYWRkaShHRU5ITFBSLCBTSE9S VENPREUpIFwKKyAgICBkbyB7IFwKKyAgICAgICAgdGNnX2dlbl9zdWJfdGwoUmRWLCBSc1YsIFJ1 Vik7IFwKKyAgICAgICAgdGNnX2dlbl9hZGRpX3RsKFJkViwgUmRWLCBJTU1OTygwKSk7IFwKKyAg ICB9IHdoaWxlICgwKQorCisjZGVmaW5lIGZXUkFQX1NBMV9pbmMoR0VOSExQUiwgU0hPUlRDT0RF KSBcCisgICAgdGNnX2dlbl9hZGRpX3RsKFJkViwgUnNWLCAxKQorCisjZGVmaW5lIGZXUkFQX1NB MV9kZWMoR0VOSExQUiwgU0hPUlRDT0RFKSBcCisgICAgdGNnX2dlbl9zdWJpX3RsKFJkViwgUnNW LCAxKQorCisvKiBpZiAocDAubmV3KSByMCA9ICMwICovCisjZGVmaW5lIGZXUkFQX1NBMV9jbHJ0 bmV3KEdFTkhMUFIsIFNIT1JUQ09ERSkgXAorICAgIGRvIHsgXAorICAgICAgICBUQ0d2IG1hc2sg PSB0Y2dfdGVtcF9uZXcoKTsgXAorICAgICAgICBUQ0d2IHplcm8gPSB0Y2dfY29uc3RfdGwoMCk7 IFwKKyAgICAgICAgdGNnX2dlbl9tb3ZpX3RsKFJkViwgMCk7IFwKKyAgICAgICAgdGNnX2dlbl9t b3ZpX3RsKG1hc2ssIDEgPDwgaW5zbi0+c2xvdCk7IFwKKyAgICAgICAgdGNnX2dlbl9vcl90bCht YXNrLCBoZXhfc2xvdF9jYW5jZWxsZWQsIG1hc2spOyBcCisgICAgICAgIHRjZ19nZW5fbW92Y29u ZF90bChUQ0dfQ09ORF9FUSwgaGV4X3Nsb3RfY2FuY2VsbGVkLCBcCisgICAgICAgICAgICAgICAg ICAgICAgICAgICBoZXhfbmV3X3ByZWRfdmFsdWVbMF0sIHplcm8sIFwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgIG1hc2ssIGhleF9zbG90X2NhbmNlbGxlZCk7IFwKKyAgICAgICAgdGNnX3Rl bXBfZnJlZShtYXNrKTsgXAorICAgICAgICB0Y2dfdGVtcF9mcmVlKHplcm8pOyBcCisgICAgfSB3 aGlsZSAoMCkKKworLyogcjAgPSBhZGQocjEgLCBtcHlpKCM2LCByMikpICovCisjZGVmaW5lIGZX UkFQX000X21weXJpX2FkZHJfdTIoR0VOSExQUiwgU0hPUlRDT0RFKSBcCisgICAgZG8geyBcCisg ICAgICAgIHRjZ19nZW5fbXVsaV90bChSZFYsIFJzViwgSU1NTk8oMCkpOyBcCisgICAgICAgIHRj Z19nZW5fYWRkX3RsKFJkViwgUnVWLCBSZFYpOyBcCisgICAgfSB3aGlsZSAoMCkKKworLyogUHJl ZGljYXRlZCBhZGQgaW5zdHJ1Y3Rpb25zICovCisjZGVmaW5lIFdSQVBfcGFkZChQUkVELCBBREQp IFwKKyAgICBkbyB7IFwKKyAgICAgICAgVENHdiBMU0IgPSB0Y2dfdGVtcF9uZXcoKTsgXAorICAg ICAgICBUQ0d2IG1hc2sgPSB0Y2dfdGVtcF9uZXcoKTsgXAorICAgICAgICBUQ0d2IHplcm8gPSB0 Y2dfY29uc3RfdGwoMCk7IFwKKyAgICAgICAgUFJFRDsgXAorICAgICAgICBBREQ7IFwKKyAgICAg ICAgdGNnX2dlbl9tb3ZpX3RsKG1hc2ssIDEgPDwgaW5zbi0+c2xvdCk7IFwKKyAgICAgICAgdGNn X2dlbl9vcl90bChtYXNrLCBoZXhfc2xvdF9jYW5jZWxsZWQsIG1hc2spOyBcCisgICAgICAgIHRj Z19nZW5fbW92Y29uZF90bChUQ0dfQ09ORF9ORSwgaGV4X3Nsb3RfY2FuY2VsbGVkLCBMU0IsIHpl cm8sIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGhleF9zbG90X2NhbmNlbGxlZCwgbWFz ayk7IFwKKyAgICAgICAgdGNnX3RlbXBfZnJlZShMU0IpOyBcCisgICAgICAgIHRjZ190ZW1wX2Zy ZWUobWFzayk7IFwKKyAgICAgICAgdGNnX3RlbXBfZnJlZSh6ZXJvKTsgXAorICAgIH0gd2hpbGUg KDApCisKKyNkZWZpbmUgZldSQVBfQTJfcGFkZHQoR0VOSExQUiwgU0hPUlRDT0RFKSBcCisgICAg V1JBUF9wYWRkKGZMU0JPTEQoUHVWKSwgdGNnX2dlbl9hZGRfdGwoUmRWLCBSc1YsIFJ0VikpCisj ZGVmaW5lIGZXUkFQX0EyX3BhZGRmKEdFTkhMUFIsIFNIT1JUQ09ERSkgXAorICAgIFdSQVBfcGFk ZChmTFNCT0xETk9UKFB1ViksIHRjZ19nZW5fYWRkX3RsKFJkViwgUnNWLCBSdFYpKQorI2RlZmlu ZSBmV1JBUF9BMl9wYWRkaXQoR0VOSExQUiwgU0hPUlRDT0RFKSBcCisgICAgV1JBUF9wYWRkKGZM U0JPTEQoUHVWKSwgdGNnX2dlbl9hZGRpX3RsKFJkViwgUnNWLCBJTU1OTygwKSkpCisjZGVmaW5l IGZXUkFQX0EyX3BhZGRpZihHRU5ITFBSLCBTSE9SVENPREUpIFwKKyAgICBXUkFQX3BhZGQoZkxT Qk9MRE5PVChQdVYpLCB0Y2dfZ2VuX2FkZGlfdGwoUmRWLCBSc1YsIElNTU5PKDApKSkKKyNkZWZp bmUgZldSQVBfQTJfcGFkZGl0bmV3KEdFTkhMUFIsIFNIT1JUQ09ERSkgXAorICAgIFdSQVBfcGFk ZChmTFNCTkVXKFB1TiksIHRjZ19nZW5fYWRkaV90bChSZFYsIFJzViwgSU1NTk8oMCkpKQorCisv KiBDb25kaXRpb25hbCBtb3ZlIGluc3RydWN0aW9ucyAqLworI2RlZmluZSBmV1JBUF9DT05EX01P VkUoVkFMLCBDT05EKSBcCisgICAgZG8geyBcCisgICAgICAgIFRDR3YgTFNCID0gdGNnX3RlbXBf bmV3KCk7IFwKKyAgICAgICAgVENHdiB6ZXJvID0gdGNnX2NvbnN0X3RsKDApOyBcCisgICAgICAg IFRDR3YgbWFzayA9IHRjZ190ZW1wX25ldygpOyBcCisgICAgICAgIFRDR3YgdmFsdWUgPSB0Y2df Y29uc3RfdGwoc2lWKTsgXAorICAgICAgICBWQUw7IFwKKyAgICAgICAgdGNnX2dlbl9tb3Zjb25k X3RsKENPTkQsIFJkViwgTFNCLCB6ZXJvLCB2YWx1ZSwgemVybyk7IFwKKyAgICAgICAgdGNnX2dl bl9tb3ZpX3RsKG1hc2ssIDEgPDwgaW5zbi0+c2xvdCk7IFwKKyAgICAgICAgdGNnX2dlbl9tb3Zj b25kX3RsKFRDR19DT05EX0VRLCBtYXNrLCBMU0IsIHplcm8sIG1hc2ssIHplcm8pOyBcCisgICAg ICAgIHRjZ19nZW5fb3JfdGwoaGV4X3Nsb3RfY2FuY2VsbGVkLCBoZXhfc2xvdF9jYW5jZWxsZWQs IG1hc2spOyBcCisgICAgICAgIHRjZ190ZW1wX2ZyZWUoTFNCKTsgXAorICAgICAgICB0Y2dfdGVt cF9mcmVlKHplcm8pOyBcCisgICAgICAgIHRjZ190ZW1wX2ZyZWUobWFzayk7IFwKKyAgICAgICAg dGNnX3RlbXBfZnJlZSh2YWx1ZSk7IFwKKyAgICB9IHdoaWxlICgwKQorCisjZGVmaW5lIGZXUkFQ X0MyX2Ntb3ZlaXQoR0VOSExQUiwgU0hPUlRDT0RFKSBcCisgICAgZldSQVBfQ09ORF9NT1ZFKGZM U0JPTEQoUHVWKSwgVENHX0NPTkRfTkUpCisjZGVmaW5lIGZXUkFQX0MyX2Ntb3ZlbmV3aXQoR0VO SExQUiwgU0hPUlRDT0RFKSBcCisgICAgZldSQVBfQ09ORF9NT1ZFKGZMU0JORVcoUHVOKSwgVENH X0NPTkRfTkUpCisjZGVmaW5lIGZXUkFQX0MyX2Ntb3ZlbmV3aWYoR0VOSExQUiwgU0hPUlRDT0RF KSBcCisgICAgZldSQVBfQ09ORF9NT1ZFKGZMU0JORVdOT1QoUHVOKSwgVENHX0NPTkRfTkUpCisK Ky8qIHAwID0gdHN0Yml0KHIwLCAjNSkgKi8KKyNkZWZpbmUgZldSQVBfUzJfdHN0Yml0X2koR0VO SExQUiwgU0hPUlRDT0RFKSBcCisgICAgZG8geyBcCisgICAgICAgIFRDR3YgdG1wID0gdGNnX3Rl bXBfbmV3KCk7IFwKKyAgICAgICAgdGNnX2dlbl9hbmRpX3RsKHRtcCwgUnNWLCAoMSA8PCBJTU1O TygwKSkpOyBcCisgICAgICAgIGdlbl84Yml0c29mKFBkViwgdG1wKTsgXAorICAgICAgICB0Y2df dGVtcF9mcmVlKHRtcCk7IFwKKyAgICB9IHdoaWxlICgwKQorCisvKiBwMCA9ICF0c3RiaXQocjAs ICM1KSAqLworI2RlZmluZSBmV1JBUF9TNF9udHN0Yml0X2koR0VOSExQUiwgU0hPUlRDT0RFKSBc CisgICAgZG8geyBcCisgICAgICAgIFRDR3YgdG1wID0gdGNnX3RlbXBfbmV3KCk7IFwKKyAgICAg ICAgdGNnX2dlbl9hbmRpX3RsKHRtcCwgUnNWLCAoMSA8PCBJTU1OTygwKSkpOyBcCisgICAgICAg IGdlbl84Yml0c29mKFBkViwgdG1wKTsgXAorICAgICAgICB0Y2dfZ2VuX3hvcmlfdGwoUGRWLCBQ ZFYsIDB4ZmYpOyBcCisgICAgICAgIHRjZ190ZW1wX2ZyZWUodG1wKTsgXAorICAgIH0gd2hpbGUg KDApCisKKy8qIHIwID0gc2V0Yml0KHIxLCAjNSkgKi8KKyNkZWZpbmUgZldSQVBfUzJfc2V0Yml0 X2koR0VOSExQUiwgU0hPUlRDT0RFKSBcCisgICAgdGNnX2dlbl9vcmlfdGwoUmRWLCBSc1YsIDEg PDwgSU1NTk8oMCkpCisKKy8qIHIwICs9IGFkZChyMSwgIzgpICovCisjZGVmaW5lIGZXUkFQX00y X2FjY2lpKEdFTkhMUFIsIFNIT1JUQ09ERSkgXAorICAgIGRvIHsgXAorICAgICAgICBUQ0d2IHRt cCA9IHRjZ190ZW1wX25ldygpOyBcCisgICAgICAgIHRjZ19nZW5fYWRkX3RsKHRtcCwgUnhWLCBS c1YpOyBcCisgICAgICAgIHRjZ19nZW5fYWRkaV90bChSeFYsIHRtcCwgSU1NTk8oMCkpOyBcCisg ICAgICAgIHRjZ190ZW1wX2ZyZWUodG1wKTsgXAorICAgIH0gd2hpbGUgKDApCisKKy8qIHAwID0g Yml0c2NscihyMSwgIzYpICovCisjZGVmaW5lIGZXUkFQX0MyX2JpdHNjbHJpKEdFTkhMUFIsIFNI T1JUQ09ERSkgXAorICAgIGRvIHsgXAorICAgICAgICBUQ0d2IHRtcCA9IHRjZ190ZW1wX25ldygp OyBcCisgICAgICAgIFRDR3YgemVybyA9IHRjZ19jb25zdF90bCgwKTsgXAorICAgICAgICB0Y2df Z2VuX2FuZGlfdGwodG1wLCBSc1YsIElNTU5PKDApKTsgXAorICAgICAgICBnZW5fY29tcGFyZShU Q0dfQ09ORF9FUSwgUGRWLCB0bXAsIHplcm8pOyBcCisgICAgICAgIHRjZ190ZW1wX2ZyZWUodG1w KTsgXAorICAgICAgICB0Y2dfdGVtcF9mcmVlKHplcm8pOyBcCisgICAgfSB3aGlsZSAoMCkKKwor I2RlZmluZSBmV1JBUF9TTDJfanVtcHIzMShHRU5ITFBSLCBTSE9SVENPREUpIFwKKyAgICBnZW5f d3JpdGVfbmV3X3BjKGhleF9ncHJbSEVYX1JFR19MUl0pCisKKyNkZWZpbmUgZldSQVBfU0wyX2p1 bXByMzFfdG5ldyhHRU5ITFBSLCBTSE9SVENPREUpIFwKKyAgICBnZW5fY29uZF9qdW1wcihoZXhf bmV3X3ByZWRfdmFsdWVbMF0sIGhleF9ncHJbSEVYX1JFR19MUl0pCisKICNlbmRpZgotLSAKMi43 LjQKCg==