From mboxrd@z Thu Jan 1 00:00:00 1970 From: Meng Xu Subject: [PATCH v4 3/5] xl: enable per-VCPU extratime flag for RTDS Date: Wed, 11 Oct 2017 14:02:04 -0400 Message-ID: <1507744926-3950-4-git-send-email-mengxu@cis.upenn.edu> References: <1507744926-3950-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: <1507744926-3950-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: wei.liu2@citrix.com, george.dunlap@eu.citrix.com, dario.faggioli@citrix.com, ian.jackson@eu.citrix.com, xumengpanda@gmail.com, Meng Xu List-Id: xen-devel@lists.xenproject.org Q2hhbmdlIG1haW5fc2NoZWRfcnRkcyBhbmQgcmVsYXRlZCBvdXRwdXQgZnVuY3Rpb25zIHRvIHN1 cHBvcnQKcGVyLVZDUFUgZXh0cmF0aW1lIGZsYWcuCgpTaWduZWQtb2ZmLWJ5OiBNZW5nIFh1IDxt ZW5neHVAY2lzLnVwZW5uLmVkdT4KUmV2aWV3ZWQtYnk6IERhcmlvIEZhZ2dpb2xpIDxyYWlzdGxp bkBsaW51eC5pdD4KQWNrZWQtYnk6IFdlaSBMaXUgPHdlaS5saXUyQGNpdHJpeC5jb20+CgotLS0K Q2hhbmdlcyBmcm9tIHYyClZhbGlkYXRlIHRoZSAtZSBvcHRpb24gaW5wdXQgdGhhdCBjYW4gb25s eSBiZSAwIG9yIDEKVXBkYXRlIGRvY3MvbWFuL3hsLnBvZC4xLmluCkNoYW5nZSBFWFRSQVRJTUUg dG8gRXh0cmF0aW1lCgpDaGFuZ2VzIGZyb20gdjEKTm8gY2hhbmdlIGJlY2F1c2Ugd2UgYWdyZWUg b24gdXNpbmcgLWUgMC8xIG9wdGlvbiB0bwpzZXQgaWYgYSB2Y3B1IHdpbGwgZ2V0IGV4dHJhIHRp bWUgb3Igbm90CgpDaGFuZ2VzIGZyb20gUkZDIHYxCkNoYW5nZXMgd29ya19jb25zZXJ2aW5nIGZs YWcgdG8gZXh0cmF0aW1lIGZsYWcKLS0tCiBkb2NzL21hbi94bC5wb2QuMS5pbiAgIHwgNTkgKysr KysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIHRvb2xzL3hsL3hs X2NtZHRhYmxlLmMgfCAgMyArKy0KIHRvb2xzL3hsL3hsX3NjaGVkLmMgICAgfCA2MiArKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLQogMyBmaWxlcyBjaGFu Z2VkLCA3OCBpbnNlcnRpb25zKCspLCA0NiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kb2Nz L21hbi94bC5wb2QuMS5pbiBiL2RvY3MvbWFuL3hsLnBvZC4xLmluCmluZGV4IGNkOGJiMWMuLjQ4 NmEyNGYgMTAwNjQ0Ci0tLSBhL2RvY3MvbWFuL3hsLnBvZC4xLmluCisrKyBiL2RvY3MvbWFuL3hs LnBvZC4xLmluCkBAIC0xMTE3LDExICsxMTE3LDExIEBAIGFzIEI8LS1yYXRlbGltaXRfdXM+IGlu IEI8c2NoZWQtY3JlZGl0PgogU2V0IG9yIGdldCBydGRzIChSZWFsIFRpbWUgRGVmZXJyYWJsZSBT ZXJ2ZXIpIHNjaGVkdWxlciBwYXJhbWV0ZXJzLgogVGhpcyBydCBzY2hlZHVsZXIgYXBwbGllcyBQ cmVlbXB0aXZlIEdsb2JhbCBFYXJsaWVzdCBEZWFkbGluZSBGaXJzdAogcmVhbC10aW1lIHNjaGVk dWxpbmcgYWxnb3JpdGhtIHRvIHNjaGVkdWxlIFZDUFVzIGluIHRoZSBzeXN0ZW0uCi1FYWNoIFZD UFUgaGFzIGEgZGVkaWNhdGVkIHBlcmlvZCBhbmQgYnVkZ2V0LgotVkNQVXMgaW4gdGhlIHNhbWUg ZG9tYWluIGhhdmUgdGhlIHNhbWUgcGVyaW9kIGFuZCBidWRnZXQuCitFYWNoIFZDUFUgaGFzIGEg ZGVkaWNhdGVkIHBlcmlvZCwgYnVkZ2V0IGFuZCBleHRyYXRpbWUuCiBXaGlsZSBzY2hlZHVsZWQs IGEgVkNQVSBidXJucyBpdHMgYnVkZ2V0LgogQSBWQ1BVIGhhcyBpdHMgYnVkZ2V0IHJlcGxlbmlz aGVkIGF0IHRoZSBiZWdpbm5pbmcgb2YgZWFjaCBwZXJpb2Q7CiBVbnVzZWQgYnVkZ2V0IGlzIGRp c2NhcmRlZCBhdCB0aGUgZW5kIG9mIGVhY2ggcGVyaW9kLgorQSBWQ1BVIHdpdGggZXh0cmF0aW1l IHNldCBnZXRzIGV4dHJhIHRpbWUgZnJvbSB0aGUgdW5yZXNlcnZlZCBzeXN0ZW0gcmVzb3VyY2Uu CiAKIEI8T1BUSU9OUz4KIApAQCAtMTE0NSw2ICsxMTQ1LDExIEBAIFBlcmlvZCBvZiB0aW1lLCBp biBtaWNyb3NlY29uZHMsIG92ZXIgd2hpY2ggdG8gcmVwbGVuaXNoIHRoZSBidWRnZXQuCiBBbW91 bnQgb2YgdGltZSwgaW4gbWljcm9zZWNvbmRzLCB0aGF0IHRoZSBWQ1BVIHdpbGwgYmUgYWxsb3dl ZAogdG8gcnVuIGV2ZXJ5IHBlcmlvZC4KIAorPWl0ZW0gQjwtZSBFeHRyYXRpbWU+LCBCPC0tZXh0 cmF0aW1lPUV4dHJhdGltZT4KKworQmluYXJ5IGZsYWcgdG8gZGVjaWRlIGlmIHRoZSBWQ1BVIHdp bGwgYmUgYWxsb3dlZCB0byBnZXQgZXh0cmEgdGltZSBmcm9tCit0aGUgdW5yZXNlcnZlZCBzeXN0 ZW0gcmVzb3VyY2UuCisKID1pdGVtIEI8LWMgQ1BVUE9PTD4sIEI8LS1jcHVwb29sPUNQVVBPT0w+ CiAKIFJlc3RyaWN0IG91dHB1dCB0byBkb21haW5zIGluIHRoZSBzcGVjaWZpZWQgY3B1cG9vbC4K QEAgLTExNjAsNTcgKzExNjUsNTcgQEAgYWxsIHRoZSBkb21haW5zOgogCiAgICAgeGwgc2NoZWQt cnRkcyAtdiBhbGwKICAgICBDcHVwb29sIFBvb2wtMDogc2NoZWQ9UlREUwotICAgIE5hbWUgICAg ICAgICAgICAgICAgICAgICAgICBJRCBWQ1BVICAgIFBlcmlvZCAgICBCdWRnZXQKLSAgICBEb21h aW4tMCAgICAgICAgICAgICAgICAgICAgIDAgICAgMCAgICAgMTAwMDAgICAgICA0MDAwCi0gICAg dm0xICAgICAgICAgICAgICAgICAgICAgICAgICAxICAgIDAgICAgICAgMzAwICAgICAgIDE1MAot ICAgIHZtMSAgICAgICAgICAgICAgICAgICAgICAgICAgMSAgICAxICAgICAgIDQwMCAgICAgICAy MDAKLSAgICB2bTEgICAgICAgICAgICAgICAgICAgICAgICAgIDEgICAgMiAgICAgMTAwMDAgICAg ICA0MDAwCi0gICAgdm0xICAgICAgICAgICAgICAgICAgICAgICAgICAxICAgIDMgICAgICAxMDAw ICAgICAgIDUwMAotICAgIHZtMiAgICAgICAgICAgICAgICAgICAgICAgICAgMiAgICAwICAgICAx MDAwMCAgICAgIDQwMDAKLSAgICB2bTIgICAgICAgICAgICAgICAgICAgICAgICAgIDIgICAgMSAg ICAgMTAwMDAgICAgICA0MDAwCisgICAgTmFtZSAgICAgICAgICAgICAgICAgICAgICAgIElEIFZD UFUgICAgUGVyaW9kICAgIEJ1ZGdldCAgRXh0cmF0aW1lCisgICAgRG9tYWluLTAgICAgICAgICAg ICAgICAgICAgICAwICAgIDAgICAgIDEwMDAwICAgICAgNDAwMCAgICAgICAgeWVzCisgICAgdm0x ICAgICAgICAgICAgICAgICAgICAgICAgICAyICAgIDAgICAgICAgMzAwICAgICAgIDE1MCAgICAg ICAgeWVzCisgICAgdm0xICAgICAgICAgICAgICAgICAgICAgICAgICAyICAgIDEgICAgICAgNDAw ICAgICAgIDIwMCAgICAgICAgeWVzCisgICAgdm0xICAgICAgICAgICAgICAgICAgICAgICAgICAy ICAgIDIgICAgIDEwMDAwICAgICAgNDAwMCAgICAgICAgeWVzCisgICAgdm0xICAgICAgICAgICAg ICAgICAgICAgICAgICAyICAgIDMgICAgICAxMDAwICAgICAgIDUwMCAgICAgICAgeWVzCisgICAg dm0yICAgICAgICAgICAgICAgICAgICAgICAgICA0ICAgIDAgICAgIDEwMDAwICAgICAgNDAwMCAg ICAgICAgeWVzCisgICAgdm0yICAgICAgICAgICAgICAgICAgICAgICAgICA0ICAgIDEgICAgIDEw MDAwICAgICAgNDAwMCAgICAgICAgeWVzCiAKIFdpdGhvdXQgYW55IGFyZ3VtZW50cywgaXQgd2ls bCBvdXRwdXQgdGhlIGRlZmF1bHQgc2NoZWR1bGluZwogcGFyYW1ldGVycyBmb3IgZWFjaCBkb21h aW46CiAKICAgICB4bCBzY2hlZC1ydGRzCiAgICAgQ3B1cG9vbCBQb29sLTA6IHNjaGVkPVJURFMK LSAgICBOYW1lICAgICAgICAgICAgICAgICAgICAgICAgSUQgICAgUGVyaW9kICAgIEJ1ZGdldAot ICAgIERvbWFpbi0wICAgICAgICAgICAgICAgICAgICAgMCAgICAgMTAwMDAgICAgICA0MDAwCi0g ICAgdm0xICAgICAgICAgICAgICAgICAgICAgICAgICAxICAgICAxMDAwMCAgICAgIDQwMDAKLSAg ICB2bTIgICAgICAgICAgICAgICAgICAgICAgICAgIDIgICAgIDEwMDAwICAgICAgNDAwMAorICAg IE5hbWUgICAgICAgICAgICAgICAgICAgICAgICBJRCAgICBQZXJpb2QgICAgQnVkZ2V0ICBFeHRy YXRpbWUKKyAgICBEb21haW4tMCAgICAgICAgICAgICAgICAgICAgIDAgICAgIDEwMDAwICAgICAg NDAwMCAgICAgICAgeWVzCisgICAgdm0xICAgICAgICAgICAgICAgICAgICAgICAgICAyICAgICAx MDAwMCAgICAgIDQwMDAgICAgICAgIHllcworICAgIHZtMiAgICAgICAgICAgICAgICAgICAgICAg ICAgNCAgICAgMTAwMDAgICAgICA0MDAwICAgICAgICB5ZXMKIAogCi0yKSBVc2UsIGZvciBpbnN0 YW5jZWksIEI8LWQgdm0xLCAtdiBhbGw+IHRvIHNlZSB0aGUgYnVkZ2V0IGFuZAorMikgVXNlLCBm b3IgaW5zdGFuY2UsIEI8LWQgdm0xLCAtdiBhbGw+IHRvIHNlZSB0aGUgYnVkZ2V0IGFuZAogcGVy aW9kIG9mIGFsbCBWQ1BVcyBvZiBhIHNwZWNpZmljIGRvbWFpbiAoQjx2bTE+KToKIAogICAgIHhs IHNjaGVkLXJ0ZHMgLWQgdm0xIC12IGFsbAotICAgIE5hbWUgICAgICAgICAgICAgICAgICAgICAg ICBJRCBWQ1BVICAgIFBlcmlvZCAgICBCdWRnZXQKLSAgICB2bTEgICAgICAgICAgICAgICAgICAg ICAgICAgIDEgICAgMCAgICAgICAzMDAgICAgICAgMTUwCi0gICAgdm0xICAgICAgICAgICAgICAg ICAgICAgICAgICAxICAgIDEgICAgICAgNDAwICAgICAgIDIwMAotICAgIHZtMSAgICAgICAgICAg ICAgICAgICAgICAgICAgMSAgICAyICAgICAxMDAwMCAgICAgIDQwMDAKLSAgICB2bTEgICAgICAg ICAgICAgICAgICAgICAgICAgIDEgICAgMyAgICAgIDEwMDAgICAgICAgNTAwCisgICAgTmFtZSAg ICAgICAgICAgICAgICAgICAgICAgIElEIFZDUFUgICAgUGVyaW9kICAgIEJ1ZGdldCAgRXh0cmF0 aW1lCisgICAgdm0xICAgICAgICAgICAgICAgICAgICAgICAgICAyICAgIDAgICAgICAgMzAwICAg ICAgIDE1MCAgICAgICAgeWVzCisgICAgdm0xICAgICAgICAgICAgICAgICAgICAgICAgICAyICAg IDEgICAgICAgNDAwICAgICAgIDIwMCAgICAgICAgeWVzCisgICAgdm0xICAgICAgICAgICAgICAg ICAgICAgICAgICAyICAgIDIgICAgIDEwMDAwICAgICAgNDAwMCAgICAgICAgeWVzCisgICAgdm0x ICAgICAgICAgICAgICAgICAgICAgICAgICAyICAgIDMgICAgICAxMDAwICAgICAgIDUwMCAgICAg ICAgeWVzCiAKIFRvIHNlZSB0aGUgcGFyYW1ldGVycyBvZiBhIHN1YnNldCBvZiB0aGUgVkNQVXMg b2YgYSBkb21haW4sIHVzZToKIAogICAgIHhsIHNjaGVkLXJ0ZHMgLWQgdm0xIC12IDAgLXYgMwot ICAgIE5hbWUgICAgICAgICAgICAgICAgICAgICAgICBJRCBWQ1BVICAgIFBlcmlvZCAgICBCdWRn ZXQKLSAgICB2bTEgICAgICAgICAgICAgICAgICAgICAgICAgIDEgICAgMCAgICAgICAzMDAgICAg ICAgMTUwCi0gICAgdm0xICAgICAgICAgICAgICAgICAgICAgICAgICAxICAgIDMgICAgICAxMDAw ICAgICAgIDUwMAorICAgIE5hbWUgICAgICAgICAgICAgICAgICAgICAgICBJRCBWQ1BVICAgIFBl cmlvZCAgICBCdWRnZXQgIEV4dHJhdGltZQorICAgIHZtMSAgICAgICAgICAgICAgICAgICAgICAg ICAgMiAgICAwICAgICAgIDMwMCAgICAgICAxNTAgICAgICAgIHllcworICAgIHZtMSAgICAgICAg ICAgICAgICAgICAgICAgICAgMiAgICAzICAgICAgMTAwMCAgICAgICA1MDAgICAgICAgIHllcwog CiBJZiBubyBCPC12PiBpcyBzcGVjaWZpZWQsIHRoZSBkZWZhdWx0IHNjaGVkdWxpbmcgcGFyYW1l dGVycyBmb3IgdGhlCiBkb21haW4gYXJlIHNob3duOgogCiAgICAgeGwgc2NoZWQtcnRkcyAtZCB2 bTEKLSAgICBOYW1lICAgICAgICAgICAgICAgICAgICAgICAgSUQgICAgUGVyaW9kICAgIEJ1ZGdl dAotICAgIHZtMSAgICAgICAgICAgICAgICAgICAgICAgICAgMSAgICAgMTAwMDAgICAgICA0MDAw CisgICAgTmFtZSAgICAgICAgICAgICAgICAgICAgICAgIElEICAgIFBlcmlvZCAgICBCdWRnZXQg IEV4dHJhdGltZQorICAgIHZtMSAgICAgICAgICAgICAgICAgICAgICAgICAgMiAgICAgMTAwMDAg ICAgICA0MDAwICAgICAgICB5ZXMKIAogCiAzKSBVc2VycyBjYW4gc2V0IHRoZSBidWRnZXQgYW5k IHBlcmlvZCBvZiBtdWx0aXBsZSBWQ1BVcyBvZiBhCiBzcGVjaWZpYyBkb21haW4gd2l0aCBvbmx5 IG9uZSBjb21tYW5kLAotZS5nLiwgInhsIHNjaGVkLXJ0ZHMgLWQgdm0xIC12IDAgLXAgMTAwIC1i IDUwIC12IDMgLXAgMzAwIC1iIDE1MCIuCitlLmcuLCAieGwgc2NoZWQtcnRkcyAtZCB2bTEgLXYg MCAtcCAxMDAgLWIgNTAgLWUgMSAtdiAzIC1wIDMwMCAtYiAxNTAgLWUgMCIuCiAKIFRvIGNoYW5n ZSB0aGUgcGFyYW1ldGVycyBvZiBhbGwgdGhlIFZDUFVzIG9mIGEgZG9tYWluLCB1c2UgQjwtdiBh bGw+LAotZS5nLiwgInhsIHNjaGVkLXJ0ZHMgLWQgdm0xIC12IGFsbCAtcCA1MDAgLWIgMjUwIi4K K2UuZy4sICJ4bCBzY2hlZC1ydGRzIC1kIHZtMSAtdiBhbGwgLXAgNTAwIC1iIDI1MCAtZSAxIi4K IAogPWJhY2sKIApkaWZmIC0tZ2l0IGEvdG9vbHMveGwveGxfY21kdGFibGUuYyBiL3Rvb2xzL3hs L3hsX2NtZHRhYmxlLmMKaW5kZXggNjhhOGE3Mi4uNTU0NmNmNiAxMDA2NDQKLS0tIGEvdG9vbHMv eGwveGxfY21kdGFibGUuYworKysgYi90b29scy94bC94bF9jbWR0YWJsZS5jCkBAIC0yNzMsMTIg KzI3MywxMyBAQCBzdHJ1Y3QgY21kX3NwZWMgY21kX3RhYmxlW10gPSB7CiAgICAgeyAic2NoZWQt cnRkcyIsCiAgICAgICAmbWFpbl9zY2hlZF9ydGRzLCAwLCAxLAogICAgICAgIkdldC9zZXQgcnRk cyBzY2hlZHVsZXIgcGFyYW1ldGVycyIsCi0gICAgICAiWy1kIDxEb21haW4+IFstdls9VkNQVUlE L2FsbF1dIFstcFs9UEVSSU9EXV0gWy1iWz1CVURHRVRdXV0iLAorICAgICAgIlstZCA8RG9tYWlu PiBbLXZbPVZDUFVJRC9hbGxdXSBbLXBbPVBFUklPRF1dIFstYls9QlVER0VUXV0gWy1lWz1FeHRy YXRpbWVdXV0iLAogICAgICAgIi1kIERPTUFJTiwgLS1kb21haW49RE9NQUlOICAgICBEb21haW4g dG8gbW9kaWZ5XG4iCiAgICAgICAiLXYgVkNQVUlEL2FsbCwgLS12Y3B1aWQ9VkNQVUlEL2FsbCAg ICBWQ1BVIHRvIG1vZGlmeSBvciBvdXRwdXQ7XG4iCiAgICAgICAiICAgICAgICAgICAgICAgVXNp bmcgJy12IGFsbCcgdG8gbW9kaWZ5L291dHB1dCBhbGwgdmNwdXNcbiIKICAgICAgICItcCBQRVJJ T0QsIC0tcGVyaW9kPVBFUklPRCAgICAgUGVyaW9kICh1cylcbiIKICAgICAgICItYiBCVURHRVQs IC0tYnVkZ2V0PUJVREdFVCAgICAgQnVkZ2V0ICh1cylcbiIKKyAgICAgICItZSBFeHRyYXRpbWUs IC0tZXh0cmF0aW1lPUV4dHJhdGltZSBFeHRyYXRpbWUgKDE9eWVzLCAwPW5vKVxuIgogICAgIH0s CiAgICAgeyAiZG9taWQiLAogICAgICAgJm1haW5fZG9taWQsIDAsIDAsCmRpZmYgLS1naXQgYS90 b29scy94bC94bF9zY2hlZC5jIGIvdG9vbHMveGwveGxfc2NoZWQuYwppbmRleCA3ZmFiY2UzLi43 OTY1Y2NiIDEwMDY0NAotLS0gYS90b29scy94bC94bF9zY2hlZC5jCisrKyBiL3Rvb2xzL3hsL3hs X3NjaGVkLmMKQEAgLTI1Miw3ICsyNTIsNyBAQCBzdGF0aWMgaW50IHNjaGVkX3J0ZHNfZG9tYWlu X291dHB1dCgKICAgICBsaWJ4bF9kb21haW5fc2NoZWRfcGFyYW1zIHNjaW5mbzsKIAogICAgIGlm IChkb21pZCA8IDApIHsKLSAgICAgICAgcHJpbnRmKCIlLTMzcyAlNHMgJTlzICU5c1xuIiwgIk5h bWUiLCAiSUQiLCAiUGVyaW9kIiwgIkJ1ZGdldCIpOworICAgICAgICBwcmludGYoIiUtMzNzICU0 cyAlOXMgJTlzICUxMHNcbiIsICJOYW1lIiwgIklEIiwgIlBlcmlvZCIsICJCdWRnZXQiLCAiRXh0 cmF0aW1lIik7CiAgICAgICAgIHJldHVybiAwOwogICAgIH0KIApAQCAtMjYzLDExICsyNjMsMTIg QEAgc3RhdGljIGludCBzY2hlZF9ydGRzX2RvbWFpbl9vdXRwdXQoCiAgICAgfQogCiAgICAgZG9t bmFtZSA9IGxpYnhsX2RvbWlkX3RvX25hbWUoY3R4LCBkb21pZCk7Ci0gICAgcHJpbnRmKCIlLTMz cyAlNGQgJTlkICU5ZFxuIiwKKyAgICBwcmludGYoIiUtMzNzICU0ZCAlOWQgJTlkICUxMHNcbiIs CiAgICAgICAgIGRvbW5hbWUsCiAgICAgICAgIGRvbWlkLAogICAgICAgICBzY2luZm8ucGVyaW9k LAotICAgICAgICBzY2luZm8uYnVkZ2V0KTsKKyAgICAgICAgc2NpbmZvLmJ1ZGdldCwKKyAgICAg ICAgc2NpbmZvLmV4dHJhdGltZSA/ICJ5ZXMiIDogIm5vIik7CiAgICAgZnJlZShkb21uYW1lKTsK ICAgICBsaWJ4bF9kb21haW5fc2NoZWRfcGFyYW1zX2Rpc3Bvc2UoJnNjaW5mbyk7CiAgICAgcmV0 dXJuIDA7CkBAIC0yODAsOCArMjgxLDggQEAgc3RhdGljIGludCBzY2hlZF9ydGRzX3ZjcHVfb3V0 cHV0KGludCBkb21pZCwgbGlieGxfdmNwdV9zY2hlZF9wYXJhbXMgKnNjaW5mbykKICAgICBpbnQg aTsKIAogICAgIGlmIChkb21pZCA8IDApIHsKLSAgICAgICAgcHJpbnRmKCIlLTMzcyAlNHMgJTRz ICU5cyAlOXNcbiIsICJOYW1lIiwgIklEIiwKLSAgICAgICAgICAgICAgICJWQ1BVIiwgIlBlcmlv ZCIsICJCdWRnZXQiKTsKKyAgICAgICAgcHJpbnRmKCIlLTMzcyAlNHMgJTRzICU5cyAlOXMgJTEw c1xuIiwgIk5hbWUiLCAiSUQiLAorICAgICAgICAgICAgICAgIlZDUFUiLCAiUGVyaW9kIiwgIkJ1 ZGdldCIsICJFeHRyYXRpbWUiKTsKICAgICAgICAgcmV0dXJuIDA7CiAgICAgfQogCkBAIC0yOTEs MTIgKzI5MiwxMyBAQCBzdGF0aWMgaW50IHNjaGVkX3J0ZHNfdmNwdV9vdXRwdXQoaW50IGRvbWlk LCBsaWJ4bF92Y3B1X3NjaGVkX3BhcmFtcyAqc2NpbmZvKQogCiAgICAgZG9tbmFtZSA9IGxpYnhs X2RvbWlkX3RvX25hbWUoY3R4LCBkb21pZCk7CiAgICAgZm9yICggaSA9IDA7IGkgPCBzY2luZm8t Pm51bV92Y3B1czsgaSsrICkgewotICAgICAgICBwcmludGYoIiUtMzNzICU0ZCAlNGQgJTkiUFJJ dTMyIiAlOSJQUkl1MzIiXG4iLAorICAgICAgICBwcmludGYoIiUtMzNzICU0ZCAlNGQgJTkiUFJJ dTMyIiAlOSJQUkl1MzIiICUxMHNcbiIsCiAgICAgICAgICAgICAgICBkb21uYW1lLAogICAgICAg ICAgICAgICAgZG9taWQsCiAgICAgICAgICAgICAgICBzY2luZm8tPnZjcHVzW2ldLnZjcHVpZCwK ICAgICAgICAgICAgICAgIHNjaW5mby0+dmNwdXNbaV0ucGVyaW9kLAotICAgICAgICAgICAgICAg c2NpbmZvLT52Y3B1c1tpXS5idWRnZXQpOworICAgICAgICAgICAgICAgc2NpbmZvLT52Y3B1c1tp XS5idWRnZXQsCisgICAgICAgICAgICAgICBzY2luZm8tPnZjcHVzW2ldLmV4dHJhdGltZSA/ICJ5 ZXMiIDogIm5vIik7CiAgICAgfQogICAgIGZyZWUoZG9tbmFtZSk7CiAgICAgcmV0dXJuIDA7CkBA IC0zMTAsOCArMzEyLDggQEAgc3RhdGljIGludCBzY2hlZF9ydGRzX3ZjcHVfb3V0cHV0X2FsbChp bnQgZG9taWQsCiAgICAgaW50IGk7CiAKICAgICBpZiAoZG9taWQgPCAwKSB7Ci0gICAgICAgIHBy aW50ZigiJS0zM3MgJTRzICU0cyAlOXMgJTlzXG4iLCAiTmFtZSIsICJJRCIsCi0gICAgICAgICAg ICAgICAiVkNQVSIsICJQZXJpb2QiLCAiQnVkZ2V0Iik7CisgICAgICAgIHByaW50ZigiJS0zM3Mg JTRzICU0cyAlOXMgJTlzICUxMHNcbiIsICJOYW1lIiwgIklEIiwKKyAgICAgICAgICAgICAgICJW Q1BVIiwgIlBlcmlvZCIsICJCdWRnZXQiLCAiRXh0cmF0aW1lIik7CiAgICAgICAgIHJldHVybiAw OwogICAgIH0KIApAQCAtMzIyLDEyICszMjQsMTMgQEAgc3RhdGljIGludCBzY2hlZF9ydGRzX3Zj cHVfb3V0cHV0X2FsbChpbnQgZG9taWQsCiAKICAgICBkb21uYW1lID0gbGlieGxfZG9taWRfdG9f bmFtZShjdHgsIGRvbWlkKTsKICAgICBmb3IgKCBpID0gMDsgaSA8IHNjaW5mby0+bnVtX3ZjcHVz OyBpKysgKSB7Ci0gICAgICAgIHByaW50ZigiJS0zM3MgJTRkICU0ZCAlOSJQUkl1MzIiICU5IlBS SXUzMiJcbiIsCisgICAgICAgIHByaW50ZigiJS0zM3MgJTRkICU0ZCAlOSJQUkl1MzIiICU5IlBS SXUzMiIgJTEwc1xuIiwKICAgICAgICAgICAgICAgIGRvbW5hbWUsCiAgICAgICAgICAgICAgICBk b21pZCwKICAgICAgICAgICAgICAgIHNjaW5mby0+dmNwdXNbaV0udmNwdWlkLAogICAgICAgICAg ICAgICAgc2NpbmZvLT52Y3B1c1tpXS5wZXJpb2QsCi0gICAgICAgICAgICAgICBzY2luZm8tPnZj cHVzW2ldLmJ1ZGdldCk7CisgICAgICAgICAgICAgICBzY2luZm8tPnZjcHVzW2ldLmJ1ZGdldCwK KyAgICAgICAgICAgICAgIHNjaW5mby0+dmNwdXNbaV0uZXh0cmF0aW1lID8gInllcyIgOiAibm8i KTsKICAgICB9CiAgICAgZnJlZShkb21uYW1lKTsKICAgICByZXR1cm4gMDsKQEAgLTcxMSwxNCAr NzE0LDE4IEBAIGludCBtYWluX3NjaGVkX3J0ZHMoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogICAg IGludCAqdmNwdXMgPSAoaW50ICopeG1hbGxvYyhzaXplb2YoaW50KSk7IC8qIElEcyBvZiBWQ1BV cyB0aGF0IGNoYW5nZSAqLwogICAgIGludCAqcGVyaW9kcyA9IChpbnQgKil4bWFsbG9jKHNpemVv ZihpbnQpKTsgLyogcGVyaW9kIGlzIGluIG1pY3Jvc2Vjb25kICovCiAgICAgaW50ICpidWRnZXRz ID0gKGludCAqKXhtYWxsb2Moc2l6ZW9mKGludCkpOyAvKiBidWRnZXQgaXMgaW4gbWljcm9zZWNv bmQgKi8KKyAgICBib29sICpleHRyYXRpbWVzID0gKGJvb2wgKil4bWFsbG9jKHNpemVvZihib29s KSk7IC8qIGV4dHJhdGltZSBpcyBib29sICovCiAgICAgaW50IHZfc2l6ZSA9IDE7IC8qIHNpemUg b2YgdmNwdXMgYXJyYXkgKi8KICAgICBpbnQgcF9zaXplID0gMTsgLyogc2l6ZSBvZiBwZXJpb2Rz IGFycmF5ICovCiAgICAgaW50IGJfc2l6ZSA9IDE7IC8qIHNpemUgb2YgYnVkZ2V0cyBhcnJheSAq LworICAgIGludCBlX3NpemUgPSAxOyAvKiBzaXplIG9mIGV4dHJhdGltZXMgYXJyYXkgKi8KICAg ICBpbnQgdl9pbmRleCA9IDA7IC8qIGluZGV4IGluIHZjcHVzIGFycmF5ICovCiAgICAgaW50IHBf aW5kZXggPTA7IC8qIGluZGV4IGluIHBlcmlvZHMgYXJyYXkgKi8KICAgICBpbnQgYl9pbmRleCA9 MDsgLyogaW5kZXggZm9yIGluIGJ1ZGdldHMgYXJyYXkgKi8KKyAgICBpbnQgZV9pbmRleCA9IDA7 IC8qIGluZGV4IGluIGV4dHJhdGltZXMgYXJyYXkgKi8KICAgICBib29sIG9wdF9wID0gZmFsc2U7 CiAgICAgYm9vbCBvcHRfYiA9IGZhbHNlOworICAgIGJvb2wgb3B0X2UgPSBmYWxzZTsKICAgICBi b29sIG9wdF92ID0gZmFsc2U7CiAgICAgYm9vbCBvcHRfYWxsID0gZmFsc2U7IC8qIG91dHB1dCBw ZXItZG9tIHBhcmFtZXRlcnMgKi8KICAgICBpbnQgb3B0LCBpLCByYywgcjsKQEAgLTcyNiwxMiAr NzMzLDEzIEBAIGludCBtYWluX3NjaGVkX3J0ZHMoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogICAg ICAgICB7ImRvbWFpbiIsIDEsIDAsICdkJ30sCiAgICAgICAgIHsicGVyaW9kIiwgMSwgMCwgJ3An fSwKICAgICAgICAgeyJidWRnZXQiLCAxLCAwLCAnYid9LAorICAgICAgICB7ImV4dHJhdGltZSIs IDEsIDAsICdlJ30sCiAgICAgICAgIHsidmNwdWlkIiwxLCAwLCAndid9LAogICAgICAgICB7ImNw dXBvb2wiLCAxLCAwLCAnYyd9LAogICAgICAgICBDT01NT05fTE9OR19PUFRTCiAgICAgfTsKIAot ICAgIFNXSVRDSF9GT1JFQUNIX09QVChvcHQsICJkOnA6Yjp2OmMiLCBvcHRzLCAic2NoZWQtcnRk cyIsIDApIHsKKyAgICBTV0lUQ0hfRk9SRUFDSF9PUFQob3B0LCAiZDpwOmI6ZTp2OmMiLCBvcHRz LCAic2NoZWQtcnRkcyIsIDApIHsKICAgICBjYXNlICdkJzoKICAgICAgICAgZG9tID0gb3B0YXJn OwogICAgICAgICBicmVhazsKQEAgLTc1NSw2ICs3NjMsMjAgQEAgaW50IG1haW5fc2NoZWRfcnRk cyhpbnQgYXJnYywgY2hhciAqKmFyZ3YpCiAgICAgICAgIGJ1ZGdldHNbYl9pbmRleCsrXSA9IHN0 cnRvbChvcHRhcmcsIE5VTEwsIDEwKTsKICAgICAgICAgb3B0X2IgPSAxOwogICAgICAgICBicmVh azsKKyAgICBjYXNlICdlJzoKKyAgICAgICAgaWYgKGVfaW5kZXggPj0gZV9zaXplKSB7IC8qIGV4 dHJhdGltZSBhcnJheSBpcyBmdWxsICovCisgICAgICAgICAgICBlX3NpemUgKj0gMjsKKyAgICAg ICAgICAgIGV4dHJhdGltZXMgPSB4cmVhbGxvYyhleHRyYXRpbWVzLCBlX3NpemUpOworICAgICAg ICB9CisgICAgICAgIGlmIChzdHJjbXAob3B0YXJnLCAiMCIpICYmIHN0cmNtcChvcHRhcmcsICIx IikpCisgICAgICAgIHsKKyAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiSW52YWxpZCBleHRy YXRpbWUuXG4iKTsKKyAgICAgICAgICAgIHIgPSBFWElUX0ZBSUxVUkU7CisgICAgICAgICAgICBn b3RvIG91dDsKKyAgICAgICAgfQorICAgICAgICBleHRyYXRpbWVzW2VfaW5kZXgrK10gPSBzdHJ0 b2wob3B0YXJnLCBOVUxMLCAxMCk7CisgICAgICAgIG9wdF9lID0gMTsKKyAgICAgICAgYnJlYWs7 CiAgICAgY2FzZSAndic6CiAgICAgICAgIGlmICghc3RyY21wKG9wdGFyZywgImFsbCIpKSB7IC8q IGdldCBvciBzZXQgYWxsIHZjcHVzIG9mIGEgZG9tYWluICovCiAgICAgICAgICAgICBvcHRfYWxs ID0gMTsKQEAgLTc3MiwxOCArNzk0LDE4IEBAIGludCBtYWluX3NjaGVkX3J0ZHMoaW50IGFyZ2Ms IGNoYXIgKiphcmd2KQogICAgICAgICBicmVhazsKICAgICB9CiAKLSAgICBpZiAoY3B1cG9vbCAm JiAoZG9tIHx8IG9wdF9wIHx8IG9wdF9iIHx8IG9wdF92IHx8IG9wdF9hbGwpKSB7CisgICAgaWYg KGNwdXBvb2wgJiYgKGRvbSB8fCBvcHRfcCB8fCBvcHRfYiB8fCBvcHRfZSB8fCBvcHRfdiB8fCBv cHRfYWxsKSkgewogICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIlNwZWNpZnlpbmcgYSBjcHVwb29s IGlzIG5vdCBhbGxvd2VkIHdpdGggIgogICAgICAgICAgICAgICAgICJvdGhlciBvcHRpb25zLlxu Iik7CiAgICAgICAgIHIgPSBFWElUX0ZBSUxVUkU7CiAgICAgICAgIGdvdG8gb3V0OwogICAgIH0K LSAgICBpZiAoIWRvbSAmJiAob3B0X3AgfHwgb3B0X2IgfHwgb3B0X3YpKSB7CisgICAgaWYgKCFk b20gJiYgKG9wdF9wIHx8IG9wdF9iIHx8IG9wdF9lIHx8IG9wdF92KSkgewogICAgICAgICBmcHJp bnRmKHN0ZGVyciwgIk1pc3NpbmcgcGFyYW1ldGVycy5cbiIpOwogICAgICAgICByID0gRVhJVF9G QUlMVVJFOwogICAgICAgICBnb3RvIG91dDsKICAgICB9Ci0gICAgaWYgKGRvbSAmJiAhb3B0X3Yg JiYgIW9wdF9hbGwgJiYgKG9wdF9wIHx8IG9wdF9iKSkgeworICAgIGlmIChkb20gJiYgIW9wdF92 ICYmICFvcHRfYWxsICYmIChvcHRfcCB8fCBvcHRfYiB8fCBvcHRfZSkpIHsKICAgICAgICAgZnBy aW50ZihzdGRlcnIsICJNdXN0IHNwZWNpZnkgVkNQVS5cbiIpOwogICAgICAgICByID0gRVhJVF9G QUlMVVJFOwogICAgICAgICBnb3RvIG91dDsKQEAgLTc5NCw4ICs4MTYsOSBAQCBpbnQgbWFpbl9z Y2hlZF9ydGRzKGludCBhcmdjLCBjaGFyICoqYXJndikKICAgICAgICAgZ290byBvdXQ7CiAgICAg fQogICAgIGlmICgoKHZfaW5kZXggPiBiX2luZGV4KSAmJiBvcHRfYikgfHwgKCh2X2luZGV4ID4g cF9pbmRleCkgJiYgb3B0X3ApCi0gICAgICAgIHx8IHBfaW5kZXggIT0gYl9pbmRleCkgewotICAg ICAgICBmcHJpbnRmKHN0ZGVyciwgIkluY29ycmVjdCBudW1iZXIgb2YgcGVyaW9kIGFuZCBidWRn ZXRcbiIpOworICAgICAgICAgfHwgKCh2X2luZGV4ID4gZV9pbmRleCkgJiYgb3B0X2UpIHx8IHBf aW5kZXggIT0gYl9pbmRleAorICAgICAgICAgfHwgcF9pbmRleCAhPSBlX2luZGV4ICkgeworICAg ICAgICBmcHJpbnRmKHN0ZGVyciwgIkluY29ycmVjdCBudW1iZXIgb2YgcGVyaW9kLCBidWRnZXQg YW5kIGV4dHJhdGltZVxuIik7CiAgICAgICAgIHIgPSBFWElUX0ZBSUxVUkU7CiAgICAgICAgIGdv dG8gb3V0OwogICAgIH0KQEAgLTgyOSw3ICs4NTIsNyBAQCBpbnQgbWFpbl9zY2hlZF9ydGRzKGlu dCBhcmdjLCBjaGFyICoqYXJndikKICAgICAgICAgICAgICAgICByID0gRVhJVF9GQUlMVVJFOwog ICAgICAgICAgICAgICAgIGdvdG8gb3V0OwogICAgICAgICAgICAgfQotICAgICAgICB9IGVsc2Ug aWYgKCFvcHRfcCAmJiAhb3B0X2IpIHsKKyAgICAgICAgfSBlbHNlIGlmICghb3B0X3AgJiYgIW9w dF9iICYmICFvcHRfZSkgewogICAgICAgICAgICAgLyogZ2V0IHBlci12Y3B1IHJ0ZHMgc2NoZWR1 bGluZyBwYXJhbWV0ZXJzICovCiAgICAgICAgICAgICBsaWJ4bF92Y3B1X3NjaGVkX3BhcmFtcyBz Y2luZm87CiAgICAgICAgICAgICBsaWJ4bF92Y3B1X3NjaGVkX3BhcmFtc19pbml0KCZzY2luZm8p OwpAQCAtODYxLDYgKzg4NCw3IEBAIGludCBtYWluX3NjaGVkX3J0ZHMoaW50IGFyZ2MsIGNoYXIg Kiphcmd2KQogICAgICAgICAgICAgICAgICAgICBzY2luZm8udmNwdXNbaV0udmNwdWlkID0gdmNw dXNbaV07CiAgICAgICAgICAgICAgICAgICAgIHNjaW5mby52Y3B1c1tpXS5wZXJpb2QgPSBwZXJp b2RzW2ldOwogICAgICAgICAgICAgICAgICAgICBzY2luZm8udmNwdXNbaV0uYnVkZ2V0ID0gYnVk Z2V0c1tpXTsKKyAgICAgICAgICAgICAgICAgICAgc2NpbmZvLnZjcHVzW2ldLmV4dHJhdGltZSA9 IGV4dHJhdGltZXNbaV0gPyAxIDogMDsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAg ICAgcmMgPSBzY2hlZF92Y3B1X3NldChkb21pZCwgJnNjaW5mbyk7CiAgICAgICAgICAgICB9IGVs c2UgeyAvKiBzZXQgcGFyYW1zIGZvciBhbGwgdmNwdXMgKi8KQEAgLTg2OSw2ICs4OTMsNyBAQCBp bnQgbWFpbl9zY2hlZF9ydGRzKGludCBhcmdjLCBjaGFyICoqYXJndikKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB4bWFsbG9jKHNpemVvZihsaWJ4bF9zY2hlZF9wYXJhbXMpKTsKICAg ICAgICAgICAgICAgICBzY2luZm8udmNwdXNbMF0ucGVyaW9kID0gcGVyaW9kc1swXTsKICAgICAg ICAgICAgICAgICBzY2luZm8udmNwdXNbMF0uYnVkZ2V0ID0gYnVkZ2V0c1swXTsKKyAgICAgICAg ICAgICAgICBzY2luZm8udmNwdXNbMF0uZXh0cmF0aW1lID0gZXh0cmF0aW1lc1swXSA/IDEgOiAw OwogICAgICAgICAgICAgICAgIHJjID0gc2NoZWRfdmNwdV9zZXRfYWxsKGRvbWlkLCAmc2NpbmZv KTsKICAgICAgICAgICAgIH0KIApAQCAtODg1LDYgKzkxMCw3IEBAIG91dDoKICAgICBmcmVlKHZj cHVzKTsKICAgICBmcmVlKHBlcmlvZHMpOwogICAgIGZyZWUoYnVkZ2V0cyk7CisgICAgZnJlZShl eHRyYXRpbWVzKTsKICAgICByZXR1cm4gcjsKIH0KIAotLSAKMS45LjEKCgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0 Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK