From mboxrd@z Thu Jan 1 00:00:00 1970 From: Meng Xu Subject: [PATCH v1 3/3] xl: enable per-VCPU extratime flag for RTDS Date: Sun, 6 Aug 2017 12:22:43 -0400 Message-ID: <1502036563-4275-4-git-send-email-mengxu@cis.upenn.edu> References: <1502036563-4275-1-git-send-email-mengxu@cis.upenn.edu> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1502036563-4275-1-git-send-email-mengxu@cis.upenn.edu> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xen.org Cc: george.dunlap@eu.citrix.com, dario.faggioli@citrix.com, ian.jackson@eu.citrix.com, xumengpanda@gmail.com, Meng Xu , wei.liu@citrix.com List-Id: xen-devel@lists.xenproject.org Q2hhbmdlIG1haW5fc2NoZWRfcnRkcyBhbmQgcmVsYXRlZCBvdXRwdXQgZnVuY3Rpb25zIHRvIHN1 cHBvcnQKcGVyLVZDUFUgZXh0cmF0aW1lIGZsYWcuCgpTaWduZWQtb2ZmLWJ5OiBNZW5nIFh1IDxt ZW5neHVAY2lzLnVwZW5uLmVkdT4KCi0tLQpDaGFuZ2VzIGZyb20gUkZDIHYxCkNoYW5nZXMgd29y a19jb25zZXJ2aW5nIGZsYWcgdG8gZXh0cmF0aW1lIGZsYWcKLS0tCiB0b29scy94bC94bF9jbWR0 YWJsZS5jIHwgIDMgKystCiB0b29scy94bC94bF9zY2hlZC5jICAgIHwgNTYgKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0KIDIgZmlsZXMgY2hhbmdlZCwg NDAgaW5zZXJ0aW9ucygrKSwgMTkgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvdG9vbHMveGwv eGxfY21kdGFibGUuYyBiL3Rvb2xzL3hsL3hsX2NtZHRhYmxlLmMKaW5kZXggMmM3MWE5Zi4uODg5 MzNhNCAxMDA2NDQKLS0tIGEvdG9vbHMveGwveGxfY21kdGFibGUuYworKysgYi90b29scy94bC94 bF9jbWR0YWJsZS5jCkBAIC0yNzIsMTIgKzI3MiwxMyBAQCBzdHJ1Y3QgY21kX3NwZWMgY21kX3Rh YmxlW10gPSB7CiAgICAgeyAic2NoZWQtcnRkcyIsCiAgICAgICAmbWFpbl9zY2hlZF9ydGRzLCAw LCAxLAogICAgICAgIkdldC9zZXQgcnRkcyBzY2hlZHVsZXIgcGFyYW1ldGVycyIsCi0gICAgICAi Wy1kIDxEb21haW4+IFstdls9VkNQVUlEL2FsbF1dIFstcFs9UEVSSU9EXV0gWy1iWz1CVURHRVRd XV0iLAorICAgICAgIlstZCA8RG9tYWluPiBbLXZbPVZDUFVJRC9hbGxdXSBbLXBbPVBFUklPRF1d IFstYls9QlVER0VUXV0gWy1lWz1FWFRSQVRJTUVdXV0iLAogICAgICAgIi1kIERPTUFJTiwgLS1k b21haW49RE9NQUlOICAgICBEb21haW4gdG8gbW9kaWZ5XG4iCiAgICAgICAiLXYgVkNQVUlEL2Fs bCwgLS12Y3B1aWQ9VkNQVUlEL2FsbCAgICBWQ1BVIHRvIG1vZGlmeSBvciBvdXRwdXQ7XG4iCiAg ICAgICAiICAgICAgICAgICAgICAgVXNpbmcgJy12IGFsbCcgdG8gbW9kaWZ5L291dHB1dCBhbGwg dmNwdXNcbiIKICAgICAgICItcCBQRVJJT0QsIC0tcGVyaW9kPVBFUklPRCAgICAgUGVyaW9kICh1 cylcbiIKICAgICAgICItYiBCVURHRVQsIC0tYnVkZ2V0PUJVREdFVCAgICAgQnVkZ2V0ICh1cylc biIKKyAgICAgICItZSBFWFRSQVRJTUUsIC0tZXh0cmF0aW1lPUVYVFJBVElNRSBFWFRSQVRJTUUg KDE9eWVzLCAwPW5vKVxuIgogICAgIH0sCiAgICAgeyAiZG9taWQiLAogICAgICAgJm1haW5fZG9t aWQsIDAsIDAsCmRpZmYgLS1naXQgYS90b29scy94bC94bF9zY2hlZC5jIGIvdG9vbHMveGwveGxf c2NoZWQuYwppbmRleCA4NTcyMmZlLi41MTM4MDEyIDEwMDY0NAotLS0gYS90b29scy94bC94bF9z Y2hlZC5jCisrKyBiL3Rvb2xzL3hsL3hsX3NjaGVkLmMKQEAgLTI1MSw3ICsyNTEsNyBAQCBzdGF0 aWMgaW50IHNjaGVkX3J0ZHNfZG9tYWluX291dHB1dCgKICAgICBsaWJ4bF9kb21haW5fc2NoZWRf cGFyYW1zIHNjaW5mbzsKIAogICAgIGlmIChkb21pZCA8IDApIHsKLSAgICAgICAgcHJpbnRmKCIl LTMzcyAlNHMgJTlzICU5c1xuIiwgIk5hbWUiLCAiSUQiLCAiUGVyaW9kIiwgIkJ1ZGdldCIpOwor ICAgICAgICBwcmludGYoIiUtMzNzICU0cyAlOXMgJTlzICUxMHNcbiIsICJOYW1lIiwgIklEIiwg IlBlcmlvZCIsICJCdWRnZXQiLCAiRXh0cmEgdGltZSIpOwogICAgICAgICByZXR1cm4gMDsKICAg ICB9CiAKQEAgLTI2MiwxMSArMjYyLDEyIEBAIHN0YXRpYyBpbnQgc2NoZWRfcnRkc19kb21haW5f b3V0cHV0KAogICAgIH0KIAogICAgIGRvbW5hbWUgPSBsaWJ4bF9kb21pZF90b19uYW1lKGN0eCwg ZG9taWQpOwotICAgIHByaW50ZigiJS0zM3MgJTRkICU5ZCAlOWRcbiIsCisgICAgcHJpbnRmKCIl LTMzcyAlNGQgJTlkICU5ZCAlMTBzXG4iLAogICAgICAgICBkb21uYW1lLAogICAgICAgICBkb21p ZCwKICAgICAgICAgc2NpbmZvLnBlcmlvZCwKLSAgICAgICAgc2NpbmZvLmJ1ZGdldCk7CisgICAg ICAgIHNjaW5mby5idWRnZXQsCisgICAgICAgIHNjaW5mby5leHRyYXRpbWUgPyAieWVzIiA6ICJu byIpOwogICAgIGZyZWUoZG9tbmFtZSk7CiAgICAgbGlieGxfZG9tYWluX3NjaGVkX3BhcmFtc19k aXNwb3NlKCZzY2luZm8pOwogICAgIHJldHVybiAwOwpAQCAtMjc5LDggKzI4MCw4IEBAIHN0YXRp YyBpbnQgc2NoZWRfcnRkc192Y3B1X291dHB1dChpbnQgZG9taWQsIGxpYnhsX3ZjcHVfc2NoZWRf cGFyYW1zICpzY2luZm8pCiAgICAgaW50IGk7CiAKICAgICBpZiAoZG9taWQgPCAwKSB7Ci0gICAg ICAgIHByaW50ZigiJS0zM3MgJTRzICU0cyAlOXMgJTlzXG4iLCAiTmFtZSIsICJJRCIsCi0gICAg ICAgICAgICAgICAiVkNQVSIsICJQZXJpb2QiLCAiQnVkZ2V0Iik7CisgICAgICAgIHByaW50Zigi JS0zM3MgJTRzICU0cyAlOXMgJTlzICUxMHNcbiIsICJOYW1lIiwgIklEIiwKKyAgICAgICAgICAg ICAgICJWQ1BVIiwgIlBlcmlvZCIsICJCdWRnZXQiLCAiRXh0cmEgdGltZSIpOwogICAgICAgICBy ZXR1cm4gMDsKICAgICB9CiAKQEAgLTI5MCwxMiArMjkxLDEzIEBAIHN0YXRpYyBpbnQgc2NoZWRf cnRkc192Y3B1X291dHB1dChpbnQgZG9taWQsIGxpYnhsX3ZjcHVfc2NoZWRfcGFyYW1zICpzY2lu Zm8pCiAKICAgICBkb21uYW1lID0gbGlieGxfZG9taWRfdG9fbmFtZShjdHgsIGRvbWlkKTsKICAg ICBmb3IgKCBpID0gMDsgaSA8IHNjaW5mby0+bnVtX3ZjcHVzOyBpKysgKSB7Ci0gICAgICAgIHBy aW50ZigiJS0zM3MgJTRkICU0ZCAlOSJQUkl1MzIiICU5IlBSSXUzMiJcbiIsCisgICAgICAgIHBy aW50ZigiJS0zM3MgJTRkICU0ZCAlOSJQUkl1MzIiICU5IlBSSXUzMiIgJTEwc1xuIiwKICAgICAg ICAgICAgICAgIGRvbW5hbWUsCiAgICAgICAgICAgICAgICBkb21pZCwKICAgICAgICAgICAgICAg IHNjaW5mby0+dmNwdXNbaV0udmNwdWlkLAogICAgICAgICAgICAgICAgc2NpbmZvLT52Y3B1c1tp XS5wZXJpb2QsCi0gICAgICAgICAgICAgICBzY2luZm8tPnZjcHVzW2ldLmJ1ZGdldCk7CisgICAg ICAgICAgICAgICBzY2luZm8tPnZjcHVzW2ldLmJ1ZGdldCwKKyAgICAgICAgICAgICAgIHNjaW5m by0+dmNwdXNbaV0uZXh0cmF0aW1lID8gInllcyIgOiAibm8iKTsKICAgICB9CiAgICAgZnJlZShk b21uYW1lKTsKICAgICByZXR1cm4gMDsKQEAgLTMwOSw4ICszMTEsOCBAQCBzdGF0aWMgaW50IHNj aGVkX3J0ZHNfdmNwdV9vdXRwdXRfYWxsKGludCBkb21pZCwKICAgICBpbnQgaTsKIAogICAgIGlm IChkb21pZCA8IDApIHsKLSAgICAgICAgcHJpbnRmKCIlLTMzcyAlNHMgJTRzICU5cyAlOXNcbiIs ICJOYW1lIiwgIklEIiwKLSAgICAgICAgICAgICAgICJWQ1BVIiwgIlBlcmlvZCIsICJCdWRnZXQi KTsKKyAgICAgICAgcHJpbnRmKCIlLTMzcyAlNHMgJTRzICU5cyAlOXMgJTEwc1xuIiwgIk5hbWUi LCAiSUQiLAorICAgICAgICAgICAgICAgIlZDUFUiLCAiUGVyaW9kIiwgIkJ1ZGdldCIsICJFeHRy YSB0aW1lIik7CiAgICAgICAgIHJldHVybiAwOwogICAgIH0KIApAQCAtMzIxLDEyICszMjMsMTMg QEAgc3RhdGljIGludCBzY2hlZF9ydGRzX3ZjcHVfb3V0cHV0X2FsbChpbnQgZG9taWQsCiAKICAg ICBkb21uYW1lID0gbGlieGxfZG9taWRfdG9fbmFtZShjdHgsIGRvbWlkKTsKICAgICBmb3IgKCBp ID0gMDsgaSA8IHNjaW5mby0+bnVtX3ZjcHVzOyBpKysgKSB7Ci0gICAgICAgIHByaW50ZigiJS0z M3MgJTRkICU0ZCAlOSJQUkl1MzIiICU5IlBSSXUzMiJcbiIsCisgICAgICAgIHByaW50ZigiJS0z M3MgJTRkICU0ZCAlOSJQUkl1MzIiICU5IlBSSXUzMiIgJTEwc1xuIiwKICAgICAgICAgICAgICAg IGRvbW5hbWUsCiAgICAgICAgICAgICAgICBkb21pZCwKICAgICAgICAgICAgICAgIHNjaW5mby0+ dmNwdXNbaV0udmNwdWlkLAogICAgICAgICAgICAgICAgc2NpbmZvLT52Y3B1c1tpXS5wZXJpb2Qs Ci0gICAgICAgICAgICAgICBzY2luZm8tPnZjcHVzW2ldLmJ1ZGdldCk7CisgICAgICAgICAgICAg ICBzY2luZm8tPnZjcHVzW2ldLmJ1ZGdldCwKKyAgICAgICAgICAgICAgIHNjaW5mby0+dmNwdXNb aV0uZXh0cmF0aW1lID8gInllcyIgOiAibm8iKTsKICAgICB9CiAgICAgZnJlZShkb21uYW1lKTsK ICAgICByZXR1cm4gMDsKQEAgLTcwMiwxNCArNzA1LDE4IEBAIGludCBtYWluX3NjaGVkX3J0ZHMo aW50IGFyZ2MsIGNoYXIgKiphcmd2KQogICAgIGludCAqdmNwdXMgPSAoaW50ICopeG1hbGxvYyhz aXplb2YoaW50KSk7IC8qIElEcyBvZiBWQ1BVcyB0aGF0IGNoYW5nZSAqLwogICAgIGludCAqcGVy aW9kcyA9IChpbnQgKil4bWFsbG9jKHNpemVvZihpbnQpKTsgLyogcGVyaW9kIGlzIGluIG1pY3Jv c2Vjb25kICovCiAgICAgaW50ICpidWRnZXRzID0gKGludCAqKXhtYWxsb2Moc2l6ZW9mKGludCkp OyAvKiBidWRnZXQgaXMgaW4gbWljcm9zZWNvbmQgKi8KKyAgICBib29sICpleHRyYXRpbWVzID0g KGJvb2wgKil4bWFsbG9jKHNpemVvZihib29sKSk7IC8qIGV4dHJhdGltZSBpcyBib29sICovCiAg ICAgaW50IHZfc2l6ZSA9IDE7IC8qIHNpemUgb2YgdmNwdXMgYXJyYXkgKi8KICAgICBpbnQgcF9z aXplID0gMTsgLyogc2l6ZSBvZiBwZXJpb2RzIGFycmF5ICovCiAgICAgaW50IGJfc2l6ZSA9IDE7 IC8qIHNpemUgb2YgYnVkZ2V0cyBhcnJheSAqLworICAgIGludCBlX3NpemUgPSAxOyAvKiBzaXpl IG9mIGV4dHJhdGltZXMgYXJyYXkgKi8KICAgICBpbnQgdl9pbmRleCA9IDA7IC8qIGluZGV4IGlu IHZjcHVzIGFycmF5ICovCiAgICAgaW50IHBfaW5kZXggPTA7IC8qIGluZGV4IGluIHBlcmlvZHMg YXJyYXkgKi8KICAgICBpbnQgYl9pbmRleCA9MDsgLyogaW5kZXggZm9yIGluIGJ1ZGdldHMgYXJy YXkgKi8KKyAgICBpbnQgZV9pbmRleCA9IDA7IC8qIGluZGV4IGluIGV4dHJhdGltZXMgYXJyYXkg Ki8KICAgICBib29sIG9wdF9wID0gZmFsc2U7CiAgICAgYm9vbCBvcHRfYiA9IGZhbHNlOworICAg IGJvb2wgb3B0X2UgPSBmYWxzZTsKICAgICBib29sIG9wdF92ID0gZmFsc2U7CiAgICAgYm9vbCBv cHRfYWxsID0gZmFsc2U7IC8qIG91dHB1dCBwZXItZG9tIHBhcmFtZXRlcnMgKi8KICAgICBpbnQg b3B0LCBpLCByYywgcjsKQEAgLTcxNywxMiArNzI0LDEzIEBAIGludCBtYWluX3NjaGVkX3J0ZHMo aW50IGFyZ2MsIGNoYXIgKiphcmd2KQogICAgICAgICB7ImRvbWFpbiIsIDEsIDAsICdkJ30sCiAg ICAgICAgIHsicGVyaW9kIiwgMSwgMCwgJ3AnfSwKICAgICAgICAgeyJidWRnZXQiLCAxLCAwLCAn Yid9LAorICAgICAgICB7ImV4dHJhdGltZSIsIDEsIDAsICdlJ30sCiAgICAgICAgIHsidmNwdWlk IiwxLCAwLCAndid9LAogICAgICAgICB7ImNwdXBvb2wiLCAxLCAwLCAnYyd9LAogICAgICAgICBD T01NT05fTE9OR19PUFRTCiAgICAgfTsKIAotICAgIFNXSVRDSF9GT1JFQUNIX09QVChvcHQsICJk OnA6Yjp2OmMiLCBvcHRzLCAic2NoZWQtcnRkcyIsIDApIHsKKyAgICBTV0lUQ0hfRk9SRUFDSF9P UFQob3B0LCAiZDpwOmI6ZTp2OmMiLCBvcHRzLCAic2NoZWQtcnRkcyIsIDApIHsKICAgICBjYXNl ICdkJzoKICAgICAgICAgZG9tID0gb3B0YXJnOwogICAgICAgICBicmVhazsKQEAgLTc0Niw2ICs3 NTQsMTQgQEAgaW50IG1haW5fc2NoZWRfcnRkcyhpbnQgYXJnYywgY2hhciAqKmFyZ3YpCiAgICAg ICAgIGJ1ZGdldHNbYl9pbmRleCsrXSA9IHN0cnRvbChvcHRhcmcsIE5VTEwsIDEwKTsKICAgICAg ICAgb3B0X2IgPSAxOwogICAgICAgICBicmVhazsKKyAgICBjYXNlICdlJzoKKyAgICAgICAgaWYg KGVfaW5kZXggPj0gZV9zaXplKSB7IC8qIGV4dHJhdGltZSBhcnJheSBpcyBmdWxsICovCisgICAg ICAgICAgICBlX3NpemUgKj0gMjsKKyAgICAgICAgICAgIGV4dHJhdGltZXMgPSB4cmVhbGxvYyhl eHRyYXRpbWVzLCBlX3NpemUpOworICAgICAgICB9CisgICAgICAgIGV4dHJhdGltZXNbZV9pbmRl eCsrXSA9IHN0cnRvbChvcHRhcmcsIE5VTEwsIDEwKTsKKyAgICAgICAgb3B0X2UgPSAxOworICAg ICAgICBicmVhazsKICAgICBjYXNlICd2JzoKICAgICAgICAgaWYgKCFzdHJjbXAob3B0YXJnLCAi YWxsIikpIHsgLyogZ2V0IG9yIHNldCBhbGwgdmNwdXMgb2YgYSBkb21haW4gKi8KICAgICAgICAg ICAgIG9wdF9hbGwgPSAxOwpAQCAtNzYzLDE4ICs3NzksMTggQEAgaW50IG1haW5fc2NoZWRfcnRk cyhpbnQgYXJnYywgY2hhciAqKmFyZ3YpCiAgICAgICAgIGJyZWFrOwogICAgIH0KIAotICAgIGlm IChjcHVwb29sICYmIChkb20gfHwgb3B0X3AgfHwgb3B0X2IgfHwgb3B0X3YgfHwgb3B0X2FsbCkp IHsKKyAgICBpZiAoY3B1cG9vbCAmJiAoZG9tIHx8IG9wdF9wIHx8IG9wdF9iIHx8IG9wdF9lIHx8 IG9wdF92IHx8IG9wdF9hbGwpKSB7CiAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiU3BlY2lmeWlu ZyBhIGNwdXBvb2wgaXMgbm90IGFsbG93ZWQgd2l0aCAiCiAgICAgICAgICAgICAgICAgIm90aGVy IG9wdGlvbnMuXG4iKTsKICAgICAgICAgciA9IEVYSVRfRkFJTFVSRTsKICAgICAgICAgZ290byBv dXQ7CiAgICAgfQotICAgIGlmICghZG9tICYmIChvcHRfcCB8fCBvcHRfYiB8fCBvcHRfdikpIHsK KyAgICBpZiAoIWRvbSAmJiAob3B0X3AgfHwgb3B0X2IgfHwgb3B0X2UgfHwgb3B0X3YpKSB7CiAg ICAgICAgIGZwcmludGYoc3RkZXJyLCAiTWlzc2luZyBwYXJhbWV0ZXJzLlxuIik7CiAgICAgICAg IHIgPSBFWElUX0ZBSUxVUkU7CiAgICAgICAgIGdvdG8gb3V0OwogICAgIH0KLSAgICBpZiAoZG9t ICYmICFvcHRfdiAmJiAhb3B0X2FsbCAmJiAob3B0X3AgfHwgb3B0X2IpKSB7CisgICAgaWYgKGRv bSAmJiAhb3B0X3YgJiYgIW9wdF9hbGwgJiYgKG9wdF9wIHx8IG9wdF9iIHx8IG9wdF9lKSkgewog ICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIk11c3Qgc3BlY2lmeSBWQ1BVLlxuIik7CiAgICAgICAg IHIgPSBFWElUX0ZBSUxVUkU7CiAgICAgICAgIGdvdG8gb3V0OwpAQCAtNzg1LDggKzgwMSw5IEBA IGludCBtYWluX3NjaGVkX3J0ZHMoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogICAgICAgICBnb3Rv IG91dDsKICAgICB9CiAgICAgaWYgKCgodl9pbmRleCA+IGJfaW5kZXgpICYmIG9wdF9iKSB8fCAo KHZfaW5kZXggPiBwX2luZGV4KSAmJiBvcHRfcCkKLSAgICAgICAgfHwgcF9pbmRleCAhPSBiX2lu ZGV4KSB7Ci0gICAgICAgIGZwcmludGYoc3RkZXJyLCAiSW5jb3JyZWN0IG51bWJlciBvZiBwZXJp b2QgYW5kIGJ1ZGdldFxuIik7CisgICAgICAgICB8fCAoKHZfaW5kZXggPiBlX2luZGV4KSAmJiBv cHRfZSkgfHwgcF9pbmRleCAhPSBiX2luZGV4CisgICAgICAgICB8fCBwX2luZGV4ICE9IGVfaW5k ZXggfHwgYl9pbmRleCAhPSBlX2luZGV4ICkgeworICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIklu Y29ycmVjdCBudW1iZXIgb2YgcGVyaW9kLCBidWRnZXQgYW5kIGV4dHJhdGltZVxuIik7CiAgICAg ICAgIHIgPSBFWElUX0ZBSUxVUkU7CiAgICAgICAgIGdvdG8gb3V0OwogICAgIH0KQEAgLTgyMCw3 ICs4MzcsNyBAQCBpbnQgbWFpbl9zY2hlZF9ydGRzKGludCBhcmdjLCBjaGFyICoqYXJndikKICAg ICAgICAgICAgICAgICByID0gRVhJVF9GQUlMVVJFOwogICAgICAgICAgICAgICAgIGdvdG8gb3V0 OwogICAgICAgICAgICAgfQotICAgICAgICB9IGVsc2UgaWYgKCFvcHRfcCAmJiAhb3B0X2IpIHsK KyAgICAgICAgfSBlbHNlIGlmICghb3B0X3AgJiYgIW9wdF9iICYmICFvcHRfZSkgewogICAgICAg ICAgICAgLyogZ2V0IHBlci12Y3B1IHJ0ZHMgc2NoZWR1bGluZyBwYXJhbWV0ZXJzICovCiAgICAg ICAgICAgICBsaWJ4bF92Y3B1X3NjaGVkX3BhcmFtcyBzY2luZm87CiAgICAgICAgICAgICBsaWJ4 bF92Y3B1X3NjaGVkX3BhcmFtc19pbml0KCZzY2luZm8pOwpAQCAtODUyLDYgKzg2OSw3IEBAIGlu dCBtYWluX3NjaGVkX3J0ZHMoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogICAgICAgICAgICAgICAg ICAgICBzY2luZm8udmNwdXNbaV0udmNwdWlkID0gdmNwdXNbaV07CiAgICAgICAgICAgICAgICAg ICAgIHNjaW5mby52Y3B1c1tpXS5wZXJpb2QgPSBwZXJpb2RzW2ldOwogICAgICAgICAgICAgICAg ICAgICBzY2luZm8udmNwdXNbaV0uYnVkZ2V0ID0gYnVkZ2V0c1tpXTsKKyAgICAgICAgICAgICAg ICAgICAgc2NpbmZvLnZjcHVzW2ldLmV4dHJhdGltZSA9IGV4dHJhdGltZXNbaV0gPyAxIDogMDsK ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgcmMgPSBzY2hlZF92Y3B1X3NldChk b21pZCwgJnNjaW5mbyk7CiAgICAgICAgICAgICB9IGVsc2UgeyAvKiBzZXQgcGFyYW1zIGZvciBh bGwgdmNwdXMgKi8KQEAgLTg2MCw2ICs4NzgsNyBAQCBpbnQgbWFpbl9zY2hlZF9ydGRzKGludCBh cmdjLCBjaGFyICoqYXJndikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWFsbG9j KHNpemVvZihsaWJ4bF9zY2hlZF9wYXJhbXMpKTsKICAgICAgICAgICAgICAgICBzY2luZm8udmNw dXNbMF0ucGVyaW9kID0gcGVyaW9kc1swXTsKICAgICAgICAgICAgICAgICBzY2luZm8udmNwdXNb MF0uYnVkZ2V0ID0gYnVkZ2V0c1swXTsKKyAgICAgICAgICAgICAgICBzY2luZm8udmNwdXNbMF0u ZXh0cmF0aW1lID0gZXh0cmF0aW1lc1swXSA/IDEgOiAwOwogICAgICAgICAgICAgICAgIHJjID0g c2NoZWRfdmNwdV9zZXRfYWxsKGRvbWlkLCAmc2NpbmZvKTsKICAgICAgICAgICAgIH0KIApAQCAt ODc2LDYgKzg5NSw3IEBAIG91dDoKICAgICBmcmVlKHZjcHVzKTsKICAgICBmcmVlKHBlcmlvZHMp OwogICAgIGZyZWUoYnVkZ2V0cyk7CisgICAgZnJlZShleHRyYXRpbWVzKTsKICAgICByZXR1cm4g cjsKIH0KIAotLSAKMS45LjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3Jn Cmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK