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_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 CEAA2C282E1 for ; Fri, 24 May 2019 18:13:22 +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 8D41621773 for ; Fri, 24 May 2019 18:13:22 +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="KbwnaAwx" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 8D41621773 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 1hUEgp-00079M-84; Fri, 24 May 2019 18:13:11 +0000 Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hUEgn-00078j-Ea for xen-devel@lists.xenproject.org; Fri, 24 May 2019 18:13:09 +0000 X-Inumbo-ID: 949a777b-7e4f-11e9-8980-bc764e045a96 Received: from mail-lj1-x241.google.com (unknown [2a00:1450:4864:20::241]) by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS id 949a777b-7e4f-11e9-8980-bc764e045a96; Fri, 24 May 2019 18:13:08 +0000 (UTC) Received: by mail-lj1-x241.google.com with SMTP id h11so9484690ljb.2 for ; Fri, 24 May 2019 11:13:08 -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=ToYgUBMbCPZ8jiO68i7AJLmv5tDV25Mvk6HHYTzxb4M=; b=KbwnaAwxDSeV97KLlk7gxe4I9IKf1dfz3oCliRLk7CSI9NtTH3s/M1oom4oeBN1PrB 14khn/6GgkdrlYBULUROWxLIoYUxWvw/XPNkNSkvAHDzxL7f+iCiEiqsl4KaKidA2dg0 ou1tc8HhwphpZo30ggM4rkCNxyvoRRTwQIzRTvZJhhVFPZvaAoWyXzSz9gifJBjW1hLu s2Rg/DbXOI9Z+zicm6BR0fyDdqgsbf0BNs/P3AWXGBRXWvimAlDSRWmD/fzQGwdJIBPp DnrtKS1Ll8nBVJkHM1Bt+6AuN6PzCz/ELRZ/q5aDeMP3gCqjg4Nv/OLs3pCRf9BtAtd/ SJuA== 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=ToYgUBMbCPZ8jiO68i7AJLmv5tDV25Mvk6HHYTzxb4M=; b=bXvnpMc7A8XELDnfgKpHRh7YRMSurRlggjsIsfTFZ0lkhZjcJ+1BrC5Bcn9YQPld4V z9OZ8OAErTGGSqpIy7A0kjPz5TmIY5tjiDoqxAgCb+bJ0tIQk3hmsiGDkyZeZCJeQKJm ZYEL625n+/6TO0TDm70vBpWn/TTXhQQspgVHjPkDrHqAbPoB2kSxDkzDag8qsZxDMvwO 3efl/QsZp69ynouctTgh8dyvy9Ma+N5GDd51JRnLdG+Vuk5PJCvG4+KagxX/mOib+/7x AUk4Zm6+ovrC0WwwztXJkWyhJBbdPA33jcdQ6yW1fqo8toGdfRisQIdxm0sMgr8mi8dT rorQ== X-Gm-Message-State: APjAAAUR+f2j5Nd7aOoqhGogNpoxzEiAdpZMLtUo6FsPrv6Fp3inxamZ hUp1hMbkdC4jCB3WU98VGF4= X-Google-Smtp-Source: APXvYqxJzsSKDku7QWRxMAVYPREXxhEyVgGHjqjj3ZrF5R1GC0wljpzstRNujJ+gptpkGYbYmGIT4w== X-Received: by 2002:a2e:8785:: with SMTP id n5mr779771lji.215.1558721586657; Fri, 24 May 2019 11:13:06 -0700 (PDT) Received: from aanisov-work.kyiv.epam.com (ll-22.209.223.85.sovam.net.ua. [85.223.209.22]) by smtp.gmail.com with ESMTPSA id m25sm629438ljj.92.2019.05.24.11.13.05 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Fri, 24 May 2019 11:13:06 -0700 (PDT) From: Andrii Anisov To: Date: Fri, 24 May 2019 21:12:57 +0300 Message-Id: <1558721577-13958-4-git-send-email-andrii.anisov@gmail.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1558721577-13958-1-git-send-email-andrii.anisov@gmail.com> References: <1558721577-13958-1-git-send-email-andrii.anisov@gmail.com> Subject: [Xen-devel] [PATCH RFC 1] [DO NOT APPLY] introduce VCPUOP_register_runstate_phys_memory_area 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: Stefano Stabellini , Andrii Anisov , Konrad Rzeszutek Wilk , George Dunlap , Andrew Cooper , Ian Jackson , Tim Deegan , Julien Grall , Jan Beulich , xen-devel@lists.xenproject.org, Wei Liu 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" Message-ID: <20190524181257.UFoQXdSFkixZzB_ChZjkDbiThSkxqHBkMB1wHBX8pQw@z> RnJvbTogQW5kcmlpIEFuaXNvdiA8YW5kcmlpX2FuaXNvdkBlcGFtLmNvbT4KCkFuIFJGQyB2ZXJz aW9uIG9mIHRoZSBydW5zdGF0ZSByZWdpc3RyYXRpb24gd2l0aCBwaHlzIGFkZHJlc3MuClJ1bnN0 YXRlIGFyZWEgYWNjZXNzIGlzIGltcGxlbWVudGVkIHdpdGggbWFwcGluZyBvbiBlYWNoIGFjY2Vz cywgbGlrZQpvbGQgaW50ZXJmYWNlIGRpZC4KClNpZ25lZC1vZmYtYnk6IEFuZHJpaSBBbmlzb3Yg PGFuZHJpaV9hbmlzb3ZAZXBhbS5jb20+Ci0tLQogeGVuL2FyY2gvYXJtL2RvbWFpbi5jICAgICB8 IDYzICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tCiB4ZW4v Y29tbW9uL2RvbWFpbi5jICAgICAgIHwgNTEgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKystLS0KIHhlbi9pbmNsdWRlL3B1YmxpYy92Y3B1LmggfCAxNSArKysrKysrKysrKwogeGVu L2luY2x1ZGUveGVuL3NjaGVkLmggICB8IDI4ICsrKysrKysrKysrKysrKy0tLS0tLQogNCBmaWxl cyBjaGFuZ2VkLCAxNDAgaW5zZXJ0aW9ucygrKSwgMTcgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0 IGEveGVuL2FyY2gvYXJtL2RvbWFpbi5jIGIveGVuL2FyY2gvYXJtL2RvbWFpbi5jCmluZGV4IGE5 ZjdmZjUuLjYxMDk1N2EgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL2FybS9kb21haW4uYworKysgYi94 ZW4vYXJjaC9hcm0vZG9tYWluLmMKQEAgLTI3NCwxNyArMjc0LDE1IEBAIHN0YXRpYyB2b2lkIGN0 eHRfc3dpdGNoX3RvKHN0cnVjdCB2Y3B1ICpuKQogICAgIHZpcnRfdGltZXJfcmVzdG9yZShuKTsK IH0KIAotLyogVXBkYXRlIHBlci1WQ1BVIGd1ZXN0IHJ1bnN0YXRlIHNoYXJlZCBtZW1vcnkgYXJl YSAoaWYgcmVnaXN0ZXJlZCkuICovCi1zdGF0aWMgdm9pZCB1cGRhdGVfcnVuc3RhdGVfYXJlYShz dHJ1Y3QgdmNwdSAqdikKK3N0YXRpYyB2b2lkIHVwZGF0ZV9ydW5zdGF0ZV9ieV9ndmFkZHIoc3Ry dWN0IHZjcHUgKnYpCiB7CiAgICAgdm9pZCBfX3VzZXIgKmd1ZXN0X2hhbmRsZSA9IE5VTEw7CiAK LSAgICBpZiAoIGd1ZXN0X2hhbmRsZV9pc19udWxsKHJ1bnN0YXRlX2d1ZXN0KHYpKSApCi0gICAg ICAgIHJldHVybjsKKyAgICBBU1NFUlQoIWd1ZXN0X2hhbmRsZV9pc19udWxsKHJ1bnN0YXRlX2d1 ZXN0X3ZpcnQodikpKTsKIAogICAgIGlmICggVk1fQVNTSVNUKHYtPmRvbWFpbiwgcnVuc3RhdGVf dXBkYXRlX2ZsYWcpICkKICAgICB7Ci0gICAgICAgIGd1ZXN0X2hhbmRsZSA9ICZ2LT5ydW5zdGF0 ZV9ndWVzdC5wLT5zdGF0ZV9lbnRyeV90aW1lICsgMTsKKyAgICAgICAgZ3Vlc3RfaGFuZGxlID0g JnYtPnJ1bnN0YXRlX2d1ZXN0LnZpcnQucC0+c3RhdGVfZW50cnlfdGltZSArIDE7CiAgICAgICAg IGd1ZXN0X2hhbmRsZS0tOwogICAgICAgICB2LT5ydW5zdGF0ZS5zdGF0ZV9lbnRyeV90aW1lIHw9 IFhFTl9SVU5TVEFURV9VUERBVEU7CiAgICAgICAgIF9fcmF3X2NvcHlfdG9fZ3Vlc3QoZ3Vlc3Rf aGFuZGxlLApAQCAtMjkyLDcgKzI5MCw3IEBAIHN0YXRpYyB2b2lkIHVwZGF0ZV9ydW5zdGF0ZV9h cmVhKHN0cnVjdCB2Y3B1ICp2KQogICAgICAgICBzbXBfd21iKCk7CiAgICAgfQogCi0gICAgX19j b3B5X3RvX2d1ZXN0KHJ1bnN0YXRlX2d1ZXN0KHYpLCAmdi0+cnVuc3RhdGUsIDEpOworICAgIF9f Y29weV90b19ndWVzdChydW5zdGF0ZV9ndWVzdF92aXJ0KHYpLCAmdi0+cnVuc3RhdGUsIDEpOwog CiAgICAgaWYgKCBndWVzdF9oYW5kbGUgKQogICAgIHsKQEAgLTMwMyw2ICszMDEsNTggQEAgc3Rh dGljIHZvaWQgdXBkYXRlX3J1bnN0YXRlX2FyZWEoc3RydWN0IHZjcHUgKnYpCiAgICAgfQogfQog CitleHRlcm4gaW50IG1hcF9ydW5zdGF0ZV9hcmVhKHN0cnVjdCB2Y3B1ICp2LCBzdHJ1Y3QgdmNw dV9ydW5zdGF0ZV9pbmZvICoqYXJlYSk7CitleHRlcm4gdm9pZCB1bm1hcF9ydW5zdGF0ZV9hcmVh KHN0cnVjdCB2Y3B1X3J1bnN0YXRlX2luZm8gKmFyZWEpOworCitzdGF0aWMgdm9pZCB1cGRhdGVf cnVuc3RhdGVfYnlfZ3BhZGRyKHN0cnVjdCB2Y3B1ICp2KQoreworICAgIHN0cnVjdCBkb21haW4g KmQgPSB2LT5kb21haW47CisgICAgcGFkZHJfdCBncGFkZHIgPSAwOworCisKKyAgICBpZiAoIFZN X0FTU0lTVCh2LT5kb21haW4sIHJ1bnN0YXRlX3VwZGF0ZV9mbGFnKSApCisgICAgeworICAgICAg ICBncGFkZHIgPSB2LT5ydW5zdGF0ZV9ndWVzdC5waHlzICsgb2Zmc2V0b2Yoc3RydWN0IHZjcHVf cnVuc3RhdGVfaW5mbywgc3RhdGVfZW50cnlfdGltZSkgKyBzaXplb2YodWludDY0X3QpIC0gMTsK KyAgICAgICAgdi0+cnVuc3RhdGUuc3RhdGVfZW50cnlfdGltZSB8PSBYRU5fUlVOU1RBVEVfVVBE QVRFOworICAgICAgICBjb3B5X3RvX2d1ZXN0X3BoeXNfZmx1c2hfZGNhY2hlIChkLCBncGFkZHIs CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh2b2lkICopKCZ2LT5y dW5zdGF0ZS5zdGF0ZV9lbnRyeV90aW1lICsgMSkgLSAxLCAxKTsKKyAgICAgICAgc21wX3dtYigp OworICAgIH0KKworICAgIGNvcHlfdG9fZ3Vlc3RfcGh5c19mbHVzaF9kY2FjaGUgKGQsIHYtPnJ1 bnN0YXRlX2d1ZXN0LnBoeXMsICZ2LT5ydW5zdGF0ZSwgc2l6ZW9mKHN0cnVjdCB2Y3B1X3J1bnN0 YXRlX2luZm8pKTsKKworICAgIGlmICggZ3BhZGRyICkKKyAgICB7CisgICAgICAgIHYtPnJ1bnN0 YXRlLnN0YXRlX2VudHJ5X3RpbWUgJj0gflhFTl9SVU5TVEFURV9VUERBVEU7CisgICAgICAgIHNt cF93bWIoKTsKKyAgICAgICAgY29weV90b19ndWVzdF9waHlzX2ZsdXNoX2RjYWNoZSAoZCwgZ3Bh ZGRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodm9pZCAqKSgm di0+cnVuc3RhdGUuc3RhdGVfZW50cnlfdGltZSArIDEpIC0gMSwgMSk7CisgICAgfQorfQorCisv KiBVcGRhdGUgcGVyLVZDUFUgZ3Vlc3QgcnVuc3RhdGUgc2hhcmVkIG1lbW9yeSBhcmVhIChpZiBy ZWdpc3RlcmVkKS4gKi8KK3N0YXRpYyB2b2lkIHVwZGF0ZV9ydW5zdGF0ZV9hcmVhKHN0cnVjdCB2 Y3B1ICp2KQoreworICAgIGlmICggeGNoZygmdi0+cnVuc3RhdGVfaW5fdXNlLCAxKSApCisgICAg ICAgIHJldHVybjsKKworICAgIHN3aXRjaCAoIHYtPnJ1bnN0YXRlX2d1ZXN0X3R5cGUgKQorICAg IHsKKyAgICBjYXNlIFJVTlNUQVRFX05PTkU6CisgICAgICAgYnJlYWs7CisKKyAgICBjYXNlIFJV TlNUQVRFX1ZBRERSOgorICAgICAgIHVwZGF0ZV9ydW5zdGF0ZV9ieV9ndmFkZHIodik7CisgICAg ICAgYnJlYWs7CisKKyAgICBjYXNlIFJVTlNUQVRFX1BBRERSOgorICAgICAgIHVwZGF0ZV9ydW5z dGF0ZV9ieV9ncGFkZHIodik7CisgICAgICAgYnJlYWs7CisgICAgfQorCisgICAgeGNoZygmdi0+ cnVuc3RhdGVfaW5fdXNlLCAwKTsKK30KKwogc3RhdGljIHZvaWQgc2NoZWR1bGVfdGFpbChzdHJ1 Y3QgdmNwdSAqcHJldikKIHsKICAgICBjdHh0X3N3aXRjaF9mcm9tKHByZXYpOwpAQCAtOTk4LDYg KzEwNDgsNyBAQCBsb25nIGRvX2FybV92Y3B1X29wKGludCBjbWQsIHVuc2lnbmVkIGludCB2Y3B1 aWQsIFhFTl9HVUVTVF9IQU5ETEVfUEFSQU0odm9pZCkgYQogICAgIHsKICAgICAgICAgY2FzZSBW Q1BVT1BfcmVnaXN0ZXJfdmNwdV9pbmZvOgogICAgICAgICBjYXNlIFZDUFVPUF9yZWdpc3Rlcl9y dW5zdGF0ZV9tZW1vcnlfYXJlYToKKyAgICAgICAgY2FzZSBWQ1BVT1BfcmVnaXN0ZXJfcnVuc3Rh dGVfcGh5c19tZW1vcnlfYXJlYToKICAgICAgICAgICAgIHJldHVybiBkb192Y3B1X29wKGNtZCwg dmNwdWlkLCBhcmcpOwogICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgcmV0dXJuIC1FSU5W QUw7CmRpZmYgLS1naXQgYS94ZW4vY29tbW9uL2RvbWFpbi5jIGIveGVuL2NvbW1vbi9kb21haW4u YwppbmRleCAzMmJjYThkLi5iNThkNmRkIDEwMDY0NAotLS0gYS94ZW4vY29tbW9uL2RvbWFpbi5j CisrKyBiL3hlbi9jb21tb24vZG9tYWluLmMKQEAgLTcwMCw2ICs3MDAsMTggQEAgaW50IHJjdV9s b2NrX2xpdmVfcmVtb3RlX2RvbWFpbl9ieV9pZChkb21pZF90IGRvbSwgc3RydWN0IGRvbWFpbiAq KmQpCiAgICAgcmV0dXJuIDA7CiB9CiAKK3N0YXRpYyB2b2lkIGRpc2NhcmRfcnVuc3RhdGVfYXJl YShzdHJ1Y3QgdmNwdSAqdikKK3sKKyAgICB2LT5ydW5zdGF0ZV9ndWVzdF90eXBlID0gUlVOU1RB VEVfTk9ORTsKK30KKworc3RhdGljIHZvaWQgZGlzY2FyZF9ydW5zdGF0ZV9hcmVhX2xvY2tlZChz dHJ1Y3QgdmNwdSAqdikKK3sKKyAgICB3aGlsZSAoIHhjaGcoJnYtPnJ1bnN0YXRlX2luX3VzZSwg MSkgKTsKKyAgICBkaXNjYXJkX3J1bnN0YXRlX2FyZWEodik7CisgICAgeGNoZygmdi0+cnVuc3Rh dGVfaW5fdXNlLCAwKTsKK30KKwogaW50IGRvbWFpbl9raWxsKHN0cnVjdCBkb21haW4gKmQpCiB7 CiAgICAgaW50IHJjID0gMDsKQEAgLTczOCw3ICs3NTAsMTAgQEAgaW50IGRvbWFpbl9raWxsKHN0 cnVjdCBkb21haW4gKmQpCiAgICAgICAgIGlmICggY3B1cG9vbF9tb3ZlX2RvbWFpbihkLCBjcHVw b29sMCkgKQogICAgICAgICAgICAgcmV0dXJuIC1FUkVTVEFSVDsKICAgICAgICAgZm9yX2VhY2hf dmNwdSAoIGQsIHYgKQorICAgICAgICB7CisgICAgICAgICAgICBkaXNjYXJkX3J1bnN0YXRlX2Fy ZWFfbG9ja2VkKHYpOwogICAgICAgICAgICAgdW5tYXBfdmNwdV9pbmZvKHYpOworICAgICAgICB9 CiAgICAgICAgIGQtPmlzX2R5aW5nID0gRE9NRFlJTkdfZGVhZDsKICAgICAgICAgLyogTWVtIGV2 ZW50IGNsZWFudXAgaGFzIHRvIGdvIGhlcmUgYmVjYXVzZSB0aGUgcmluZ3MgCiAgICAgICAgICAq IGhhdmUgdG8gYmUgcHV0IGJlZm9yZSB3ZSBjYWxsIHB1dF9kb21haW4uICovCkBAIC0xMTkyLDcg KzEyMDcsNyBAQCBpbnQgZG9tYWluX3NvZnRfcmVzZXQoc3RydWN0IGRvbWFpbiAqZCkKIAogICAg IGZvcl9lYWNoX3ZjcHUgKCBkLCB2ICkKICAgICB7Ci0gICAgICAgIHNldF94ZW5fZ3Vlc3RfaGFu ZGxlKHJ1bnN0YXRlX2d1ZXN0KHYpLCBOVUxMKTsKKyAgICAgICAgZGlzY2FyZF9ydW5zdGF0ZV9h cmVhX2xvY2tlZCh2KTsKICAgICAgICAgdW5tYXBfdmNwdV9pbmZvKHYpOwogICAgIH0KIApAQCAt MTUyMCwxOCArMTUzNSw0NiBAQCBsb25nIGRvX3ZjcHVfb3AoaW50IGNtZCwgdW5zaWduZWQgaW50 IHZjcHVpZCwgWEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh2b2lkKSBhcmcpCiAgICAgICAgICAgICBi cmVhazsKIAogICAgICAgICByYyA9IDA7Ci0gICAgICAgIHJ1bnN0YXRlX2d1ZXN0KHYpID0gYXJl YS5hZGRyLmg7CisKKyAgICAgICAgd2hpbGUoIHhjaGcoJnYtPnJ1bnN0YXRlX2luX3VzZSwgMSkg PT0gMCk7CisKKyAgICAgICAgZGlzY2FyZF9ydW5zdGF0ZV9hcmVhKHYpOworCisgICAgICAgIHJ1 bnN0YXRlX2d1ZXN0X3ZpcnQodikgPSBhcmVhLmFkZHIuaDsKKyAgICAgICAgdi0+cnVuc3RhdGVf Z3Vlc3RfdHlwZSA9IFJVTlNUQVRFX1ZBRERSOwogCiAgICAgICAgIGlmICggdiA9PSBjdXJyZW50 ICkKICAgICAgICAgewotICAgICAgICAgICAgX19jb3B5X3RvX2d1ZXN0KHJ1bnN0YXRlX2d1ZXN0 KHYpLCAmdi0+cnVuc3RhdGUsIDEpOworICAgICAgICAgICAgX19jb3B5X3RvX2d1ZXN0KHJ1bnN0 YXRlX2d1ZXN0X3ZpcnQodiksICZ2LT5ydW5zdGF0ZSwgMSk7CiAgICAgICAgIH0KICAgICAgICAg ZWxzZQogICAgICAgICB7CiAgICAgICAgICAgICB2Y3B1X3J1bnN0YXRlX2dldCh2LCAmcnVuc3Rh dGUpOwotICAgICAgICAgICAgX19jb3B5X3RvX2d1ZXN0KHJ1bnN0YXRlX2d1ZXN0KHYpLCAmcnVu c3RhdGUsIDEpOworICAgICAgICAgICAgX19jb3B5X3RvX2d1ZXN0KHJ1bnN0YXRlX2d1ZXN0X3Zp cnQodiksICZydW5zdGF0ZSwgMSk7CiAgICAgICAgIH0KIAorICAgICAgICB4Y2hnKCZ2LT5ydW5z dGF0ZV9pbl91c2UsIDApOworCisgICAgICAgIGJyZWFrOworICAgIH0KKworICAgIGNhc2UgVkNQ VU9QX3JlZ2lzdGVyX3J1bnN0YXRlX3BoeXNfbWVtb3J5X2FyZWE6CisgICAgeworICAgICAgICBz dHJ1Y3QgdmNwdV9yZWdpc3Rlcl9ydW5zdGF0ZV9tZW1vcnlfYXJlYSBhcmVhOworCisgICAgICAg IHJjID0gLUVGQVVMVDsKKyAgICAgICAgaWYgKCBjb3B5X2Zyb21fZ3Vlc3QoJmFyZWEsIGFyZywg MSkgKQorICAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgIHdoaWxlKCB4Y2hnKCZ2LT5ydW5z dGF0ZV9pbl91c2UsIDEpID09IDApOworCisgICAgICAgIGRpc2NhcmRfcnVuc3RhdGVfYXJlYSh2 KTsKKyAgICAgICAgdi0+cnVuc3RhdGVfZ3Vlc3QucGh5cyA9IGFyZWEuYWRkci5wOworICAgICAg ICB2LT5ydW5zdGF0ZV9ndWVzdF90eXBlID0gUlVOU1RBVEVfUEFERFI7CisKKyAgICAgICAgeGNo Zygmdi0+cnVuc3RhdGVfaW5fdXNlLCAwKTsKKyAgICAgICAgcmMgPSAwOworCiAgICAgICAgIGJy ZWFrOwogICAgIH0KIApkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvcHVibGljL3ZjcHUuaCBiL3hl bi9pbmNsdWRlL3B1YmxpYy92Y3B1LmgKaW5kZXggMzYyM2FmOS4uZDdkYTRhMyAxMDA2NDQKLS0t IGEveGVuL2luY2x1ZGUvcHVibGljL3ZjcHUuaAorKysgYi94ZW4vaW5jbHVkZS9wdWJsaWMvdmNw dS5oCkBAIC0yMzUsNiArMjM1LDIxIEBAIHN0cnVjdCB2Y3B1X3JlZ2lzdGVyX3RpbWVfbWVtb3J5 X2FyZWEgewogdHlwZWRlZiBzdHJ1Y3QgdmNwdV9yZWdpc3Rlcl90aW1lX21lbW9yeV9hcmVhIHZj cHVfcmVnaXN0ZXJfdGltZV9tZW1vcnlfYXJlYV90OwogREVGSU5FX1hFTl9HVUVTVF9IQU5ETEUo dmNwdV9yZWdpc3Rlcl90aW1lX21lbW9yeV9hcmVhX3QpOwogCisvKgorICogUmVnaXN0ZXIgYSBz aGFyZWQgbWVtb3J5IGFyZWEgZnJvbSB3aGljaCB0aGUgZ3Vlc3QgbWF5IG9idGFpbiBpdHMgb3du CisgKiBydW5zdGF0ZSBpbmZvcm1hdGlvbiB3aXRob3V0IG5lZWRpbmcgdG8gZXhlY3V0ZSBhIGh5 cGVyY2FsbC4KKyAqIE5vdGVzOgorICogIDEuIFRoZSByZWdpc3RlcmVkIGFkZHJlc3MgbXVzdCBi ZSBndWVzdCdzIHBoeXNpY2FsIGFkZHJlc3MuCisgKiAgMi4gVGhlIHJlZ2lzdGVyZWQgcnVuc3Rh dGUgYXJlYSBzaG91bGQgbm90IGNyb3NzIHBhZ2UgYm91bmRhcnkuCisgKiAgMy4gT25seSBvbmUg c2hhcmVkIGFyZWEgbWF5IGJlIHJlZ2lzdGVyZWQgcGVyIFZDUFUuIFRoZSBzaGFyZWQgYXJlYSBp cworICogICAgIHVwZGF0ZWQgYnkgdGhlIGh5cGVydmlzb3IgZWFjaCB0aW1lIHRoZSBWQ1BVIGlz IHNjaGVkdWxlZC4gVGh1cworICogICAgIHJ1bnN0YXRlLnN0YXRlIHdpbGwgYWx3YXlzIGJlIFJV TlNUQVRFX3J1bm5pbmcgYW5kCisgKiAgICAgcnVuc3RhdGUuc3RhdGVfZW50cnlfdGltZSB3aWxs IGluZGljYXRlIHRoZSBzeXN0ZW0gdGltZSBhdCB3aGljaCB0aGUKKyAqICAgICBWQ1BVIHdhcyBs YXN0IHNjaGVkdWxlZCB0byBydW4uCisgKiBAZXh0cmFfYXJnID09IHBvaW50ZXIgdG8gdmNwdV9y ZWdpc3Rlcl9ydW5zdGF0ZV9tZW1vcnlfYXJlYSBzdHJ1Y3R1cmUuCisgKi8KKyNkZWZpbmUgVkNQ VU9QX3JlZ2lzdGVyX3J1bnN0YXRlX3BoeXNfbWVtb3J5X2FyZWEgMTQKKwogI2VuZGlmIC8qIF9f WEVOX1BVQkxJQ19WQ1BVX0hfXyAqLwogCiAvKgpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUveGVu L3NjaGVkLmggYi94ZW4vaW5jbHVkZS94ZW4vc2NoZWQuaAppbmRleCBlZGVlNTJkLi44YWM1OTdi IDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS94ZW4vc2NoZWQuaAorKysgYi94ZW4vaW5jbHVkZS94 ZW4vc2NoZWQuaApAQCAtMTYzLDE3ICsxNjMsMzEgQEAgc3RydWN0IHZjcHUKICAgICB2b2lkICAg ICAgICAgICAgKnNjaGVkX3ByaXY7ICAgIC8qIHNjaGVkdWxlci1zcGVjaWZpYyBkYXRhICovCiAK ICAgICBzdHJ1Y3QgdmNwdV9ydW5zdGF0ZV9pbmZvIHJ1bnN0YXRlOworCisgICAgZW51bSB7Cisg ICAgICAgIFJVTlNUQVRFX05PTkUgPSAwLAorICAgICAgICBSVU5TVEFURV9QQUREUiA9IDEsCisg ICAgICAgIFJVTlNUQVRFX1ZBRERSID0gMiwKKyAgICB9IHJ1bnN0YXRlX2d1ZXN0X3R5cGU7CisK KyAgICB1bnNpZ25lZCBsb25nIHJ1bnN0YXRlX2luX3VzZTsKKworICAgIHVuaW9uCisgICAgewog I2lmbmRlZiBDT05GSUdfQ09NUEFUCi0jIGRlZmluZSBydW5zdGF0ZV9ndWVzdCh2KSAoKHYpLT5y dW5zdGF0ZV9ndWVzdCkKLSAgICBYRU5fR1VFU1RfSEFORExFKHZjcHVfcnVuc3RhdGVfaW5mb190 KSBydW5zdGF0ZV9ndWVzdDsgLyogZ3Vlc3QgYWRkcmVzcyAqLworIyBkZWZpbmUgcnVuc3RhdGVf Z3Vlc3RfdmlydCh2KSAoKHYpLT5ydW5zdGF0ZV9ndWVzdC52aXJ0KQorICAgICAgICAgICBYRU5f R1VFU1RfSEFORExFKHZjcHVfcnVuc3RhdGVfaW5mb190KSB2aXJ0OyAvKiBndWVzdCBhZGRyZXNz ICovCiAjZWxzZQotIyBkZWZpbmUgcnVuc3RhdGVfZ3Vlc3QodikgKCh2KS0+cnVuc3RhdGVfZ3Vl c3QubmF0aXZlKQotICAgIHVuaW9uIHsKLSAgICAgICAgWEVOX0dVRVNUX0hBTkRMRSh2Y3B1X3J1 bnN0YXRlX2luZm9fdCkgbmF0aXZlOwotICAgICAgICBYRU5fR1VFU1RfSEFORExFKHZjcHVfcnVu c3RhdGVfaW5mb19jb21wYXRfdCkgY29tcGF0OwotICAgIH0gcnVuc3RhdGVfZ3Vlc3Q7IC8qIGd1 ZXN0IGFkZHJlc3MgKi8KKyMgZGVmaW5lIHJ1bnN0YXRlX2d1ZXN0X3ZpcnQodikgKCh2KS0+cnVu c3RhdGVfZ3Vlc3QudmlydC5uYXRpdmUpCisgICAgICAgICAgIHVuaW9uIHsKKyAgICAgICAgICAg ICAgIFhFTl9HVUVTVF9IQU5ETEUodmNwdV9ydW5zdGF0ZV9pbmZvX3QpIG5hdGl2ZTsKKyAgICAg ICAgICAgICAgIFhFTl9HVUVTVF9IQU5ETEUodmNwdV9ydW5zdGF0ZV9pbmZvX2NvbXBhdF90KSBj b21wYXQ7CisgICAgICAgICAgIH0gdmlydDsgLyogZ3Vlc3QgYWRkcmVzcyAqLwogI2VuZGlmCiAK KyAgICAgICAgcGFkZHJfdCBwaHlzOworICAgIH0gcnVuc3RhdGVfZ3Vlc3Q7CisKICAgICAvKiBs YXN0IHRpbWUgd2hlbiB2Q1BVIGlzIHNjaGVkdWxlZCBvdXQgKi8KICAgICB1aW50NjRfdCBsYXN0 X3J1bl90aW1lOwogCi0tIAoyLjcuNAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhl bnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5m by94ZW4tZGV2ZWw=