From mboxrd@z Thu Jan 1 00:00:00 1970 From: Meng Xu Subject: [PATCH v2 3/5] xl: enable per-VCPU extratime flag for RTDS Date: Fri, 1 Sep 2017 11:58:50 -0400 Message-ID: <1504281532-3766-4-git-send-email-mengxu@cis.upenn.edu> References: <1504281532-3766-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: <1504281532-3766-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 ZW5neHVAY2lzLnVwZW5uLmVkdT4KCi0tLQpDaGFuZ2VzIGZyb20gdjEKTm8gY2hhbmdlIGJlY2F1 c2Ugd2UgYWdyZWUgb24gdXNpbmcgLWUgMC8xIG9wdGlvbiB0bwpzZXQgaWYgYSB2Y3B1IHdpbGwg Z2V0IGV4dHJhIHRpbWUgb3Igbm90CgpDaGFuZ2VzIGZyb20gUkZDIHYxCkNoYW5nZXMgd29ya19j b25zZXJ2aW5nIGZsYWcgdG8gZXh0cmF0aW1lIGZsYWcKLS0tCiB0b29scy94bC94bF9jbWR0YWJs ZS5jIHwgIDMgKystCiB0b29scy94bC94bF9zY2hlZC5jICAgIHwgNTYgKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0KIDIgZmlsZXMgY2hhbmdlZCwgNDAg aW5zZXJ0aW9ucygrKSwgMTkgZGVsZXRpb25zKC0pCi0tLQogdG9vbHMveGwveGxfY21kdGFibGUu YyB8ICAzICsrLQogdG9vbHMveGwveGxfc2NoZWQuYyAgICB8IDU2ICsrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tCiAyIGZpbGVzIGNoYW5nZWQsIDQwIGlu c2VydGlvbnMoKyksIDE5IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3Rvb2xzL3hsL3hsX2Nt ZHRhYmxlLmMgYi90b29scy94bC94bF9jbWR0YWJsZS5jCmluZGV4IGJhMDE1OWQuLjFiMDNkNDQg MTAwNjQ0Ci0tLSBhL3Rvb2xzL3hsL3hsX2NtZHRhYmxlLmMKKysrIGIvdG9vbHMveGwveGxfY21k dGFibGUuYwpAQCAtMjcyLDEyICsyNzIsMTMgQEAgc3RydWN0IGNtZF9zcGVjIGNtZF90YWJsZVtd ID0gewogICAgIHsgInNjaGVkLXJ0ZHMiLAogICAgICAgJm1haW5fc2NoZWRfcnRkcywgMCwgMSwK ICAgICAgICJHZXQvc2V0IHJ0ZHMgc2NoZWR1bGVyIHBhcmFtZXRlcnMiLAotICAgICAgIlstZCA8 RG9tYWluPiBbLXZbPVZDUFVJRC9hbGxdXSBbLXBbPVBFUklPRF1dIFstYls9QlVER0VUXV1dIiwK KyAgICAgICJbLWQgPERvbWFpbj4gWy12Wz1WQ1BVSUQvYWxsXV0gWy1wWz1QRVJJT0RdXSBbLWJb PUJVREdFVF1dIFstZVs9RVhUUkFUSU1FXV1dIiwKICAgICAgICItZCBET01BSU4sIC0tZG9tYWlu PURPTUFJTiAgICAgRG9tYWluIHRvIG1vZGlmeVxuIgogICAgICAgIi12IFZDUFVJRC9hbGwsIC0t dmNwdWlkPVZDUFVJRC9hbGwgICAgVkNQVSB0byBtb2RpZnkgb3Igb3V0cHV0O1xuIgogICAgICAg IiAgICAgICAgICAgICAgIFVzaW5nICctdiBhbGwnIHRvIG1vZGlmeS9vdXRwdXQgYWxsIHZjcHVz XG4iCiAgICAgICAiLXAgUEVSSU9ELCAtLXBlcmlvZD1QRVJJT0QgICAgIFBlcmlvZCAodXMpXG4i CiAgICAgICAiLWIgQlVER0VULCAtLWJ1ZGdldD1CVURHRVQgICAgIEJ1ZGdldCAodXMpXG4iCisg ICAgICAiLWUgRVhUUkFUSU1FLCAtLWV4dHJhdGltZT1FWFRSQVRJTUUgRVhUUkFUSU1FICgxPXll cywgMD1ubylcbiIKICAgICB9LAogICAgIHsgImRvbWlkIiwKICAgICAgICZtYWluX2RvbWlkLCAw LCAwLApkaWZmIC0tZ2l0IGEvdG9vbHMveGwveGxfc2NoZWQuYyBiL3Rvb2xzL3hsL3hsX3NjaGVk LmMKaW5kZXggODU3MjJmZS4uNTEzODAxMiAxMDA2NDQKLS0tIGEvdG9vbHMveGwveGxfc2NoZWQu YworKysgYi90b29scy94bC94bF9zY2hlZC5jCkBAIC0yNTEsNyArMjUxLDcgQEAgc3RhdGljIGlu dCBzY2hlZF9ydGRzX2RvbWFpbl9vdXRwdXQoCiAgICAgbGlieGxfZG9tYWluX3NjaGVkX3BhcmFt cyBzY2luZm87CiAKICAgICBpZiAoZG9taWQgPCAwKSB7Ci0gICAgICAgIHByaW50ZigiJS0zM3Mg JTRzICU5cyAlOXNcbiIsICJOYW1lIiwgIklEIiwgIlBlcmlvZCIsICJCdWRnZXQiKTsKKyAgICAg ICAgcHJpbnRmKCIlLTMzcyAlNHMgJTlzICU5cyAlMTBzXG4iLCAiTmFtZSIsICJJRCIsICJQZXJp b2QiLCAiQnVkZ2V0IiwgIkV4dHJhIHRpbWUiKTsKICAgICAgICAgcmV0dXJuIDA7CiAgICAgfQog CkBAIC0yNjIsMTEgKzI2MiwxMiBAQCBzdGF0aWMgaW50IHNjaGVkX3J0ZHNfZG9tYWluX291dHB1 dCgKICAgICB9CiAKICAgICBkb21uYW1lID0gbGlieGxfZG9taWRfdG9fbmFtZShjdHgsIGRvbWlk KTsKLSAgICBwcmludGYoIiUtMzNzICU0ZCAlOWQgJTlkXG4iLAorICAgIHByaW50ZigiJS0zM3Mg JTRkICU5ZCAlOWQgJTEwc1xuIiwKICAgICAgICAgZG9tbmFtZSwKICAgICAgICAgZG9taWQsCiAg ICAgICAgIHNjaW5mby5wZXJpb2QsCi0gICAgICAgIHNjaW5mby5idWRnZXQpOworICAgICAgICBz Y2luZm8uYnVkZ2V0LAorICAgICAgICBzY2luZm8uZXh0cmF0aW1lID8gInllcyIgOiAibm8iKTsK ICAgICBmcmVlKGRvbW5hbWUpOwogICAgIGxpYnhsX2RvbWFpbl9zY2hlZF9wYXJhbXNfZGlzcG9z ZSgmc2NpbmZvKTsKICAgICByZXR1cm4gMDsKQEAgLTI3OSw4ICsyODAsOCBAQCBzdGF0aWMgaW50 IHNjaGVkX3J0ZHNfdmNwdV9vdXRwdXQoaW50IGRvbWlkLCBsaWJ4bF92Y3B1X3NjaGVkX3BhcmFt cyAqc2NpbmZvKQogICAgIGludCBpOwogCiAgICAgaWYgKGRvbWlkIDwgMCkgewotICAgICAgICBw cmludGYoIiUtMzNzICU0cyAlNHMgJTlzICU5c1xuIiwgIk5hbWUiLCAiSUQiLAotICAgICAgICAg ICAgICAgIlZDUFUiLCAiUGVyaW9kIiwgIkJ1ZGdldCIpOworICAgICAgICBwcmludGYoIiUtMzNz ICU0cyAlNHMgJTlzICU5cyAlMTBzXG4iLCAiTmFtZSIsICJJRCIsCisgICAgICAgICAgICAgICAi VkNQVSIsICJQZXJpb2QiLCAiQnVkZ2V0IiwgIkV4dHJhIHRpbWUiKTsKICAgICAgICAgcmV0dXJu IDA7CiAgICAgfQogCkBAIC0yOTAsMTIgKzI5MSwxMyBAQCBzdGF0aWMgaW50IHNjaGVkX3J0ZHNf dmNwdV9vdXRwdXQoaW50IGRvbWlkLCBsaWJ4bF92Y3B1X3NjaGVkX3BhcmFtcyAqc2NpbmZvKQog CiAgICAgZG9tbmFtZSA9IGxpYnhsX2RvbWlkX3RvX25hbWUoY3R4LCBkb21pZCk7CiAgICAgZm9y ICggaSA9IDA7IGkgPCBzY2luZm8tPm51bV92Y3B1czsgaSsrICkgewotICAgICAgICBwcmludGYo IiUtMzNzICU0ZCAlNGQgJTkiUFJJdTMyIiAlOSJQUkl1MzIiXG4iLAorICAgICAgICBwcmludGYo IiUtMzNzICU0ZCAlNGQgJTkiUFJJdTMyIiAlOSJQUkl1MzIiICUxMHNcbiIsCiAgICAgICAgICAg ICAgICBkb21uYW1lLAogICAgICAgICAgICAgICAgZG9taWQsCiAgICAgICAgICAgICAgICBzY2lu Zm8tPnZjcHVzW2ldLnZjcHVpZCwKICAgICAgICAgICAgICAgIHNjaW5mby0+dmNwdXNbaV0ucGVy aW9kLAotICAgICAgICAgICAgICAgc2NpbmZvLT52Y3B1c1tpXS5idWRnZXQpOworICAgICAgICAg ICAgICAgc2NpbmZvLT52Y3B1c1tpXS5idWRnZXQsCisgICAgICAgICAgICAgICBzY2luZm8tPnZj cHVzW2ldLmV4dHJhdGltZSA/ICJ5ZXMiIDogIm5vIik7CiAgICAgfQogICAgIGZyZWUoZG9tbmFt ZSk7CiAgICAgcmV0dXJuIDA7CkBAIC0zMDksOCArMzExLDggQEAgc3RhdGljIGludCBzY2hlZF9y dGRzX3ZjcHVfb3V0cHV0X2FsbChpbnQgZG9taWQsCiAgICAgaW50IGk7CiAKICAgICBpZiAoZG9t aWQgPCAwKSB7Ci0gICAgICAgIHByaW50ZigiJS0zM3MgJTRzICU0cyAlOXMgJTlzXG4iLCAiTmFt ZSIsICJJRCIsCi0gICAgICAgICAgICAgICAiVkNQVSIsICJQZXJpb2QiLCAiQnVkZ2V0Iik7Cisg ICAgICAgIHByaW50ZigiJS0zM3MgJTRzICU0cyAlOXMgJTlzICUxMHNcbiIsICJOYW1lIiwgIklE IiwKKyAgICAgICAgICAgICAgICJWQ1BVIiwgIlBlcmlvZCIsICJCdWRnZXQiLCAiRXh0cmEgdGlt ZSIpOwogICAgICAgICByZXR1cm4gMDsKICAgICB9CiAKQEAgLTMyMSwxMiArMzIzLDEzIEBAIHN0 YXRpYyBpbnQgc2NoZWRfcnRkc192Y3B1X291dHB1dF9hbGwoaW50IGRvbWlkLAogCiAgICAgZG9t bmFtZSA9IGxpYnhsX2RvbWlkX3RvX25hbWUoY3R4LCBkb21pZCk7CiAgICAgZm9yICggaSA9IDA7 IGkgPCBzY2luZm8tPm51bV92Y3B1czsgaSsrICkgewotICAgICAgICBwcmludGYoIiUtMzNzICU0 ZCAlNGQgJTkiUFJJdTMyIiAlOSJQUkl1MzIiXG4iLAorICAgICAgICBwcmludGYoIiUtMzNzICU0 ZCAlNGQgJTkiUFJJdTMyIiAlOSJQUkl1MzIiICUxMHNcbiIsCiAgICAgICAgICAgICAgICBkb21u YW1lLAogICAgICAgICAgICAgICAgZG9taWQsCiAgICAgICAgICAgICAgICBzY2luZm8tPnZjcHVz W2ldLnZjcHVpZCwKICAgICAgICAgICAgICAgIHNjaW5mby0+dmNwdXNbaV0ucGVyaW9kLAotICAg ICAgICAgICAgICAgc2NpbmZvLT52Y3B1c1tpXS5idWRnZXQpOworICAgICAgICAgICAgICAgc2Np bmZvLT52Y3B1c1tpXS5idWRnZXQsCisgICAgICAgICAgICAgICBzY2luZm8tPnZjcHVzW2ldLmV4 dHJhdGltZSA/ICJ5ZXMiIDogIm5vIik7CiAgICAgfQogICAgIGZyZWUoZG9tbmFtZSk7CiAgICAg cmV0dXJuIDA7CkBAIC03MDIsMTQgKzcwNSwxOCBAQCBpbnQgbWFpbl9zY2hlZF9ydGRzKGludCBh cmdjLCBjaGFyICoqYXJndikKICAgICBpbnQgKnZjcHVzID0gKGludCAqKXhtYWxsb2Moc2l6ZW9m KGludCkpOyAvKiBJRHMgb2YgVkNQVXMgdGhhdCBjaGFuZ2UgKi8KICAgICBpbnQgKnBlcmlvZHMg PSAoaW50ICopeG1hbGxvYyhzaXplb2YoaW50KSk7IC8qIHBlcmlvZCBpcyBpbiBtaWNyb3NlY29u ZCAqLwogICAgIGludCAqYnVkZ2V0cyA9IChpbnQgKil4bWFsbG9jKHNpemVvZihpbnQpKTsgLyog YnVkZ2V0IGlzIGluIG1pY3Jvc2Vjb25kICovCisgICAgYm9vbCAqZXh0cmF0aW1lcyA9IChib29s ICopeG1hbGxvYyhzaXplb2YoYm9vbCkpOyAvKiBleHRyYXRpbWUgaXMgYm9vbCAqLwogICAgIGlu dCB2X3NpemUgPSAxOyAvKiBzaXplIG9mIHZjcHVzIGFycmF5ICovCiAgICAgaW50IHBfc2l6ZSA9 IDE7IC8qIHNpemUgb2YgcGVyaW9kcyBhcnJheSAqLwogICAgIGludCBiX3NpemUgPSAxOyAvKiBz aXplIG9mIGJ1ZGdldHMgYXJyYXkgKi8KKyAgICBpbnQgZV9zaXplID0gMTsgLyogc2l6ZSBvZiBl eHRyYXRpbWVzIGFycmF5ICovCiAgICAgaW50IHZfaW5kZXggPSAwOyAvKiBpbmRleCBpbiB2Y3B1 cyBhcnJheSAqLwogICAgIGludCBwX2luZGV4ID0wOyAvKiBpbmRleCBpbiBwZXJpb2RzIGFycmF5 ICovCiAgICAgaW50IGJfaW5kZXggPTA7IC8qIGluZGV4IGZvciBpbiBidWRnZXRzIGFycmF5ICov CisgICAgaW50IGVfaW5kZXggPSAwOyAvKiBpbmRleCBpbiBleHRyYXRpbWVzIGFycmF5ICovCiAg ICAgYm9vbCBvcHRfcCA9IGZhbHNlOwogICAgIGJvb2wgb3B0X2IgPSBmYWxzZTsKKyAgICBib29s IG9wdF9lID0gZmFsc2U7CiAgICAgYm9vbCBvcHRfdiA9IGZhbHNlOwogICAgIGJvb2wgb3B0X2Fs bCA9IGZhbHNlOyAvKiBvdXRwdXQgcGVyLWRvbSBwYXJhbWV0ZXJzICovCiAgICAgaW50IG9wdCwg aSwgcmMsIHI7CkBAIC03MTcsMTIgKzcyNCwxMyBAQCBpbnQgbWFpbl9zY2hlZF9ydGRzKGludCBh cmdjLCBjaGFyICoqYXJndikKICAgICAgICAgeyJkb21haW4iLCAxLCAwLCAnZCd9LAogICAgICAg ICB7InBlcmlvZCIsIDEsIDAsICdwJ30sCiAgICAgICAgIHsiYnVkZ2V0IiwgMSwgMCwgJ2InfSwK KyAgICAgICAgeyJleHRyYXRpbWUiLCAxLCAwLCAnZSd9LAogICAgICAgICB7InZjcHVpZCIsMSwg MCwgJ3YnfSwKICAgICAgICAgeyJjcHVwb29sIiwgMSwgMCwgJ2MnfSwKICAgICAgICAgQ09NTU9O X0xPTkdfT1BUUwogICAgIH07CiAKLSAgICBTV0lUQ0hfRk9SRUFDSF9PUFQob3B0LCAiZDpwOmI6 djpjIiwgb3B0cywgInNjaGVkLXJ0ZHMiLCAwKSB7CisgICAgU1dJVENIX0ZPUkVBQ0hfT1BUKG9w dCwgImQ6cDpiOmU6djpjIiwgb3B0cywgInNjaGVkLXJ0ZHMiLCAwKSB7CiAgICAgY2FzZSAnZCc6 CiAgICAgICAgIGRvbSA9IG9wdGFyZzsKICAgICAgICAgYnJlYWs7CkBAIC03NDYsNiArNzU0LDE0 IEBAIGludCBtYWluX3NjaGVkX3J0ZHMoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogICAgICAgICBi dWRnZXRzW2JfaW5kZXgrK10gPSBzdHJ0b2wob3B0YXJnLCBOVUxMLCAxMCk7CiAgICAgICAgIG9w dF9iID0gMTsKICAgICAgICAgYnJlYWs7CisgICAgY2FzZSAnZSc6CisgICAgICAgIGlmIChlX2lu ZGV4ID49IGVfc2l6ZSkgeyAvKiBleHRyYXRpbWUgYXJyYXkgaXMgZnVsbCAqLworICAgICAgICAg ICAgZV9zaXplICo9IDI7CisgICAgICAgICAgICBleHRyYXRpbWVzID0geHJlYWxsb2MoZXh0cmF0 aW1lcywgZV9zaXplKTsKKyAgICAgICAgfQorICAgICAgICBleHRyYXRpbWVzW2VfaW5kZXgrK10g PSBzdHJ0b2wob3B0YXJnLCBOVUxMLCAxMCk7CisgICAgICAgIG9wdF9lID0gMTsKKyAgICAgICAg YnJlYWs7CiAgICAgY2FzZSAndic6CiAgICAgICAgIGlmICghc3RyY21wKG9wdGFyZywgImFsbCIp KSB7IC8qIGdldCBvciBzZXQgYWxsIHZjcHVzIG9mIGEgZG9tYWluICovCiAgICAgICAgICAgICBv cHRfYWxsID0gMTsKQEAgLTc2MywxOCArNzc5LDE4IEBAIGludCBtYWluX3NjaGVkX3J0ZHMoaW50 IGFyZ2MsIGNoYXIgKiphcmd2KQogICAgICAgICBicmVhazsKICAgICB9CiAKLSAgICBpZiAoY3B1 cG9vbCAmJiAoZG9tIHx8IG9wdF9wIHx8IG9wdF9iIHx8IG9wdF92IHx8IG9wdF9hbGwpKSB7Cisg ICAgaWYgKGNwdXBvb2wgJiYgKGRvbSB8fCBvcHRfcCB8fCBvcHRfYiB8fCBvcHRfZSB8fCBvcHRf diB8fCBvcHRfYWxsKSkgewogICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIlNwZWNpZnlpbmcgYSBj cHVwb29sIGlzIG5vdCBhbGxvd2VkIHdpdGggIgogICAgICAgICAgICAgICAgICJvdGhlciBvcHRp b25zLlxuIik7CiAgICAgICAgIHIgPSBFWElUX0ZBSUxVUkU7CiAgICAgICAgIGdvdG8gb3V0Owog ICAgIH0KLSAgICBpZiAoIWRvbSAmJiAob3B0X3AgfHwgb3B0X2IgfHwgb3B0X3YpKSB7CisgICAg aWYgKCFkb20gJiYgKG9wdF9wIHx8IG9wdF9iIHx8IG9wdF9lIHx8IG9wdF92KSkgewogICAgICAg ICBmcHJpbnRmKHN0ZGVyciwgIk1pc3NpbmcgcGFyYW1ldGVycy5cbiIpOwogICAgICAgICByID0g RVhJVF9GQUlMVVJFOwogICAgICAgICBnb3RvIG91dDsKICAgICB9Ci0gICAgaWYgKGRvbSAmJiAh b3B0X3YgJiYgIW9wdF9hbGwgJiYgKG9wdF9wIHx8IG9wdF9iKSkgeworICAgIGlmIChkb20gJiYg IW9wdF92ICYmICFvcHRfYWxsICYmIChvcHRfcCB8fCBvcHRfYiB8fCBvcHRfZSkpIHsKICAgICAg ICAgZnByaW50ZihzdGRlcnIsICJNdXN0IHNwZWNpZnkgVkNQVS5cbiIpOwogICAgICAgICByID0g RVhJVF9GQUlMVVJFOwogICAgICAgICBnb3RvIG91dDsKQEAgLTc4NSw4ICs4MDEsOSBAQCBpbnQg bWFpbl9zY2hlZF9ydGRzKGludCBhcmdjLCBjaGFyICoqYXJndikKICAgICAgICAgZ290byBvdXQ7 CiAgICAgfQogICAgIGlmICgoKHZfaW5kZXggPiBiX2luZGV4KSAmJiBvcHRfYikgfHwgKCh2X2lu ZGV4ID4gcF9pbmRleCkgJiYgb3B0X3ApCi0gICAgICAgIHx8IHBfaW5kZXggIT0gYl9pbmRleCkg ewotICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIkluY29ycmVjdCBudW1iZXIgb2YgcGVyaW9kIGFu ZCBidWRnZXRcbiIpOworICAgICAgICAgfHwgKCh2X2luZGV4ID4gZV9pbmRleCkgJiYgb3B0X2Up IHx8IHBfaW5kZXggIT0gYl9pbmRleAorICAgICAgICAgfHwgcF9pbmRleCAhPSBlX2luZGV4IHx8 IGJfaW5kZXggIT0gZV9pbmRleCApIHsKKyAgICAgICAgZnByaW50ZihzdGRlcnIsICJJbmNvcnJl Y3QgbnVtYmVyIG9mIHBlcmlvZCwgYnVkZ2V0IGFuZCBleHRyYXRpbWVcbiIpOwogICAgICAgICBy ID0gRVhJVF9GQUlMVVJFOwogICAgICAgICBnb3RvIG91dDsKICAgICB9CkBAIC04MjAsNyArODM3 LDcgQEAgaW50IG1haW5fc2NoZWRfcnRkcyhpbnQgYXJnYywgY2hhciAqKmFyZ3YpCiAgICAgICAg ICAgICAgICAgciA9IEVYSVRfRkFJTFVSRTsKICAgICAgICAgICAgICAgICBnb3RvIG91dDsKICAg ICAgICAgICAgIH0KLSAgICAgICAgfSBlbHNlIGlmICghb3B0X3AgJiYgIW9wdF9iKSB7CisgICAg ICAgIH0gZWxzZSBpZiAoIW9wdF9wICYmICFvcHRfYiAmJiAhb3B0X2UpIHsKICAgICAgICAgICAg IC8qIGdldCBwZXItdmNwdSBydGRzIHNjaGVkdWxpbmcgcGFyYW1ldGVycyAqLwogICAgICAgICAg ICAgbGlieGxfdmNwdV9zY2hlZF9wYXJhbXMgc2NpbmZvOwogICAgICAgICAgICAgbGlieGxfdmNw dV9zY2hlZF9wYXJhbXNfaW5pdCgmc2NpbmZvKTsKQEAgLTg1Miw2ICs4NjksNyBAQCBpbnQgbWFp bl9zY2hlZF9ydGRzKGludCBhcmdjLCBjaGFyICoqYXJndikKICAgICAgICAgICAgICAgICAgICAg c2NpbmZvLnZjcHVzW2ldLnZjcHVpZCA9IHZjcHVzW2ldOwogICAgICAgICAgICAgICAgICAgICBz Y2luZm8udmNwdXNbaV0ucGVyaW9kID0gcGVyaW9kc1tpXTsKICAgICAgICAgICAgICAgICAgICAg c2NpbmZvLnZjcHVzW2ldLmJ1ZGdldCA9IGJ1ZGdldHNbaV07CisgICAgICAgICAgICAgICAgICAg IHNjaW5mby52Y3B1c1tpXS5leHRyYXRpbWUgPSBleHRyYXRpbWVzW2ldID8gMSA6IDA7CiAgICAg ICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIHJjID0gc2NoZWRfdmNwdV9zZXQoZG9taWQs ICZzY2luZm8pOwogICAgICAgICAgICAgfSBlbHNlIHsgLyogc2V0IHBhcmFtcyBmb3IgYWxsIHZj cHVzICovCkBAIC04NjAsNiArODc4LDcgQEAgaW50IG1haW5fc2NoZWRfcnRkcyhpbnQgYXJnYywg Y2hhciAqKmFyZ3YpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1hbGxvYyhzaXpl b2YobGlieGxfc2NoZWRfcGFyYW1zKSk7CiAgICAgICAgICAgICAgICAgc2NpbmZvLnZjcHVzWzBd LnBlcmlvZCA9IHBlcmlvZHNbMF07CiAgICAgICAgICAgICAgICAgc2NpbmZvLnZjcHVzWzBdLmJ1 ZGdldCA9IGJ1ZGdldHNbMF07CisgICAgICAgICAgICAgICAgc2NpbmZvLnZjcHVzWzBdLmV4dHJh dGltZSA9IGV4dHJhdGltZXNbMF0gPyAxIDogMDsKICAgICAgICAgICAgICAgICByYyA9IHNjaGVk X3ZjcHVfc2V0X2FsbChkb21pZCwgJnNjaW5mbyk7CiAgICAgICAgICAgICB9CiAKQEAgLTg3Niw2 ICs4OTUsNyBAQCBvdXQ6CiAgICAgZnJlZSh2Y3B1cyk7CiAgICAgZnJlZShwZXJpb2RzKTsKICAg ICBmcmVlKGJ1ZGdldHMpOworICAgIGZyZWUoZXh0cmF0aW1lcyk7CiAgICAgcmV0dXJuIHI7CiB9 CiAKLS0gCjEuOS4xCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRw czovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==