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.3 required=3.0 tests=DKIM_ADSP_CUSTOM_MED, DKIM_INVALID,DKIM_SIGNED,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, 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 62849C43613 for ; Thu, 20 Jun 2019 00:31:47 +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 29B73208CB for ; Thu, 20 Jun 2019 00:31:47 +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="Sb+u/AaU" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 29B73208CB Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com 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 1hdkzH-0000JP-J3; Thu, 20 Jun 2019 00:31:35 +0000 Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hdkzG-0000I4-1m for xen-devel@lists.xenproject.org; Thu, 20 Jun 2019 00:31:34 +0000 X-Inumbo-ID: c0d37983-92f2-11e9-8980-bc764e045a96 Received: from mail-io1-xd36.google.com (unknown [2607:f8b0:4864:20::d36]) by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS id c0d37983-92f2-11e9-8980-bc764e045a96; Thu, 20 Jun 2019 00:31:32 +0000 (UTC) Received: by mail-io1-xd36.google.com with SMTP id u19so234020ior.9 for ; Wed, 19 Jun 2019 17:31:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=BMTKi04P7MgHA/kZyHsqvUaTgfOnta1B9UscTK1MQV8=; b=Sb+u/AaUt8NtQokUUAkKM7XqYppwJYqUzRCnrPBcSYBSW5iKeqCs54pHxwjyNbnbav hEwfqtTh5M795KdL3PiANWyy/wuKI3/NYmenDAtPuSlaD1SiZh7J8nYSnhZ+1CepPxKr H9EuQnSybOUqwo/pl2qPnA56h2RAy/Y3r16f6nawHA6EqRtNUlJ6H33TJizPwePvdGO3 WTqhhLQ934gW6VZUC1/5pg/7YqCnbG7P4mUWyFPT8j9nkmEbytIal3U5RsIB1uwpsuKz 73AmszUXfvu/D4r4rD59D3NqAPxGxCDNNqPUoaM5Uey5UJ3X1TESeC3olLOmiR/UZbhe WU6A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=BMTKi04P7MgHA/kZyHsqvUaTgfOnta1B9UscTK1MQV8=; b=df7cqDztZhKrJVja6VhT3fbU1R793vl1dUaIifDgw6hQOm6m8wpDkyct0ydjLz77mx JnpMxNkCdAIRB5OoLe78gmlSU4MmYSJ7my5sHyB0YiEM4oA+l13zIy+J7CfqV9TO5zth ZZN+5rQkkDVe4b19hk+N8JsjMIdlP3BdaozeugGkQGaUw+/JcpGn2t1LU6mvJcM3jzt0 BxEMvZRgEoUPgbS/HagIqYKuYQ4vBEgCHLp1wyOHD6CNPE30U9D+qDuhj2El7kpQZHcC I3YJDay04bgyCAMzoGQqqdBSGAreZPtN0SpRcPQVOd09GrVRjlGMzDoFi740/POvW26d 9Eng== X-Gm-Message-State: APjAAAW+LXB/KUy6qVxSJRcawVNftDJ5F7+N+BhJFuUojZugxeQixhsk eB4GvMcI6+Uzcbt7y1QN092XYrssAWY= X-Google-Smtp-Source: APXvYqyzceR4at2OYBzDCrmjj2sZkWQxr/Lk4mT3bpPFns5gUnH1uffsuo8ao3pWGI4Nef1dZdsLiQ== X-Received: by 2002:a5e:8b43:: with SMTP id z3mr2972029iom.287.1560990691588; Wed, 19 Jun 2019 17:31:31 -0700 (PDT) Received: from desktop.ice.pyrology.org (static-50-53-74-115.bvtn.or.frontiernet.net. [50.53.74.115]) by smtp.gmail.com with ESMTPSA id e188sm22579016ioa.3.2019.06.19.17.31.29 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 19 Jun 2019 17:31:30 -0700 (PDT) From: Christopher Clark To: xen-devel@lists.xenproject.org Date: Wed, 19 Jun 2019 17:30:52 -0700 Message-Id: <20190620003053.21993-9-christopher.w.clark@gmail.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20190620003053.21993-1-christopher.w.clark@gmail.com> References: <20190620003053.21993-1-christopher.w.clark@gmail.com> Subject: [Xen-devel] [RFC 8/9] x86/nested, xsm: add nested_event_channel_op hypercall 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: Juergen Gross , Stefano Stabellini , Wei Liu , Konrad Rzeszutek Wilk , George Dunlap , Andrew Cooper , Ian Jackson , Rich Persaud , Tim Deegan , Julien Grall , Jan Beulich , Daniel De Graaf , =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" UHJvdmlkZXMgcHJveHlpbmcgdG8gdGhlIGhvc3QgaHlwZXJ2aXNvciBmb3IgdGhlc2UgZXZlbnQg Y2hhbm5lbCBvcHM6CiAqIEVWVENITk9QX2FsbG9jX3VuYm91bmQKICogRVZUQ0hOT1BfYmluZF92 Y3B1CiAqIEVWVENITk9QX2Nsb3NlCiAqIEVWVENITk9QX3NlbmQKICogRVZUQ0hOT1BfdW5tYXNr CgpJbnRyb2R1Y2VzIGEgbmV3IFhTTSBhY2Nlc3MgdmVjdG9yIGNsYXNzIGZvciBwb2xpY3kgY29u dHJvbCBhcHBsaWVkIHRvIHRoaXMKb3BlcmF0aW9uOiBuZXN0ZWRfZXZlbnQuClRoaXMgaXMgcmVx dWlyZWQgYmVjYXVzZSB0aGUgZXhpc3RpbmcgJ2V2ZW50JyBhY2Nlc3MgdmVjdG9yIGlzIHVuc3Vp dGFibGUKZm9yIHJlcHVycG9zaW5nIHRvIHRoZSBuZXN0ZWQgY2FzZTogaXQgb3BlcmF0ZXMgb24g cGVyLWNoYW5uZWwgc2VjdXJpdHkKaWRlbnRpZmllcnMgdGhhdCBhcmUgZ2VuZXJhdGVkIGZyb20g YSBjb21iaW5hdGlvbiBvZiB0aGUgc2VjdXJpdHkKaWRlbnRpZmllcnMgb2YgdGhlIHR3byBjb21t dW5pY2F0aW5nIGVuZHBvaW50cyBhbmQgZGF0YSBpcyBub3QgYXZhaWxhYmxlIGZvcgp0aGUgcmVt b3RlIGVuZHBvaW50IGluIHRoZSBuZXN0ZWQgY2FzZS4KClNpZ25lZC1vZmYtYnk6IENocmlzdG9w aGVyIENsYXJrIDxjaHJpc3RvcGhlci5jbGFya0BzdGFybGFiLmlvPgotLS0KIHRvb2xzL2ZsYXNr L3BvbGljeS9tb2R1bGVzL2RvbTAudGUgICAgfCAgMyArCiB4ZW4vYXJjaC94ODYvZ3Vlc3QvaHlw ZXJjYWxsX3BhZ2UuUyAgIHwgIDEgKwogeGVuL2FyY2gveDg2L2d1ZXN0L3hlbi1uZXN0ZWQuYyAg ICAgICB8IDg0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKwogeGVuL2FyY2gveDg2L2h5cGVy Y2FsbC5jICAgICAgICAgICAgICB8ICAxICsKIHhlbi9hcmNoL3g4Ni9wdi9oeXBlcmNhbGwuYyAg ICAgICAgICAgfCAgMSArCiB4ZW4vaW5jbHVkZS9wdWJsaWMveGVuLmggICAgICAgICAgICAgIHwg IDEgKwogeGVuL2luY2x1ZGUveGVuL2h5cGVyY2FsbC5oICAgICAgICAgICB8ICA0ICsrCiB4ZW4v aW5jbHVkZS94c20vZHVtbXkuaCAgICAgICAgICAgICAgIHwgIDggKysrCiB4ZW4vaW5jbHVkZS94 c20veHNtLmggICAgICAgICAgICAgICAgIHwgIDggKysrCiB4ZW4veHNtL2R1bW15LmMgICAgICAg ICAgICAgICAgICAgICAgIHwgIDEgKwogeGVuL3hzbS9mbGFzay9ob29rcy5jICAgICAgICAgICAg ICAgICB8IDM1ICsrKysrKysrKysrCiB4ZW4veHNtL2ZsYXNrL3BvbGljeS9hY2Nlc3NfdmVjdG9y cyAgIHwgMjAgKysrKysrKwogeGVuL3hzbS9mbGFzay9wb2xpY3kvc2VjdXJpdHlfY2xhc3NlcyB8 ICAxICsKIDEzIGZpbGVzIGNoYW5nZWQsIDE2OCBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEv dG9vbHMvZmxhc2svcG9saWN5L21vZHVsZXMvZG9tMC50ZSBiL3Rvb2xzL2ZsYXNrL3BvbGljeS9t b2R1bGVzL2RvbTAudGUKaW5kZXggMDNjOTNhMzA5My4uYmEzYzVhZDYzZCAxMDA2NDQKLS0tIGEv dG9vbHMvZmxhc2svcG9saWN5L21vZHVsZXMvZG9tMC50ZQorKysgYi90b29scy9mbGFzay9wb2xp Y3kvbW9kdWxlcy9kb20wLnRlCkBAIC00OCw2ICs0OCw5IEBAIGFsbG93IGRvbTBfdCBuZXN0ZWR4 ZW5fdDp2ZXJzaW9uIHsgeGVuX3ZlcnNpb24geGVuX2dldF9mZWF0dXJlcyB9OwogYWxsb3cgZG9t MF90IG5lc3RlZHhlbl90Om1tdSBwaHlzbWFwOwogYWxsb3cgZG9tMF90IG5lc3RlZHhlbl90Omh2 bSB7IHNldHBhcmFtIGdldHBhcmFtIH07CiBhbGxvdyBkb20wX3QgbmVzdGVkeGVuX3Q6Z3JhbnQg cXVlcnk7CithbGxvdyBkb20wX3QgbmVzdGVkeGVuX3Q6bmVzdGVkX2V2ZW50IHsKKyAgICBhbGxv Y191bmJvdW5kIGJpbmRfdmNwdSBjbG9zZSBzZW5kIHVubWFzaworfTsKIAogIyBUaGVzZSBwZXJt aXNzaW9ucyBhbGxvdyB1c2luZyB0aGUgRkxBU0sgc2VjdXJpdHkgc2VydmVyIHRvIGNvbXB1dGUg YWNjZXNzCiAjIGNoZWNrcyBsb2NhbGx5LCB3aGljaCBjb3VsZCBiZSB1c2VkIGJ5IGEgZG9tYWlu IG9yIHNlcnZpY2UgKHN1Y2ggYXMgeGVuc3RvcmUpCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYv Z3Vlc3QvaHlwZXJjYWxsX3BhZ2UuUyBiL3hlbi9hcmNoL3g4Ni9ndWVzdC9oeXBlcmNhbGxfcGFn ZS5TCmluZGV4IDMzNDAzNzE0Y2UuLjY0ZjE4ODU2MjkgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4 Ni9ndWVzdC9oeXBlcmNhbGxfcGFnZS5TCisrKyBiL3hlbi9hcmNoL3g4Ni9ndWVzdC9oeXBlcmNh bGxfcGFnZS5TCkBAIC02NCw2ICs2NCw3IEBAIERFQ0xBUkVfSFlQRVJDQUxMKG5lc3RlZF94ZW5f dmVyc2lvbikKIERFQ0xBUkVfSFlQRVJDQUxMKG5lc3RlZF9tZW1vcnlfb3ApCiBERUNMQVJFX0hZ UEVSQ0FMTChuZXN0ZWRfaHZtX29wKQogREVDTEFSRV9IWVBFUkNBTEwobmVzdGVkX2dyYW50X3Rh YmxlX29wKQorREVDTEFSRV9IWVBFUkNBTEwobmVzdGVkX2V2ZW50X2NoYW5uZWxfb3ApCiAKIERF Q0xBUkVfSFlQRVJDQUxMKGFyY2hfMCkKIERFQ0xBUkVfSFlQRVJDQUxMKGFyY2hfMSkKZGlmZiAt LWdpdCBhL3hlbi9hcmNoL3g4Ni9ndWVzdC94ZW4tbmVzdGVkLmMgYi94ZW4vYXJjaC94ODYvZ3Vl c3QveGVuLW5lc3RlZC5jCmluZGV4IGE0MDQ5ZTM2NmYuLmJhYmY0YmY3ODMgMTAwNjQ0Ci0tLSBh L3hlbi9hcmNoL3g4Ni9ndWVzdC94ZW4tbmVzdGVkLmMKKysrIGIveGVuL2FyY2gveDg2L2d1ZXN0 L3hlbi1uZXN0ZWQuYwpAQCAtMjIsNiArMjIsNyBAQAogI2luY2x1ZGUgPHhlbi9saWIuaD4KICNp bmNsdWRlIDx4ZW4vc2NoZWQuaD4KIAorI2luY2x1ZGUgPHB1YmxpYy9ldmVudF9jaGFubmVsLmg+ CiAjaW5jbHVkZSA8cHVibGljL2dyYW50X3RhYmxlLmg+CiAjaW5jbHVkZSA8cHVibGljL2h2bS9o dm1fb3AuaD4KICNpbmNsdWRlIDxwdWJsaWMvbWVtb3J5Lmg+CkBAIC0yMzksMyArMjQwLDg2IEBA IGxvbmcgZG9fbmVzdGVkX2dyYW50X3RhYmxlX29wKHVuc2lnbmVkIGludCBjbWQsCiAKICAgICBy ZXR1cm4gcmV0OwogfQorCitsb25nIGRvX25lc3RlZF9ldmVudF9jaGFubmVsX29wKGludCBjbWQs IFhFTl9HVUVTVF9IQU5ETEVfUEFSQU0odm9pZCkgYXJnKQoreworICAgIGxvbmcgcmV0OworCisg ICAgaWYgKCAheGVuX25lc3RlZCApCisgICAgICAgIHJldHVybiAtRU5PU1lTOworCisgICAgcmV0 ID0geHNtX25lc3RlZF9ldmVudF9jaGFubmVsX29wKFhTTV9QUklWLCBjdXJyZW50LT5kb21haW4s IGNtZCk7CisgICAgaWYgKCByZXQgKQorICAgICAgICByZXR1cm4gcmV0OworCisgICAgc3dpdGNo ICggY21kICkKKyAgICB7CisgICAgY2FzZSBFVlRDSE5PUF9hbGxvY191bmJvdW5kOgorICAgIHsK KyAgICAgICAgc3RydWN0IGV2dGNobl9hbGxvY191bmJvdW5kIGFsbG9jX3VuYm91bmQ7CisKKyAg ICAgICAgaWYgKCBjb3B5X2Zyb21fZ3Vlc3QoJmFsbG9jX3VuYm91bmQsIGFyZywgMSkgKQorICAg ICAgICAgICAgcmV0dXJuIC1FRkFVTFQ7CisKKyAgICAgICAgcmV0ID0geGVuX2h5cGVyY2FsbF9l dmVudF9jaGFubmVsX29wKGNtZCwgJmFsbG9jX3VuYm91bmQpOworICAgICAgICBpZiAoICFyZXQg JiYgX19jb3B5X3RvX2d1ZXN0KGFyZywgJmFsbG9jX3VuYm91bmQsIDEpICkKKyAgICAgICAgewor ICAgICAgICAgICAgc3RydWN0IGV2dGNobl9jbG9zZSBjbG9zZTsKKworICAgICAgICAgICAgcmV0 ID0gLUVGQVVMVDsKKyAgICAgICAgICAgIGNsb3NlLnBvcnQgPSBhbGxvY191bmJvdW5kLnBvcnQ7 CisKKyAgICAgICAgICAgIGlmICggeGVuX2h5cGVyY2FsbF9ldmVudF9jaGFubmVsX29wKEVWVENI Tk9QX2Nsb3NlLCAmY2xvc2UpICkKKyAgICAgICAgICAgICAgICBncHJpbnRrKFhFTkxPR19FUlIs ICJOZXN0ZWQgZXZlbnQgYWxsb2NfdW5ib3VuZCBmYWlsZWQgdG8gY2xvc2UiCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAiIHBvcnQgJXUgb24gRUZBVUxUXG4iLCBhbGxvY191 bmJvdW5kLnBvcnQpOworICAgICAgICB9CisgICAgICAgIGJyZWFrOworICAgIH0KKworICAgIGNh c2UgRVZUQ0hOT1BfYmluZF92Y3B1OgorICAgIHsKKyAgICAgICBzdHJ1Y3QgZXZ0Y2huX2JpbmRf dmNwdSBiaW5kX3ZjcHU7CisKKyAgICAgICAgaWYoIGNvcHlfZnJvbV9ndWVzdCgmYmluZF92Y3B1 LCBhcmcsIDEpICkKKyAgICAgICAgICAgIHJldHVybiAtRUZBVUxUOworCisgICAgICAgIHJldHVy biB4ZW5faHlwZXJjYWxsX2V2ZW50X2NoYW5uZWxfb3AoY21kLCAmYmluZF92Y3B1KTsKKyAgICB9 CisKKyAgICBjYXNlIEVWVENITk9QX2Nsb3NlOgorICAgIHsKKyAgICAgICAgc3RydWN0IGV2dGNo bl9jbG9zZSBjbG9zZTsKKworICAgICAgICBpZiAoIGNvcHlfZnJvbV9ndWVzdCgmY2xvc2UsIGFy ZywgMSkgKQorICAgICAgICAgICAgcmV0dXJuIC1FRkFVTFQ7CisKKyAgICAgICAgcmV0dXJuIHhl bl9oeXBlcmNhbGxfZXZlbnRfY2hhbm5lbF9vcChjbWQsICZjbG9zZSk7CisgICAgfQorCisgICAg Y2FzZSBFVlRDSE5PUF9zZW5kOgorICAgIHsKKyAgICAgICAgc3RydWN0IGV2dGNobl9zZW5kIHNl bmQ7CisKKyAgICAgICAgaWYgKCBjb3B5X2Zyb21fZ3Vlc3QoJnNlbmQsIGFyZywgMSkgKQorICAg ICAgICAgICAgcmV0dXJuIC1FRkFVTFQ7CisKKyAgICAgICAgcmV0dXJuIHhlbl9oeXBlcmNhbGxf ZXZlbnRfY2hhbm5lbF9vcChjbWQsICZzZW5kKTsKKyAgICB9CisKKyAgICBjYXNlIEVWVENITk9Q X3VubWFzazoKKyAgICB7CisgICAgICAgIHN0cnVjdCBldnRjaG5fdW5tYXNrIHVubWFzazsKKwor ICAgICAgICBpZiAoIGNvcHlfZnJvbV9ndWVzdCgmdW5tYXNrLCBhcmcsIDEpICkKKyAgICAgICAg ICAgIHJldHVybiAtRUZBVUxUOworCisgICAgICAgIHJldHVybiB4ZW5faHlwZXJjYWxsX2V2ZW50 X2NoYW5uZWxfb3AoY21kLCAmdW5tYXNrKTsKKyAgICB9CisKKyAgICBkZWZhdWx0OgorICAgICAg ICBncHJpbnRrKFhFTkxPR19FUlIsICJOZXN0ZWQ6IGV2ZW50IGh5cGVyY2FsbCAlZCBub3Qgc3Vw cG9ydGVkLlxuIiwgY21kKTsKKyAgICAgICAgcmV0dXJuIC1FT1BOT1RTVVBQOworICAgIH0KKwor ICAgIHJldHVybiByZXQ7Cit9CmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvaHlwZXJjYWxsLmMg Yi94ZW4vYXJjaC94ODYvaHlwZXJjYWxsLmMKaW5kZXggMWI5ZjRjNjA1MC4uNzUyOTU1YWM4MSAx MDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2h5cGVyY2FsbC5jCisrKyBiL3hlbi9hcmNoL3g4Ni9o eXBlcmNhbGwuYwpAQCAtNzgsNiArNzgsNyBAQCBjb25zdCBoeXBlcmNhbGxfYXJnc190IGh5cGVy Y2FsbF9hcmdzX3RhYmxlW05SX2h5cGVyY2FsbHNdID0KICAgICBDT01QKG5lc3RlZF9tZW1vcnlf b3AsIDIsIDIpLAogICAgIEFSR1MobmVzdGVkX2h2bV9vcCwgMiksCiAgICAgQVJHUyhuZXN0ZWRf Z3JhbnRfdGFibGVfb3AsIDMpLAorICAgIEFSR1MobmVzdGVkX2V2ZW50X2NoYW5uZWxfb3AsIDIp LAogI2VuZGlmCiAgICAgQVJHUyhtY2EsIDEpLAogICAgIEFSR1MoYXJjaF8xLCAxKSwKZGlmZiAt LWdpdCBhL3hlbi9hcmNoL3g4Ni9wdi9oeXBlcmNhbGwuYyBiL3hlbi9hcmNoL3g4Ni9wdi9oeXBl cmNhbGwuYwppbmRleCBlZmExYmQwODMwLi42YjFhZTc0ZDY0IDEwMDY0NAotLS0gYS94ZW4vYXJj aC94ODYvcHYvaHlwZXJjYWxsLmMKKysrIGIveGVuL2FyY2gveDg2L3B2L2h5cGVyY2FsbC5jCkBA IC04OSw2ICs4OSw3IEBAIGNvbnN0IGh5cGVyY2FsbF90YWJsZV90IHB2X2h5cGVyY2FsbF90YWJs ZVtdID0gewogICAgIENPTVBBVF9DQUxMKG5lc3RlZF9tZW1vcnlfb3ApLAogICAgIEhZUEVSQ0FM TChuZXN0ZWRfaHZtX29wKSwKICAgICBIWVBFUkNBTEwobmVzdGVkX2dyYW50X3RhYmxlX29wKSwK KyAgICBIWVBFUkNBTEwobmVzdGVkX2V2ZW50X2NoYW5uZWxfb3ApLAogI2VuZGlmCiAgICAgSFlQ RVJDQUxMKG1jYSksCiAgICAgSFlQRVJDQUxMKGFyY2hfMSksCmRpZmYgLS1naXQgYS94ZW4vaW5j bHVkZS9wdWJsaWMveGVuLmggYi94ZW4vaW5jbHVkZS9wdWJsaWMveGVuLmgKaW5kZXggMDAwYjdm YzlkMC4uNWZiMzIyZTg4MiAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvcHVibGljL3hlbi5oCisr KyBiL3hlbi9pbmNsdWRlL3B1YmxpYy94ZW4uaApAQCAtMTI1LDYgKzEyNSw3IEBAIERFRklORV9Y RU5fR1VFU1RfSEFORExFKHhlbl91bG9uZ190KTsKICNkZWZpbmUgX19IWVBFUlZJU09SX25lc3Rl ZF9tZW1vcnlfb3AgICAgIDQzCiAjZGVmaW5lIF9fSFlQRVJWSVNPUl9uZXN0ZWRfaHZtX29wICAg ICAgICA0NAogI2RlZmluZSBfX0hZUEVSVklTT1JfbmVzdGVkX2dyYW50X3RhYmxlX29wIDQ1Cisj ZGVmaW5lIF9fSFlQRVJWSVNPUl9uZXN0ZWRfZXZlbnRfY2hhbm5lbF9vcCA0NgogCiAvKiBBcmNo aXRlY3R1cmUtc3BlY2lmaWMgaHlwZXJjYWxsIGRlZmluaXRpb25zLiAqLwogI2RlZmluZSBfX0hZ UEVSVklTT1JfYXJjaF8wICAgICAgICAgICAgICAgNDgKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRl L3hlbi9oeXBlcmNhbGwuaCBiL3hlbi9pbmNsdWRlL3hlbi9oeXBlcmNhbGwuaAppbmRleCAxMDJi MjBmZDVmLi5iZDczOWMyZGM3IDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS94ZW4vaHlwZXJjYWxs LmgKKysrIGIveGVuL2luY2x1ZGUveGVuL2h5cGVyY2FsbC5oCkBAIC0xNjcsNiArMTY3LDEwIEBA IGV4dGVybiBsb25nIGRvX25lc3RlZF9ncmFudF90YWJsZV9vcCgKICAgICB1bnNpZ25lZCBpbnQg Y21kLAogICAgIFhFTl9HVUVTVF9IQU5ETEVfUEFSQU0odm9pZCkgdW9wLAogICAgIHVuc2lnbmVk IGludCBjb3VudCk7CisKK2V4dGVybiBsb25nIGRvX25lc3RlZF9ldmVudF9jaGFubmVsX29wKAor ICAgIGludCBjbWQsCisgICAgWEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh2b2lkKSBhcmcpOwogI2Vu ZGlmCiAKICNpZmRlZiBDT05GSUdfQ09NUEFUCmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS94c20v ZHVtbXkuaCBiL3hlbi9pbmNsdWRlL3hzbS9kdW1teS5oCmluZGV4IGY1ODcxZWYwNWEuLmY4MTYy ZjMzMDggMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL3hzbS9kdW1teS5oCisrKyBiL3hlbi9pbmNs dWRlL3hzbS9kdW1teS5oCkBAIC03NjgsNiArNzY4LDE0IEBAIHN0YXRpYyBYU01fSU5MSU5FIGlu dCB4c21fbmVzdGVkX2dyYW50X3F1ZXJ5X3NpemUoWFNNX0RFRkFVTFRfQVJHCiAgICAgWFNNX0FT U0VSVF9BQ1RJT04oWFNNX1BSSVYpOwogICAgIHJldHVybiB4c21fZGVmYXVsdF9hY3Rpb24oYWN0 aW9uLCBkLCBOVUxMKTsKIH0KKworc3RhdGljIFhTTV9JTkxJTkUgaW50IHhzbV9uZXN0ZWRfZXZl bnRfY2hhbm5lbF9vcChYU01fREVGQVVMVF9BUkcKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IGRvbWFpbiAqZCwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IGNt ZCkKK3sKKyAgICBYU01fQVNTRVJUX0FDVElPTihYU01fUFJJVik7CisgICAgcmV0dXJuIHhzbV9k ZWZhdWx0X2FjdGlvbihhY3Rpb24sIGQsIE5VTEwpOworfQogI2VuZGlmCiAKICNpbmNsdWRlIDxw dWJsaWMvdmVyc2lvbi5oPgpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUveHNtL3hzbS5oIGIveGVu L2luY2x1ZGUveHNtL3hzbS5oCmluZGV4IGUxMjAwMWM0MDEuLjgxY2I2N2I4OWIgMTAwNjQ0Ci0t LSBhL3hlbi9pbmNsdWRlL3hzbS94c20uaAorKysgYi94ZW4vaW5jbHVkZS94c20veHNtLmgKQEAg LTE5Miw2ICsxOTIsNyBAQCBzdHJ1Y3QgeHNtX29wZXJhdGlvbnMgewogICAgIGludCAoKm5lc3Rl ZF9hZGRfdG9fcGh5c21hcCkgKGNvbnN0IHN0cnVjdCBkb21haW4gKmQpOwogICAgIGludCAoKm5l c3RlZF9odm1fb3ApIChjb25zdCBzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBpbnQgY21kKTsK ICAgICBpbnQgKCpuZXN0ZWRfZ3JhbnRfcXVlcnlfc2l6ZSkgKGNvbnN0IHN0cnVjdCBkb21haW4g KmQpOworICAgIGludCAoKm5lc3RlZF9ldmVudF9jaGFubmVsX29wKSAoY29uc3Qgc3RydWN0IGRv bWFpbiAqZCwgdW5zaWduZWQgaW50IGNtZCk7CiAjZW5kaWYKIH07CiAKQEAgLTc1NSw2ICs3NTYs MTMgQEAgc3RhdGljIGlubGluZSBpbnQgeHNtX25lc3RlZF9ncmFudF9xdWVyeV9zaXplKHhzbV9k ZWZhdWx0X3QgZGVmLAogICAgIHJldHVybiB4c21fb3BzLT5uZXN0ZWRfZ3JhbnRfcXVlcnlfc2l6 ZShkKTsKIH0KIAorc3RhdGljIGlubGluZSBpbnQgeHNtX25lc3RlZF9ldmVudF9jaGFubmVsX29w KHhzbV9kZWZhdWx0X3QgZGVmLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGNvbnN0IHN0cnVjdCBkb21haW4gKmQsCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IGNtZCkKK3sKKyAgICByZXR1cm4g eHNtX29wcy0+bmVzdGVkX2V2ZW50X2NoYW5uZWxfb3AoZCwgY21kKTsKK30KKwogI2VuZGlmIC8q IENPTkZJR19YRU5fTkVTVEVEICovCiAKICNlbmRpZiAvKiBYU01fTk9fV1JBUFBFUlMgKi8KZGlm ZiAtLWdpdCBhL3hlbi94c20vZHVtbXkuYyBiL3hlbi94c20vZHVtbXkuYwppbmRleCA4YzIxM2My NThmLi45MWRiMjY0ZGRjIDEwMDY0NAotLS0gYS94ZW4veHNtL2R1bW15LmMKKysrIGIveGVuL3hz bS9kdW1teS5jCkBAIC0xNjIsNSArMTYyLDYgQEAgdm9pZCBfX2luaXQgeHNtX2ZpeHVwX29wcyAo c3RydWN0IHhzbV9vcGVyYXRpb25zICpvcHMpCiAgICAgc2V0X3RvX2R1bW15X2lmX251bGwob3Bz LCBuZXN0ZWRfYWRkX3RvX3BoeXNtYXApOwogICAgIHNldF90b19kdW1teV9pZl9udWxsKG9wcywg bmVzdGVkX2h2bV9vcCk7CiAgICAgc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBuZXN0ZWRfZ3Jh bnRfcXVlcnlfc2l6ZSk7CisgICAgc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBuZXN0ZWRfZXZl bnRfY2hhbm5lbF9vcCk7CiAjZW5kaWYKIH0KZGlmZiAtLWdpdCBhL3hlbi94c20vZmxhc2svaG9v a3MuYyBiL3hlbi94c20vZmxhc2svaG9va3MuYwppbmRleCAyOTg4ZGYyY2QxLi4yN2JmYTAxNTU5 IDEwMDY0NAotLS0gYS94ZW4veHNtL2ZsYXNrL2hvb2tzLmMKKysrIGIveGVuL3hzbS9mbGFzay9o b29rcy5jCkBAIC0xNzk0LDYgKzE3OTQsNDAgQEAgc3RhdGljIGludCBmbGFza19uZXN0ZWRfZ3Jh bnRfcXVlcnlfc2l6ZShjb25zdCBzdHJ1Y3QgZG9tYWluICpkKQogICAgIHJldHVybiBkb21haW5f aGFzX25lc3RlZF9wZXJtKGQsIFNFQ0NMQVNTX0dSQU5ULCBHUkFOVF9fUVVFUlkpOwogfQogCitz dGF0aWMgaW50IGZsYXNrX25lc3RlZF9ldmVudF9jaGFubmVsX29wKGNvbnN0IHN0cnVjdCBkb21h aW4gKmQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVk IGludCBvcCkKK3sKKyAgICB1MzIgcGVybTsKKworICAgIHN3aXRjaCAoIG9wICkKKyAgICB7Cisg ICAgY2FzZSBFVlRDSE5PUF9hbGxvY191bmJvdW5kOgorICAgICAgICBwZXJtID0gTkVTVEVEX0VW RU5UX19BTExPQ19VTkJPVU5EOworICAgICAgICBicmVhazsKKworICAgIGNhc2UgRVZUQ0hOT1Bf YmluZF92Y3B1OgorICAgICAgICBwZXJtID0gTkVTVEVEX0VWRU5UX19CSU5EX1ZDUFU7CisgICAg ICAgIGJyZWFrOworCisgICAgY2FzZSBFVlRDSE5PUF9jbG9zZToKKyAgICAgICAgcGVybSA9IE5F U1RFRF9FVkVOVF9fQ0xPU0U7CisgICAgICAgIGJyZWFrOworCisgICAgY2FzZSBFVlRDSE5PUF9z ZW5kOgorICAgICAgICBwZXJtID0gTkVTVEVEX0VWRU5UX19TRU5EOworICAgICAgICBicmVhazsK KworICAgIGNhc2UgRVZUQ0hOT1BfdW5tYXNrOgorICAgICAgICBwZXJtID0gTkVTVEVEX0VWRU5U X19VTk1BU0s7CisgICAgICAgIGJyZWFrOworCisgICAgZGVmYXVsdDoKKyAgICAgICAgcmV0dXJu IGF2Y191bmtub3duX3Blcm1pc3Npb24oIm5lc3RlZCBldmVudCBjaGFubmVsIG9wIiwgb3ApOwor ICAgIH0KKworICAgIHJldHVybiBkb21haW5faGFzX25lc3RlZF9wZXJtKGQsIFNFQ0NMQVNTX05F U1RFRF9FVkVOVCwgcGVybSk7Cit9CisKICNlbmRpZgogCiBsb25nIGRvX2ZsYXNrX29wKFhFTl9H VUVTVF9IQU5ETEVfUEFSQU0oeHNtX29wX3QpIHVfZmxhc2tfb3ApOwpAQCAtMTk0MCw2ICsxOTc0 LDcgQEAgc3RhdGljIHN0cnVjdCB4c21fb3BlcmF0aW9ucyBmbGFza19vcHMgPSB7CiAgICAgLm5l c3RlZF9hZGRfdG9fcGh5c21hcCA9IGZsYXNrX25lc3RlZF9hZGRfdG9fcGh5c21hcCwKICAgICAu bmVzdGVkX2h2bV9vcCA9IGZsYXNrX25lc3RlZF9odm1fb3AsCiAgICAgLm5lc3RlZF9ncmFudF9x dWVyeV9zaXplID0gZmxhc2tfbmVzdGVkX2dyYW50X3F1ZXJ5X3NpemUsCisgICAgLm5lc3RlZF9l dmVudF9jaGFubmVsX29wID0gZmxhc2tfbmVzdGVkX2V2ZW50X2NoYW5uZWxfb3AsCiAjZW5kaWYK IH07CiAKZGlmZiAtLWdpdCBhL3hlbi94c20vZmxhc2svcG9saWN5L2FjY2Vzc192ZWN0b3JzIGIv eGVuL3hzbS9mbGFzay9wb2xpY3kvYWNjZXNzX3ZlY3RvcnMKaW5kZXggN2UwZDVhYTdiZi4uODdj YWEzNjM5MSAxMDA2NDQKLS0tIGEveGVuL3hzbS9mbGFzay9wb2xpY3kvYWNjZXNzX3ZlY3RvcnMK KysrIGIveGVuL3hzbS9mbGFzay9wb2xpY3kvYWNjZXNzX3ZlY3RvcnMKQEAgLTMxNiw2ICszMTYs MjYgQEAgY2xhc3MgZXZlbnQKICAgICByZXNldAogfQogCisjIENsYXNzIG5lc3RlZF9ldmVudCBk ZXNjcmliZXMgZXZlbnQgY2hhbm5lbHMgdG8gdGhlIGhvc3QgaHlwZXJ2aXNvcgorIyBpbiBhIG5l c3RlZCBYZW4tb24tWGVuIHN5c3RlbS4gUG9saWN5IGNvbnRyb2xzIGZvciB0aGVzZSBkaWZmZXIK KyMgZnJvbSB0aGUgaW50ZXJkb21haW4gZXZlbnQgY2hhbm5lbHMgYmV0d2VlbiBndWVzdCBWTXM6 CisjIHRoZSBndWVzdCBoeXBlcnZpc29yIGRvZXMgbm90IG1haW50YWluIHNlY3VyaXR5IGlkZW50 aWZpZXIgaW5mb3JtYXRpb24gYWJvdXQKKyMgdGhlIHJlbW90ZSBldmVudCBlbmRwb2ludCBtYW5h Z2VkIGJ5IHRoZSBob3N0IGh5cGVydmlzb3IsIHNvIG5lc3RlZF9ldmVudAorIyBjaGFubmVscyBk byBub3QgaGF2ZSB0aGVpciBvd24gc2VjdXJpdHkgbGFiZWwgZGVyaXZlZCBmcm9tIGEgdHlwZSB0 cmFuc2l0aW9uLgorY2xhc3MgbmVzdGVkX2V2ZW50Cit7CisgICAgIyBuZXN0ZWRfZXZlbnRfY2hh bm5lbF9vcDogRVZUQ0hOT1BfYWxsb2NfdW5ib3VuZAorICAgIGFsbG9jX3VuYm91bmQKKyAgICAj IG5lc3RlZF9ldmVudF9jaGFubmVsX29wOiBFVlRDSE5PUF9iaW5kX3ZjcHUKKyAgICBiaW5kX3Zj cHUKKyAgICAjIG5lc3RlZF9ldmVudF9jaGFubmVsX29wOiBFVlRDSE5PUF9jbG9zZQorICAgIGNs b3NlCisgICAgIyBuZXN0ZWRfZXZlbnRfY2hhbm5lbF9vcDogRVZUQ0hOT1Bfc2VuZAorICAgIHNl bmQKKyAgICAjIG5lc3RlZF9ldmVudF9jaGFubmVsX29wOiBFVlRDSE5PUF91bm1hc2sKKyAgICB1 bm1hc2sKK30KKwogIyBDbGFzcyBncmFudCBkZXNjcmliZXMgcGFnZXMgc2hhcmVkIGJ5IGdyYW50 IG1hcHBpbmdzLiAgUGFnZXMgdXNlIHRoZSBzZWN1cml0eQogIyBsYWJlbCBvZiB0aGVpciBvd25p bmcgZG9tYWluLgogY2xhc3MgZ3JhbnQKZGlmZiAtLWdpdCBhL3hlbi94c20vZmxhc2svcG9saWN5 L3NlY3VyaXR5X2NsYXNzZXMgYi94ZW4veHNtL2ZsYXNrL3BvbGljeS9zZWN1cml0eV9jbGFzc2Vz CmluZGV4IDUwZWNiYWJjNWMuLmNlNWQwMGRmMjMgMTAwNjQ0Ci0tLSBhL3hlbi94c20vZmxhc2sv cG9saWN5L3NlY3VyaXR5X2NsYXNzZXMKKysrIGIveGVuL3hzbS9mbGFzay9wb2xpY3kvc2VjdXJp dHlfY2xhc3NlcwpAQCAtMjAsNSArMjAsNiBAQCBjbGFzcyBncmFudAogY2xhc3Mgc2VjdXJpdHkK IGNsYXNzIHZlcnNpb24KIGNsYXNzIGFyZ28KK2NsYXNzIG5lc3RlZF9ldmVudAogCiAjIEZMQVNL Ci0tIAoyLjE3LjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9y ZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs