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.8 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, 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 9E716C3A589 for ; Mon, 19 Aug 2019 01:22:00 +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 709312146E for ; Mon, 19 Aug 2019 01:22:00 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 709312146E Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=intel.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 1hzWMl-0001BC-Oa; Mon, 19 Aug 2019 01:21:47 +0000 Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hzWMj-00019z-N4 for xen-devel@lists.xenproject.org; Mon, 19 Aug 2019 01:21:45 +0000 X-Inumbo-ID: b519343a-c21f-11e9-8be5-12813bfff9fa Received: from mga03.intel.com (unknown [134.134.136.65]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id b519343a-c21f-11e9-8be5-12813bfff9fa; Mon, 19 Aug 2019 01:21:45 +0000 (UTC) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga103.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 18 Aug 2019 18:21:44 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.64,403,1559545200"; d="scan'208";a="261683894" Received: from gao-cwp.sh.intel.com ([10.239.159.26]) by orsmga001.jf.intel.com with ESMTP; 18 Aug 2019 18:21:42 -0700 From: Chao Gao To: xen-devel@lists.xenproject.org Date: Mon, 19 Aug 2019 09:25:20 +0800 Message-Id: <1566177928-19114-8-git-send-email-chao.gao@intel.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1566177928-19114-1-git-send-email-chao.gao@intel.com> References: <1566177928-19114-1-git-send-email-chao.gao@intel.com> Subject: [Xen-devel] [PATCH v9 07/15] microcode: remove pointless 'cpu' parameter 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: Ashok Raj , Wei Liu , Andrew Cooper , Jan Beulich , Chao Gao , =?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" U29tZSBjYWxsYmFja3MgaW4gbWljcm9jb2RlX29wcyBvciByZWxhdGVkIGZ1bmN0aW9ucyB0YWtl IGEgY3B1CmlkIHBhcmFtZXRlci4gQnV0IGF0IGN1cnJlbnQgY2FsbCBzaXRlcywgdGhlIGNwdSBp ZCBwYXJhbWV0ZXIgaXMKYWx3YXlzIGVxdWFsIHRvIGN1cnJlbnQgY3B1IGlkLiBTb21lIG9mIHRo ZW0gZXZlbiB1c2UgYW4gYXNzZXJ0aW9uCnRvIGd1YXJhbnRlZSB0aGlzLiBSZW1vdmUgdGhpcyBy ZWR1bmRlbnQgJ2NwdScgcGFyYW1ldGVyLgoKU2lnbmVkLW9mZi1ieTogQ2hhbyBHYW8gPGNoYW8u Z2FvQGludGVsLmNvbT4KUmV2aWV3ZWQtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNv bT4KLS0tCkNoYW5nZXMgaW4gdjk6CiAtIHVzZSBhIGNvbnZlbmllbmNlIHZhcmlhYmxlICdjcHUn IGluIGNvbGxlY3RfY3B1X2luZm8oKSBvbiBBTUQgc2lkZQogLSByZWJhc2UgYW5kIGZpeCBjb25m bGljdHMKCkNoYW5nZXMgaW4gdjg6CiAtIFVzZSBjdXJyZW50X2NwdV9kYXRhIGluIGNvbGxlY3Rf Y3B1X2luZm8oKQogLSBrZWVwIHRoZSBjcHUgcGFyYW1ldGVyIG9mIGNoZWNrX2ZpbmFsX3BhdGNo X2xldmVscygpCiAtIHVzZSBzbXBfcHJvY2Vzc29yX2lkKCkgaW4gZ2V0X21hdGNoaW5nX21pY3Jv Y29kZSgpIHJhdGhlciB0aGFuCiBkZWZpbmUgYSBsb2NhbCB2YXJpYWJsZSBhbmQgbGFiZWwgaXQg Il9fbWF5YmVfdW51c2VkIgotLS0KIHhlbi9hcmNoL3g4Ni9hY3BpL3Bvd2VyLmMgICAgICAgfCAg MiArLQogeGVuL2FyY2gveDg2L21pY3JvY29kZS5jICAgICAgICB8IDIwICsrKysrKysrLS0tLS0t LS0tLS0tCiB4ZW4vYXJjaC94ODYvbWljcm9jb2RlX2FtZC5jICAgIHwgMzAgKysrKysrKysrKyst LS0tLS0tLS0tLS0tLS0tLS0tCiB4ZW4vYXJjaC94ODYvbWljcm9jb2RlX2ludGVsLmMgIHwgMzUg KysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIHhlbi9hcmNoL3g4Ni9zbXBib290 LmMgICAgICAgICAgfCAgMiArLQogeGVuL2luY2x1ZGUvYXNtLXg4Ni9taWNyb2NvZGUuaCB8ICA3 ICsrKy0tLS0KIHhlbi9pbmNsdWRlL2FzbS14ODYvcHJvY2Vzc29yLmggfCAgMiArLQogNyBmaWxl cyBjaGFuZ2VkLCAzOCBpbnNlcnRpb25zKCspLCA2MCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS94ZW4vYXJjaC94ODYvYWNwaS9wb3dlci5jIGIveGVuL2FyY2gveDg2L2FjcGkvcG93ZXIuYwpp bmRleCBhZWNjNzU0Li40ZjIxOTAzIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvYWNwaS9wb3dl ci5jCisrKyBiL3hlbi9hcmNoL3g4Ni9hY3BpL3Bvd2VyLmMKQEAgLTI1Myw3ICsyNTMsNyBAQCBz dGF0aWMgaW50IGVudGVyX3N0YXRlKHUzMiBzdGF0ZSkKIAogICAgIGNvbnNvbGVfZW5kX3N5bmMo KTsKIAotICAgIG1pY3JvY29kZV9yZXN1bWVfY3B1KDApOworICAgIG1pY3JvY29kZV9yZXN1bWVf Y3B1KCk7CiAKICAgICBpZiAoICFyZWNoZWNrX2NwdV9mZWF0dXJlcygwKSApCiAgICAgICAgIHBh bmljKCJNaXNzaW5nIHByZXZpb3VzbHkgYXZhaWxhYmxlIGZlYXR1cmUocylcbiIpOwpkaWZmIC0t Z2l0IGEveGVuL2FyY2gveDg2L21pY3JvY29kZS5jIGIveGVuL2FyY2gveDg2L21pY3JvY29kZS5j CmluZGV4IDU1MmU3ZmUuLjNiODdjNzIgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9taWNyb2Nv ZGUuYworKysgYi94ZW4vYXJjaC94ODYvbWljcm9jb2RlLmMKQEAgLTE5NiwxOSArMTk2LDE5IEBA IHN0cnVjdCBtaWNyb2NvZGVfaW5mbyB7CiAgICAgY2hhciBidWZmZXJbMV07CiB9OwogCi1pbnQg bWljcm9jb2RlX3Jlc3VtZV9jcHUodW5zaWduZWQgaW50IGNwdSkKK2ludCBtaWNyb2NvZGVfcmVz dW1lX2NwdSh2b2lkKQogewogICAgIGludCBlcnI7Ci0gICAgc3RydWN0IGNwdV9zaWduYXR1cmUg KnNpZyA9ICZwZXJfY3B1KGNwdV9zaWcsIGNwdSk7CisgICAgc3RydWN0IGNwdV9zaWduYXR1cmUg KnNpZyA9ICZ0aGlzX2NwdShjcHVfc2lnKTsKIAogICAgIGlmICggIW1pY3JvY29kZV9vcHMgKQog ICAgICAgICByZXR1cm4gMDsKIAogICAgIHNwaW5fbG9jaygmbWljcm9jb2RlX211dGV4KTsKIAot ICAgIGVyciA9IG1pY3JvY29kZV9vcHMtPmNvbGxlY3RfY3B1X2luZm8oY3B1LCBzaWcpOworICAg IGVyciA9IG1pY3JvY29kZV9vcHMtPmNvbGxlY3RfY3B1X2luZm8oc2lnKTsKICAgICBpZiAoIGxp a2VseSghZXJyKSApCi0gICAgICAgIGVyciA9IG1pY3JvY29kZV9vcHMtPmFwcGx5X21pY3JvY29k ZShjcHUpOworICAgICAgICBlcnIgPSBtaWNyb2NvZGVfb3BzLT5hcHBseV9taWNyb2NvZGUoKTsK ICAgICBzcGluX3VubG9jaygmbWljcm9jb2RlX211dGV4KTsKIAogICAgIHJldHVybiBlcnI7CkBA IC0yNTgsOSArMjU4LDkgQEAgc3RhdGljIGludCBtaWNyb2NvZGVfdXBkYXRlX2NwdShjb25zdCB2 b2lkICpidWYsIHNpemVfdCBzaXplKQogCiAgICAgc3Bpbl9sb2NrKCZtaWNyb2NvZGVfbXV0ZXgp OwogCi0gICAgZXJyID0gbWljcm9jb2RlX29wcy0+Y29sbGVjdF9jcHVfaW5mbyhjcHUsIHNpZyk7 CisgICAgZXJyID0gbWljcm9jb2RlX29wcy0+Y29sbGVjdF9jcHVfaW5mbyhzaWcpOwogICAgIGlm ICggbGlrZWx5KCFlcnIpICkKLSAgICAgICAgZXJyID0gbWljcm9jb2RlX29wcy0+Y3B1X3JlcXVl c3RfbWljcm9jb2RlKGNwdSwgYnVmLCBzaXplKTsKKyAgICAgICAgZXJyID0gbWljcm9jb2RlX29w cy0+Y3B1X3JlcXVlc3RfbWljcm9jb2RlKGJ1Ziwgc2l6ZSk7CiAgICAgc3Bpbl91bmxvY2soJm1p Y3JvY29kZV9tdXRleCk7CiAKICAgICByZXR1cm4gZXJyOwpAQCAtMzQ5LDggKzM0OSw2IEBAIF9f aW5pdGNhbGwobWljcm9jb2RlX2luaXQpOwogCiBpbnQgX19pbml0IGVhcmx5X21pY3JvY29kZV91 cGRhdGVfY3B1KGJvb2wgc3RhcnRfdXBkYXRlKQogewotICAgIHVuc2lnbmVkIGludCBjcHUgPSBz bXBfcHJvY2Vzc29yX2lkKCk7Ci0gICAgc3RydWN0IGNwdV9zaWduYXR1cmUgKnNpZyA9ICZwZXJf Y3B1KGNwdV9zaWcsIGNwdSk7CiAgICAgaW50IHJjID0gMDsKICAgICB2b2lkICpkYXRhID0gTlVM TDsKICAgICBzaXplX3QgbGVuOwpAQCAtMzY5LDcgKzM2Nyw3IEBAIGludCBfX2luaXQgZWFybHlf bWljcm9jb2RlX3VwZGF0ZV9jcHUoYm9vbCBzdGFydF91cGRhdGUpCiAgICAgICAgIGRhdGEgPSBi b290c3RyYXBfbWFwKCZ1Y29kZV9tb2QpOwogICAgIH0KIAotICAgIG1pY3JvY29kZV9vcHMtPmNv bGxlY3RfY3B1X2luZm8oY3B1LCBzaWcpOworICAgIG1pY3JvY29kZV9vcHMtPmNvbGxlY3RfY3B1 X2luZm8oJnRoaXNfY3B1KGNwdV9zaWcpKTsKIAogICAgIGlmICggZGF0YSApCiAgICAgewpAQCAt Mzg3LDggKzM4NSw2IEBAIGludCBfX2luaXQgZWFybHlfbWljcm9jb2RlX3VwZGF0ZV9jcHUoYm9v bCBzdGFydF91cGRhdGUpCiAKIGludCBfX2luaXQgZWFybHlfbWljcm9jb2RlX2luaXQodm9pZCkK IHsKLSAgICB1bnNpZ25lZCBpbnQgY3B1ID0gc21wX3Byb2Nlc3Nvcl9pZCgpOwotICAgIHN0cnVj dCBjcHVfc2lnbmF0dXJlICpzaWcgPSAmcGVyX2NwdShjcHVfc2lnLCBjcHUpOwogICAgIGludCBy YzsKIAogICAgIHJjID0gbWljcm9jb2RlX2luaXRfaW50ZWwoKTsKQEAgLTQwMSw3ICszOTcsNyBA QCBpbnQgX19pbml0IGVhcmx5X21pY3JvY29kZV9pbml0KHZvaWQpCiAKICAgICBpZiAoIG1pY3Jv Y29kZV9vcHMgKQogICAgIHsKLSAgICAgICAgbWljcm9jb2RlX29wcy0+Y29sbGVjdF9jcHVfaW5m byhjcHUsIHNpZyk7CisgICAgICAgIG1pY3JvY29kZV9vcHMtPmNvbGxlY3RfY3B1X2luZm8oJnRo aXNfY3B1KGNwdV9zaWcpKTsKIAogICAgICAgICBpZiAoIHVjb2RlX21vZC5tb2RfZW5kIHx8IHVj b2RlX2Jsb2Iuc2l6ZSApCiAgICAgICAgICAgICByYyA9IGVhcmx5X21pY3JvY29kZV91cGRhdGVf Y3B1KHRydWUpOwpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L21pY3JvY29kZV9hbWQuYyBiL3hl bi9hcmNoL3g4Ni9taWNyb2NvZGVfYW1kLmMKaW5kZXggOWU0ZWM3My4uZGQzODIxYyAxMDA2NDQK LS0tIGEveGVuL2FyY2gveDg2L21pY3JvY29kZV9hbWQuYworKysgYi94ZW4vYXJjaC94ODYvbWlj cm9jb2RlX2FtZC5jCkBAIC03OCw4ICs3OCw5IEBAIHN0cnVjdCBtcGJoZHIgewogc3RhdGljIERF RklORV9TUElOTE9DSyhtaWNyb2NvZGVfdXBkYXRlX2xvY2spOwogCiAvKiBTZWUgY29tbWVudCBp biBzdGFydF91cGRhdGUoKSBmb3IgY2FzZXMgd2hlbiB0aGlzIHJvdXRpbmUgZmFpbHMgKi8KLXN0 YXRpYyBpbnQgY29sbGVjdF9jcHVfaW5mbyh1bnNpZ25lZCBpbnQgY3B1LCBzdHJ1Y3QgY3B1X3Np Z25hdHVyZSAqY3NpZykKK3N0YXRpYyBpbnQgY29sbGVjdF9jcHVfaW5mbyhzdHJ1Y3QgY3B1X3Np Z25hdHVyZSAqY3NpZykKIHsKKyAgICB1bnNpZ25lZCBpbnQgY3B1ID0gc21wX3Byb2Nlc3Nvcl9p ZCgpOwogICAgIHN0cnVjdCBjcHVpbmZvX3g4NiAqYyA9ICZjcHVfZGF0YVtjcHVdOwogCiAgICAg bWVtc2V0KGNzaWcsIDAsIHNpemVvZigqY3NpZykpOwpAQCAtMTUzLDE3ICsxNTQsMTUgQEAgc3Rh dGljIGJvb2xfdCBmaW5kX2VxdWl2X2NwdV9pZChjb25zdCBzdHJ1Y3QgZXF1aXZfY3B1X2VudHJ5 ICplcXVpdl9jcHVfdGFibGUsCiB9CiAKIHN0YXRpYyBlbnVtIG1pY3JvY29kZV9tYXRjaF9yZXN1 bHQgbWljcm9jb2RlX2ZpdHMoCi0gICAgY29uc3Qgc3RydWN0IG1pY3JvY29kZV9hbWQgKm1jX2Ft ZCwgdW5zaWduZWQgaW50IGNwdSkKKyAgICBjb25zdCBzdHJ1Y3QgbWljcm9jb2RlX2FtZCAqbWNf YW1kKQogeworICAgIHVuc2lnbmVkIGludCBjcHUgPSBzbXBfcHJvY2Vzc29yX2lkKCk7CiAgICAg Y29uc3Qgc3RydWN0IGNwdV9zaWduYXR1cmUgKnNpZyA9ICZwZXJfY3B1KGNwdV9zaWcsIGNwdSk7 CiAgICAgY29uc3Qgc3RydWN0IG1pY3JvY29kZV9oZWFkZXJfYW1kICptY19oZWFkZXIgPSBtY19h bWQtPm1wYjsKICAgICBjb25zdCBzdHJ1Y3QgZXF1aXZfY3B1X2VudHJ5ICplcXVpdl9jcHVfdGFi bGUgPSBtY19hbWQtPmVxdWl2X2NwdV90YWJsZTsKICAgICB1bnNpZ25lZCBpbnQgY3VycmVudF9j cHVfaWQ7CiAgICAgdW5zaWduZWQgaW50IGVxdWl2X2NwdV9pZDsKIAotICAgIC8qIFdlIHNob3Vs ZCBiaW5kIHRoZSB0YXNrIHRvIHRoZSBDUFUgKi8KLSAgICBCVUdfT04oY3B1ICE9IHJhd19zbXBf cHJvY2Vzc29yX2lkKCkpOwotCiAgICAgY3VycmVudF9jcHVfaWQgPSBjcHVpZF9lYXgoMHgwMDAw MDAwMSk7CiAKICAgICBpZiAoICFmaW5kX2VxdWl2X2NwdV9pZChlcXVpdl9jcHVfdGFibGUsIGN1 cnJlbnRfY3B1X2lkLCAmZXF1aXZfY3B1X2lkKSApCkBAIC0xOTIsOSArMTkxLDcgQEAgc3RhdGlj IGVudW0gbWljcm9jb2RlX21hdGNoX3Jlc3VsdCBtaWNyb2NvZGVfZml0cygKIAogc3RhdGljIGJv b2wgbWF0Y2hfY3B1KGNvbnN0IHN0cnVjdCBtaWNyb2NvZGVfcGF0Y2ggKnBhdGNoKQogewotICAg IGlmICggIXBhdGNoICkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIHJldHVybiBtaWNyb2Nv ZGVfZml0cyhwYXRjaC0+bWNfYW1kLCBzbXBfcHJvY2Vzc29yX2lkKCkpID09IE5FV19VQ09ERTsK KyAgICByZXR1cm4gcGF0Y2ggJiYgKG1pY3JvY29kZV9maXRzKHBhdGNoLT5tY19hbWQpID09IE5F V19VQ09ERSk7CiB9CiAKIHN0YXRpYyBzdHJ1Y3QgbWljcm9jb2RlX3BhdGNoICphbGxvY19taWNy b2NvZGVfcGF0Y2goCkBAIC0yNTEsMTggKzI0OCwxNiBAQCBzdGF0aWMgZW51bSBtaWNyb2NvZGVf bWF0Y2hfcmVzdWx0IGNvbXBhcmVfcGF0Y2goCiAgICAgcmV0dXJuIE1JU19VQ09ERTsKIH0KIAot c3RhdGljIGludCBhcHBseV9taWNyb2NvZGUodW5zaWduZWQgaW50IGNwdSkKK3N0YXRpYyBpbnQg YXBwbHlfbWljcm9jb2RlKHZvaWQpCiB7CiAgICAgdW5zaWduZWQgbG9uZyBmbGFnczsKICAgICB1 aW50MzJfdCByZXY7CiAgICAgaW50IGh3X2VycjsKKyAgICB1bnNpZ25lZCBpbnQgY3B1ID0gc21w X3Byb2Nlc3Nvcl9pZCgpOwogICAgIHN0cnVjdCBjcHVfc2lnbmF0dXJlICpzaWcgPSAmcGVyX2Nw dShjcHVfc2lnLCBjcHUpOwogICAgIGNvbnN0IHN0cnVjdCBtaWNyb2NvZGVfaGVhZGVyX2FtZCAq aGRyOwogICAgIGNvbnN0IHN0cnVjdCBtaWNyb2NvZGVfcGF0Y2ggKnBhdGNoID0gbWljcm9jb2Rl X2dldF9jYWNoZSgpOwogCi0gICAgLyogV2Ugc2hvdWxkIGJpbmQgdGhlIHRhc2sgdG8gdGhlIENQ VSAqLwotICAgIEJVR19PTihyYXdfc21wX3Byb2Nlc3Nvcl9pZCgpICE9IGNwdSk7Ci0KICAgICBp ZiAoICFtYXRjaF9jcHUocGF0Y2gpICkKICAgICAgICAgcmV0dXJuIC1FSU5WQUw7CiAKQEAgLTQ1 MywxOSArNDQ4LDE2IEBAIHN0YXRpYyBib29sX3QgY2hlY2tfZmluYWxfcGF0Y2hfbGV2ZWxzKHVu c2lnbmVkIGludCBjcHUpCiAgICAgcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgY3B1X3JlcXVl c3RfbWljcm9jb2RlKHVuc2lnbmVkIGludCBjcHUsIGNvbnN0IHZvaWQgKmJ1ZiwKLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCBidWZzaXplKQorc3RhdGljIGludCBjcHVf cmVxdWVzdF9taWNyb2NvZGUoY29uc3Qgdm9pZCAqYnVmLCBzaXplX3QgYnVmc2l6ZSkKIHsKICAg ICBzdHJ1Y3QgbWljcm9jb2RlX2FtZCAqbWNfYW1kOwogICAgIHNpemVfdCBvZmZzZXQgPSAwOwog ICAgIGludCBlcnJvciA9IDA7CiAgICAgdW5zaWduZWQgaW50IGN1cnJlbnRfY3B1X2lkOwogICAg IHVuc2lnbmVkIGludCBlcXVpdl9jcHVfaWQ7CisgICAgdW5zaWduZWQgaW50IGNwdSA9IHNtcF9w cm9jZXNzb3JfaWQoKTsKICAgICBjb25zdCBzdHJ1Y3QgY3B1X3NpZ25hdHVyZSAqc2lnID0gJnBl cl9jcHUoY3B1X3NpZywgY3B1KTsKIAotICAgIC8qIFdlIHNob3VsZCBiaW5kIHRoZSB0YXNrIHRv IHRoZSBDUFUgKi8KLSAgICBCVUdfT04oY3B1ICE9IHJhd19zbXBfcHJvY2Vzc29yX2lkKCkpOwot CiAgICAgY3VycmVudF9jcHVfaWQgPSBjcHVpZF9lYXgoMHgwMDAwMDAwMSk7CiAKICAgICBpZiAo ICooY29uc3QgdWludDMyX3QgKilidWYgIT0gVUNPREVfTUFHSUMgKQpAQCAtNTU4LDE0ICs1NTAs MTQgQEAgc3RhdGljIGludCBjcHVfcmVxdWVzdF9taWNyb2NvZGUodW5zaWduZWQgaW50IGNwdSwg Y29uc3Qgdm9pZCAqYnVmLAogICAgICAgICB9CiAKICAgICAgICAgLyogVXBkYXRlIGNhY2hlIGlm IHRoaXMgcGF0Y2ggY292ZXJzIGN1cnJlbnQgQ1BVICovCi0gICAgICAgIGlmICggbWljcm9jb2Rl X2ZpdHMobmV3X3BhdGNoLT5tY19hbWQsIGNwdSkgIT0gTUlTX1VDT0RFICkKKyAgICAgICAgaWYg KCBtaWNyb2NvZGVfZml0cyhuZXdfcGF0Y2gtPm1jX2FtZCkgIT0gTUlTX1VDT0RFICkKICAgICAg ICAgICAgIG1pY3JvY29kZV91cGRhdGVfY2FjaGUobmV3X3BhdGNoKTsKICAgICAgICAgZWxzZQog ICAgICAgICAgICAgbWljcm9jb2RlX2ZyZWVfcGF0Y2gobmV3X3BhdGNoKTsKIAogICAgICAgICBp ZiAoIG1hdGNoX2NwdShtaWNyb2NvZGVfZ2V0X2NhY2hlKCkpICkKICAgICAgICAgewotICAgICAg ICAgICAgZXJyb3IgPSBhcHBseV9taWNyb2NvZGUoY3B1KTsKKyAgICAgICAgICAgIGVycm9yID0g YXBwbHlfbWljcm9jb2RlKCk7CiAgICAgICAgICAgICBpZiAoIGVycm9yICkKICAgICAgICAgICAg ICAgICBicmVhazsKICAgICAgICAgfQpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L21pY3JvY29k ZV9pbnRlbC5jIGIveGVuL2FyY2gveDg2L21pY3JvY29kZV9pbnRlbC5jCmluZGV4IGZhZmFhNzku LmE1NDUyZDQgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9taWNyb2NvZGVfaW50ZWwuYworKysg Yi94ZW4vYXJjaC94ODYvbWljcm9jb2RlX2ludGVsLmMKQEAgLTk2LDEzICs5NiwxMiBAQCBzdHJ1 Y3QgZXh0ZW5kZWRfc2lndGFibGUgewogLyogc2VyaWFsaXplIGFjY2VzcyB0byB0aGUgcGh5c2lj YWwgd3JpdGUgdG8gTVNSIDB4NzkgKi8KIHN0YXRpYyBERUZJTkVfU1BJTkxPQ0sobWljcm9jb2Rl X3VwZGF0ZV9sb2NrKTsKIAotc3RhdGljIGludCBjb2xsZWN0X2NwdV9pbmZvKHVuc2lnbmVkIGlu dCBjcHVfbnVtLCBzdHJ1Y3QgY3B1X3NpZ25hdHVyZSAqY3NpZykKK3N0YXRpYyBpbnQgY29sbGVj dF9jcHVfaW5mbyhzdHJ1Y3QgY3B1X3NpZ25hdHVyZSAqY3NpZykKIHsKKyAgICB1bnNpZ25lZCBp bnQgY3B1X251bSA9IHNtcF9wcm9jZXNzb3JfaWQoKTsKICAgICBzdHJ1Y3QgY3B1aW5mb194ODYg KmMgPSAmY3B1X2RhdGFbY3B1X251bV07CiAgICAgdWludDY0X3QgbXNyX2NvbnRlbnQ7CiAKLSAg ICBCVUdfT04oY3B1X251bSAhPSBzbXBfcHJvY2Vzc29yX2lkKCkpOwotCiAgICAgbWVtc2V0KGNz aWcsIDAsIHNpemVvZigqY3NpZykpOwogCiAgICAgaWYgKCAoYy0+eDg2X3ZlbmRvciAhPSBYODZf VkVORE9SX0lOVEVMKSB8fCAoYy0+eDg2IDwgNikgKQpAQCAtMTM2LDEyICsxMzUsMTIgQEAgc3Rh dGljIGludCBjb2xsZWN0X2NwdV9pbmZvKHVuc2lnbmVkIGludCBjcHVfbnVtLCBzdHJ1Y3QgY3B1 X3NpZ25hdHVyZSAqY3NpZykKIAogLyogQ2hlY2sgYW4gdXBkYXRlIGFnYWluc3QgdGhlIENQVSBz aWduYXR1cmUgYW5kIGN1cnJlbnQgdXBkYXRlIHJldmlzaW9uICovCiBzdGF0aWMgZW51bSBtaWNy b2NvZGVfbWF0Y2hfcmVzdWx0IG1pY3JvY29kZV91cGRhdGVfbWF0Y2goCi0gICAgY29uc3Qgc3Ry dWN0IG1pY3JvY29kZV9oZWFkZXJfaW50ZWwgKm1jX2hlYWRlciwgdW5zaWduZWQgaW50IGNwdSkK KyAgICBjb25zdCBzdHJ1Y3QgbWljcm9jb2RlX2hlYWRlcl9pbnRlbCAqbWNfaGVhZGVyKQogewog ICAgIGNvbnN0IHN0cnVjdCBleHRlbmRlZF9zaWd0YWJsZSAqZXh0X2hlYWRlcjsKICAgICBjb25z dCBzdHJ1Y3QgZXh0ZW5kZWRfc2lnbmF0dXJlICpleHRfc2lnOwogICAgIHVuc2lnbmVkIGludCBp OwotICAgIHN0cnVjdCBjcHVfc2lnbmF0dXJlICpjcHVfc2lnID0gJnBlcl9jcHUoY3B1X3NpZywg Y3B1KTsKKyAgICBzdHJ1Y3QgY3B1X3NpZ25hdHVyZSAqY3B1X3NpZyA9ICZ0aGlzX2NwdShjcHVf c2lnKTsKICAgICB1bnNpZ25lZCBpbnQgc2lnID0gY3B1X3NpZy0+c2lnOwogICAgIHVuc2lnbmVk IGludCBwZiA9IGNwdV9zaWctPnBmOwogICAgIHVuc2lnbmVkIGludCByZXYgPSBjcHVfc2lnLT5y ZXY7CkBAIC0yNjQsOCArMjYzLDcgQEAgc3RhdGljIGJvb2wgbWF0Y2hfY3B1KGNvbnN0IHN0cnVj dCBtaWNyb2NvZGVfcGF0Y2ggKnBhdGNoKQogICAgIGlmICggIXBhdGNoICkKICAgICAgICAgcmV0 dXJuIGZhbHNlOwogCi0gICAgcmV0dXJuIG1pY3JvY29kZV91cGRhdGVfbWF0Y2goJnBhdGNoLT5t Y19pbnRlbC0+aGRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNtcF9wcm9j ZXNzb3JfaWQoKSkgPT0gTkVXX1VDT0RFOworICAgIHJldHVybiBtaWNyb2NvZGVfdXBkYXRlX21h dGNoKCZwYXRjaC0+bWNfaW50ZWwtPmhkcikgPT0gTkVXX1VDT0RFOwogfQogCiBzdGF0aWMgdm9p ZCBmcmVlX3BhdGNoKHZvaWQgKm1jKQpAQCAtMjg5LDcgKzI4Nyw3IEBAIHN0YXRpYyBlbnVtIG1p Y3JvY29kZV9tYXRjaF9yZXN1bHQgY29tcGFyZV9wYXRjaCgKICAqIHJldHVybiAxIC0gZm91bmQg dXBkYXRlCiAgKiByZXR1cm4gPCAwIC0gZXJyb3IKICAqLwotc3RhdGljIGludCBnZXRfbWF0Y2hp bmdfbWljcm9jb2RlKGNvbnN0IHZvaWQgKm1jLCB1bnNpZ25lZCBpbnQgY3B1KQorc3RhdGljIGlu dCBnZXRfbWF0Y2hpbmdfbWljcm9jb2RlKGNvbnN0IHZvaWQgKm1jKQogewogICAgIGNvbnN0IHN0 cnVjdCBtaWNyb2NvZGVfaGVhZGVyX2ludGVsICptY19oZWFkZXIgPSBtYzsKICAgICB1bnNpZ25l ZCBsb25nIHRvdGFsX3NpemUgPSBnZXRfdG90YWxzaXplKG1jX2hlYWRlcik7CkBAIC0zMDYsNyAr MzA0LDcgQEAgc3RhdGljIGludCBnZXRfbWF0Y2hpbmdfbWljcm9jb2RlKGNvbnN0IHZvaWQgKm1j LCB1bnNpZ25lZCBpbnQgY3B1KQogICAgIG5ld19wYXRjaC0+bWNfaW50ZWwgPSBuZXdfbWM7CiAK ICAgICAvKiBNYWtlIHN1cmUgdGhhdCB0aGlzIHBhdGNoIGNvdmVycyBjdXJyZW50IENQVSAqLwot ICAgIGlmICggbWljcm9jb2RlX3VwZGF0ZV9tYXRjaChtYywgY3B1KSA9PSBNSVNfVUNPREUgKQor ICAgIGlmICggbWljcm9jb2RlX3VwZGF0ZV9tYXRjaChtYykgPT0gTUlTX1VDT0RFICkKICAgICB7 CiAgICAgICAgIG1pY3JvY29kZV9mcmVlX3BhdGNoKG5ld19wYXRjaCk7CiAgICAgICAgIHJldHVy biAwOwpAQCAtMzE2LDI0ICszMTQsMjEgQEAgc3RhdGljIGludCBnZXRfbWF0Y2hpbmdfbWljcm9j b2RlKGNvbnN0IHZvaWQgKm1jLCB1bnNpZ25lZCBpbnQgY3B1KQogCiAgICAgcHJfZGVidWcoIm1p Y3JvY29kZTogQ1BVJWQgZm91bmQgYSBtYXRjaGluZyBtaWNyb2NvZGUgdXBkYXRlIHdpdGgiCiAg ICAgICAgICAgICAgIiB2ZXJzaW9uICUjeCAoY3VycmVudD0lI3gpXG4iLAotICAgICAgICAgICAg IGNwdSwgbWNfaGVhZGVyLT5yZXYsIHBlcl9jcHUoY3B1X3NpZywgY3B1KS5yZXYpOworICAgICAg ICAgICAgIHNtcF9wcm9jZXNzb3JfaWQoKSwgbWNfaGVhZGVyLT5yZXYsIHRoaXNfY3B1KGNwdV9z aWcpLnJldik7CiAKICAgICByZXR1cm4gMTsKIH0KIAotc3RhdGljIGludCBhcHBseV9taWNyb2Nv ZGUodW5zaWduZWQgaW50IGNwdSkKK3N0YXRpYyBpbnQgYXBwbHlfbWljcm9jb2RlKHZvaWQpCiB7 CiAgICAgdW5zaWduZWQgbG9uZyBmbGFnczsKICAgICB1aW50NjRfdCBtc3JfY29udGVudDsKICAg ICB1bnNpZ25lZCBpbnQgdmFsWzJdOwogICAgIHVuc2lnbmVkIGludCBjcHVfbnVtID0gcmF3X3Nt cF9wcm9jZXNzb3JfaWQoKTsKLSAgICBzdHJ1Y3QgY3B1X3NpZ25hdHVyZSAqc2lnID0gJnBlcl9j cHUoY3B1X3NpZywgY3B1KTsKKyAgICBzdHJ1Y3QgY3B1X3NpZ25hdHVyZSAqc2lnID0gJnRoaXNf Y3B1KGNwdV9zaWcpOwogICAgIGNvbnN0IHN0cnVjdCBtaWNyb2NvZGVfaW50ZWwgKm1jX2ludGVs OwogICAgIGNvbnN0IHN0cnVjdCBtaWNyb2NvZGVfcGF0Y2ggKnBhdGNoID0gbWljcm9jb2RlX2dl dF9jYWNoZSgpOwogCi0gICAgLyogV2Ugc2hvdWxkIGJpbmQgdGhlIHRhc2sgdG8gdGhlIENQVSAq LwotICAgIEJVR19PTihjcHVfbnVtICE9IGNwdSk7Ci0KICAgICBpZiAoICFtYXRjaF9jcHUocGF0 Y2gpICkKICAgICAgICAgcmV0dXJuIC1FSU5WQUw7CiAKQEAgLTM5OCwyMiArMzkzLDE4IEBAIHN0 YXRpYyBsb25nIGdldF9uZXh0X3Vjb2RlX2Zyb21fYnVmZmVyKHZvaWQgKiptYywgY29uc3QgdTgg KmJ1ZiwKICAgICByZXR1cm4gb2Zmc2V0ICsgdG90YWxfc2l6ZTsKIH0KIAotc3RhdGljIGludCBj cHVfcmVxdWVzdF9taWNyb2NvZGUodW5zaWduZWQgaW50IGNwdSwgY29uc3Qgdm9pZCAqYnVmLAot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90IHNpemUpCitzdGF0aWMgaW50 IGNwdV9yZXF1ZXN0X21pY3JvY29kZShjb25zdCB2b2lkICpidWYsIHNpemVfdCBzaXplKQogewog ICAgIGxvbmcgb2Zmc2V0ID0gMDsKICAgICBpbnQgZXJyb3IgPSAwOwogICAgIHZvaWQgKm1jOwog Ci0gICAgLyogV2Ugc2hvdWxkIGJpbmQgdGhlIHRhc2sgdG8gdGhlIENQVSAqLwotICAgIEJVR19P TihjcHUgIT0gcmF3X3NtcF9wcm9jZXNzb3JfaWQoKSk7Ci0KICAgICB3aGlsZSAoIChvZmZzZXQg PSBnZXRfbmV4dF91Y29kZV9mcm9tX2J1ZmZlcigmbWMsIGJ1Ziwgc2l6ZSwgb2Zmc2V0KSkgPiAw ICkKICAgICB7CiAgICAgICAgIGVycm9yID0gbWljcm9jb2RlX3Nhbml0eV9jaGVjayhtYyk7CiAg ICAgICAgIGlmICggZXJyb3IgKQogICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGVycm9yID0g Z2V0X21hdGNoaW5nX21pY3JvY29kZShtYywgY3B1KTsKKyAgICAgICAgZXJyb3IgPSBnZXRfbWF0 Y2hpbmdfbWljcm9jb2RlKG1jKTsKICAgICAgICAgaWYgKCBlcnJvciA8IDAgKQogICAgICAgICAg ICAgYnJlYWs7CiAgICAgICAgIC8qCkBAIC00MzEsNyArNDIyLDcgQEAgc3RhdGljIGludCBjcHVf cmVxdWVzdF9taWNyb2NvZGUodW5zaWduZWQgaW50IGNwdSwgY29uc3Qgdm9pZCAqYnVmLAogICAg ICAgICBlcnJvciA9IG9mZnNldDsKIAogICAgIGlmICggIWVycm9yICYmIG1hdGNoX2NwdShtaWNy b2NvZGVfZ2V0X2NhY2hlKCkpICkKLSAgICAgICAgZXJyb3IgPSBhcHBseV9taWNyb2NvZGUoY3B1 KTsKKyAgICAgICAgZXJyb3IgPSBhcHBseV9taWNyb2NvZGUoKTsKIAogICAgIHJldHVybiBlcnJv cjsKIH0KZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9zbXBib290LmMgYi94ZW4vYXJjaC94ODYv c21wYm9vdC5jCmluZGV4IDY1ZTljZWUuLmM4MThjZmMgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4 Ni9zbXBib290LmMKKysrIGIveGVuL2FyY2gveDg2L3NtcGJvb3QuYwpAQCAtMzY0LDcgKzM2NCw3 IEBAIHZvaWQgc3RhcnRfc2Vjb25kYXJ5KHZvaWQgKnVudXNlZCkKICAgICBpZiAoIHN5c3RlbV9z dGF0ZSA8PSBTWVNfU1RBVEVfc21wX2Jvb3QgKQogICAgICAgICBlYXJseV9taWNyb2NvZGVfdXBk YXRlX2NwdShmYWxzZSk7CiAgICAgZWxzZQotICAgICAgICBtaWNyb2NvZGVfcmVzdW1lX2NwdShj cHUpOworICAgICAgICBtaWNyb2NvZGVfcmVzdW1lX2NwdSgpOwogCiAgICAgLyoKICAgICAgKiBJ ZiBNU1JfU1BFQ19DVFJMIGlzIGF2YWlsYWJsZSwgYXBwbHkgWGVuJ3MgZGVmYXVsdCBzZXR0aW5n IGFuZCBkaXNjYXJkCmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20teDg2L21pY3JvY29kZS5o IGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9taWNyb2NvZGUuaAppbmRleCA1YjgyODlmLi4zNTIyM2Vi IDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L21pY3JvY29kZS5oCisrKyBiL3hlbi9p bmNsdWRlL2FzbS14ODYvbWljcm9jb2RlLmgKQEAgLTIwLDEwICsyMCw5IEBAIHN0cnVjdCBtaWNy b2NvZGVfcGF0Y2ggewogfTsKIAogc3RydWN0IG1pY3JvY29kZV9vcHMgewotICAgIGludCAoKmNw dV9yZXF1ZXN0X21pY3JvY29kZSkodW5zaWduZWQgaW50IGNwdSwgY29uc3Qgdm9pZCAqYnVmLAot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90IHNpemUpOwotICAgIGludCAo KmNvbGxlY3RfY3B1X2luZm8pKHVuc2lnbmVkIGludCBjcHUsIHN0cnVjdCBjcHVfc2lnbmF0dXJl ICpjc2lnKTsKLSAgICBpbnQgKCphcHBseV9taWNyb2NvZGUpKHVuc2lnbmVkIGludCBjcHUpOwor ICAgIGludCAoKmNwdV9yZXF1ZXN0X21pY3JvY29kZSkoY29uc3Qgdm9pZCAqYnVmLCBzaXplX3Qg c2l6ZSk7CisgICAgaW50ICgqY29sbGVjdF9jcHVfaW5mbykoc3RydWN0IGNwdV9zaWduYXR1cmUg KmNzaWcpOworICAgIGludCAoKmFwcGx5X21pY3JvY29kZSkodm9pZCk7CiAgICAgaW50ICgqc3Rh cnRfdXBkYXRlKSh2b2lkKTsKICAgICB2b2lkICgqZnJlZV9wYXRjaCkodm9pZCAqbWMpOwogICAg IGJvb2wgKCptYXRjaF9jcHUpKGNvbnN0IHN0cnVjdCBtaWNyb2NvZGVfcGF0Y2ggKnBhdGNoKTsK ZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14ODYvcHJvY2Vzc29yLmggYi94ZW4vaW5jbHVk ZS9hc20teDg2L3Byb2Nlc3Nvci5oCmluZGV4IDI4NjIzMjEuLjEwNGZhYTkgMTAwNjQ0Ci0tLSBh L3hlbi9pbmNsdWRlL2FzbS14ODYvcHJvY2Vzc29yLmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLXg4 Ni9wcm9jZXNzb3IuaApAQCAtNTY4LDcgKzU2OCw3IEBAIGludCBndWVzdF93cm1zcl94ZW4oc3Ry dWN0IHZjcHUgKnYsIHVpbnQzMl90IGlkeCwgdWludDY0X3QgdmFsKTsKIAogdm9pZCBtaWNyb2Nv ZGVfc2V0X21vZHVsZSh1bnNpZ25lZCBpbnQpOwogaW50IG1pY3JvY29kZV91cGRhdGUoWEVOX0dV RVNUX0hBTkRMRV9QQVJBTShjb25zdF92b2lkKSwgdW5zaWduZWQgbG9uZyBsZW4pOwotaW50IG1p Y3JvY29kZV9yZXN1bWVfY3B1KHVuc2lnbmVkIGludCBjcHUpOworaW50IG1pY3JvY29kZV9yZXN1 bWVfY3B1KHZvaWQpOwogaW50IGVhcmx5X21pY3JvY29kZV91cGRhdGVfY3B1KGJvb2wgc3RhcnRf dXBkYXRlKTsKIGludCBlYXJseV9taWNyb2NvZGVfaW5pdCh2b2lkKTsKIGludCBtaWNyb2NvZGVf aW5pdF9pbnRlbCh2b2lkKTsKLS0gCjEuOC4zLjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBs aXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4v bGlzdGluZm8veGVuLWRldmVs