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=-8.8 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,UPPERCASE_50_75,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 E4EEFC3F2D3 for ; Fri, 28 Feb 2020 17:07:35 +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 A46A52469C for ; Fri, 28 Feb 2020 17:07:35 +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="rfYH++Pe" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org A46A52469C 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]:50956 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j7j6r-0005NV-QS for qemu-devel@archiver.kernel.org; Fri, 28 Feb 2020 12:07:34 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:58135) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j7ilL-0004IT-D7 for qemu-devel@nongnu.org; Fri, 28 Feb 2020 11:45:21 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1j7ilI-0006Q5-UG for qemu-devel@nongnu.org; Fri, 28 Feb 2020 11:45:19 -0500 Received: from alexa-out-sd-01.qualcomm.com ([199.106.114.38]:13235) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1j7iky-0005U6-VZ for qemu-devel@nongnu.org; Fri, 28 Feb 2020 11:45:16 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=quicinc.com; i=@quicinc.com; q=dns/txt; s=qcdkim; t=1582908297; x=1614444297; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=1pfhViY8H3VjiwTBpK0rjkgONATC0DWNLmoQ0Ur+Wi8=; b=rfYH++Pez/azlG3YI0l/p6B+k+5Pl2AfmDdwx3dt2+FkxbAzeVmcA2t8 qdX3dWT1UVtPQYs4NOlWr3/Ozwgsa9dIThRsIE4noC9w3y7mnHWw4k/a3 bz2a/V47el+7W+SL0UxUuz/qeJMvwYWSQ2sP7HPNKXpmWjueImz41xzxl c=; Received: from unknown (HELO ironmsg05-sd.qualcomm.com) ([10.53.140.145]) by alexa-out-sd-01.qualcomm.com with ESMTP; 28 Feb 2020 08:44:31 -0800 Received: from vu-tsimpson-aus.qualcomm.com (HELO vu-tsimpson1-aus.qualcomm.com) ([10.222.150.1]) by ironmsg05-sd.qualcomm.com with ESMTP; 28 Feb 2020 08:44:30 -0800 Received: by vu-tsimpson1-aus.qualcomm.com (Postfix, from userid 47164) id 79FC1F0B; Fri, 28 Feb 2020 10:44:30 -0600 (CST) From: Taylor Simpson To: qemu-devel@nongnu.org Subject: [RFC PATCH v2 31/67] Hexagon macros to interface with the generator Date: Fri, 28 Feb 2020 10:43:27 -0600 Message-Id: <1582908244-304-32-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.38 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" VmFyaW91cyBmb3JtcyBvZiBkZWNsYXJlLCByZWFkLCB3cml0ZSwgZnJlZQoKU2lnbmVkLW9mZi1i eTogVGF5bG9yIFNpbXBzb24gPHRzaW1wc29uQHF1aWNpbmMuY29tPgotLS0KIHRhcmdldC9oZXhh Z29uL21hY3Jvcy5oIHwgMzYzICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKwogMSBmaWxlIGNoYW5nZWQsIDM2MyBpbnNlcnRpb25zKCspCiBjcmVhdGUgbW9k ZSAxMDA2NDQgdGFyZ2V0L2hleGFnb24vbWFjcm9zLmgKCmRpZmYgLS1naXQgYS90YXJnZXQvaGV4 YWdvbi9tYWNyb3MuaCBiL3RhcmdldC9oZXhhZ29uL21hY3Jvcy5oCm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAuLmI4ZjhkOWYKLS0tIC9kZXYvbnVsbAorKysgYi90YXJnZXQvaGV4 YWdvbi9tYWNyb3MuaApAQCAtMCwwICsxLDM2MyBAQAorLyoKKyAqICBDb3B5cmlnaHQoYykgMjAx OS0yMDIwIFF1YWxjb21tIElubm92YXRpb24gQ2VudGVyLCBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2 ZWQuCisgKgorICogIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlz dHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBH TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAqICB0aGUgRnJlZSBT b2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgor ICogIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogIFRoaXMgcHJv Z3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAor ICogIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdh cnJhbnR5IG9mCisgKiAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB UiBQVVJQT1NFLiAgU2VlIHRoZQorICogIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBt b3JlIGRldGFpbHMuCisgKgorICogIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2Yg dGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiAgYWxvbmcgd2l0aCB0aGlzIHByb2dy YW07IGlmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKyAqLworCisj aWZuZGVmIEhFWEFHT05fTUFDUk9TX0gKKyNkZWZpbmUgSEVYQUdPTl9NQUNST1NfSAorCisjaW5j bHVkZSAiY3B1LmgiCisjaW5jbHVkZSAiaGV4X3JlZ3MuaCIKKyNpbmNsdWRlICJyZWdfZmllbGRz LmgiCisKKyNpZmRlZiBRRU1VX0dFTkVSQVRFCisjZGVmaW5lIERFQ0xfUkVHKE5BTUUsIE5VTSwg WCwgT0ZGKSBcCisgICAgVENHdiBOQU1FID0gdGNnX3RlbXBfbG9jYWxfbmV3KCk7IFwKKyAgICBp bnQgTlVNID0gUkVHTk8oWCkgKyBPRkYKKworI2RlZmluZSBERUNMX1JFR19XUklUQUJMRShOQU1F LCBOVU0sIFgsIE9GRikgXAorICAgIFRDR3YgTkFNRSA9IHRjZ190ZW1wX2xvY2FsX25ldygpOyBc CisgICAgaW50IE5VTSA9IFJFR05PKFgpICsgT0ZGOyBcCisgICAgZG8geyBcCisgICAgICAgIGlu dCBpc19wcmVkaWNhdGVkID0gR0VUX0FUVFJJQihpbnNuLT5vcGNvZGUsIEFfQ09OREVYRUMpOyBc CisgICAgICAgIGlmIChpc19wcmVkaWNhdGVkICYmICFpc19wcmVsb2FkZWQoY3R4LCBOVU0pKSB7 IFwKKyAgICAgICAgICAgIHRjZ19nZW5fbW92X3RsKGhleF9uZXdfdmFsdWVbTlVNXSwgaGV4X2dw cltOVU1dKTsgXAorICAgICAgICB9IFwKKyAgICB9IHdoaWxlICgwKQorLyoKKyAqIEZvciByZWFk LW9ubHkgdGVtcHMsIGF2b2lkIGFsbG9jYXRpbmcgYW5kIGZyZWVpbmcKKyAqLworI2RlZmluZSBE RUNMX1JFR19SRUFET05MWShOQU1FLCBOVU0sIFgsIE9GRikgXAorICAgIFRDR3YgTkFNRTsgXAor ICAgIGludCBOVU0gPSBSRUdOTyhYKSArIE9GRgorCisjZGVmaW5lIERFQ0xfUlJFR19kKE5BTUUs IE5VTSwgWCwgT0ZGKSBcCisgICAgREVDTF9SRUdfV1JJVEFCTEUoTkFNRSwgTlVNLCBYLCBPRkYp CisjZGVmaW5lIERFQ0xfUlJFR19lKE5BTUUsIE5VTSwgWCwgT0ZGKSBcCisgICAgREVDTF9SRUco TkFNRSwgTlVNLCBYLCBPRkYpCisjZGVmaW5lIERFQ0xfUlJFR19zKE5BTUUsIE5VTSwgWCwgT0ZG KSBcCisgICAgREVDTF9SRUdfUkVBRE9OTFkoTkFNRSwgTlVNLCBYLCBPRkYpCisjZGVmaW5lIERF Q0xfUlJFR190KE5BTUUsIE5VTSwgWCwgT0ZGKSBcCisgICAgREVDTF9SRUdfUkVBRE9OTFkoTkFN RSwgTlVNLCBYLCBPRkYpCisjZGVmaW5lIERFQ0xfUlJFR191KE5BTUUsIE5VTSwgWCwgT0ZGKSBc CisgICAgREVDTF9SRUdfUkVBRE9OTFkoTkFNRSwgTlVNLCBYLCBPRkYpCisjZGVmaW5lIERFQ0xf UlJFR192KE5BTUUsIE5VTSwgWCwgT0ZGKSBcCisgICAgREVDTF9SRUdfUkVBRE9OTFkoTkFNRSwg TlVNLCBYLCBPRkYpCisjZGVmaW5lIERFQ0xfUlJFR194KE5BTUUsIE5VTSwgWCwgT0ZGKSBcCisg ICAgREVDTF9SRUdfV1JJVEFCTEUoTkFNRSwgTlVNLCBYLCBPRkYpCisjZGVmaW5lIERFQ0xfUlJF R195KE5BTUUsIE5VTSwgWCwgT0ZGKSBcCisgICAgREVDTF9SRUdfV1JJVEFCTEUoTkFNRSwgTlVN LCBYLCBPRkYpCisKKyNkZWZpbmUgREVDTF9QUkVHX2QoTkFNRSwgTlVNLCBYLCBPRkYpIFwKKyAg ICBERUNMX1JFRyhOQU1FLCBOVU0sIFgsIE9GRikKKyNkZWZpbmUgREVDTF9QUkVHX2UoTkFNRSwg TlVNLCBYLCBPRkYpIFwKKyAgICBERUNMX1JFRyhOQU1FLCBOVU0sIFgsIE9GRikKKyNkZWZpbmUg REVDTF9QUkVHX3MoTkFNRSwgTlVNLCBYLCBPRkYpIFwKKyAgICBERUNMX1JFR19SRUFET05MWShO QU1FLCBOVU0sIFgsIE9GRikKKyNkZWZpbmUgREVDTF9QUkVHX3QoTkFNRSwgTlVNLCBYLCBPRkYp IFwKKyAgICBERUNMX1JFR19SRUFET05MWShOQU1FLCBOVU0sIFgsIE9GRikKKyNkZWZpbmUgREVD TF9QUkVHX3UoTkFNRSwgTlVNLCBYLCBPRkYpIFwKKyAgICBERUNMX1JFR19SRUFET05MWShOQU1F LCBOVU0sIFgsIE9GRikKKyNkZWZpbmUgREVDTF9QUkVHX3YoTkFNRSwgTlVNLCBYLCBPRkYpIFwK KyAgICBERUNMX1JFR19SRUFET05MWShOQU1FLCBOVU0sIFgsIE9GRikKKyNkZWZpbmUgREVDTF9Q UkVHX3goTkFNRSwgTlVNLCBYLCBPRkYpIFwKKyAgICBERUNMX1JFRyhOQU1FLCBOVU0sIFgsIE9G RikKKyNkZWZpbmUgREVDTF9QUkVHX3koTkFNRSwgTlVNLCBYLCBPRkYpIFwKKyAgICBERUNMX1JF RyhOQU1FLCBOVU0sIFgsIE9GRikKKworI2RlZmluZSBERUNMX0NSRUdfZChOQU1FLCBOVU0sIFgs IE9GRikgXAorICAgIERFQ0xfUkVHKE5BTUUsIE5VTSwgWCwgT0ZGKQorI2RlZmluZSBERUNMX0NS RUdfcyhOQU1FLCBOVU0sIFgsIE9GRikgXAorICAgIERFQ0xfUkVHKE5BTUUsIE5VTSwgWCwgT0ZG KQorCisjZGVmaW5lIERFQ0xfTVJFR191KE5BTUUsIE5VTSwgWCwgT0ZGKSBcCisgICAgREVDTF9S RUcoTkFNRSwgTlVNLCBYLCBPRkYpCisKKyNkZWZpbmUgREVDTF9ORVdfTlJFR19zKE5BTUUsIE5V TSwgWCwgT0ZGKSBcCisgICAgREVDTF9SRUdfUkVBRE9OTFkoTkFNRSwgTlVNLCBYLCBPRkYpCisj ZGVmaW5lIERFQ0xfTkVXX05SRUdfdChOQU1FLCBOVU0sIFgsIE9GRikgXAorICAgIERFQ0xfUkVH X1JFQURPTkxZKE5BTUUsIE5VTSwgWCwgT0ZGKQorCisjZGVmaW5lIERFQ0xfTkVXX1BSRUdfdChO QU1FLCBOVU0sIFgsIE9GRikgXAorICAgIERFQ0xfUkVHX1JFQURPTkxZKE5BTUUsIE5VTSwgWCwg T0ZGKQorI2RlZmluZSBERUNMX05FV19QUkVHX3UoTkFNRSwgTlVNLCBYLCBPRkYpIFwKKyAgICBE RUNMX1JFR19SRUFET05MWShOQU1FLCBOVU0sIFgsIE9GRikKKyNkZWZpbmUgREVDTF9ORVdfUFJF R192KE5BTUUsIE5VTSwgWCwgT0ZGKSBcCisgICAgREVDTF9SRUdfUkVBRE9OTFkoTkFNRSwgTlVN LCBYLCBPRkYpCisKKyNkZWZpbmUgREVDTF9ORVdfT1JFR19zKE5BTUUsIE5VTSwgWCwgT0ZGKSBc CisgICAgREVDTF9SRUdfUkVBRE9OTFkoTkFNRSwgTlVNLCBYLCBPRkYpCisKKyNkZWZpbmUgREVD TF9QQUlSKE5BTUUsIE5VTSwgWCwgT0ZGKSBcCisgICAgVENHdl9pNjQgTkFNRSA9IHRjZ190ZW1w X2xvY2FsX25ld19pNjQoKTsgXAorICAgIHNpemUxdV90IE5VTSA9IFJFR05PKFgpICsgT0ZGCisK KyNkZWZpbmUgREVDTF9QQUlSX1dSSVRBQkxFKE5BTUUsIE5VTSwgWCwgT0ZGKSBcCisgICAgVENH dl9pNjQgTkFNRSA9IHRjZ190ZW1wX2xvY2FsX25ld19pNjQoKTsgXAorICAgIHNpemUxdV90IE5V TSA9IFJFR05PKFgpICsgT0ZGOyBcCisgICAgZG8geyBcCisgICAgICAgIGludCBpc19wcmVkaWNh dGVkID0gR0VUX0FUVFJJQihpbnNuLT5vcGNvZGUsIEFfQ09OREVYRUMpOyBcCisgICAgICAgIGlm IChpc19wcmVkaWNhdGVkKSB7IFwKKyAgICAgICAgICAgIGlmICghaXNfcHJlbG9hZGVkKGN0eCwg TlVNKSkgeyBcCisgICAgICAgICAgICAgICAgdGNnX2dlbl9tb3ZfdGwoaGV4X25ld192YWx1ZVtO VU1dLCBoZXhfZ3ByW05VTV0pOyBcCisgICAgICAgICAgICB9IFwKKyAgICAgICAgICAgIGlmICgh aXNfcHJlbG9hZGVkKGN0eCwgTlVNICsgMSkpIHsgXAorICAgICAgICAgICAgICAgIHRjZ19nZW5f bW92X3RsKGhleF9uZXdfdmFsdWVbTlVNICsgMV0sIGhleF9ncHJbTlVNICsgMV0pOyBcCisgICAg ICAgICAgICB9IFwKKyAgICAgICAgfSBcCisgICAgfSB3aGlsZSAoMCkKKworI2RlZmluZSBERUNM X1JSRUdfZGQoTkFNRSwgTlVNLCBYLCBPRkYpIFwKKyAgICBERUNMX1BBSVJfV1JJVEFCTEUoTkFN RSwgTlVNLCBYLCBPRkYpCisjZGVmaW5lIERFQ0xfUlJFR19zcyhOQU1FLCBOVU0sIFgsIE9GRikg XAorICAgIERFQ0xfUEFJUihOQU1FLCBOVU0sIFgsIE9GRikKKyNkZWZpbmUgREVDTF9SUkVHX3R0 KE5BTUUsIE5VTSwgWCwgT0ZGKSBcCisgICAgREVDTF9QQUlSKE5BTUUsIE5VTSwgWCwgT0ZGKQor I2RlZmluZSBERUNMX1JSRUdfeHgoTkFNRSwgTlVNLCBYLCBPRkYpIFwKKyAgICBERUNMX1BBSVJf V1JJVEFCTEUoTkFNRSwgTlVNLCBYLCBPRkYpCisjZGVmaW5lIERFQ0xfUlJFR195eShOQU1FLCBO VU0sIFgsIE9GRikgXAorICAgIERFQ0xfUEFJUl9XUklUQUJMRShOQU1FLCBOVU0sIFgsIE9GRikK KworI2RlZmluZSBERUNMX0NSRUdfZGQoTkFNRSwgTlVNLCBYLCBPRkYpIFwKKyAgICBERUNMX1BB SVJfV1JJVEFCTEUoTkFNRSwgTlVNLCBYLCBPRkYpCisjZGVmaW5lIERFQ0xfQ1JFR19zcyhOQU1F LCBOVU0sIFgsIE9GRikgXAorICAgIERFQ0xfUEFJUihOQU1FLCBOVU0sIFgsIE9GRikKKworI2Rl ZmluZSBERUNMX0lNTShOQU1FLCBYKSBcCisgICAgaW50IE5BTUUgPSBJTU1OTyhYKTsgXAorICAg IGRvIHsgXAorICAgICAgICBOQU1FID0gTkFNRTsgXAorICAgIH0gd2hpbGUgKDApCisjZGVmaW5l IERFQ0xfVENHX0lNTShUQ0dfTkFNRSwgVkFMKSBcCisgICAgVENHdiBUQ0dfTkFNRSA9IHRjZ19j b25zdF90bChWQUwpCisKKyNkZWZpbmUgREVDTF9FQSBcCisgICAgVENHdiBFQTsgXAorICAgIGRv IHsgXAorICAgICAgICBpZiAoR0VUX0FUVFJJQihpbnNuLT5vcGNvZGUsIEFfQ09OREVYRUMpKSB7 IFwKKyAgICAgICAgICAgIEVBID0gdGNnX3RlbXBfbG9jYWxfbmV3KCk7IFwKKyAgICAgICAgfSBl bHNlIHsgXAorICAgICAgICAgICAgRUEgPSB0Y2dfdGVtcF9uZXcoKTsgXAorICAgICAgICB9IFwK KyAgICB9IHdoaWxlICgwKQorCisjZGVmaW5lIExPR19SRUdfV1JJVEUoUk5VTSwgVkFMKVwKKyAg ICBkbyB7IFwKKyAgICAgICAgaW50IGlzX3ByZWRpY2F0ZWQgPSBHRVRfQVRUUklCKGluc24tPm9w Y29kZSwgQV9DT05ERVhFQyk7IFwKKyAgICAgICAgZ2VuX2xvZ19yZWdfd3JpdGUoUk5VTSwgVkFM LCBpbnNuLT5zbG90LCBpc19wcmVkaWNhdGVkKTsgXAorICAgICAgICBjdHhfbG9nX3JlZ193cml0 ZShjdHgsIChSTlVNKSk7IFwKKyAgICB9IHdoaWxlICgwKQorCisjZGVmaW5lIExPR19QUkVEX1dS SVRFKFBOVU0sIFZBTCkgXAorICAgIGRvIHsgXAorICAgICAgICBnZW5fbG9nX3ByZWRfd3JpdGUo UE5VTSwgVkFMKTsgXAorICAgICAgICBjdHhfbG9nX3ByZWRfd3JpdGUoY3R4LCAoUE5VTSkpOyBc CisgICAgfSB3aGlsZSAoMCkKKworI2RlZmluZSBGUkVFX1JFRyhOQU1FKSBcCisgICAgdGNnX3Rl bXBfZnJlZShOQU1FKQorI2RlZmluZSBGUkVFX1JFR19SRUFET05MWShOQU1FKSBcCisgICAgLyog Tm90aGluZyAqLworCisjZGVmaW5lIEZSRUVfUlJFR19kKE5BTUUpICAgICAgICAgICAgRlJFRV9S RUcoTkFNRSkKKyNkZWZpbmUgRlJFRV9SUkVHX2UoTkFNRSkgICAgICAgICAgICBGUkVFX1JFRyhO QU1FKQorI2RlZmluZSBGUkVFX1JSRUdfcyhOQU1FKSAgICAgICAgICAgIEZSRUVfUkVHX1JFQURP TkxZKE5BTUUpCisjZGVmaW5lIEZSRUVfUlJFR190KE5BTUUpICAgICAgICAgICAgRlJFRV9SRUdf UkVBRE9OTFkoTkFNRSkKKyNkZWZpbmUgRlJFRV9SUkVHX3UoTkFNRSkgICAgICAgICAgICBGUkVF X1JFR19SRUFET05MWShOQU1FKQorI2RlZmluZSBGUkVFX1JSRUdfdihOQU1FKSAgICAgICAgICAg IEZSRUVfUkVHX1JFQURPTkxZKE5BTUUpCisjZGVmaW5lIEZSRUVfUlJFR194KE5BTUUpICAgICAg ICAgICAgRlJFRV9SRUcoTkFNRSkKKyNkZWZpbmUgRlJFRV9SUkVHX3koTkFNRSkgICAgICAgICAg ICBGUkVFX1JFRyhOQU1FKQorCisjZGVmaW5lIEZSRUVfUFJFR19kKE5BTUUpICAgICAgICAgICAg RlJFRV9SRUcoTkFNRSkKKyNkZWZpbmUgRlJFRV9QUkVHX2UoTkFNRSkgICAgICAgICAgICBGUkVF X1JFRyhOQU1FKQorI2RlZmluZSBGUkVFX1BSRUdfcyhOQU1FKSAgICAgICAgICAgIEZSRUVfUkVH X1JFQURPTkxZKE5BTUUpCisjZGVmaW5lIEZSRUVfUFJFR190KE5BTUUpICAgICAgICAgICAgRlJF RV9SRUdfUkVBRE9OTFkoTkFNRSkKKyNkZWZpbmUgRlJFRV9QUkVHX3UoTkFNRSkgICAgICAgICAg ICBGUkVFX1JFR19SRUFET05MWShOQU1FKQorI2RlZmluZSBGUkVFX1BSRUdfdihOQU1FKSAgICAg ICAgICAgIEZSRUVfUkVHX1JFQURPTkxZKE5BTUUpCisjZGVmaW5lIEZSRUVfUFJFR194KE5BTUUp ICAgICAgICAgICAgRlJFRV9SRUcoTkFNRSkKKworI2RlZmluZSBGUkVFX0NSRUdfZChOQU1FKSAg ICAgICAgICAgIEZSRUVfUkVHKE5BTUUpCisjZGVmaW5lIEZSRUVfQ1JFR19zKE5BTUUpICAgICAg ICAgICAgRlJFRV9SRUdfUkVBRE9OTFkoTkFNRSkKKworI2RlZmluZSBGUkVFX01SRUdfdShOQU1F KSAgICAgICAgICAgIEZSRUVfUkVHX1JFQURPTkxZKE5BTUUpCisKKyNkZWZpbmUgRlJFRV9ORVdf TlJFR19zKE5BTUUpICAgICAgICBGUkVFX1JFRyhOQU1FKQorI2RlZmluZSBGUkVFX05FV19OUkVH X3QoTkFNRSkgICAgICAgIEZSRUVfUkVHKE5BTUUpCisKKyNkZWZpbmUgRlJFRV9ORVdfUFJFR190 KE5BTUUpICAgICAgICBGUkVFX1JFR19SRUFET05MWShOQU1FKQorI2RlZmluZSBGUkVFX05FV19Q UkVHX3UoTkFNRSkgICAgICAgIEZSRUVfUkVHX1JFQURPTkxZKE5BTUUpCisjZGVmaW5lIEZSRUVf TkVXX1BSRUdfdihOQU1FKSAgICAgICAgRlJFRV9SRUdfUkVBRE9OTFkoTkFNRSkKKworI2RlZmlu ZSBGUkVFX05FV19PUkVHX3MoTkFNRSkgICAgICAgIEZSRUVfUkVHKE5BTUUpCisKKyNkZWZpbmUg RlJFRV9SRUdfUEFJUihOQU1FKSBcCisgICAgdGNnX3RlbXBfZnJlZV9pNjQoTkFNRSkKKworI2Rl ZmluZSBGUkVFX1JSRUdfZGQoTkFNRSkgICAgICAgICAgIEZSRUVfUkVHX1BBSVIoTkFNRSkKKyNk ZWZpbmUgRlJFRV9SUkVHX3NzKE5BTUUpICAgICAgICAgICBGUkVFX1JFR19QQUlSKE5BTUUpCisj ZGVmaW5lIEZSRUVfUlJFR190dChOQU1FKSAgICAgICAgICAgRlJFRV9SRUdfUEFJUihOQU1FKQor I2RlZmluZSBGUkVFX1JSRUdfeHgoTkFNRSkgICAgICAgICAgIEZSRUVfUkVHX1BBSVIoTkFNRSkK KyNkZWZpbmUgRlJFRV9SUkVHX3l5KE5BTUUpICAgICAgICAgICBGUkVFX1JFR19QQUlSKE5BTUUp CisKKyNkZWZpbmUgRlJFRV9DUkVHX2RkKE5BTUUpICAgICAgICAgICBGUkVFX1JFR19QQUlSKE5B TUUpCisjZGVmaW5lIEZSRUVfQ1JFR19zcyhOQU1FKSAgICAgICAgICAgRlJFRV9SRUdfUEFJUihO QU1FKQorCisjZGVmaW5lIEZSRUVfSU1NKE5BTUUpICAgICAgICAgICAgICAgLyogbm90aGluZyAq LworI2RlZmluZSBGUkVFX1RDR19JTU0oTkFNRSkgICAgICAgICAgIHRjZ190ZW1wX2ZyZWUoTkFN RSkKKworI2RlZmluZSBGUkVFX0VBIFwKKyAgICB0Y2dfdGVtcF9mcmVlKEVBKQorI2Vsc2UKKyNk ZWZpbmUgTE9HX1JFR19XUklURShSTlVNLCBWQUwpXAorICBsb2dfcmVnX3dyaXRlKGVudiwgUk5V TSwgVkFMLCBzbG90KQorI2RlZmluZSBMT0dfUFJFRF9XUklURShSTlVNLCBWQUwpXAorICAgIGxv Z19wcmVkX3dyaXRlKGVudiwgUk5VTSwgVkFMKQorI2VuZGlmCisKKyNkZWZpbmUgU0xPVF9XUkFQ KENPREUpIFwKKyAgICBkbyB7IFwKKyAgICAgICAgVENHdiBzbG90ID0gdGNnX2NvbnN0X3RsKGlu c24tPnNsb3QpOyBcCisgICAgICAgIENPREU7IFwKKyAgICAgICAgdGNnX3RlbXBfZnJlZShzbG90 KTsgXAorICAgIH0gd2hpbGUgKDApCisKKyNkZWZpbmUgUEFSVDFfV1JBUChDT0RFKSBcCisgICAg ZG8geyBcCisgICAgICAgIFRDR3YgcGFydDEgPSB0Y2dfY29uc3RfdGwoaW5zbi0+cGFydDEpOyBc CisgICAgICAgIENPREU7IFwKKyAgICAgICAgdGNnX3RlbXBfZnJlZShwYXJ0MSk7IFwKKyAgICB9 IHdoaWxlICgwKQorCisjZGVmaW5lIE1BUktfTEFURV9QUkVEX1dSSVRFKFJOVU0pIC8qIE5vdCBt b2RlbGxlZCBpbiBxZW11ICovCisKKyNkZWZpbmUgUkVHTk8oTlVNKSAoaW5zbi0+cmVnbm9bTlVN XSkKKyNkZWZpbmUgSU1NTk8oTlVNKSAoaW5zbi0+aW1tZWRbTlVNXSkKKworI2lmZGVmIFFFTVVf R0VORVJBVEUKKyNkZWZpbmUgUkVBRF9SRUcoZGVzdCwgTlVNKSBcCisgICAgZ2VuX3JlYWRfcmVn KGRlc3QsIE5VTSkKKyNkZWZpbmUgUkVBRF9SRUdfUkVBRE9OTFkoZGVzdCwgTlVNKSBcCisgICAg ZG8geyBkZXN0ID0gaGV4X2dwcltOVU1dOyB9IHdoaWxlICgwKQorCisjZGVmaW5lIFJFQURfUlJF R19zKGRlc3QsIE5VTSkgXAorICAgIFJFQURfUkVHX1JFQURPTkxZKGRlc3QsIE5VTSkKKyNkZWZp bmUgUkVBRF9SUkVHX3QoZGVzdCwgTlVNKSBcCisgICAgUkVBRF9SRUdfUkVBRE9OTFkoZGVzdCwg TlVNKQorI2RlZmluZSBSRUFEX1JSRUdfdShkZXN0LCBOVU0pIFwKKyAgICBSRUFEX1JFR19SRUFE T05MWShkZXN0LCBOVU0pCisjZGVmaW5lIFJFQURfUlJFR194KGRlc3QsIE5VTSkgXAorICAgIFJF QURfUkVHKGRlc3QsIE5VTSkKKyNkZWZpbmUgUkVBRF9SUkVHX3koZGVzdCwgTlVNKSBcCisgICAg UkVBRF9SRUcoZGVzdCwgTlVNKQorCisjZGVmaW5lIFJFQURfT1JFR19zKGRlc3QsIE5VTSkgXAor ICAgIFJFQURfUkVHX1JFQURPTkxZKGRlc3QsIE5VTSkKKworI2RlZmluZSBSRUFEX0NSRUdfcyhk ZXN0LCBOVU0pIFwKKyAgICBkbyB7IFwKKyAgICAgICAgaWYgKChOVU0pICsgSEVYX1JFR19TQTAg PT0gSEVYX1JFR19QM18wKSB7IFwKKyAgICAgICAgICAgIGdlbl9yZWFkX3AzXzAoZGVzdCk7IFwK KyAgICAgICAgfSBlbHNlIHsgXAorICAgICAgICAgICAgUkVBRF9SRUdfUkVBRE9OTFkoZGVzdCwg KChOVU0pICsgSEVYX1JFR19TQTApKTsgXAorICAgICAgICB9IFwKKyAgICB9IHdoaWxlICgwKQor CisjZGVmaW5lIFJFQURfTVJFR191KGRlc3QsIE5VTSkgXAorICAgIGRvIHsgXAorICAgICAgICBS RUFEX1JFR19SRUFET05MWShkZXN0LCAoKE5VTSkgKyBIRVhfUkVHX00wKSk7IFwKKyAgICAgICAg ZGVzdCA9IGRlc3Q7IFwKKyAgICB9IHdoaWxlICgwKQorI2Vsc2UKKyNkZWZpbmUgUkVBRF9SRUco TlVNKSBcCisgICAgKGVudi0+Z3ByWyhOVU0pXSkKKyNlbmRpZgorCisjaWZkZWYgUUVNVV9HRU5F UkFURQorI2RlZmluZSBSRUFEX1JFR19QQUlSKHRtcCwgTlVNKSBcCisgICAgdGNnX2dlbl9jb25j YXRfaTMyX2k2NCh0bXAsIGhleF9ncHJbTlVNXSwgaGV4X2dwclsoTlVNKSArIDFdKQorI2RlZmlu ZSBSRUFEX1JSRUdfc3ModG1wLCBOVU0pICAgICAgICAgIFJFQURfUkVHX1BBSVIodG1wLCBOVU0p CisjZGVmaW5lIFJFQURfUlJFR190dCh0bXAsIE5VTSkgICAgICAgICAgUkVBRF9SRUdfUEFJUih0 bXAsIE5VTSkKKyNkZWZpbmUgUkVBRF9SUkVHX3h4KHRtcCwgTlVNKSAgICAgICAgICBSRUFEX1JF R19QQUlSKHRtcCwgTlVNKQorI2RlZmluZSBSRUFEX1JSRUdfeXkodG1wLCBOVU0pICAgICAgICAg IFJFQURfUkVHX1BBSVIodG1wLCBOVU0pCisKKyNkZWZpbmUgUkVBRF9DUkVHX1BBSVIodG1wLCBp KSBcCisgICAgUkVBRF9SRUdfUEFJUih0bXAsICgoaSkgKyBIRVhfUkVHX1NBMCkpCisjZGVmaW5l IFJFQURfQ1JFR19zcyh0bXAsIGkpICAgICAgICAgICAgUkVBRF9DUkVHX1BBSVIodG1wLCBpKQor I2VuZGlmCisKKyNpZmRlZiBRRU1VX0dFTkVSQVRFCisjZGVmaW5lIFJFQURfUFJFRyhkZXN0LCBO VU0pICAgICAgICAgICAgIGdlbl9yZWFkX3ByZWcoZGVzdCwgKE5VTSkpCisjZGVmaW5lIFJFQURf UFJFR19SRUFET05MWShkZXN0LCBOVU0pICAgIGRvIHsgZGVzdCA9IGhleF9wcmVkW05VTV07IH0g d2hpbGUgKDApCisKKyNkZWZpbmUgUkVBRF9QUkVHX3MoZGVzdCwgTlVNKSAgICAgICAgICAgUkVB RF9QUkVHX1JFQURPTkxZKGRlc3QsIE5VTSkKKyNkZWZpbmUgUkVBRF9QUkVHX3QoZGVzdCwgTlVN KSAgICAgICAgICAgUkVBRF9QUkVHX1JFQURPTkxZKGRlc3QsIE5VTSkKKyNkZWZpbmUgUkVBRF9Q UkVHX3UoZGVzdCwgTlVNKSAgICAgICAgICAgUkVBRF9QUkVHX1JFQURPTkxZKGRlc3QsIE5VTSkK KyNkZWZpbmUgUkVBRF9QUkVHX3YoZGVzdCwgTlVNKSAgICAgICAgICAgUkVBRF9QUkVHX1JFQURP TkxZKGRlc3QsIE5VTSkKKyNkZWZpbmUgUkVBRF9QUkVHX3goZGVzdCwgTlVNKSAgICAgICAgICAg UkVBRF9QUkVHKGRlc3QsIE5VTSkKKworI2RlZmluZSBSRUFEX05FV19QUkVHKHByZWQsIFBOVU0p IFwKKyAgICBkbyB7IHByZWQgPSBoZXhfbmV3X3ByZWRfdmFsdWVbUE5VTV07IH0gd2hpbGUgKDAp CisjZGVmaW5lIFJFQURfTkVXX1BSRUdfdChwcmVkLCBQTlVNKSAgICAgIFJFQURfTkVXX1BSRUco cHJlZCwgUE5VTSkKKyNkZWZpbmUgUkVBRF9ORVdfUFJFR191KHByZWQsIFBOVU0pICAgICAgUkVB RF9ORVdfUFJFRyhwcmVkLCBQTlVNKQorI2RlZmluZSBSRUFEX05FV19QUkVHX3YocHJlZCwgUE5V TSkgICAgICBSRUFEX05FV19QUkVHKHByZWQsIFBOVU0pCisKKyNkZWZpbmUgUkVBRF9ORVdfUkVH KHRtcCwgaSkgXAorICAgIGRvIHsgdG1wID0gdGNnX2NvbnN0X3RsKGkpOyB9IHdoaWxlICgwKQor I2RlZmluZSBSRUFEX05FV19OUkVHX3ModG1wLCBpKSAgICAgICAgICBSRUFEX05FV19SRUcodG1w LCBpKQorI2RlZmluZSBSRUFEX05FV19OUkVHX3QodG1wLCBpKSAgICAgICAgICBSRUFEX05FV19S RUcodG1wLCBpKQorI2RlZmluZSBSRUFEX05FV19PUkVHX3ModG1wLCBpKSAgICAgICAgICBSRUFE X05FV19SRUcodG1wLCBpKQorI2Vsc2UKKyNkZWZpbmUgUkVBRF9QUkVHKE5VTSkgICAgICAgICAg ICAgICAgKGVudi0+cHJlZFtOVU1dKQorI2VuZGlmCisKKworI2RlZmluZSBXUklURV9SUkVHKE5V TSwgVkFMKSAgICAgICAgICAgICBMT0dfUkVHX1dSSVRFKE5VTSwgVkFMKQorI2RlZmluZSBXUklU RV9SUkVHX2QoTlVNLCBWQUwpICAgICAgICAgICBMT0dfUkVHX1dSSVRFKE5VTSwgVkFMKQorI2Rl ZmluZSBXUklURV9SUkVHX2UoTlVNLCBWQUwpICAgICAgICAgICBMT0dfUkVHX1dSSVRFKE5VTSwg VkFMKQorI2RlZmluZSBXUklURV9SUkVHX3goTlVNLCBWQUwpICAgICAgICAgICBMT0dfUkVHX1dS SVRFKE5VTSwgVkFMKQorI2RlZmluZSBXUklURV9SUkVHX3koTlVNLCBWQUwpICAgICAgICAgICBM T0dfUkVHX1dSSVRFKE5VTSwgVkFMKQorCisjZGVmaW5lIFdSSVRFX1BSRUcoTlVNLCBWQUwpICAg ICAgICAgICAgIExPR19QUkVEX1dSSVRFKE5VTSwgVkFMKQorI2RlZmluZSBXUklURV9QUkVHX2Qo TlVNLCBWQUwpICAgICAgICAgICBMT0dfUFJFRF9XUklURShOVU0sIFZBTCkKKyNkZWZpbmUgV1JJ VEVfUFJFR19lKE5VTSwgVkFMKSAgICAgICAgICAgTE9HX1BSRURfV1JJVEUoTlVNLCBWQUwpCisj ZGVmaW5lIFdSSVRFX1BSRUdfeChOVU0sIFZBTCkgICAgICAgICAgIExPR19QUkVEX1dSSVRFKE5V TSwgVkFMKQorCisjaWZkZWYgUUVNVV9HRU5FUkFURQorI2RlZmluZSBXUklURV9DUkVHKGksIHRt cCkgXAorICAgIGRvIHsgXAorICAgICAgICBpZiAoaSArIEhFWF9SRUdfU0EwID09IEhFWF9SRUdf UDNfMCkgeyBcCisgICAgICAgICAgICBnZW5fd3JpdGVfcDNfMCh0bXApOyBcCisgICAgICAgIH0g ZWxzZSB7IFwKKyAgICAgICAgICAgIFdSSVRFX1JSRUcoKGkpICsgSEVYX1JFR19TQTAsIHRtcCk7 IFwKKyAgICAgICAgfSBcCisgICAgfSB3aGlsZSAoMCkKKyNkZWZpbmUgV1JJVEVfQ1JFR19kKE5V TSwgVkFMKSAgICAgICAgICAgV1JJVEVfQ1JFRyhOVU0sIFZBTCkKKworI2RlZmluZSBXUklURV9D UkVHX1BBSVIoaSwgdG1wKSAgICAgICAgICBXUklURV9SRUdfUEFJUigoaSkgKyBIRVhfUkVHX1NB MCwgdG1wKQorI2RlZmluZSBXUklURV9DUkVHX2RkKE5VTSwgVkFMKSAgICAgICAgICBXUklURV9D UkVHX1BBSVIoTlVNLCBWQUwpCisKKyNkZWZpbmUgV1JJVEVfUkVHX1BBSVIoTlVNLCBWQUwpIFwK KyAgICBkbyB7IFwKKyAgICAgICAgaW50IGlzX3ByZWRpY2F0ZWQgPSBHRVRfQVRUUklCKGluc24t Pm9wY29kZSwgQV9DT05ERVhFQyk7IFwKKyAgICAgICAgZ2VuX2xvZ19yZWdfd3JpdGVfcGFpcihO VU0sIFZBTCwgaW5zbi0+c2xvdCwgaXNfcHJlZGljYXRlZCk7IFwKKyAgICAgICAgY3R4X2xvZ19y ZWdfd3JpdGUoY3R4LCAoTlVNKSk7IFwKKyAgICAgICAgY3R4X2xvZ19yZWdfd3JpdGUoY3R4LCAo TlVNKSArIDEpOyBcCisgICAgfSB3aGlsZSAoMCkKKworI2RlZmluZSBXUklURV9SUkVHX2RkKE5V TSwgVkFMKSAgICAgICAgICBXUklURV9SRUdfUEFJUihOVU0sIFZBTCkKKyNkZWZpbmUgV1JJVEVf UlJFR194eChOVU0sIFZBTCkgICAgICAgICAgV1JJVEVfUkVHX1BBSVIoTlVNLCBWQUwpCisjZGVm aW5lIFdSSVRFX1JSRUdfeXkoTlVNLCBWQUwpICAgICAgICAgIFdSSVRFX1JFR19QQUlSKE5VTSwg VkFMKQorI2VuZGlmCisKLS0gCjIuNy40Cgo=