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.5 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 85418CA9EA0 for ; Fri, 25 Oct 2019 09:17:17 +0000 (UTC) Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (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 4BD372070B for ; Fri, 25 Oct 2019 09:17:17 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="jsfBjzWf" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 4BD372070B Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=xen.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1iNviF-0007mX-Al; Fri, 25 Oct 2019 09:16:51 +0000 Received: from us1-rack-iad1.inumbo.com ([172.99.69.81]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1iNviD-0007mP-NU for xen-devel@lists.xenproject.org; Fri, 25 Oct 2019 09:16:49 +0000 X-Inumbo-ID: 2a1ae05e-f708-11e9-beca-bc764e2007e4 Received: from mail-wr1-x433.google.com (unknown [2a00:1450:4864:20::433]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS id 2a1ae05e-f708-11e9-beca-bc764e2007e4; Fri, 25 Oct 2019 09:16:45 +0000 (UTC) Received: by mail-wr1-x433.google.com with SMTP id a11so1436709wra.6 for ; Fri, 25 Oct 2019 02:16:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=IfHRaj/QBDu7K960ROGHf+NO+M2zK+27myHi7qUu4DY=; b=jsfBjzWfm2h1BgY/F+Ab7N0BLUfVIophB5j8fIs3fsn3fesEPniBsvziSbzxbb2s37 VE67nNODsp6BOKChety2T6xU9WHJY3tz9kmuZTRK+rS3htCfZ6s/EetZfVWOnRAijGji KWH1l1gPknNOdTZvjL85woGB121h3pu4yhGag8HrTJUqZtwXxIQtIeq2PT8pMsbHaW8Y sM2wKpE8Fsh4z1RGDKaTCDAGFUonEuUiIbfUDQggL70QeiobaaQQP8cXKYxo1CHntuTX gKBx34n4XwZHvSVsvs2Zc82wN+c12PupB0eJ9OrvfMZ6C4U853mHHp4HfqC1bDmz6zgq TrTw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=IfHRaj/QBDu7K960ROGHf+NO+M2zK+27myHi7qUu4DY=; b=h2Q7jazUnsas9cAnqlbNQHtlSxIfwhqKkpk3OnD9gTu7TQ8X3NJTVNYXvZl5pJ7Rh4 qcTzac4br/mk+c8jEp5Qy7JL5NkSxUcDOPjsFxi/miPmnvARhPNuZXIvYlQb1eTSJ2hC 3FmGG1wOonyUKHLO5FpDYCcsID9DB1q/K366OPZTKVLki23ASYatejzjxD5MsNXVtDqd rXOIGGSdBXf8rfoonwDRMLtBDAAm5ZkcBagiUrY6CqrP+qLAfL7NRHmVyZfv5yGGel0r 7xMp9mwMBOju6K1EI6Dj95cx8XWvswhL2gxWn/SWOhH3e9OoENWCFbpYjDM6rkr+baSU rqyA== X-Gm-Message-State: APjAAAXvjjh2icMXqwdWsPGOd0uVuaHim4DWiTEZPAMCIRCivRTly0/4 Vb7qg8C6Rf7+pm//owqjLUxkbUOhoPI= X-Google-Smtp-Source: APXvYqy0CahoBBYwLEVAOE/BHK3oVhvkSLSK1sUgzyXUWh7EMlNskQAtsKD9mfv55WzNAgsXHX289g== X-Received: by 2002:adf:f152:: with SMTP id y18mr2027016wro.285.1571995003997; Fri, 25 Oct 2019 02:16:43 -0700 (PDT) Received: from debian.mshome.net (54.163.200.146.dyn.plus.net. [146.200.163.54]) by smtp.gmail.com with ESMTPSA id b62sm1873283wmc.13.2019.10.25.02.16.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 25 Oct 2019 02:16:43 -0700 (PDT) From: Wei Liu X-Google-Original-From: Wei Liu To: Xen Development List Date: Fri, 25 Oct 2019 10:16:12 +0100 Message-Id: <20191025091618.10153-2-liuwe@microsoft.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20191025091618.10153-1-liuwe@microsoft.com> References: <20191025091618.10153-1-liuwe@microsoft.com> MIME-Version: 1.0 Subject: [Xen-devel] [PATCH for-next 1/7] x86: import hyperv-tlfs.h from Linux X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Cc: Wei Liu , Wei Liu , Paul Durrant , Andrew Cooper , Michael Kelley , Jan Beulich , =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" VGFrZW4gZnJvbSBMaW51eCBjb21taXQgYjJkOGIxNjdlMTViYjVlYzI2OTFkMTExOWMwMjU2MzBh MjQ3ZjY0OS4KClRoaXMgaXMgYSBwcmlzdGluZSBjb3B5IGZyb20gTGludXguIEl0IGlzIG5vdCB1 c2VkIHlldCBhbmQgcHJvYmFibHkKZG9lc24ndCBjb21waWxlLiBDaGFuZ2VzIHRvIG1ha2UgaXQg d29yayB3aWxsIGNvbWUgbGF0ZXIuCgpTaWduZWQtb2ZmLWJ5OiBXZWkgTGl1IDxsaXV3ZUBtaWNy b3NvZnQuY29tPgotLS0KIHhlbi9pbmNsdWRlL2FzbS14ODYvZ3Vlc3QvaHlwZXJ2LXRsZnMuaCB8 IDkwNiArKysrKysrKysrKysrKysrKysrKysrKysKIDEgZmlsZSBjaGFuZ2VkLCA5MDYgaW5zZXJ0 aW9ucygrKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHhlbi9pbmNsdWRlL2FzbS14ODYvZ3Vlc3QvaHlw ZXJ2LXRsZnMuaAoKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14ODYvZ3Vlc3QvaHlwZXJ2 LXRsZnMuaCBiL3hlbi9pbmNsdWRlL2FzbS14ODYvZ3Vlc3QvaHlwZXJ2LXRsZnMuaApuZXcgZmls ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwLi43NzQxZTIxMWY3Ci0tLSAvZGV2L251bGwK KysrIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9ndWVzdC9oeXBlcnYtdGxmcy5oCkBAIC0wLDAgKzEs OTA2IEBACisvKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMCAqLworCisvKgorICog VGhpcyBmaWxlIGNvbnRhaW5zIGRlZmluaXRpb25zIGZyb20gSHlwZXItViBIeXBlcnZpc29yIFRv cC1MZXZlbCBGdW5jdGlvbmFsCisgKiBTcGVjaWZpY2F0aW9uIChUTEZTKToKKyAqIGh0dHBzOi8v ZG9jcy5taWNyb3NvZnQuY29tL2VuLXVzL3ZpcnR1YWxpemF0aW9uL2h5cGVyLXYtb24td2luZG93 cy9yZWZlcmVuY2UvdGxmcworICovCisKKyNpZm5kZWYgX0FTTV9YODZfSFlQRVJWX1RMRlNfSAor I2RlZmluZSBfQVNNX1g4Nl9IWVBFUlZfVExGU19ICisKKyNpbmNsdWRlIDxsaW51eC90eXBlcy5o PgorI2luY2x1ZGUgPGFzbS9wYWdlLmg+CisKKy8qCisgKiBXaGlsZSBub3QgZXhwbGljaXRseSBs aXN0ZWQgaW4gdGhlIFRMRlMsIEh5cGVyLVYgYWx3YXlzIHJ1bnMgd2l0aCBhIHBhZ2Ugc2l6ZQor ICogb2YgNDA5Ni4gVGhlc2UgZGVmaW5pdGlvbnMgYXJlIHVzZWQgd2hlbiBjb21tdW5pY2F0aW5n IHdpdGggSHlwZXItViB1c2luZworICogZ3Vlc3QgcGh5c2ljYWwgcGFnZXMgYW5kIGd1ZXN0IHBo eXNpY2FsIHBhZ2UgYWRkcmVzc2VzLCBzaW5jZSB0aGUgZ3Vlc3QgcGFnZQorICogc2l6ZSBtYXkg bm90IGJlIDQwOTYgb24gYWxsIGFyY2hpdGVjdHVyZXMuCisgKi8KKyNkZWZpbmUgSFZfSFlQX1BB R0VfU0hJRlQgICAgICAxMgorI2RlZmluZSBIVl9IWVBfUEFHRV9TSVpFICAgICAgIEJJVChIVl9I WVBfUEFHRV9TSElGVCkKKyNkZWZpbmUgSFZfSFlQX1BBR0VfTUFTSyAgICAgICAofihIVl9IWVBf UEFHRV9TSVpFIC0gMSkpCisKKy8qCisgKiBUaGUgYmVsb3cgQ1BVSUQgbGVhdmVzIGFyZSBwcmVz ZW50IGlmIFZlcnNpb25BbmRGZWF0dXJlcy5IeXBlcnZpc29yUHJlc2VudAorICogaXMgc2V0IGJ5 IENQVUlEKEh2Q3B1SWRGdW5jdGlvblZlcnNpb25BbmRGZWF0dXJlcykuCisgKi8KKyNkZWZpbmUg SFlQRVJWX0NQVUlEX1ZFTkRPUl9BTkRfTUFYX0ZVTkNUSU9OUwkweDQwMDAwMDAwCisjZGVmaW5l IEhZUEVSVl9DUFVJRF9JTlRFUkZBQ0UJCQkweDQwMDAwMDAxCisjZGVmaW5lIEhZUEVSVl9DUFVJ RF9WRVJTSU9OCQkJMHg0MDAwMDAwMgorI2RlZmluZSBIWVBFUlZfQ1BVSURfRkVBVFVSRVMJCQkw eDQwMDAwMDAzCisjZGVmaW5lIEhZUEVSVl9DUFVJRF9FTkxJR0hUTUVOVF9JTkZPCQkweDQwMDAw MDA0CisjZGVmaW5lIEhZUEVSVl9DUFVJRF9JTVBMRU1FTlRfTElNSVRTCQkweDQwMDAwMDA1Cisj ZGVmaW5lIEhZUEVSVl9DUFVJRF9ORVNURURfRkVBVFVSRVMJCTB4NDAwMDAwMEEKKworI2RlZmlu ZSBIWVBFUlZfSFlQRVJWSVNPUl9QUkVTRU5UX0JJVAkJMHg4MDAwMDAwMAorI2RlZmluZSBIWVBF UlZfQ1BVSURfTUlOCQkJMHg0MDAwMDAwNQorI2RlZmluZSBIWVBFUlZfQ1BVSURfTUFYCQkJMHg0 MDAwZmZmZgorCisvKgorICogRmVhdHVyZSBpZGVudGlmaWNhdGlvbi4gRUFYIGluZGljYXRlcyB3 aGljaCBmZWF0dXJlcyBhcmUgYXZhaWxhYmxlCisgKiB0byB0aGUgcGFydGl0aW9uIGJhc2VkIHVw b24gdGhlIGN1cnJlbnQgcGFydGl0aW9uIHByaXZpbGVnZXMuCisgKiBUaGVzZSBhcmUgSFlQRVJW X0NQVUlEX0ZFQVRVUkVTLkVBWCBiaXRzLgorICovCisKKy8qIFZQIFJ1bnRpbWUgKEhWX1g2NF9N U1JfVlBfUlVOVElNRSkgYXZhaWxhYmxlICovCisjZGVmaW5lIEhWX1g2NF9NU1JfVlBfUlVOVElN RV9BVkFJTEFCTEUJCUJJVCgwKQorLyogUGFydGl0aW9uIFJlZmVyZW5jZSBDb3VudGVyIChIVl9Y NjRfTVNSX1RJTUVfUkVGX0NPVU5UKSBhdmFpbGFibGUqLworI2RlZmluZSBIVl9NU1JfVElNRV9S RUZfQ09VTlRfQVZBSUxBQkxFCQlCSVQoMSkKKy8qCisgKiBCYXNpYyBTeW5JQyBNU1JzIChIVl9Y NjRfTVNSX1NDT05UUk9MIHRocm91Z2ggSFZfWDY0X01TUl9FT00KKyAqIGFuZCBIVl9YNjRfTVNS X1NJTlQwIHRocm91Z2ggSFZfWDY0X01TUl9TSU5UMTUpIGF2YWlsYWJsZQorICovCisjZGVmaW5l IEhWX1g2NF9NU1JfU1lOSUNfQVZBSUxBQkxFCQlCSVQoMikKKy8qCisgKiBTeW50aGV0aWMgVGlt ZXIgTVNScyAoSFZfWDY0X01TUl9TVElNRVIwX0NPTkZJRyB0aHJvdWdoCisgKiBIVl9YNjRfTVNS X1NUSU1FUjNfQ09VTlQpIGF2YWlsYWJsZQorICovCisjZGVmaW5lIEhWX01TUl9TWU5USU1FUl9B VkFJTEFCTEUJCUJJVCgzKQorLyoKKyAqIEFQSUMgYWNjZXNzIE1TUnMgKEhWX1g2NF9NU1JfRU9J LCBIVl9YNjRfTVNSX0lDUiBhbmQgSFZfWDY0X01TUl9UUFIpCisgKiBhcmUgYXZhaWxhYmxlCisg Ki8KKyNkZWZpbmUgSFZfWDY0X01TUl9BUElDX0FDQ0VTU19BVkFJTEFCTEUJQklUKDQpCisvKiBI eXBlcmNhbGwgTVNScyAoSFZfWDY0X01TUl9HVUVTVF9PU19JRCBhbmQgSFZfWDY0X01TUl9IWVBF UkNBTEwpIGF2YWlsYWJsZSovCisjZGVmaW5lIEhWX1g2NF9NU1JfSFlQRVJDQUxMX0FWQUlMQUJM RQkJQklUKDUpCisvKiBBY2Nlc3MgdmlydHVhbCBwcm9jZXNzb3IgaW5kZXggTVNSIChIVl9YNjRf TVNSX1ZQX0lOREVYKSBhdmFpbGFibGUqLworI2RlZmluZSBIVl9YNjRfTVNSX1ZQX0lOREVYX0FW QUlMQUJMRQkJQklUKDYpCisvKiBWaXJ0dWFsIHN5c3RlbSByZXNldCBNU1IgKEhWX1g2NF9NU1Jf UkVTRVQpIGlzIGF2YWlsYWJsZSovCisjZGVmaW5lIEhWX1g2NF9NU1JfUkVTRVRfQVZBSUxBQkxF CQlCSVQoNykKKy8qCisgKiBBY2Nlc3Mgc3RhdGlzdGljcyBwYWdlcyBNU1JzIChIVl9YNjRfTVNS X1NUQVRTX1BBUlRJVElPTl9SRVRBSUxfUEFHRSwKKyAqIEhWX1g2NF9NU1JfU1RBVFNfUEFSVElU SU9OX0lOVEVSTkFMX1BBR0UsIEhWX1g2NF9NU1JfU1RBVFNfVlBfUkVUQUlMX1BBR0UsCisgKiBI Vl9YNjRfTVNSX1NUQVRTX1ZQX0lOVEVSTkFMX1BBR0UpIGF2YWlsYWJsZQorICovCisjZGVmaW5l IEhWX1g2NF9NU1JfU1RBVF9QQUdFU19BVkFJTEFCTEUJCUJJVCg4KQorLyogUGFydGl0aW9uIHJl ZmVyZW5jZSBUU0MgTVNSIGlzIGF2YWlsYWJsZSAqLworI2RlZmluZSBIVl9NU1JfUkVGRVJFTkNF X1RTQ19BVkFJTEFCTEUJCUJJVCg5KQorLyogUGFydGl0aW9uIEd1ZXN0IElETEUgTVNSIGlzIGF2 YWlsYWJsZSAqLworI2RlZmluZSBIVl9YNjRfTVNSX0dVRVNUX0lETEVfQVZBSUxBQkxFCQlCSVQo MTApCisvKgorICogVGhlcmUgaXMgYSBzaW5nbGUgZmVhdHVyZSBmbGFnIHRoYXQgc2lnbmlmaWVz IGlmIHRoZSBwYXJ0aXRpb24gaGFzIGFjY2VzcworICogdG8gTVNScyB3aXRoIGxvY2FsIEFQSUMg YW5kIFRTQyBmcmVxdWVuY2llcy4KKyAqLworI2RlZmluZSBIVl9YNjRfQUNDRVNTX0ZSRVFVRU5D WV9NU1JTCQlCSVQoMTEpCisvKiBBY2Nlc3NSZWVubGlnaHRlbm1lbnRDb250cm9scyBwcml2aWxl Z2UgKi8KKyNkZWZpbmUgSFZfWDY0X0FDQ0VTU19SRUVOTElHSFRFTk1FTlQJCUJJVCgxMykKKwor LyoKKyAqIEZlYXR1cmUgaWRlbnRpZmljYXRpb246IGluZGljYXRlcyB3aGljaCBmbGFncyB3ZXJl IHNwZWNpZmllZCBhdCBwYXJ0aXRpb24KKyAqIGNyZWF0aW9uLiBUaGUgZm9ybWF0IGlzIHRoZSBz YW1lIGFzIHRoZSBwYXJ0aXRpb24gY3JlYXRpb24gZmxhZyBzdHJ1Y3R1cmUKKyAqIGRlZmluZWQg aW4gc2VjdGlvbiBQYXJ0aXRpb24gQ3JlYXRpb24gRmxhZ3MuCisgKiBUaGVzZSBhcmUgSFlQRVJW X0NQVUlEX0ZFQVRVUkVTLkVCWCBiaXRzLgorICovCisjZGVmaW5lIEhWX1g2NF9DUkVBVEVfUEFS VElUSU9OUwkJQklUKDApCisjZGVmaW5lIEhWX1g2NF9BQ0NFU1NfUEFSVElUSU9OX0lECQlCSVQo MSkKKyNkZWZpbmUgSFZfWDY0X0FDQ0VTU19NRU1PUllfUE9PTAkJQklUKDIpCisjZGVmaW5lIEhW X1g2NF9BREpVU1RfTUVTU0FHRV9CVUZGRVJTCQlCSVQoMykKKyNkZWZpbmUgSFZfWDY0X1BPU1Rf TUVTU0FHRVMJCQlCSVQoNCkKKyNkZWZpbmUgSFZfWDY0X1NJR05BTF9FVkVOVFMJCQlCSVQoNSkK KyNkZWZpbmUgSFZfWDY0X0NSRUFURV9QT1JUCQkJQklUKDYpCisjZGVmaW5lIEhWX1g2NF9DT05O RUNUX1BPUlQJCQlCSVQoNykKKyNkZWZpbmUgSFZfWDY0X0FDQ0VTU19TVEFUUwkJCUJJVCg4KQor I2RlZmluZSBIVl9YNjRfREVCVUdHSU5HCQkJQklUKDExKQorI2RlZmluZSBIVl9YNjRfQ1BVX1BP V0VSX01BTkFHRU1FTlQJCUJJVCgxMikKKworLyoKKyAqIEZlYXR1cmUgaWRlbnRpZmljYXRpb24u IEVEWCBpbmRpY2F0ZXMgd2hpY2ggbWlzY2VsbGFuZW91cyBmZWF0dXJlcworICogYXJlIGF2YWls YWJsZSB0byB0aGUgcGFydGl0aW9uLgorICogVGhlc2UgYXJlIEhZUEVSVl9DUFVJRF9GRUFUVVJF Uy5FRFggYml0cy4KKyAqLworLyogVGhlIE1XQUlUIGluc3RydWN0aW9uIGlzIGF2YWlsYWJsZSAo cGVyIHNlY3Rpb24gTU9OSVRPUiAvIE1XQUlUKSAqLworI2RlZmluZSBIVl9YNjRfTVdBSVRfQVZB SUxBQkxFCQkJCUJJVCgwKQorLyogR3Vlc3QgZGVidWdnaW5nIHN1cHBvcnQgaXMgYXZhaWxhYmxl ICovCisjZGVmaW5lIEhWX1g2NF9HVUVTVF9ERUJVR0dJTkdfQVZBSUxBQkxFCQlCSVQoMSkKKy8q IFBlcmZvcm1hbmNlIE1vbml0b3Igc3VwcG9ydCBpcyBhdmFpbGFibGUqLworI2RlZmluZSBIVl9Y NjRfUEVSRl9NT05JVE9SX0FWQUlMQUJMRQkJCUJJVCgyKQorLyogU3VwcG9ydCBmb3IgcGh5c2lj YWwgQ1BVIGR5bmFtaWMgcGFydGl0aW9uaW5nIGV2ZW50cyBpcyBhdmFpbGFibGUqLworI2RlZmlu ZSBIVl9YNjRfQ1BVX0RZTkFNSUNfUEFSVElUSU9OSU5HX0FWQUlMQUJMRQlCSVQoMykKKy8qCisg KiBTdXBwb3J0IGZvciBwYXNzaW5nIGh5cGVyY2FsbCBpbnB1dCBwYXJhbWV0ZXIgYmxvY2sgdmlh IFhNTQorICogcmVnaXN0ZXJzIGlzIGF2YWlsYWJsZQorICovCisjZGVmaW5lIEhWX1g2NF9IWVBF UkNBTExfUEFSQU1TX1hNTV9BVkFJTEFCTEUJCUJJVCg0KQorLyogU3VwcG9ydCBmb3IgYSB2aXJ0 dWFsIGd1ZXN0IGlkbGUgc3RhdGUgaXMgYXZhaWxhYmxlICovCisjZGVmaW5lIEhWX1g2NF9HVUVT VF9JRExFX1NUQVRFX0FWQUlMQUJMRQkJQklUKDUpCisvKiBGcmVxdWVuY3kgTVNScyBhdmFpbGFi bGUgKi8KKyNkZWZpbmUgSFZfRkVBVFVSRV9GUkVRVUVOQ1lfTVNSU19BVkFJTEFCTEUJCUJJVCg4 KQorLyogQ3Jhc2ggTVNSIGF2YWlsYWJsZSAqLworI2RlZmluZSBIVl9GRUFUVVJFX0dVRVNUX0NS QVNIX01TUl9BVkFJTEFCTEUJCUJJVCgxMCkKKy8qIHN0aW1lciBEaXJlY3QgTW9kZSBpcyBhdmFp bGFibGUgKi8KKyNkZWZpbmUgSFZfU1RJTUVSX0RJUkVDVF9NT0RFX0FWQUlMQUJMRQkJCUJJVCgx OSkKKworLyoKKyAqIEltcGxlbWVudGF0aW9uIHJlY29tbWVuZGF0aW9ucy4gSW5kaWNhdGVzIHdo aWNoIGJlaGF2aW9ycyB0aGUgaHlwZXJ2aXNvcgorICogcmVjb21tZW5kcyB0aGUgT1MgaW1wbGVt ZW50IGZvciBvcHRpbWFsIHBlcmZvcm1hbmNlLgorICogVGhlc2UgYXJlIEhZUEVSVl9DUFVJRF9F TkxJR0hUTUVOVF9JTkZPLkVBWCBiaXRzLgorICovCisvKgorICogUmVjb21tZW5kIHVzaW5nIGh5 cGVyY2FsbCBmb3IgYWRkcmVzcyBzcGFjZSBzd2l0Y2hlcyByYXRoZXIKKyAqIHRoYW4gTU9WIHRv IENSMyBpbnN0cnVjdGlvbgorICovCisjZGVmaW5lIEhWX1g2NF9BU19TV0lUQ0hfUkVDT01NRU5E RUQJCQlCSVQoMCkKKy8qIFJlY29tbWVuZCB1c2luZyBoeXBlcmNhbGwgZm9yIGxvY2FsIFRMQiBm bHVzaGVzIHJhdGhlcgorICogdGhhbiBJTlZMUEcgb3IgTU9WIHRvIENSMyBpbnN0cnVjdGlvbnMg Ki8KKyNkZWZpbmUgSFZfWDY0X0xPQ0FMX1RMQl9GTFVTSF9SRUNPTU1FTkRFRAkJQklUKDEpCisv KgorICogUmVjb21tZW5kIHVzaW5nIGh5cGVyY2FsbCBmb3IgcmVtb3RlIFRMQiBmbHVzaGVzIHJh dGhlcgorICogdGhhbiBpbnRlci1wcm9jZXNzb3IgaW50ZXJydXB0cworICovCisjZGVmaW5lIEhW X1g2NF9SRU1PVEVfVExCX0ZMVVNIX1JFQ09NTUVOREVECQlCSVQoMikKKy8qCisgKiBSZWNvbW1l bmQgdXNpbmcgTVNScyBmb3IgYWNjZXNzaW5nIEFQSUMgcmVnaXN0ZXJzCisgKiBFT0ksIElDUiBh bmQgVFBSIHJhdGhlciB0aGFuIHRoZWlyIG1lbW9yeS1tYXBwZWQgY291bnRlcnBhcnRzCisgKi8K KyNkZWZpbmUgSFZfWDY0X0FQSUNfQUNDRVNTX1JFQ09NTUVOREVECQkJQklUKDMpCisvKiBSZWNv bW1lbmQgdXNpbmcgdGhlIGh5cGVydmlzb3ItcHJvdmlkZWQgTVNSIHRvIGluaXRpYXRlIGEgc3lz dGVtIFJFU0VUICovCisjZGVmaW5lIEhWX1g2NF9TWVNURU1fUkVTRVRfUkVDT01NRU5ERUQJCQlC SVQoNCkKKy8qCisgKiBSZWNvbW1lbmQgdXNpbmcgcmVsYXhlZCB0aW1pbmcgZm9yIHRoaXMgcGFy dGl0aW9uLiBJZiB1c2VkLAorICogdGhlIFZNIHNob3VsZCBkaXNhYmxlIGFueSB3YXRjaGRvZyB0 aW1lb3V0cyB0aGF0IHJlbHkgb24gdGhlCisgKiB0aW1lbHkgZGVsaXZlcnkgb2YgZXh0ZXJuYWwg aW50ZXJydXB0cworICovCisjZGVmaW5lIEhWX1g2NF9SRUxBWEVEX1RJTUlOR19SRUNPTU1FTkRF RAkJQklUKDUpCisKKy8qCisgKiBSZWNvbW1lbmQgbm90IHVzaW5nIEF1dG8gRW5kLU9mLUludGVy cnVwdCBmZWF0dXJlCisgKi8KKyNkZWZpbmUgSFZfREVQUkVDQVRJTkdfQUVPSV9SRUNPTU1FTkRF RAkJCUJJVCg5KQorCisvKgorICogUmVjb21tZW5kIHVzaW5nIGNsdXN0ZXIgSVBJIGh5cGVyY2Fs bHMuCisgKi8KKyNkZWZpbmUgSFZfWDY0X0NMVVNURVJfSVBJX1JFQ09NTUVOREVECQkJQklUKDEw KQorCisvKiBSZWNvbW1lbmQgdXNpbmcgdGhlIG5ld2VyIEV4UHJvY2Vzc29yTWFza3MgaW50ZXJm YWNlICovCisjZGVmaW5lIEhWX1g2NF9FWF9QUk9DRVNTT1JfTUFTS1NfUkVDT01NRU5ERUQJCUJJ VCgxMSkKKworLyogUmVjb21tZW5kIHVzaW5nIGVubGlnaHRlbmVkIFZNQ1MgKi8KKyNkZWZpbmUg SFZfWDY0X0VOTElHSFRFTkVEX1ZNQ1NfUkVDT01NRU5ERUQJCUJJVCgxNCkKKworLyoKKyAqIFZp cnR1YWwgcHJvY2Vzc29yIHdpbGwgbmV2ZXIgc2hhcmUgYSBwaHlzaWNhbCBjb3JlIHdpdGggYW5v dGhlciB2aXJ0dWFsCisgKiBwcm9jZXNzb3IsIGV4Y2VwdCBmb3IgdmlydHVhbCBwcm9jZXNzb3Jz IHRoYXQgYXJlIHJlcG9ydGVkIGFzIHNpYmxpbmcgU01UCisgKiB0aHJlYWRzLgorICovCisjZGVm aW5lIEhWX1g2NF9OT19OT05BUkNIX0NPUkVTSEFSSU5HICAgICAgICAgICAgICAgICAgQklUKDE4 KQorCisvKiBOZXN0ZWQgZmVhdHVyZXMuIFRoZXNlIGFyZSBIWVBFUlZfQ1BVSURfTkVTVEVEX0ZF QVRVUkVTLkVBWCBiaXRzLiAqLworI2RlZmluZSBIVl9YNjRfTkVTVEVEX0RJUkVDVF9GTFVTSAkJ CUJJVCgxNykKKyNkZWZpbmUgSFZfWDY0X05FU1RFRF9HVUVTVF9NQVBQSU5HX0ZMVVNICQlCSVQo MTgpCisjZGVmaW5lIEhWX1g2NF9ORVNURURfTVNSX0JJVE1BUAkJCUJJVCgxOSkKKworLyogSHlw ZXItViBzcGVjaWZpYyBtb2RlbCBzcGVjaWZpYyByZWdpc3RlcnMgKE1TUnMpICovCisKKy8qIE1T UiB1c2VkIHRvIGlkZW50aWZ5IHRoZSBndWVzdCBPUy4gKi8KKyNkZWZpbmUgSFZfWDY0X01TUl9H VUVTVF9PU19JRAkJCTB4NDAwMDAwMDAKKworLyogTVNSIHVzZWQgdG8gc2V0dXAgcGFnZXMgdXNl ZCB0byBjb21tdW5pY2F0ZSB3aXRoIHRoZSBoeXBlcnZpc29yLiAqLworI2RlZmluZSBIVl9YNjRf TVNSX0hZUEVSQ0FMTAkJCTB4NDAwMDAwMDEKKworLyogTVNSIHVzZWQgdG8gcHJvdmlkZSB2Y3B1 IGluZGV4ICovCisjZGVmaW5lIEhWX1g2NF9NU1JfVlBfSU5ERVgJCQkweDQwMDAwMDAyCisKKy8q IE1TUiB1c2VkIHRvIHJlc2V0IHRoZSBndWVzdCBPUy4gKi8KKyNkZWZpbmUgSFZfWDY0X01TUl9S RVNFVAkJCTB4NDAwMDAwMDMKKworLyogTVNSIHVzZWQgdG8gcHJvdmlkZSB2Y3B1IHJ1bnRpbWUg aW4gMTAwbnMgdW5pdHMgKi8KKyNkZWZpbmUgSFZfWDY0X01TUl9WUF9SVU5USU1FCQkJMHg0MDAw MDAxMAorCisvKiBNU1IgdXNlZCB0byByZWFkIHRoZSBwZXItcGFydGl0aW9uIHRpbWUgcmVmZXJl bmNlIGNvdW50ZXIgKi8KKyNkZWZpbmUgSFZfWDY0X01TUl9USU1FX1JFRl9DT1VOVAkJMHg0MDAw MDAyMAorCisvKiBBIHBhcnRpdGlvbidzIHJlZmVyZW5jZSB0aW1lIHN0YW1wIGNvdW50ZXIgKFRT QykgcGFnZSAqLworI2RlZmluZSBIVl9YNjRfTVNSX1JFRkVSRU5DRV9UU0MJCTB4NDAwMDAwMjEK KworLyogTVNSIHVzZWQgdG8gcmV0cmlldmUgdGhlIFRTQyBmcmVxdWVuY3kgKi8KKyNkZWZpbmUg SFZfWDY0X01TUl9UU0NfRlJFUVVFTkNZCQkweDQwMDAwMDIyCisKKy8qIE1TUiB1c2VkIHRvIHJl dHJpZXZlIHRoZSBsb2NhbCBBUElDIHRpbWVyIGZyZXF1ZW5jeSAqLworI2RlZmluZSBIVl9YNjRf TVNSX0FQSUNfRlJFUVVFTkNZCQkweDQwMDAwMDIzCisKKy8qIERlZmluZSB0aGUgdmlydHVhbCBB UElDIHJlZ2lzdGVycyAqLworI2RlZmluZSBIVl9YNjRfTVNSX0VPSQkJCQkweDQwMDAwMDcwCisj ZGVmaW5lIEhWX1g2NF9NU1JfSUNSCQkJCTB4NDAwMDAwNzEKKyNkZWZpbmUgSFZfWDY0X01TUl9U UFIJCQkJMHg0MDAwMDA3MgorI2RlZmluZSBIVl9YNjRfTVNSX1ZQX0FTU0lTVF9QQUdFCQkweDQw MDAwMDczCisKKy8qIERlZmluZSBzeW50aGV0aWMgaW50ZXJydXB0IGNvbnRyb2xsZXIgbW9kZWwg c3BlY2lmaWMgcmVnaXN0ZXJzLiAqLworI2RlZmluZSBIVl9YNjRfTVNSX1NDT05UUk9MCQkJMHg0 MDAwMDA4MAorI2RlZmluZSBIVl9YNjRfTVNSX1NWRVJTSU9OCQkJMHg0MDAwMDA4MQorI2RlZmlu ZSBIVl9YNjRfTVNSX1NJRUZQCQkJMHg0MDAwMDA4MgorI2RlZmluZSBIVl9YNjRfTVNSX1NJTVAJ CQkJMHg0MDAwMDA4MworI2RlZmluZSBIVl9YNjRfTVNSX0VPTQkJCQkweDQwMDAwMDg0CisjZGVm aW5lIEhWX1g2NF9NU1JfU0lOVDAJCQkweDQwMDAwMDkwCisjZGVmaW5lIEhWX1g2NF9NU1JfU0lO VDEJCQkweDQwMDAwMDkxCisjZGVmaW5lIEhWX1g2NF9NU1JfU0lOVDIJCQkweDQwMDAwMDkyCisj ZGVmaW5lIEhWX1g2NF9NU1JfU0lOVDMJCQkweDQwMDAwMDkzCisjZGVmaW5lIEhWX1g2NF9NU1Jf U0lOVDQJCQkweDQwMDAwMDk0CisjZGVmaW5lIEhWX1g2NF9NU1JfU0lOVDUJCQkweDQwMDAwMDk1 CisjZGVmaW5lIEhWX1g2NF9NU1JfU0lOVDYJCQkweDQwMDAwMDk2CisjZGVmaW5lIEhWX1g2NF9N U1JfU0lOVDcJCQkweDQwMDAwMDk3CisjZGVmaW5lIEhWX1g2NF9NU1JfU0lOVDgJCQkweDQwMDAw MDk4CisjZGVmaW5lIEhWX1g2NF9NU1JfU0lOVDkJCQkweDQwMDAwMDk5CisjZGVmaW5lIEhWX1g2 NF9NU1JfU0lOVDEwCQkJMHg0MDAwMDA5QQorI2RlZmluZSBIVl9YNjRfTVNSX1NJTlQxMQkJCTB4 NDAwMDAwOUIKKyNkZWZpbmUgSFZfWDY0X01TUl9TSU5UMTIJCQkweDQwMDAwMDlDCisjZGVmaW5l IEhWX1g2NF9NU1JfU0lOVDEzCQkJMHg0MDAwMDA5RAorI2RlZmluZSBIVl9YNjRfTVNSX1NJTlQx NAkJCTB4NDAwMDAwOUUKKyNkZWZpbmUgSFZfWDY0X01TUl9TSU5UMTUJCQkweDQwMDAwMDlGCisK Ky8qCisgKiBTeW50aGV0aWMgVGltZXIgTVNScy4gRm91ciB0aW1lcnMgcGVyIHZjcHUuCisgKi8K KyNkZWZpbmUgSFZfWDY0X01TUl9TVElNRVIwX0NPTkZJRwkJMHg0MDAwMDBCMAorI2RlZmluZSBI Vl9YNjRfTVNSX1NUSU1FUjBfQ09VTlQJCTB4NDAwMDAwQjEKKyNkZWZpbmUgSFZfWDY0X01TUl9T VElNRVIxX0NPTkZJRwkJMHg0MDAwMDBCMgorI2RlZmluZSBIVl9YNjRfTVNSX1NUSU1FUjFfQ09V TlQJCTB4NDAwMDAwQjMKKyNkZWZpbmUgSFZfWDY0X01TUl9TVElNRVIyX0NPTkZJRwkJMHg0MDAw MDBCNAorI2RlZmluZSBIVl9YNjRfTVNSX1NUSU1FUjJfQ09VTlQJCTB4NDAwMDAwQjUKKyNkZWZp bmUgSFZfWDY0X01TUl9TVElNRVIzX0NPTkZJRwkJMHg0MDAwMDBCNgorI2RlZmluZSBIVl9YNjRf TVNSX1NUSU1FUjNfQ09VTlQJCTB4NDAwMDAwQjcKKworLyogSHlwZXItViBndWVzdCBpZGxlIE1T UiAqLworI2RlZmluZSBIVl9YNjRfTVNSX0dVRVNUX0lETEUJCQkweDQwMDAwMEYwCisKKy8qIEh5 cGVyLVYgZ3Vlc3QgY3Jhc2ggbm90aWZpY2F0aW9uIE1TUidzICovCisjZGVmaW5lIEhWX1g2NF9N U1JfQ1JBU0hfUDAJCQkweDQwMDAwMTAwCisjZGVmaW5lIEhWX1g2NF9NU1JfQ1JBU0hfUDEJCQkw eDQwMDAwMTAxCisjZGVmaW5lIEhWX1g2NF9NU1JfQ1JBU0hfUDIJCQkweDQwMDAwMTAyCisjZGVm aW5lIEhWX1g2NF9NU1JfQ1JBU0hfUDMJCQkweDQwMDAwMTAzCisjZGVmaW5lIEhWX1g2NF9NU1Jf Q1JBU0hfUDQJCQkweDQwMDAwMTA0CisjZGVmaW5lIEhWX1g2NF9NU1JfQ1JBU0hfQ1RMCQkJMHg0 MDAwMDEwNQorCisvKiBUU0MgZW11bGF0aW9uIGFmdGVyIG1pZ3JhdGlvbiAqLworI2RlZmluZSBI Vl9YNjRfTVNSX1JFRU5MSUdIVEVOTUVOVF9DT05UUk9MCTB4NDAwMDAxMDYKKyNkZWZpbmUgSFZf WDY0X01TUl9UU0NfRU1VTEFUSU9OX0NPTlRST0wJMHg0MDAwMDEwNworI2RlZmluZSBIVl9YNjRf TVNSX1RTQ19FTVVMQVRJT05fU1RBVFVTCQkweDQwMDAwMTA4CisKKy8qCisgKiBEZWNsYXJlIHRo ZSBNU1IgdXNlZCB0byBzZXR1cCBwYWdlcyB1c2VkIHRvIGNvbW11bmljYXRlIHdpdGggdGhlIGh5 cGVydmlzb3IuCisgKi8KK3VuaW9uIGh2X3g2NF9tc3JfaHlwZXJjYWxsX2NvbnRlbnRzIHsKKwl1 NjQgYXNfdWludDY0OworCXN0cnVjdCB7CisJCXU2NCBlbmFibGU6MTsKKwkJdTY0IHJlc2VydmVk OjExOworCQl1NjQgZ3Vlc3RfcGh5c2ljYWxfYWRkcmVzczo1MjsKKwl9IF9fcGFja2VkOworfTsK KworLyoKKyAqIFRTQyBwYWdlIGxheW91dC4KKyAqLworc3RydWN0IG1zX2h5cGVydl90c2NfcGFn ZSB7CisJdm9sYXRpbGUgdTMyIHRzY19zZXF1ZW5jZTsKKwl1MzIgcmVzZXJ2ZWQxOworCXZvbGF0 aWxlIHU2NCB0c2Nfc2NhbGU7CisJdm9sYXRpbGUgczY0IHRzY19vZmZzZXQ7CisJdTY0IHJlc2Vy dmVkMls1MDldOworfSAgX19wYWNrZWQ7CisKKy8qCisgKiBUaGUgZ3Vlc3QgT1MgbmVlZHMgdG8g cmVnaXN0ZXIgdGhlIGd1ZXN0IElEIHdpdGggdGhlIGh5cGVydmlzb3IuCisgKiBUaGUgZ3Vlc3Qg SUQgaXMgYSA2NCBiaXQgZW50aXR5IGFuZCB0aGUgc3RydWN0dXJlIG9mIHRoaXMgSUQgaXMKKyAq IHNwZWNpZmllZCBpbiB0aGUgSHlwZXItViBzcGVjaWZpY2F0aW9uOgorICoKKyAqIG1zZG4ubWlj cm9zb2Z0LmNvbS9lbi11cy9saWJyYXJ5L3dpbmRvd3MvaGFyZHdhcmUvZmY1NDI2NTMlMjh2PXZz Ljg1JTI5LmFzcHgKKyAqCisgKiBXaGlsZSB0aGUgY3VycmVudCBndWlkZWxpbmUgZG9lcyBub3Qg c3BlY2lmeSBob3cgTGludXggZ3Vlc3QgSUQocykKKyAqIG5lZWQgdG8gYmUgZ2VuZXJhdGVkLCBv dXIgcGxhbiBpcyB0byBwdWJsaXNoIHRoZSBndWlkZWxpbmVzIGZvcgorICogTGludXggYW5kIG90 aGVyIGd1ZXN0IG9wZXJhdGluZyBzeXN0ZW1zIHRoYXQgY3VycmVudGx5IGFyZSBob3N0ZWQKKyAq IG9uIEh5cGVyLVYuIFRoZSBpbXBsZW1lbnRhdGlvbiBoZXJlIGNvbmZvcm1zIHRvIHRoaXMgeWV0 CisgKiB1bnB1Ymxpc2hlZCBndWlkZWxpbmVzLgorICoKKyAqCisgKiBCaXQocykKKyAqIDYzIC0g SW5kaWNhdGVzIGlmIHRoZSBPUyBpcyBPcGVuIFNvdXJjZSBvciBub3Q7IDEgaXMgT3BlbiBTb3Vy Y2UKKyAqIDYyOjU2IC0gT3MgVHlwZTsgTGludXggaXMgMHgxMDAKKyAqIDU1OjQ4IC0gRGlzdHJv IHNwZWNpZmljIGlkZW50aWZpY2F0aW9uCisgKiA0NzoxNiAtIExpbnV4IGtlcm5lbCB2ZXJzaW9u IG51bWJlcgorICogMTU6MCAgLSBEaXN0cm8gc3BlY2lmaWMgaWRlbnRpZmljYXRpb24KKyAqCisg KgorICovCisKKyNkZWZpbmUgSFZfTElOVVhfVkVORE9SX0lEICAgICAgICAgICAgICAweDgxMDAK Kworc3RydWN0IGh2X3JlZW5saWdodGVubWVudF9jb250cm9sIHsKKwlfX3U2NCB2ZWN0b3I6ODsK KwlfX3U2NCByZXNlcnZlZDE6ODsKKwlfX3U2NCBlbmFibGVkOjE7CisJX191NjQgcmVzZXJ2ZWQy OjE1OworCV9fdTY0IHRhcmdldF92cDozMjsKK30gIF9fcGFja2VkOworCitzdHJ1Y3QgaHZfdHNj X2VtdWxhdGlvbl9jb250cm9sIHsKKwlfX3U2NCBlbmFibGVkOjE7CisJX191NjQgcmVzZXJ2ZWQ6 NjM7Cit9IF9fcGFja2VkOworCitzdHJ1Y3QgaHZfdHNjX2VtdWxhdGlvbl9zdGF0dXMgeworCV9f dTY0IGlucHJvZ3Jlc3M6MTsKKwlfX3U2NCByZXNlcnZlZDo2MzsKK30gX19wYWNrZWQ7CisKKyNk ZWZpbmUgSFZfWDY0X01TUl9IWVBFUkNBTExfRU5BQkxFCQkweDAwMDAwMDAxCisjZGVmaW5lIEhW X1g2NF9NU1JfSFlQRVJDQUxMX1BBR0VfQUREUkVTU19TSElGVAkxMgorI2RlZmluZSBIVl9YNjRf TVNSX0hZUEVSQ0FMTF9QQUdFX0FERFJFU1NfTUFTSwlcCisJCSh+KCgxdWxsIDw8IEhWX1g2NF9N U1JfSFlQRVJDQUxMX1BBR0VfQUREUkVTU19TSElGVCkgLSAxKSkKKworLyoKKyAqIENyYXNoIG5v dGlmaWNhdGlvbiAoSFZfWDY0X01TUl9DUkFTSF9DVEwpIGZsYWdzLgorICovCisjZGVmaW5lIEhW X0NSQVNIX0NUTF9DUkFTSF9OT1RJRllfTVNHCQlCSVRfVUxMKDYyKQorI2RlZmluZSBIVl9DUkFT SF9DVExfQ1JBU0hfTk9USUZZCQlCSVRfVUxMKDYzKQorI2RlZmluZSBIVl9YNjRfTVNSX0NSQVNI X1BBUkFNUwkJXAorCQkoMSArIChIVl9YNjRfTVNSX0NSQVNIX1A0IC0gSFZfWDY0X01TUl9DUkFT SF9QMCkpCisKKyNkZWZpbmUgSFZfSVBJX0xPV19WRUNUT1IJMHgxMAorI2RlZmluZSBIVl9JUElf SElHSF9WRUNUT1IJMHhmZgorCisvKiBEZWNsYXJlIHRoZSB2YXJpb3VzIGh5cGVyY2FsbCBvcGVy YXRpb25zLiAqLworI2RlZmluZSBIVkNBTExfRkxVU0hfVklSVFVBTF9BRERSRVNTX1NQQUNFCTB4 MDAwMgorI2RlZmluZSBIVkNBTExfRkxVU0hfVklSVFVBTF9BRERSRVNTX0xJU1QJMHgwMDAzCisj ZGVmaW5lIEhWQ0FMTF9OT1RJRllfTE9OR19TUElOX1dBSVQJCTB4MDAwOAorI2RlZmluZSBIVkNB TExfU0VORF9JUEkJCQkJMHgwMDBiCisjZGVmaW5lIEhWQ0FMTF9GTFVTSF9WSVJUVUFMX0FERFJF U1NfU1BBQ0VfRVggIDB4MDAxMworI2RlZmluZSBIVkNBTExfRkxVU0hfVklSVFVBTF9BRERSRVNT X0xJU1RfRVggICAweDAwMTQKKyNkZWZpbmUgSFZDQUxMX1NFTkRfSVBJX0VYCQkJMHgwMDE1Cisj ZGVmaW5lIEhWQ0FMTF9QT1NUX01FU1NBR0UJCQkweDAwNWMKKyNkZWZpbmUgSFZDQUxMX1NJR05B TF9FVkVOVAkJCTB4MDA1ZAorI2RlZmluZSBIVkNBTExfRkxVU0hfR1VFU1RfUEhZU0lDQUxfQURE UkVTU19TUEFDRSAweDAwYWYKKyNkZWZpbmUgSFZDQUxMX0ZMVVNIX0dVRVNUX1BIWVNJQ0FMX0FE RFJFU1NfTElTVCAweDAwYjAKKworI2RlZmluZSBIVl9YNjRfTVNSX1ZQX0FTU0lTVF9QQUdFX0VO QUJMRQkweDAwMDAwMDAxCisjZGVmaW5lIEhWX1g2NF9NU1JfVlBfQVNTSVNUX1BBR0VfQUREUkVT U19TSElGVAkxMgorI2RlZmluZSBIVl9YNjRfTVNSX1ZQX0FTU0lTVF9QQUdFX0FERFJFU1NfTUFT SwlcCisJCSh+KCgxdWxsIDw8IEhWX1g2NF9NU1JfVlBfQVNTSVNUX1BBR0VfQUREUkVTU19TSElG VCkgLSAxKSkKKworLyogSHlwZXItViBFbmxpZ2h0ZW5lZCBWTUNTIHZlcnNpb24gbWFzayBpbiBu ZXN0ZWQgZmVhdHVyZXMgQ1BVSUQgKi8KKyNkZWZpbmUgSFZfWDY0X0VOTElHSFRFTkVEX1ZNQ1Nf VkVSU0lPTgkJMHhmZgorCisjZGVmaW5lIEhWX1g2NF9NU1JfVFNDX1JFRkVSRU5DRV9FTkFCTEUJ CTB4MDAwMDAwMDEKKyNkZWZpbmUgSFZfWDY0X01TUl9UU0NfUkVGRVJFTkNFX0FERFJFU1NfU0hJ RlQJMTIKKworI2RlZmluZSBIVl9QUk9DRVNTT1JfUE9XRVJfU1RBVEVfQzAJCTAKKyNkZWZpbmUg SFZfUFJPQ0VTU09SX1BPV0VSX1NUQVRFX0MxCQkxCisjZGVmaW5lIEhWX1BST0NFU1NPUl9QT1dF Ul9TVEFURV9DMgkJMgorI2RlZmluZSBIVl9QUk9DRVNTT1JfUE9XRVJfU1RBVEVfQzMJCTMKKwor I2RlZmluZSBIVl9GTFVTSF9BTExfUFJPQ0VTU09SUwkJCUJJVCgwKQorI2RlZmluZSBIVl9GTFVT SF9BTExfVklSVFVBTF9BRERSRVNTX1NQQUNFUwlCSVQoMSkKKyNkZWZpbmUgSFZfRkxVU0hfTk9O X0dMT0JBTF9NQVBQSU5HU19PTkxZCUJJVCgyKQorI2RlZmluZSBIVl9GTFVTSF9VU0VfRVhURU5E RURfUkFOR0VfRk9STUFUCUJJVCgzKQorCitlbnVtIEhWX0dFTkVSSUNfU0VUX0ZPUk1BVCB7CisJ SFZfR0VORVJJQ19TRVRfU1BBUlNFXzRLLAorCUhWX0dFTkVSSUNfU0VUX0FMTCwKK307CisKKyNk ZWZpbmUgSFZfSFlQRVJDQUxMX1JFU1VMVF9NQVNLCUdFTk1BU0tfVUxMKDE1LCAwKQorI2RlZmlu ZSBIVl9IWVBFUkNBTExfRkFTVF9CSVQJCUJJVCgxNikKKyNkZWZpbmUgSFZfSFlQRVJDQUxMX1ZB UkhFQURfT0ZGU0VUCTE3CisjZGVmaW5lIEhWX0hZUEVSQ0FMTF9SRVBfQ09NUF9PRkZTRVQJMzIK KyNkZWZpbmUgSFZfSFlQRVJDQUxMX1JFUF9DT01QX01BU0sJR0VOTUFTS19VTEwoNDMsIDMyKQor I2RlZmluZSBIVl9IWVBFUkNBTExfUkVQX1NUQVJUX09GRlNFVAk0OAorI2RlZmluZSBIVl9IWVBF UkNBTExfUkVQX1NUQVJUX01BU0sJR0VOTUFTS19VTEwoNTksIDQ4KQorCisvKiBoeXBlcmNhbGwg c3RhdHVzIGNvZGUgKi8KKyNkZWZpbmUgSFZfU1RBVFVTX1NVQ0NFU1MJCQkwCisjZGVmaW5lIEhW X1NUQVRVU19JTlZBTElEX0hZUEVSQ0FMTF9DT0RFCTIKKyNkZWZpbmUgSFZfU1RBVFVTX0lOVkFM SURfSFlQRVJDQUxMX0lOUFVUCTMKKyNkZWZpbmUgSFZfU1RBVFVTX0lOVkFMSURfQUxJR05NRU5U CQk0CisjZGVmaW5lIEhWX1NUQVRVU19JTlZBTElEX1BBUkFNRVRFUgkJNQorI2RlZmluZSBIVl9T VEFUVVNfSU5TVUZGSUNJRU5UX01FTU9SWQkJMTEKKyNkZWZpbmUgSFZfU1RBVFVTX0lOVkFMSURf UE9SVF9JRAkJMTcKKyNkZWZpbmUgSFZfU1RBVFVTX0lOVkFMSURfQ09OTkVDVElPTl9JRAkJMTgK KyNkZWZpbmUgSFZfU1RBVFVTX0lOU1VGRklDSUVOVF9CVUZGRVJTCQkxOQorCisvKgorICogVGhl IEh5cGVyLVYgVGltZVJlZkNvdW50IHJlZ2lzdGVyIGFuZCB0aGUgVFNDCisgKiBwYWdlIHByb3Zp ZGUgYSBndWVzdCBWTSBjbG9jayB3aXRoIDEwMG5zIHRpY2sgcmF0ZQorICovCisjZGVmaW5lIEhW X0NMT0NLX0haIChOU0VDX1BFUl9TRUMvMTAwKQorCit0eXBlZGVmIHN0cnVjdCBfSFZfUkVGRVJF TkNFX1RTQ19QQUdFIHsKKwlfX3UzMiB0c2Nfc2VxdWVuY2U7CisJX191MzIgcmVzMTsKKwlfX3U2 NCB0c2Nfc2NhbGU7CisJX19zNjQgdHNjX29mZnNldDsKK30gIF9fcGFja2VkIEhWX1JFRkVSRU5D RV9UU0NfUEFHRSwgKlBIVl9SRUZFUkVOQ0VfVFNDX1BBR0U7CisKKy8qIERlZmluZSB0aGUgbnVt YmVyIG9mIHN5bnRoZXRpYyBpbnRlcnJ1cHQgc291cmNlcy4gKi8KKyNkZWZpbmUgSFZfU1lOSUNf U0lOVF9DT1VOVAkJKDE2KQorLyogRGVmaW5lIHRoZSBleHBlY3RlZCBTeW5JQyB2ZXJzaW9uLiAq LworI2RlZmluZSBIVl9TWU5JQ19WRVJTSU9OXzEJCSgweDEpCisvKiBWYWxpZCBTeW5JQyB2ZWN0 b3JzIGFyZSAxNi0yNTUuICovCisjZGVmaW5lIEhWX1NZTklDX0ZJUlNUX1ZBTElEX1ZFQ1RPUgko MTYpCisKKyNkZWZpbmUgSFZfU1lOSUNfQ09OVFJPTF9FTkFCTEUJCSgxVUxMIDw8IDApCisjZGVm aW5lIEhWX1NZTklDX1NJTVBfRU5BQkxFCQkoMVVMTCA8PCAwKQorI2RlZmluZSBIVl9TWU5JQ19T SUVGUF9FTkFCTEUJCSgxVUxMIDw8IDApCisjZGVmaW5lIEhWX1NZTklDX1NJTlRfTUFTS0VECQko MVVMTCA8PCAxNikKKyNkZWZpbmUgSFZfU1lOSUNfU0lOVF9BVVRPX0VPSQkJKDFVTEwgPDwgMTcp CisjZGVmaW5lIEhWX1NZTklDX1NJTlRfVkVDVE9SX01BU0sJKDB4RkYpCisKKyNkZWZpbmUgSFZf U1lOSUNfU1RJTUVSX0NPVU5UCQkoNCkKKworLyogRGVmaW5lIHN5bnRoZXRpYyBpbnRlcnJ1cHQg Y29udHJvbGxlciBtZXNzYWdlIGNvbnN0YW50cy4gKi8KKyNkZWZpbmUgSFZfTUVTU0FHRV9TSVpF CQkJKDI1NikKKyNkZWZpbmUgSFZfTUVTU0FHRV9QQVlMT0FEX0JZVEVfQ09VTlQJKDI0MCkKKyNk ZWZpbmUgSFZfTUVTU0FHRV9QQVlMT0FEX1FXT1JEX0NPVU5UCSgzMCkKKworLyogRGVmaW5lIGh5 cGVydmlzb3IgbWVzc2FnZSB0eXBlcy4gKi8KK2VudW0gaHZfbWVzc2FnZV90eXBlIHsKKwlIVk1T R19OT05FCQkJPSAweDAwMDAwMDAwLAorCisJLyogTWVtb3J5IGFjY2VzcyBtZXNzYWdlcy4gKi8K KwlIVk1TR19VTk1BUFBFRF9HUEEJCT0gMHg4MDAwMDAwMCwKKwlIVk1TR19HUEFfSU5URVJDRVBU CQk9IDB4ODAwMDAwMDEsCisKKwkvKiBUaW1lciBub3RpZmljYXRpb24gbWVzc2FnZXMuICovCisJ SFZNU0dfVElNRVJfRVhQSVJFRAkJCT0gMHg4MDAwMDAxMCwKKworCS8qIEVycm9yIG1lc3NhZ2Vz LiAqLworCUhWTVNHX0lOVkFMSURfVlBfUkVHSVNURVJfVkFMVUUJPSAweDgwMDAwMDIwLAorCUhW TVNHX1VOUkVDT1ZFUkFCTEVfRVhDRVBUSU9OCT0gMHg4MDAwMDAyMSwKKwlIVk1TR19VTlNVUFBP UlRFRF9GRUFUVVJFCQk9IDB4ODAwMDAwMjIsCisKKwkvKiBUcmFjZSBidWZmZXIgY29tcGxldGUg bWVzc2FnZXMuICovCisJSFZNU0dfRVZFTlRMT0dfQlVGRkVSQ09NUExFVEUJPSAweDgwMDAwMDQw LAorCisJLyogUGxhdGZvcm0tc3BlY2lmaWMgcHJvY2Vzc29yIGludGVyY2VwdCBtZXNzYWdlcy4g Ki8KKwlIVk1TR19YNjRfSU9QT1JUX0lOVEVSQ0VQVAkJPSAweDgwMDEwMDAwLAorCUhWTVNHX1g2 NF9NU1JfSU5URVJDRVBUCQk9IDB4ODAwMTAwMDEsCisJSFZNU0dfWDY0X0NQVUlEX0lOVEVSQ0VQ VAkJPSAweDgwMDEwMDAyLAorCUhWTVNHX1g2NF9FWENFUFRJT05fSU5URVJDRVBUCT0gMHg4MDAx MDAwMywKKwlIVk1TR19YNjRfQVBJQ19FT0kJCQk9IDB4ODAwMTAwMDQsCisJSFZNU0dfWDY0X0xF R0FDWV9GUF9FUlJPUgkJPSAweDgwMDEwMDA1Cit9OworCisvKiBEZWZpbmUgc3ludGhldGljIGlu dGVycnVwdCBjb250cm9sbGVyIG1lc3NhZ2UgZmxhZ3MuICovCit1bmlvbiBodl9tZXNzYWdlX2Zs YWdzIHsKKwlfX3U4IGFzdTg7CisJc3RydWN0IHsKKwkJX191OCBtc2dfcGVuZGluZzoxOworCQlf X3U4IHJlc2VydmVkOjc7CisJfSBfX3BhY2tlZDsKK307CisKKy8qIERlZmluZSBwb3J0IGlkZW50 aWZpZXIgdHlwZS4gKi8KK3VuaW9uIGh2X3BvcnRfaWQgeworCV9fdTMyIGFzdTMyOworCXN0cnVj dCB7CisJCV9fdTMyIGlkOjI0OworCQlfX3UzMiByZXNlcnZlZDo4OworCX0gX19wYWNrZWQgdTsK K307CisKKy8qIERlZmluZSBzeW50aGV0aWMgaW50ZXJydXB0IGNvbnRyb2xsZXIgbWVzc2FnZSBo ZWFkZXIuICovCitzdHJ1Y3QgaHZfbWVzc2FnZV9oZWFkZXIgeworCV9fdTMyIG1lc3NhZ2VfdHlw ZTsKKwlfX3U4IHBheWxvYWRfc2l6ZTsKKwl1bmlvbiBodl9tZXNzYWdlX2ZsYWdzIG1lc3NhZ2Vf ZmxhZ3M7CisJX191OCByZXNlcnZlZFsyXTsKKwl1bmlvbiB7CisJCV9fdTY0IHNlbmRlcjsKKwkJ dW5pb24gaHZfcG9ydF9pZCBwb3J0OworCX07Cit9IF9fcGFja2VkOworCisvKiBEZWZpbmUgc3lu dGhldGljIGludGVycnVwdCBjb250cm9sbGVyIG1lc3NhZ2UgZm9ybWF0LiAqLworc3RydWN0IGh2 X21lc3NhZ2UgeworCXN0cnVjdCBodl9tZXNzYWdlX2hlYWRlciBoZWFkZXI7CisJdW5pb24gewor CQlfX3U2NCBwYXlsb2FkW0hWX01FU1NBR0VfUEFZTE9BRF9RV09SRF9DT1VOVF07CisJfSB1Owor fSBfX3BhY2tlZDsKKworLyogRGVmaW5lIHRoZSBzeW50aGV0aWMgaW50ZXJydXB0IG1lc3NhZ2Ug cGFnZSBsYXlvdXQuICovCitzdHJ1Y3QgaHZfbWVzc2FnZV9wYWdlIHsKKwlzdHJ1Y3QgaHZfbWVz c2FnZSBzaW50X21lc3NhZ2VbSFZfU1lOSUNfU0lOVF9DT1VOVF07Cit9IF9fcGFja2VkOworCisv KiBEZWZpbmUgdGltZXIgbWVzc2FnZSBwYXlsb2FkIHN0cnVjdHVyZS4gKi8KK3N0cnVjdCBodl90 aW1lcl9tZXNzYWdlX3BheWxvYWQgeworCV9fdTMyIHRpbWVyX2luZGV4OworCV9fdTMyIHJlc2Vy dmVkOworCV9fdTY0IGV4cGlyYXRpb25fdGltZTsJLyogV2hlbiB0aGUgdGltZXIgZXhwaXJlZCAq LworCV9fdTY0IGRlbGl2ZXJ5X3RpbWU7CS8qIFdoZW4gdGhlIG1lc3NhZ2Ugd2FzIGRlbGl2ZXJl ZCAqLworfSBfX3BhY2tlZDsKKworc3RydWN0IGh2X25lc3RlZF9lbmxpZ2h0ZW5tZW50c19jb250 cm9sIHsKKwlzdHJ1Y3QgeworCQlfX3UzMiBkaXJlY3RoeXBlcmNhbGw6MTsKKwkJX191MzIgcmVz ZXJ2ZWQ6MzE7CisJfSBmZWF0dXJlczsKKwlzdHJ1Y3QgeworCQlfX3UzMiByZXNlcnZlZDsKKwl9 IGh5cGVyY2FsbENvbnRyb2xzOworfSBfX3BhY2tlZDsKKworLyogRGVmaW5lIHZpcnR1YWwgcHJv Y2Vzc29yIGFzc2lzdCBwYWdlIHN0cnVjdHVyZS4gKi8KK3N0cnVjdCBodl92cF9hc3Npc3RfcGFn ZSB7CisJX191MzIgYXBpY19hc3Npc3Q7CisJX191MzIgcmVzZXJ2ZWQxOworCV9fdTY0IHZ0bF9j b250cm9sWzNdOworCXN0cnVjdCBodl9uZXN0ZWRfZW5saWdodGVubWVudHNfY29udHJvbCBuZXN0 ZWRfY29udHJvbDsKKwlfX3U4IGVubGlnaHRlbl92bWVudHJ5OworCV9fdTggcmVzZXJ2ZWQyWzdd OworCV9fdTY0IGN1cnJlbnRfbmVzdGVkX3ZtY3M7Cit9IF9fcGFja2VkOworCitzdHJ1Y3QgaHZf ZW5saWdodGVuZWRfdm1jcyB7CisJdTMyIHJldmlzaW9uX2lkOworCXUzMiBhYm9ydDsKKworCXUx NiBob3N0X2VzX3NlbGVjdG9yOworCXUxNiBob3N0X2NzX3NlbGVjdG9yOworCXUxNiBob3N0X3Nz X3NlbGVjdG9yOworCXUxNiBob3N0X2RzX3NlbGVjdG9yOworCXUxNiBob3N0X2ZzX3NlbGVjdG9y OworCXUxNiBob3N0X2dzX3NlbGVjdG9yOworCXUxNiBob3N0X3RyX3NlbGVjdG9yOworCisJdTE2 IHBhZGRpbmcxNl8xOworCisJdTY0IGhvc3RfaWEzMl9wYXQ7CisJdTY0IGhvc3RfaWEzMl9lZmVy OworCisJdTY0IGhvc3RfY3IwOworCXU2NCBob3N0X2NyMzsKKwl1NjQgaG9zdF9jcjQ7CisKKwl1 NjQgaG9zdF9pYTMyX3N5c2VudGVyX2VzcDsKKwl1NjQgaG9zdF9pYTMyX3N5c2VudGVyX2VpcDsK Kwl1NjQgaG9zdF9yaXA7CisJdTMyIGhvc3RfaWEzMl9zeXNlbnRlcl9jczsKKworCXUzMiBwaW5f YmFzZWRfdm1fZXhlY19jb250cm9sOworCXUzMiB2bV9leGl0X2NvbnRyb2xzOworCXUzMiBzZWNv bmRhcnlfdm1fZXhlY19jb250cm9sOworCisJdTY0IGlvX2JpdG1hcF9hOworCXU2NCBpb19iaXRt YXBfYjsKKwl1NjQgbXNyX2JpdG1hcDsKKworCXUxNiBndWVzdF9lc19zZWxlY3RvcjsKKwl1MTYg Z3Vlc3RfY3Nfc2VsZWN0b3I7CisJdTE2IGd1ZXN0X3NzX3NlbGVjdG9yOworCXUxNiBndWVzdF9k c19zZWxlY3RvcjsKKwl1MTYgZ3Vlc3RfZnNfc2VsZWN0b3I7CisJdTE2IGd1ZXN0X2dzX3NlbGVj dG9yOworCXUxNiBndWVzdF9sZHRyX3NlbGVjdG9yOworCXUxNiBndWVzdF90cl9zZWxlY3RvcjsK KworCXUzMiBndWVzdF9lc19saW1pdDsKKwl1MzIgZ3Vlc3RfY3NfbGltaXQ7CisJdTMyIGd1ZXN0 X3NzX2xpbWl0OworCXUzMiBndWVzdF9kc19saW1pdDsKKwl1MzIgZ3Vlc3RfZnNfbGltaXQ7CisJ dTMyIGd1ZXN0X2dzX2xpbWl0OworCXUzMiBndWVzdF9sZHRyX2xpbWl0OworCXUzMiBndWVzdF90 cl9saW1pdDsKKwl1MzIgZ3Vlc3RfZ2R0cl9saW1pdDsKKwl1MzIgZ3Vlc3RfaWR0cl9saW1pdDsK KworCXUzMiBndWVzdF9lc19hcl9ieXRlczsKKwl1MzIgZ3Vlc3RfY3NfYXJfYnl0ZXM7CisJdTMy IGd1ZXN0X3NzX2FyX2J5dGVzOworCXUzMiBndWVzdF9kc19hcl9ieXRlczsKKwl1MzIgZ3Vlc3Rf ZnNfYXJfYnl0ZXM7CisJdTMyIGd1ZXN0X2dzX2FyX2J5dGVzOworCXUzMiBndWVzdF9sZHRyX2Fy X2J5dGVzOworCXUzMiBndWVzdF90cl9hcl9ieXRlczsKKworCXU2NCBndWVzdF9lc19iYXNlOwor CXU2NCBndWVzdF9jc19iYXNlOworCXU2NCBndWVzdF9zc19iYXNlOworCXU2NCBndWVzdF9kc19i YXNlOworCXU2NCBndWVzdF9mc19iYXNlOworCXU2NCBndWVzdF9nc19iYXNlOworCXU2NCBndWVz dF9sZHRyX2Jhc2U7CisJdTY0IGd1ZXN0X3RyX2Jhc2U7CisJdTY0IGd1ZXN0X2dkdHJfYmFzZTsK Kwl1NjQgZ3Vlc3RfaWR0cl9iYXNlOworCisJdTY0IHBhZGRpbmc2NF8xWzNdOworCisJdTY0IHZt X2V4aXRfbXNyX3N0b3JlX2FkZHI7CisJdTY0IHZtX2V4aXRfbXNyX2xvYWRfYWRkcjsKKwl1NjQg dm1fZW50cnlfbXNyX2xvYWRfYWRkcjsKKworCXU2NCBjcjNfdGFyZ2V0X3ZhbHVlMDsKKwl1NjQg Y3IzX3RhcmdldF92YWx1ZTE7CisJdTY0IGNyM190YXJnZXRfdmFsdWUyOworCXU2NCBjcjNfdGFy Z2V0X3ZhbHVlMzsKKworCXUzMiBwYWdlX2ZhdWx0X2Vycm9yX2NvZGVfbWFzazsKKwl1MzIgcGFn ZV9mYXVsdF9lcnJvcl9jb2RlX21hdGNoOworCisJdTMyIGNyM190YXJnZXRfY291bnQ7CisJdTMy IHZtX2V4aXRfbXNyX3N0b3JlX2NvdW50OworCXUzMiB2bV9leGl0X21zcl9sb2FkX2NvdW50Owor CXUzMiB2bV9lbnRyeV9tc3JfbG9hZF9jb3VudDsKKworCXU2NCB0c2Nfb2Zmc2V0OworCXU2NCB2 aXJ0dWFsX2FwaWNfcGFnZV9hZGRyOworCXU2NCB2bWNzX2xpbmtfcG9pbnRlcjsKKworCXU2NCBn dWVzdF9pYTMyX2RlYnVnY3RsOworCXU2NCBndWVzdF9pYTMyX3BhdDsKKwl1NjQgZ3Vlc3RfaWEz Ml9lZmVyOworCisJdTY0IGd1ZXN0X3BkcHRyMDsKKwl1NjQgZ3Vlc3RfcGRwdHIxOworCXU2NCBn dWVzdF9wZHB0cjI7CisJdTY0IGd1ZXN0X3BkcHRyMzsKKworCXU2NCBndWVzdF9wZW5kaW5nX2Ri Z19leGNlcHRpb25zOworCXU2NCBndWVzdF9zeXNlbnRlcl9lc3A7CisJdTY0IGd1ZXN0X3N5c2Vu dGVyX2VpcDsKKworCXUzMiBndWVzdF9hY3Rpdml0eV9zdGF0ZTsKKwl1MzIgZ3Vlc3Rfc3lzZW50 ZXJfY3M7CisKKwl1NjQgY3IwX2d1ZXN0X2hvc3RfbWFzazsKKwl1NjQgY3I0X2d1ZXN0X2hvc3Rf bWFzazsKKwl1NjQgY3IwX3JlYWRfc2hhZG93OworCXU2NCBjcjRfcmVhZF9zaGFkb3c7CisJdTY0 IGd1ZXN0X2NyMDsKKwl1NjQgZ3Vlc3RfY3IzOworCXU2NCBndWVzdF9jcjQ7CisJdTY0IGd1ZXN0 X2RyNzsKKworCXU2NCBob3N0X2ZzX2Jhc2U7CisJdTY0IGhvc3RfZ3NfYmFzZTsKKwl1NjQgaG9z dF90cl9iYXNlOworCXU2NCBob3N0X2dkdHJfYmFzZTsKKwl1NjQgaG9zdF9pZHRyX2Jhc2U7CisJ dTY0IGhvc3RfcnNwOworCisJdTY0IGVwdF9wb2ludGVyOworCisJdTE2IHZpcnR1YWxfcHJvY2Vz c29yX2lkOworCXUxNiBwYWRkaW5nMTZfMlszXTsKKworCXU2NCBwYWRkaW5nNjRfMls1XTsKKwl1 NjQgZ3Vlc3RfcGh5c2ljYWxfYWRkcmVzczsKKworCXUzMiB2bV9pbnN0cnVjdGlvbl9lcnJvcjsK Kwl1MzIgdm1fZXhpdF9yZWFzb247CisJdTMyIHZtX2V4aXRfaW50cl9pbmZvOworCXUzMiB2bV9l eGl0X2ludHJfZXJyb3JfY29kZTsKKwl1MzIgaWR0X3ZlY3RvcmluZ19pbmZvX2ZpZWxkOworCXUz MiBpZHRfdmVjdG9yaW5nX2Vycm9yX2NvZGU7CisJdTMyIHZtX2V4aXRfaW5zdHJ1Y3Rpb25fbGVu OworCXUzMiB2bXhfaW5zdHJ1Y3Rpb25faW5mbzsKKworCXU2NCBleGl0X3F1YWxpZmljYXRpb247 CisJdTY0IGV4aXRfaW9faW5zdHJ1Y3Rpb25fZWN4OworCXU2NCBleGl0X2lvX2luc3RydWN0aW9u X2VzaTsKKwl1NjQgZXhpdF9pb19pbnN0cnVjdGlvbl9lZGk7CisJdTY0IGV4aXRfaW9faW5zdHJ1 Y3Rpb25fZWlwOworCisJdTY0IGd1ZXN0X2xpbmVhcl9hZGRyZXNzOworCXU2NCBndWVzdF9yc3A7 CisJdTY0IGd1ZXN0X3JmbGFnczsKKworCXUzMiBndWVzdF9pbnRlcnJ1cHRpYmlsaXR5X2luZm87 CisJdTMyIGNwdV9iYXNlZF92bV9leGVjX2NvbnRyb2w7CisJdTMyIGV4Y2VwdGlvbl9iaXRtYXA7 CisJdTMyIHZtX2VudHJ5X2NvbnRyb2xzOworCXUzMiB2bV9lbnRyeV9pbnRyX2luZm9fZmllbGQ7 CisJdTMyIHZtX2VudHJ5X2V4Y2VwdGlvbl9lcnJvcl9jb2RlOworCXUzMiB2bV9lbnRyeV9pbnN0 cnVjdGlvbl9sZW47CisJdTMyIHRwcl90aHJlc2hvbGQ7CisKKwl1NjQgZ3Vlc3RfcmlwOworCisJ dTMyIGh2X2NsZWFuX2ZpZWxkczsKKwl1MzIgaHZfcGFkZGluZ18zMjsKKwl1MzIgaHZfc3ludGhl dGljX2NvbnRyb2xzOworCXN0cnVjdCB7CisJCXUzMiBuZXN0ZWRfZmx1c2hfaHlwZXJjYWxsOjE7 CisJCXUzMiBtc3JfYml0bWFwOjE7CisJCXUzMiByZXNlcnZlZDozMDsKKwl9ICBfX3BhY2tlZCBo dl9lbmxpZ2h0ZW5tZW50c19jb250cm9sOworCXUzMiBodl92cF9pZDsKKworCXU2NCBodl92bV9p ZDsKKwl1NjQgcGFydGl0aW9uX2Fzc2lzdF9wYWdlOworCXU2NCBwYWRkaW5nNjRfNFs0XTsKKwl1 NjQgZ3Vlc3RfYm5kY2ZnczsKKwl1NjQgcGFkZGluZzY0XzVbN107CisJdTY0IHhzc19leGl0X2Jp dG1hcDsKKwl1NjQgcGFkZGluZzY0XzZbN107Cit9IF9fcGFja2VkOworCisjZGVmaW5lIEhWX1ZN WF9FTkxJR0hURU5FRF9DTEVBTl9GSUVMRF9OT05FCQkJMAorI2RlZmluZSBIVl9WTVhfRU5MSUdI VEVORURfQ0xFQU5fRklFTERfSU9fQklUTUFQCQlCSVQoMCkKKyNkZWZpbmUgSFZfVk1YX0VOTElH SFRFTkVEX0NMRUFOX0ZJRUxEX01TUl9CSVRNQVAJCUJJVCgxKQorI2RlZmluZSBIVl9WTVhfRU5M SUdIVEVORURfQ0xFQU5fRklFTERfQ09OVFJPTF9HUlAyCQlCSVQoMikKKyNkZWZpbmUgSFZfVk1Y X0VOTElHSFRFTkVEX0NMRUFOX0ZJRUxEX0NPTlRST0xfR1JQMQkJQklUKDMpCisjZGVmaW5lIEhW X1ZNWF9FTkxJR0hURU5FRF9DTEVBTl9GSUVMRF9DT05UUk9MX1BST0MJCUJJVCg0KQorI2RlZmlu ZSBIVl9WTVhfRU5MSUdIVEVORURfQ0xFQU5fRklFTERfQ09OVFJPTF9FVkVOVAkJQklUKDUpCisj ZGVmaW5lIEhWX1ZNWF9FTkxJR0hURU5FRF9DTEVBTl9GSUVMRF9DT05UUk9MX0VOVFJZCQlCSVQo NikKKyNkZWZpbmUgSFZfVk1YX0VOTElHSFRFTkVEX0NMRUFOX0ZJRUxEX0NPTlRST0xfRVhDUE4J CUJJVCg3KQorI2RlZmluZSBIVl9WTVhfRU5MSUdIVEVORURfQ0xFQU5fRklFTERfQ1JEUgkJCUJJ VCg4KQorI2RlZmluZSBIVl9WTVhfRU5MSUdIVEVORURfQ0xFQU5fRklFTERfQ09OVFJPTF9YTEFU CQlCSVQoOSkKKyNkZWZpbmUgSFZfVk1YX0VOTElHSFRFTkVEX0NMRUFOX0ZJRUxEX0dVRVNUX0JB U0lDCQlCSVQoMTApCisjZGVmaW5lIEhWX1ZNWF9FTkxJR0hURU5FRF9DTEVBTl9GSUVMRF9HVUVT VF9HUlAxCQlCSVQoMTEpCisjZGVmaW5lIEhWX1ZNWF9FTkxJR0hURU5FRF9DTEVBTl9GSUVMRF9H VUVTVF9HUlAyCQlCSVQoMTIpCisjZGVmaW5lIEhWX1ZNWF9FTkxJR0hURU5FRF9DTEVBTl9GSUVM RF9IT1NUX1BPSU5URVIJCUJJVCgxMykKKyNkZWZpbmUgSFZfVk1YX0VOTElHSFRFTkVEX0NMRUFO X0ZJRUxEX0hPU1RfR1JQMQkJQklUKDE0KQorI2RlZmluZSBIVl9WTVhfRU5MSUdIVEVORURfQ0xF QU5fRklFTERfRU5MSUdIVEVOTUVOVFNDT05UUk9MCUJJVCgxNSkKKworI2RlZmluZSBIVl9WTVhf RU5MSUdIVEVORURfQ0xFQU5fRklFTERfQUxMCQkJMHhGRkZGCisKKy8qIERlZmluZSBzeW50aGV0 aWMgaW50ZXJydXB0IGNvbnRyb2xsZXIgZmxhZyBjb25zdGFudHMuICovCisjZGVmaW5lIEhWX0VW RU5UX0ZMQUdTX0NPVU5UCQkoMjU2ICogOCkKKyNkZWZpbmUgSFZfRVZFTlRfRkxBR1NfTE9OR19D T1VOVAkoMjU2IC8gc2l6ZW9mKHVuc2lnbmVkIGxvbmcpKQorCisvKgorICogU3ludGhldGljIHRp bWVyIGNvbmZpZ3VyYXRpb24uCisgKi8KK3VuaW9uIGh2X3N0aW1lcl9jb25maWcgeworCXU2NCBh c191aW50NjQ7CisJc3RydWN0IHsKKwkJdTY0IGVuYWJsZToxOworCQl1NjQgcGVyaW9kaWM6MTsK KwkJdTY0IGxhenk6MTsKKwkJdTY0IGF1dG9fZW5hYmxlOjE7CisJCXU2NCBhcGljX3ZlY3Rvcjo4 OworCQl1NjQgZGlyZWN0X21vZGU6MTsKKwkJdTY0IHJlc2VydmVkX3owOjM7CisJCXU2NCBzaW50 eDo0OworCQl1NjQgcmVzZXJ2ZWRfejE6NDQ7CisJfSBfX3BhY2tlZDsKK307CisKKworLyogRGVm aW5lIHRoZSBzeW50aGV0aWMgaW50ZXJydXB0IGNvbnRyb2xsZXIgZXZlbnQgZmxhZ3MgZm9ybWF0 LiAqLwordW5pb24gaHZfc3luaWNfZXZlbnRfZmxhZ3MgeworCXVuc2lnbmVkIGxvbmcgZmxhZ3Nb SFZfRVZFTlRfRkxBR1NfTE9OR19DT1VOVF07Cit9OworCisvKiBEZWZpbmUgU3luSUMgY29udHJv bCByZWdpc3Rlci4gKi8KK3VuaW9uIGh2X3N5bmljX3Njb250cm9sIHsKKwl1NjQgYXNfdWludDY0 OworCXN0cnVjdCB7CisJCXU2NCBlbmFibGU6MTsKKwkJdTY0IHJlc2VydmVkOjYzOworCX0gX19w YWNrZWQ7Cit9OworCisvKiBEZWZpbmUgc3ludGhldGljIGludGVycnVwdCBzb3VyY2UuICovCit1 bmlvbiBodl9zeW5pY19zaW50IHsKKwl1NjQgYXNfdWludDY0OworCXN0cnVjdCB7CisJCXU2NCB2 ZWN0b3I6ODsKKwkJdTY0IHJlc2VydmVkMTo4OworCQl1NjQgbWFza2VkOjE7CisJCXU2NCBhdXRv X2VvaToxOworCQl1NjQgcmVzZXJ2ZWQyOjQ2OworCX0gX19wYWNrZWQ7Cit9OworCisvKiBEZWZp bmUgdGhlIGZvcm1hdCBvZiB0aGUgU0lNUCByZWdpc3RlciAqLwordW5pb24gaHZfc3luaWNfc2lt cCB7CisJdTY0IGFzX3VpbnQ2NDsKKwlzdHJ1Y3QgeworCQl1NjQgc2ltcF9lbmFibGVkOjE7CisJ CXU2NCBwcmVzZXJ2ZWQ6MTE7CisJCXU2NCBiYXNlX3NpbXBfZ3BhOjUyOworCX0gX19wYWNrZWQ7 Cit9OworCisvKiBEZWZpbmUgdGhlIGZvcm1hdCBvZiB0aGUgU0lFRlAgcmVnaXN0ZXIgKi8KK3Vu aW9uIGh2X3N5bmljX3NpZWZwIHsKKwl1NjQgYXNfdWludDY0OworCXN0cnVjdCB7CisJCXU2NCBz aWVmcF9lbmFibGVkOjE7CisJCXU2NCBwcmVzZXJ2ZWQ6MTE7CisJCXU2NCBiYXNlX3NpZWZwX2dw YTo1MjsKKwl9IF9fcGFja2VkOworfTsKKworc3RydWN0IGh2X3Zwc2V0IHsKKwl1NjQgZm9ybWF0 OworCXU2NCB2YWxpZF9iYW5rX21hc2s7CisJdTY0IGJhbmtfY29udGVudHNbXTsKK30gX19wYWNr ZWQ7CisKKy8qIEh2Q2FsbFNlbmRTeW50aGV0aWNDbHVzdGVySXBpIGh5cGVyY2FsbCAqLworc3Ry dWN0IGh2X3NlbmRfaXBpIHsKKwl1MzIgdmVjdG9yOworCXUzMiByZXNlcnZlZDsKKwl1NjQgY3B1 X21hc2s7Cit9IF9fcGFja2VkOworCisvKiBIdkNhbGxTZW5kU3ludGhldGljQ2x1c3RlcklwaUV4 IGh5cGVyY2FsbCAqLworc3RydWN0IGh2X3NlbmRfaXBpX2V4IHsKKwl1MzIgdmVjdG9yOworCXUz MiByZXNlcnZlZDsKKwlzdHJ1Y3QgaHZfdnBzZXQgdnBfc2V0OworfSBfX3BhY2tlZDsKKworLyog SHZGbHVzaEd1ZXN0UGh5c2ljYWxBZGRyZXNzU3BhY2UgaHlwZXJjYWxscyAqLworc3RydWN0IGh2 X2d1ZXN0X21hcHBpbmdfZmx1c2ggeworCXU2NCBhZGRyZXNzX3NwYWNlOworCXU2NCBmbGFnczsK K30gX19wYWNrZWQ7CisKKy8qCisgKiAgSFZfTUFYX0ZMVVNIX1BBR0VTID0gImFkZGl0aW9uYWxf cGFnZXMiICsgMS4gSXQncyBsaW1pdGVkCisgKiAgYnkgdGhlIGJpdHdpZHRoIG9mICJhZGRpdGlv bmFsX3BhZ2VzIiBpbiB1bmlvbiBodl9ncGFfcGFnZV9yYW5nZS4KKyAqLworI2RlZmluZSBIVl9N QVhfRkxVU0hfUEFHRVMgKDIwNDgpCisKKy8qIEh2Rmx1c2hHdWVzdFBoeXNpY2FsQWRkcmVzc0xp c3QgaHlwZXJjYWxsICovCit1bmlvbiBodl9ncGFfcGFnZV9yYW5nZSB7CisJdTY0IGFkZHJlc3Nf c3BhY2U7CisJc3RydWN0IHsKKwkJdTY0IGFkZGl0aW9uYWxfcGFnZXM6MTE7CisJCXU2NCBsYXJn ZXBhZ2U6MTsKKwkJdTY0IGJhc2VwZm46NTI7CisJfSBwYWdlOworfTsKKworLyoKKyAqIEFsbCBp bnB1dCBmbHVzaCBwYXJhbWV0ZXJzIHNob3VsZCBiZSBpbiBzaW5nbGUgcGFnZS4gVGhlIG1heCBm bHVzaAorICogY291bnQgaXMgZXF1YWwgd2l0aCBob3cgbWFueSBlbnRyaWVzIG9mIHVuaW9uIGh2 X2dwYV9wYWdlX3JhbmdlIGNhbgorICogYmUgcG9wdWxhdGVkIGludG8gdGhlIGlucHV0IHBhcmFt ZXRlciBwYWdlLgorICovCisjZGVmaW5lIEhWX01BWF9GTFVTSF9SRVBfQ09VTlQgKChIVl9IWVBf UEFHRV9TSVpFIC0gMiAqIHNpemVvZih1NjQpKSAvCVwKKwkJCQlzaXplb2YodW5pb24gaHZfZ3Bh X3BhZ2VfcmFuZ2UpKQorCitzdHJ1Y3QgaHZfZ3Vlc3RfbWFwcGluZ19mbHVzaF9saXN0IHsKKwl1 NjQgYWRkcmVzc19zcGFjZTsKKwl1NjQgZmxhZ3M7CisJdW5pb24gaHZfZ3BhX3BhZ2VfcmFuZ2Ug Z3BhX2xpc3RbSFZfTUFYX0ZMVVNIX1JFUF9DT1VOVF07Cit9OworCisvKiBIdkZsdXNoVmlydHVh bEFkZHJlc3NTcGFjZSwgSHZGbHVzaFZpcnR1YWxBZGRyZXNzTGlzdCBoeXBlcmNhbGxzICovCitz dHJ1Y3QgaHZfdGxiX2ZsdXNoIHsKKwl1NjQgYWRkcmVzc19zcGFjZTsKKwl1NjQgZmxhZ3M7CisJ dTY0IHByb2Nlc3Nvcl9tYXNrOworCXU2NCBndmFfbGlzdFtdOworfSBfX3BhY2tlZDsKKworLyog SHZGbHVzaFZpcnR1YWxBZGRyZXNzU3BhY2VFeCwgSHZGbHVzaFZpcnR1YWxBZGRyZXNzTGlzdEV4 IGh5cGVyY2FsbHMgKi8KK3N0cnVjdCBodl90bGJfZmx1c2hfZXggeworCXU2NCBhZGRyZXNzX3Nw YWNlOworCXU2NCBmbGFnczsKKwlzdHJ1Y3QgaHZfdnBzZXQgaHZfdnBfc2V0OworCXU2NCBndmFf bGlzdFtdOworfSBfX3BhY2tlZDsKKworc3RydWN0IGh2X3BhcnRpdGlvbl9hc3Npc3RfcGcgewor CXUzMiB0bGJfbG9ja19jb3VudDsKK307CisjZW5kaWYKLS0gCjIuMjAuMQoKCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxp c3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVj dC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=