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 5B565C352A4 for ; Tue, 11 Feb 2020 01:05:44 +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 1866820661 for ; Tue, 11 Feb 2020 01:05:44 +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="uZzNfXjW" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 1866820661 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]:41890 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j1Jzj-00066c-86 for qemu-devel@archiver.kernel.org; Mon, 10 Feb 2020 20:05:43 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:60859) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j1JcI-0001Zo-0V for qemu-devel@nongnu.org; Mon, 10 Feb 2020 19:41:32 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1j1JcE-0006ju-Hw for qemu-devel@nongnu.org; Mon, 10 Feb 2020 19:41:29 -0500 Received: from alexa-out-sd-02.qualcomm.com ([199.106.114.39]:59197) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1j1JcD-0004rC-Sr for qemu-devel@nongnu.org; Mon, 10 Feb 2020 19:41:26 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=quicinc.com; i=@quicinc.com; q=dns/txt; s=qcdkim; t=1581381685; x=1612917685; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=LDsf/4wx2DEMBUdZOIQwWYOLY0Hhsja2UqSyxIGayRA=; b=uZzNfXjWrw3IaSBXnPXAHoXcVE71Lj8koj1uEuLvqaHTSuv+4lEoMk/r Rguguh7q5KNQqxU0wJ/SgP6I4Xxfjih63yFMWIIMc9h0UXoFSzwPi4Gh4 I7iknffgGj/dpUSlYTn3djzNQEpTBtlXXZiuTaAkJWaLGUe25qQzdykrH 0=; Received: from unknown (HELO ironmsg05-sd.qualcomm.com) ([10.53.140.145]) by alexa-out-sd-02.qualcomm.com with ESMTP; 10 Feb 2020 16:41:01 -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; 10 Feb 2020 16:41:00 -0800 Received: by vu-tsimpson1-aus.qualcomm.com (Postfix, from userid 47164) id 49F7A1B53; Mon, 10 Feb 2020 18:41:00 -0600 (CST) From: Taylor Simpson To: qemu-devel@nongnu.org Subject: [RFC PATCH 30/66] Hexagon macros to interface with the generator Date: Mon, 10 Feb 2020 18:40:08 -0600 Message-Id: <1581381644-13678-31-git-send-email-tsimpson@quicinc.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1581381644-13678-1-git-send-email-tsimpson@quicinc.com> References: <1581381644-13678-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" VmFyaW91cyBmb3JtcyBvZiBkZWNsYXJlLCByZWFkLCB3cml0ZSwgZnJlZQoKU2lnbmVkLW9mZi1i eTogVGF5bG9yIFNpbXBzb24gPHRzaW1wc29uQHF1aWNpbmMuY29tPgotLS0KIHRhcmdldC9oZXhh Z29uL21hY3Jvcy5oIHwgMzg4ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKwogMSBmaWxlIGNoYW5nZWQsIDM4OCBpbnNlcnRpb25zKCspCiBjcmVhdGUgbW9k ZSAxMDA2NDQgdGFyZ2V0L2hleGFnb24vbWFjcm9zLmgKCmRpZmYgLS1naXQgYS90YXJnZXQvaGV4 YWdvbi9tYWNyb3MuaCBiL3RhcmdldC9oZXhhZ29uL21hY3Jvcy5oCm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAuLjQzOTk1ODUKLS0tIC9kZXYvbnVsbAorKysgYi90YXJnZXQvaGV4 YWdvbi9tYWNyb3MuaApAQCAtMCwwICsxLDM4OCBAQAorLyoKKyAqICBDb3B5cmlnaHQgKGMpIDIw MTkgUXVhbGNvbW0gSW5ub3ZhdGlvbiBDZW50ZXIsIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4K KyAqCisgKiAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmli dXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBH ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICogIHRoZSBGcmVlIFNvZnR3 YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisgKiAg KGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiAgVGhpcyBwcm9ncmFt IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiAg YnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFu dHkgb2YKKyAqICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV UlBPU0UuICBTZWUgdGhlCisgKiAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUg ZGV0YWlscy4KKyAqCisgKiAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUg R05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsg aWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorICovCisKKyNpZm5k ZWYgTUFDUk9TX0gKKyNkZWZpbmUgTUFDUk9TX0gKKworI2luY2x1ZGUgImNwdS5oIgorI2luY2x1 ZGUgImhleF9yZWdzLmgiCisjaW5jbHVkZSAicmVnX2ZpZWxkcy5oIgorCisjaWZkZWYgUUVNVV9H RU5FUkFURQorI2RlZmluZSBERUNMX1JFRyhOQU1FLCBOVU0sIFgsIE9GRikgXAorICAgIFRDR3Yg TkFNRSA9IHRjZ190ZW1wX2xvY2FsX25ldygpOyBcCisgICAgaW50IE5VTSA9IFJFR05PKFgpICsg T0ZGCisKKyNkZWZpbmUgREVDTF9SRUdfV1JJVEFCTEUoTkFNRSwgTlVNLCBYLCBPRkYpIFwKKyAg ICBUQ0d2IE5BTUUgPSB0Y2dfdGVtcF9sb2NhbF9uZXcoKTsgXAorICAgIGludCBOVU0gPSBSRUdO TyhYKSArIE9GRjsgXAorICAgIGRvIHsgXAorICAgICAgICBpbnQgaXNfcHJlZGljYXRlZCA9IEdF VF9BVFRSSUIoaW5zbi0+b3Bjb2RlLCBBX0NPTkRFWEVDKTsgXAorICAgICAgICBpZiAoaXNfcHJl ZGljYXRlZCAmJiAhaXNfcHJlbG9hZGVkKGN0eCwgTlVNKSkgeyBcCisgICAgICAgICAgICB0Y2df Z2VuX21vdl90bChoZXhfbmV3X3ZhbHVlW05VTV0sIGhleF9ncHJbTlVNXSk7IFwKKyAgICAgICAg fSBcCisgICAgfSB3aGlsZSAoMCkKKy8qCisgKiBGb3IgcmVhZC1vbmx5IHRlbXBzLCBhdm9pZCBh bGxvY2F0aW5nIGFuZCBmcmVlaW5nCisgKi8KKyNkZWZpbmUgREVDTF9SRUdfUkVBRE9OTFkoTkFN RSwgTlVNLCBYLCBPRkYpIFwKKyAgICBUQ0d2IE5BTUU7IFwKKyAgICBpbnQgTlVNID0gUkVHTk8o WCkgKyBPRkYKKworI2RlZmluZSBERUNMX1JSRUdfZChOQU1FLCBOVU0sIFgsIE9GRikgXAorICAg IERFQ0xfUkVHX1dSSVRBQkxFKE5BTUUsIE5VTSwgWCwgT0ZGKQorI2RlZmluZSBERUNMX1JSRUdf ZShOQU1FLCBOVU0sIFgsIE9GRikgXAorICAgIERFQ0xfUkVHKE5BTUUsIE5VTSwgWCwgT0ZGKQor I2RlZmluZSBERUNMX1JSRUdfcyhOQU1FLCBOVU0sIFgsIE9GRikgXAorICAgIERFQ0xfUkVHX1JF QURPTkxZKE5BTUUsIE5VTSwgWCwgT0ZGKQorI2RlZmluZSBERUNMX1JSRUdfdChOQU1FLCBOVU0s IFgsIE9GRikgXAorICAgIERFQ0xfUkVHX1JFQURPTkxZKE5BTUUsIE5VTSwgWCwgT0ZGKQorI2Rl ZmluZSBERUNMX1JSRUdfdShOQU1FLCBOVU0sIFgsIE9GRikgXAorICAgIERFQ0xfUkVHX1JFQURP TkxZKE5BTUUsIE5VTSwgWCwgT0ZGKQorI2RlZmluZSBERUNMX1JSRUdfdihOQU1FLCBOVU0sIFgs IE9GRikgXAorICAgIERFQ0xfUkVHX1JFQURPTkxZKE5BTUUsIE5VTSwgWCwgT0ZGKQorI2RlZmlu ZSBERUNMX1JSRUdfeChOQU1FLCBOVU0sIFgsIE9GRikgXAorICAgIERFQ0xfUkVHX1dSSVRBQkxF KE5BTUUsIE5VTSwgWCwgT0ZGKQorI2RlZmluZSBERUNMX1JSRUdfeShOQU1FLCBOVU0sIFgsIE9G RikgXAorICAgIERFQ0xfUkVHX1dSSVRBQkxFKE5BTUUsIE5VTSwgWCwgT0ZGKQorCisjZGVmaW5l IERFQ0xfUFJFR19kKE5BTUUsIE5VTSwgWCwgT0ZGKSBcCisgICAgREVDTF9SRUcoTkFNRSwgTlVN LCBYLCBPRkYpCisjZGVmaW5lIERFQ0xfUFJFR19lKE5BTUUsIE5VTSwgWCwgT0ZGKSBcCisgICAg REVDTF9SRUcoTkFNRSwgTlVNLCBYLCBPRkYpCisjZGVmaW5lIERFQ0xfUFJFR19zKE5BTUUsIE5V TSwgWCwgT0ZGKSBcCisgICAgREVDTF9SRUdfUkVBRE9OTFkoTkFNRSwgTlVNLCBYLCBPRkYpCisj ZGVmaW5lIERFQ0xfUFJFR190KE5BTUUsIE5VTSwgWCwgT0ZGKSBcCisgICAgREVDTF9SRUdfUkVB RE9OTFkoTkFNRSwgTlVNLCBYLCBPRkYpCisjZGVmaW5lIERFQ0xfUFJFR191KE5BTUUsIE5VTSwg WCwgT0ZGKSBcCisgICAgREVDTF9SRUdfUkVBRE9OTFkoTkFNRSwgTlVNLCBYLCBPRkYpCisjZGVm aW5lIERFQ0xfUFJFR192KE5BTUUsIE5VTSwgWCwgT0ZGKSBcCisgICAgREVDTF9SRUdfUkVBRE9O TFkoTkFNRSwgTlVNLCBYLCBPRkYpCisjZGVmaW5lIERFQ0xfUFJFR194KE5BTUUsIE5VTSwgWCwg T0ZGKSBcCisgICAgREVDTF9SRUcoTkFNRSwgTlVNLCBYLCBPRkYpCisjZGVmaW5lIERFQ0xfUFJF R195KE5BTUUsIE5VTSwgWCwgT0ZGKSBcCisgICAgREVDTF9SRUcoTkFNRSwgTlVNLCBYLCBPRkYp CisKKyNkZWZpbmUgREVDTF9DUkVHX2QoTkFNRSwgTlVNLCBYLCBPRkYpIFwKKyAgICBERUNMX1JF RyhOQU1FLCBOVU0sIFgsIE9GRikKKyNkZWZpbmUgREVDTF9DUkVHX3MoTkFNRSwgTlVNLCBYLCBP RkYpIFwKKyAgICBERUNMX1JFRyhOQU1FLCBOVU0sIFgsIE9GRikKKworI2RlZmluZSBERUNMX01S RUdfdShOQU1FLCBOVU0sIFgsIE9GRikgXAorICAgIERFQ0xfUkVHKE5BTUUsIE5VTSwgWCwgT0ZG KQorCisjZGVmaW5lIERFQ0xfTkVXX05SRUdfcyhOQU1FLCBOVU0sIFgsIE9GRikgXAorICAgIERF Q0xfUkVHX1JFQURPTkxZKE5BTUUsIE5VTSwgWCwgT0ZGKQorI2RlZmluZSBERUNMX05FV19OUkVH X3QoTkFNRSwgTlVNLCBYLCBPRkYpIFwKKyAgICBERUNMX1JFR19SRUFET05MWShOQU1FLCBOVU0s IFgsIE9GRikKKworI2RlZmluZSBERUNMX05FV19QUkVHX3QoTkFNRSwgTlVNLCBYLCBPRkYpIFwK KyAgICBERUNMX1JFR19SRUFET05MWShOQU1FLCBOVU0sIFgsIE9GRikKKyNkZWZpbmUgREVDTF9O RVdfUFJFR191KE5BTUUsIE5VTSwgWCwgT0ZGKSBcCisgICAgREVDTF9SRUdfUkVBRE9OTFkoTkFN RSwgTlVNLCBYLCBPRkYpCisjZGVmaW5lIERFQ0xfTkVXX1BSRUdfdihOQU1FLCBOVU0sIFgsIE9G RikgXAorICAgIERFQ0xfUkVHX1JFQURPTkxZKE5BTUUsIE5VTSwgWCwgT0ZGKQorCisjZGVmaW5l IERFQ0xfTkVXX09SRUdfcyhOQU1FLCBOVU0sIFgsIE9GRikgXAorICAgIERFQ0xfUkVHX1JFQURP TkxZKE5BTUUsIE5VTSwgWCwgT0ZGKQorCisjZGVmaW5lIERFQ0xfUEFJUihOQU1FLCBOVU0sIFgs IE9GRikgXAorICAgIFRDR3ZfaTY0IE5BTUUgPSB0Y2dfdGVtcF9sb2NhbF9uZXdfaTY0KCk7IFwK KyAgICBzaXplMXVfdCBOVU0gPSBSRUdOTyhYKSArIE9GRgorCisjZGVmaW5lIERFQ0xfUEFJUl9X UklUQUJMRShOQU1FLCBOVU0sIFgsIE9GRikgXAorICAgIFRDR3ZfaTY0IE5BTUUgPSB0Y2dfdGVt cF9sb2NhbF9uZXdfaTY0KCk7IFwKKyAgICBzaXplMXVfdCBOVU0gPSBSRUdOTyhYKSArIE9GRjsg XAorICAgIGRvIHsgXAorICAgICAgICBpbnQgaXNfcHJlZGljYXRlZCA9IEdFVF9BVFRSSUIoaW5z bi0+b3Bjb2RlLCBBX0NPTkRFWEVDKTsgXAorICAgICAgICBpZiAoaXNfcHJlZGljYXRlZCkgeyBc CisgICAgICAgICAgICBpZiAoIWlzX3ByZWxvYWRlZChjdHgsIE5VTSkpIHsgXAorICAgICAgICAg ICAgICAgIHRjZ19nZW5fbW92X3RsKGhleF9uZXdfdmFsdWVbTlVNXSwgaGV4X2dwcltOVU1dKTsg XAorICAgICAgICAgICAgfSBcCisgICAgICAgICAgICBpZiAoIWlzX3ByZWxvYWRlZChjdHgsIE5V TSArIDEpKSB7IFwKKyAgICAgICAgICAgICAgICB0Y2dfZ2VuX21vdl90bChoZXhfbmV3X3ZhbHVl W05VTSArIDFdLCBoZXhfZ3ByW05VTSArIDFdKTsgXAorICAgICAgICAgICAgfSBcCisgICAgICAg IH0gXAorICAgIH0gd2hpbGUgKDApCisKKyNkZWZpbmUgREVDTF9SUkVHX2RkKE5BTUUsIE5VTSwg WCwgT0ZGKSBcCisgICAgREVDTF9QQUlSX1dSSVRBQkxFKE5BTUUsIE5VTSwgWCwgT0ZGKQorI2Rl ZmluZSBERUNMX1JSRUdfc3MoTkFNRSwgTlVNLCBYLCBPRkYpIFwKKyAgICBERUNMX1BBSVIoTkFN RSwgTlVNLCBYLCBPRkYpCisjZGVmaW5lIERFQ0xfUlJFR190dChOQU1FLCBOVU0sIFgsIE9GRikg XAorICAgIERFQ0xfUEFJUihOQU1FLCBOVU0sIFgsIE9GRikKKyNkZWZpbmUgREVDTF9SUkVHX3h4 KE5BTUUsIE5VTSwgWCwgT0ZGKSBcCisgICAgREVDTF9QQUlSX1dSSVRBQkxFKE5BTUUsIE5VTSwg WCwgT0ZGKQorI2RlZmluZSBERUNMX1JSRUdfeXkoTkFNRSwgTlVNLCBYLCBPRkYpIFwKKyAgICBE RUNMX1BBSVJfV1JJVEFCTEUoTkFNRSwgTlVNLCBYLCBPRkYpCisKKyNkZWZpbmUgREVDTF9DUkVH X2RkKE5BTUUsIE5VTSwgWCwgT0ZGKSBcCisgICAgREVDTF9QQUlSX1dSSVRBQkxFKE5BTUUsIE5V TSwgWCwgT0ZGKQorI2RlZmluZSBERUNMX0NSRUdfc3MoTkFNRSwgTlVNLCBYLCBPRkYpIFwKKyAg ICBERUNMX1BBSVIoTkFNRSwgTlVNLCBYLCBPRkYpCisKKyNkZWZpbmUgREVDTF9JTU0oTkFNRSwg WCkgXAorICAgIGludCBOQU1FID0gSU1NTk8oWCk7IFwKKyAgICBkbyB7IFwKKyAgICAgICAgTkFN RSA9IE5BTUU7IFwKKyAgICB9IHdoaWxlICgwKQorI2RlZmluZSBERUNMX1RDR19JTU0oVENHX05B TUUsIFZBTCkgXAorICAgIFRDR3YgVENHX05BTUUgPSB0Y2dfY29uc3RfdGwoVkFMKQorCisjZGVm aW5lIERFQ0xfRUEgXAorICAgIFRDR3YgRUE7IFwKKyAgICBkbyB7IFwKKyAgICAgICAgaWYgKEdF VF9BVFRSSUIoaW5zbi0+b3Bjb2RlLCBBX0NPTkRFWEVDKSkgeyBcCisgICAgICAgICAgICBFQSA9 IHRjZ190ZW1wX2xvY2FsX25ldygpOyBcCisgICAgICAgIH0gZWxzZSB7IFwKKyAgICAgICAgICAg IEVBID0gdGNnX3RlbXBfbmV3KCk7IFwKKyAgICAgICAgfSBcCisgICAgfSB3aGlsZSAoMCkKKwor I2RlZmluZSBMT0dfUkVHX1dSSVRFKFJOVU0sIFZBTClcCisgICAgZG8geyBcCisgICAgICAgIGlu dCBpc19wcmVkaWNhdGVkID0gR0VUX0FUVFJJQihpbnNuLT5vcGNvZGUsIEFfQ09OREVYRUMpOyBc CisgICAgICAgIGdlbl9sb2dfcmVnX3dyaXRlKFJOVU0sIFZBTCwgaW5zbi0+c2xvdCwgaXNfcHJl ZGljYXRlZCk7IFwKKyAgICAgICAgY3R4X2xvZ19yZWdfd3JpdGUoY3R4LCAoUk5VTSkpOyBcCisg ICAgfSB3aGlsZSAoMCkKKworI2RlZmluZSBMT0dfUFJFRF9XUklURShQTlVNLCBWQUwpIFwKKyAg ICBkbyB7IFwKKyAgICAgICAgZ2VuX2xvZ19wcmVkX3dyaXRlKFBOVU0sIFZBTCk7IFwKKyAgICAg ICAgY3R4X2xvZ19wcmVkX3dyaXRlKGN0eCwgKFBOVU0pKTsgXAorICAgIH0gd2hpbGUgKDApCisK KyNkZWZpbmUgRlJFRV9SRUcoTkFNRSkgXAorICAgIHRjZ190ZW1wX2ZyZWUoTkFNRSkKKyNkZWZp bmUgRlJFRV9SRUdfUkVBRE9OTFkoTkFNRSkgXAorICAgIC8qIE5vdGhpbmcgKi8KKworI2RlZmlu ZSBGUkVFX1JSRUdfZChOQU1FKSAgICAgICAgICAgIEZSRUVfUkVHKE5BTUUpCisjZGVmaW5lIEZS RUVfUlJFR19lKE5BTUUpICAgICAgICAgICAgRlJFRV9SRUcoTkFNRSkKKyNkZWZpbmUgRlJFRV9S UkVHX3MoTkFNRSkgICAgICAgICAgICBGUkVFX1JFR19SRUFET05MWShOQU1FKQorI2RlZmluZSBG UkVFX1JSRUdfdChOQU1FKSAgICAgICAgICAgIEZSRUVfUkVHX1JFQURPTkxZKE5BTUUpCisjZGVm aW5lIEZSRUVfUlJFR191KE5BTUUpICAgICAgICAgICAgRlJFRV9SRUdfUkVBRE9OTFkoTkFNRSkK KyNkZWZpbmUgRlJFRV9SUkVHX3YoTkFNRSkgICAgICAgICAgICBGUkVFX1JFR19SRUFET05MWShO QU1FKQorI2RlZmluZSBGUkVFX1JSRUdfeChOQU1FKSAgICAgICAgICAgIEZSRUVfUkVHKE5BTUUp CisjZGVmaW5lIEZSRUVfUlJFR195KE5BTUUpICAgICAgICAgICAgRlJFRV9SRUcoTkFNRSkKKwor I2RlZmluZSBGUkVFX1BSRUdfZChOQU1FKSAgICAgICAgICAgIEZSRUVfUkVHKE5BTUUpCisjZGVm aW5lIEZSRUVfUFJFR19lKE5BTUUpICAgICAgICAgICAgRlJFRV9SRUcoTkFNRSkKKyNkZWZpbmUg RlJFRV9QUkVHX3MoTkFNRSkgICAgICAgICAgICBGUkVFX1JFR19SRUFET05MWShOQU1FKQorI2Rl ZmluZSBGUkVFX1BSRUdfdChOQU1FKSAgICAgICAgICAgIEZSRUVfUkVHX1JFQURPTkxZKE5BTUUp CisjZGVmaW5lIEZSRUVfUFJFR191KE5BTUUpICAgICAgICAgICAgRlJFRV9SRUdfUkVBRE9OTFko TkFNRSkKKyNkZWZpbmUgRlJFRV9QUkVHX3YoTkFNRSkgICAgICAgICAgICBGUkVFX1JFR19SRUFE T05MWShOQU1FKQorI2RlZmluZSBGUkVFX1BSRUdfeChOQU1FKSAgICAgICAgICAgIEZSRUVfUkVH KE5BTUUpCisKKyNkZWZpbmUgRlJFRV9DUkVHX2QoTkFNRSkgICAgICAgICAgICBGUkVFX1JFRyhO QU1FKQorI2RlZmluZSBGUkVFX0NSRUdfcyhOQU1FKSAgICAgICAgICAgIEZSRUVfUkVHX1JFQURP TkxZKE5BTUUpCisKKyNkZWZpbmUgRlJFRV9NUkVHX3UoTkFNRSkgICAgICAgICAgICBGUkVFX1JF R19SRUFET05MWShOQU1FKQorCisjZGVmaW5lIEZSRUVfTkVXX05SRUdfcyhOQU1FKSAgICAgICAg RlJFRV9SRUcoTkFNRSkKKyNkZWZpbmUgRlJFRV9ORVdfTlJFR190KE5BTUUpICAgICAgICBGUkVF X1JFRyhOQU1FKQorCisjZGVmaW5lIEZSRUVfTkVXX1BSRUdfdChOQU1FKSAgICAgICAgRlJFRV9S RUdfUkVBRE9OTFkoTkFNRSkKKyNkZWZpbmUgRlJFRV9ORVdfUFJFR191KE5BTUUpICAgICAgICBG UkVFX1JFR19SRUFET05MWShOQU1FKQorI2RlZmluZSBGUkVFX05FV19QUkVHX3YoTkFNRSkgICAg ICAgIEZSRUVfUkVHX1JFQURPTkxZKE5BTUUpCisKKyNkZWZpbmUgRlJFRV9ORVdfT1JFR19zKE5B TUUpICAgICAgICBGUkVFX1JFRyhOQU1FKQorCisjZGVmaW5lIEZSRUVfUkVHX1BBSVIoTkFNRSkg XAorICAgIHRjZ190ZW1wX2ZyZWVfaTY0KE5BTUUpCisKKyNkZWZpbmUgRlJFRV9SUkVHX2RkKE5B TUUpICAgICAgICAgICBGUkVFX1JFR19QQUlSKE5BTUUpCisjZGVmaW5lIEZSRUVfUlJFR19zcyhO QU1FKSAgICAgICAgICAgRlJFRV9SRUdfUEFJUihOQU1FKQorI2RlZmluZSBGUkVFX1JSRUdfdHQo TkFNRSkgICAgICAgICAgIEZSRUVfUkVHX1BBSVIoTkFNRSkKKyNkZWZpbmUgRlJFRV9SUkVHX3h4 KE5BTUUpICAgICAgICAgICBGUkVFX1JFR19QQUlSKE5BTUUpCisjZGVmaW5lIEZSRUVfUlJFR195 eShOQU1FKSAgICAgICAgICAgRlJFRV9SRUdfUEFJUihOQU1FKQorCisjZGVmaW5lIEZSRUVfQ1JF R19kZChOQU1FKSAgICAgICAgICAgRlJFRV9SRUdfUEFJUihOQU1FKQorI2RlZmluZSBGUkVFX0NS RUdfc3MoTkFNRSkgICAgICAgICAgIEZSRUVfUkVHX1BBSVIoTkFNRSkKKworI2RlZmluZSBGUkVF X0lNTShOQU1FKSAgICAgICAgICAgICAgIC8qIG5vdGhpbmcgKi8KKyNkZWZpbmUgRlJFRV9UQ0df SU1NKE5BTUUpICAgICAgICAgICB0Y2dfdGVtcF9mcmVlKE5BTUUpCisKKyNkZWZpbmUgRlJFRV9F QSBcCisgICAgdGNnX3RlbXBfZnJlZShFQSkKKyNlbHNlCisjZGVmaW5lIExPR19SRUdfV1JJVEUo Uk5VTSwgVkFMKVwKKyAgbG9nX3JlZ193cml0ZShlbnYsIFJOVU0sIFZBTCwgc2xvdCkKKyNkZWZp bmUgTE9HX1BSRURfV1JJVEUoUk5VTSwgVkFMKVwKKyAgICBsb2dfcHJlZF93cml0ZShlbnYsIFJO VU0sIFZBTCkKKyNlbmRpZgorCisjZGVmaW5lIFNMT1RfV1JBUChDT0RFKSBcCisgICAgZG8geyBc CisgICAgICAgIFRDR3Ygc2xvdCA9IHRjZ19jb25zdF90bChpbnNuLT5zbG90KTsgXAorICAgICAg ICBDT0RFOyBcCisgICAgICAgIHRjZ190ZW1wX2ZyZWUoc2xvdCk7IFwKKyAgICB9IHdoaWxlICgw KQorCisjZGVmaW5lIFBBUlQxX1dSQVAoQ09ERSkgXAorICAgIGRvIHsgXAorICAgICAgICBUQ0d2 IHBhcnQxID0gdGNnX2NvbnN0X3RsKGluc24tPnBhcnQxKTsgXAorICAgICAgICBDT0RFOyBcCisg ICAgICAgIHRjZ190ZW1wX2ZyZWUocGFydDEpOyBcCisgICAgfSB3aGlsZSAoMCkKKworI2RlZmlu ZSBNQVJLX0xBVEVfUFJFRF9XUklURShSTlVNKSAvKiBOb3QgbW9kZWxsZWQgaW4gcWVtdSAqLwor CisjZGVmaW5lIFJFR05PKE5VTSkgKGluc24tPnJlZ25vW05VTV0pCisjZGVmaW5lIElNTU5PKE5V TSkgKGluc24tPmltbWVkW05VTV0pCisKKyNpZmRlZiBRRU1VX0dFTkVSQVRFCisjZGVmaW5lIFJF QURfUkVHKGRlc3QsIE5VTSkgXAorICAgIGdlbl9yZWFkX3JlZyhkZXN0LCBOVU0pCisjZGVmaW5l IFJFQURfUkVHX1JFQURPTkxZKGRlc3QsIE5VTSkgXAorICAgIGRvIHsgZGVzdCA9IGhleF9ncHJb TlVNXTsgfSB3aGlsZSAoMCkKKworI2RlZmluZSBSRUFEX1JSRUdfcyhkZXN0LCBOVU0pIFwKKyAg ICBSRUFEX1JFR19SRUFET05MWShkZXN0LCBOVU0pCisjZGVmaW5lIFJFQURfUlJFR190KGRlc3Qs IE5VTSkgXAorICAgIFJFQURfUkVHX1JFQURPTkxZKGRlc3QsIE5VTSkKKyNkZWZpbmUgUkVBRF9S UkVHX3UoZGVzdCwgTlVNKSBcCisgICAgUkVBRF9SRUdfUkVBRE9OTFkoZGVzdCwgTlVNKQorI2Rl ZmluZSBSRUFEX1JSRUdfeChkZXN0LCBOVU0pIFwKKyAgICBSRUFEX1JFRyhkZXN0LCBOVU0pCisj ZGVmaW5lIFJFQURfUlJFR195KGRlc3QsIE5VTSkgXAorICAgIFJFQURfUkVHKGRlc3QsIE5VTSkK KworI2RlZmluZSBSRUFEX09SRUdfcyhkZXN0LCBOVU0pIFwKKyAgICBSRUFEX1JFR19SRUFET05M WShkZXN0LCBOVU0pCisKKyNpZmRlZiBRRU1VX0dFTkVSQVRFCisjZGVmaW5lIFJFQURfQ1JFR19z KGRlc3QsIE5VTSkgXAorICAgIGRvIHsgXAorICAgICAgICBpZiAoKE5VTSkgKyBIRVhfUkVHX1NB MCA9PSBIRVhfUkVHX1AzXzApIHsgXAorICAgICAgICAgICAgZ2VuX3JlYWRfcDNfMChkZXN0KTsg XAorICAgICAgICB9IGVsc2UgeyBcCisgICAgICAgICAgICBSRUFEX1JFR19SRUFET05MWShkZXN0 LCAoKE5VTSkgKyBIRVhfUkVHX1NBMCkpOyBcCisgICAgICAgIH0gXAorICAgIH0gd2hpbGUgKDAp CisjZWxzZQorc3RhdGljIGlubGluZSBpbnQzMl90IHJlYWRfcDNfMChDUFVIZXhhZ29uU3RhdGUg KmVudikKK3sKKyAgICBpbnQzMl90IGNvbnRyb2xfcmVnID0gMDsKKyAgICBpbnQgaTsKKyAgICBm b3IgKGkgPSBOVU1fUFJFR1MgLSAxOyBpID49IDA7IGktLSkgeworICAgICAgICBjb250cm9sX3Jl ZyA8PD0gODsKKyAgICAgICAgY29udHJvbF9yZWcgfD0gZW52LT5wcmVkW2ldICYgMHhmZjsKKyAg ICB9CisgICAgcmV0dXJuIGNvbnRyb2xfcmVnOworfQorCisjZGVmaW5lIFJFQURfQ1JFR19zKGRl c3QsIE5VTSkgXAorICAgIGRvIHsgXAorICAgICAgICBpZiAoTlVNID09IEhFWF9SRUdfUDNfMCkg eyBcCisgICAgICAgICAgICBkZXN0ID0gcmVhZF9wM18wKGVudik7IFwKKyAgICAgICAgfSBlbHNl IHsgXAorICAgICAgICAgICAgUkVBRF9SRUdfUkVBRE9OTFkoZGVzdCwgKChOVU0pICsgSEVYX1JF R19TQTApKTsgXAorICAgICAgICB9IFwKKyAgICB9IHdoaWxlICgwKQorI2VuZGlmCisjZGVmaW5l IFJFQURfTVJFR191KGRlc3QsIE5VTSkgXAorICAgIGRvIHsgXAorICAgICAgICBSRUFEX1JFR19S RUFET05MWShkZXN0LCAoKE5VTSkgKyBIRVhfUkVHX00wKSk7IFwKKyAgICAgICAgZGVzdCA9IGRl c3Q7IFwKKyAgICB9IHdoaWxlICgwKQorI2Vsc2UKKyNkZWZpbmUgUkVBRF9SRUcoTlVNKSBcCisg ICAgKGVudi0+Z3ByWyhOVU0pXSkKKyNkZWZpbmUgUkVBRF9NUkVHKE5VTSkgXAorICAgIChlbnYt PmdwcltOVU0gKyBSRUdfTV0pCisjZGVmaW5lIFJFQURfQ1NSRUcoTlVNKSBcCisgICAgKGVudi0+ Z3ByW05VTSArIEhFWF9SRUdfQ1MwXSkKKyNlbmRpZgorCisjaWZkZWYgUUVNVV9HRU5FUkFURQor I2RlZmluZSBSRUFEX1JFR19QQUlSKHRtcCwgTlVNKSBcCisgICAgdGNnX2dlbl9jb25jYXRfaTMy X2k2NCh0bXAsIGhleF9ncHJbTlVNXSwgaGV4X2dwclsoTlVNKSArIDFdKQorI2RlZmluZSBSRUFE X1JSRUdfc3ModG1wLCBOVU0pICAgICAgICAgIFJFQURfUkVHX1BBSVIodG1wLCBOVU0pCisjZGVm aW5lIFJFQURfUlJFR190dCh0bXAsIE5VTSkgICAgICAgICAgUkVBRF9SRUdfUEFJUih0bXAsIE5V TSkKKyNkZWZpbmUgUkVBRF9SUkVHX3h4KHRtcCwgTlVNKSAgICAgICAgICBSRUFEX1JFR19QQUlS KHRtcCwgTlVNKQorI2RlZmluZSBSRUFEX1JSRUdfeXkodG1wLCBOVU0pICAgICAgICAgIFJFQURf UkVHX1BBSVIodG1wLCBOVU0pCisKKyNkZWZpbmUgUkVBRF9DUkVHX1BBSVIodG1wLCBpKSBcCisg ICAgUkVBRF9SRUdfUEFJUih0bXAsICgoaSkgKyBIRVhfUkVHX1NBMCkpCisjZGVmaW5lIFJFQURf Q1JFR19zcyh0bXAsIGkpICAgICAgICAgICAgUkVBRF9DUkVHX1BBSVIodG1wLCBpKQorI2VuZGlm CisKKyNpZmRlZiBRRU1VX0dFTkVSQVRFCisjZGVmaW5lIFJFQURfUFJFRyhkZXN0LCBOVU0pICAg ICAgICAgICAgIGdlbl9yZWFkX3ByZWcoZGVzdCwgKE5VTSkpCisjZGVmaW5lIFJFQURfUFJFR19S RUFET05MWShkZXN0LCBOVU0pICAgIGRvIHsgZGVzdCA9IGhleF9wcmVkW05VTV07IH0gd2hpbGUg KDApCisKKyNkZWZpbmUgUkVBRF9QUkVHX3MoZGVzdCwgTlVNKSAgICAgICAgICAgUkVBRF9QUkVH X1JFQURPTkxZKGRlc3QsIE5VTSkKKyNkZWZpbmUgUkVBRF9QUkVHX3QoZGVzdCwgTlVNKSAgICAg ICAgICAgUkVBRF9QUkVHX1JFQURPTkxZKGRlc3QsIE5VTSkKKyNkZWZpbmUgUkVBRF9QUkVHX3Uo ZGVzdCwgTlVNKSAgICAgICAgICAgUkVBRF9QUkVHX1JFQURPTkxZKGRlc3QsIE5VTSkKKyNkZWZp bmUgUkVBRF9QUkVHX3YoZGVzdCwgTlVNKSAgICAgICAgICAgUkVBRF9QUkVHX1JFQURPTkxZKGRl c3QsIE5VTSkKKyNkZWZpbmUgUkVBRF9QUkVHX3goZGVzdCwgTlVNKSAgICAgICAgICAgUkVBRF9Q UkVHKGRlc3QsIE5VTSkKKworI2RlZmluZSBSRUFEX05FV19QUkVHKHByZWQsIFBOVU0pIFwKKyAg ICBkbyB7IHByZWQgPSBoZXhfbmV3X3ByZWRfdmFsdWVbUE5VTV07IH0gd2hpbGUgKDApCisjZGVm aW5lIFJFQURfTkVXX1BSRUdfdChwcmVkLCBQTlVNKSAgICAgIFJFQURfTkVXX1BSRUcocHJlZCwg UE5VTSkKKyNkZWZpbmUgUkVBRF9ORVdfUFJFR191KHByZWQsIFBOVU0pICAgICAgUkVBRF9ORVdf UFJFRyhwcmVkLCBQTlVNKQorI2RlZmluZSBSRUFEX05FV19QUkVHX3YocHJlZCwgUE5VTSkgICAg ICBSRUFEX05FV19QUkVHKHByZWQsIFBOVU0pCisKKyNkZWZpbmUgUkVBRF9ORVdfUkVHKHRtcCwg aSkgXAorICAgIGRvIHsgdG1wID0gdGNnX2NvbnN0X3RsKGkpOyB9IHdoaWxlICgwKQorI2RlZmlu ZSBSRUFEX05FV19OUkVHX3ModG1wLCBpKSAgICAgICAgICBSRUFEX05FV19SRUcodG1wLCBpKQor I2RlZmluZSBSRUFEX05FV19OUkVHX3QodG1wLCBpKSAgICAgICAgICBSRUFEX05FV19SRUcodG1w LCBpKQorI2RlZmluZSBSRUFEX05FV19PUkVHX3ModG1wLCBpKSAgICAgICAgICBSRUFEX05FV19S RUcodG1wLCBpKQorI2Vsc2UKKyNkZWZpbmUgUkVBRF9QUkVHKE5VTSkgICAgICAgICAgICAgICAg KGVudi0+cHJlZFtOVU1dKQorI2VuZGlmCisKKworI2RlZmluZSBXUklURV9SUkVHKE5VTSwgVkFM KSAgICAgICAgICAgICBMT0dfUkVHX1dSSVRFKE5VTSwgVkFMKQorI2RlZmluZSBXUklURV9SUkVH X2QoTlVNLCBWQUwpICAgICAgICAgICBMT0dfUkVHX1dSSVRFKE5VTSwgVkFMKQorI2RlZmluZSBX UklURV9SUkVHX2UoTlVNLCBWQUwpICAgICAgICAgICBMT0dfUkVHX1dSSVRFKE5VTSwgVkFMKQor I2RlZmluZSBXUklURV9SUkVHX3goTlVNLCBWQUwpICAgICAgICAgICBMT0dfUkVHX1dSSVRFKE5V TSwgVkFMKQorI2RlZmluZSBXUklURV9SUkVHX3koTlVNLCBWQUwpICAgICAgICAgICBMT0dfUkVH X1dSSVRFKE5VTSwgVkFMKQorCisjZGVmaW5lIFdSSVRFX1BSRUcoTlVNLCBWQUwpICAgICAgICAg ICAgIExPR19QUkVEX1dSSVRFKE5VTSwgVkFMKQorI2RlZmluZSBXUklURV9QUkVHX2QoTlVNLCBW QUwpICAgICAgICAgICBMT0dfUFJFRF9XUklURShOVU0sIFZBTCkKKyNkZWZpbmUgV1JJVEVfUFJF R19lKE5VTSwgVkFMKSAgICAgICAgICAgTE9HX1BSRURfV1JJVEUoTlVNLCBWQUwpCisjZGVmaW5l IFdSSVRFX1BSRUdfeChOVU0sIFZBTCkgICAgICAgICAgIExPR19QUkVEX1dSSVRFKE5VTSwgVkFM KQorCisjaWZkZWYgUUVNVV9HRU5FUkFURQorI2RlZmluZSBXUklURV9DUkVHKGksIHRtcCkgXAor ICAgIGRvIHsgXAorICAgICAgICBpZiAoaSArIEhFWF9SRUdfU0EwID09IEhFWF9SRUdfUDNfMCkg eyBcCisgICAgICAgICAgICBnZW5fd3JpdGVfcDNfMCh0bXApOyBcCisgICAgICAgIH0gZWxzZSB7 IFwKKyAgICAgICAgICAgIFdSSVRFX1JSRUcoKGkpICsgSEVYX1JFR19TQTAsIHRtcCk7IFwKKyAg ICAgICAgfSBcCisgICAgfSB3aGlsZSAoMCkKKyNkZWZpbmUgV1JJVEVfQ1JFR19kKE5VTSwgVkFM KSAgICAgICAgICAgV1JJVEVfQ1JFRyhOVU0sIFZBTCkKKworI2RlZmluZSBXUklURV9DUkVHX1BB SVIoaSwgdG1wKSAgICAgICAgICBXUklURV9SRUdfUEFJUigoaSkgKyBIRVhfUkVHX1NBMCwgdG1w KQorI2RlZmluZSBXUklURV9DUkVHX2RkKE5VTSwgVkFMKSAgICAgICAgICBXUklURV9DUkVHX1BB SVIoTlVNLCBWQUwpCisKKyNkZWZpbmUgV1JJVEVfUkVHX1BBSVIoTlVNLCBWQUwpIFwKKyAgICBk byB7IFwKKyAgICAgICAgaW50IGlzX3ByZWRpY2F0ZWQgPSBHRVRfQVRUUklCKGluc24tPm9wY29k ZSwgQV9DT05ERVhFQyk7IFwKKyAgICAgICAgZ2VuX2xvZ19yZWdfd3JpdGVfcGFpcihOVU0sIFZB TCwgaW5zbi0+c2xvdCwgaXNfcHJlZGljYXRlZCk7IFwKKyAgICAgICAgY3R4X2xvZ19yZWdfd3Jp dGUoY3R4LCAoTlVNKSk7IFwKKyAgICAgICAgY3R4X2xvZ19yZWdfd3JpdGUoY3R4LCAoTlVNKSAr IDEpOyBcCisgICAgfSB3aGlsZSAoMCkKKworI2RlZmluZSBXUklURV9SUkVHX2RkKE5VTSwgVkFM KSAgICAgICAgICBXUklURV9SRUdfUEFJUihOVU0sIFZBTCkKKyNkZWZpbmUgV1JJVEVfUlJFR194 eChOVU0sIFZBTCkgICAgICAgICAgV1JJVEVfUkVHX1BBSVIoTlVNLCBWQUwpCisjZGVmaW5lIFdS SVRFX1JSRUdfeXkoTlVNLCBWQUwpICAgICAgICAgIFdSSVRFX1JFR19QQUlSKE5VTSwgVkFMKQor I2VuZGlmCisKLS0gCjIuNy40Cgo=