From mboxrd@z Thu Jan 1 00:00:00 1970 From: Corneliu ZUZU Subject: [PATCH 3/7] vm-event: introduce vm_event_vcpu_enter Date: Thu, 16 Jun 2016 17:08:47 +0300 Message-ID: <1466086127-7563-1-git-send-email-czuzu@bitdefender.com> References: <1466085888-7428-1-git-send-email-czuzu@bitdefender.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1466085888-7428-1-git-send-email-czuzu@bitdefender.com> 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: Kevin Tian , Stefano Stabellini , Jan Beulich , Razvan Cojocaru , George Dunlap , Andrew Cooper , Julien Grall , Paul Durrant , Tamas K Lengyel , Jun Nakajima List-Id: xen-devel@lists.xenproject.org SW4gYW4gZWZmb3J0IHRvIGltcHJvdmUgb24gdGhlIHZtLWV2ZW50IGludGVyZmFjZSwgd2UgaW50 cm9kdWNlIGEgbmV3IGZ1bmN0aW9uCmNhbGxlZCB2bV9ldmVudF92Y3B1X2VudGVyLiBJdHMgc2ln bmlmaWNhbmNlIGlzIHRoYXQgb2YgYSAiZmluYWwgdG91Y2giIHZDUFUKZnVuY3Rpb24gLSBpLmUu IGl0IHNob3VsZCBiZSBjYWxsZWQgYnkgaW1wbGVtZW50aW5nIGFyY2hpdGVjdHVyZXMganVzdCBi ZWZvcmUKcmUtZW50ZXJpbmcgdkNQVXMuCk9uIFg4NiBmb3IgZXhhbXBsZSwgaXQgaXMgY2FsbGVk IG9uIHRoZSBzY2hlZHVsaW5nIHRhaWwgKGh2bV9kb19yZXN1bWUpIGFuZCBqdXN0CmJlZm9yZSBy ZWVudGVyaW5nIHRoZSBndWVzdCB3b3JsZCBhZnRlciBhIGh5cGVydmlzb3IgdHJhcCAodm14X3Zt ZW50ZXJfaGVscGVyKS4KClNpZ25lZC1vZmYtYnk6IENvcm5lbGl1IFpVWlUgPGN6dXp1QGJpdGRl ZmVuZGVyLmNvbT4KLS0tCiB4ZW4vYXJjaC9hcm0vZG9tYWluLmMgICAgICAgICAgfCAgNSArKysr LQogeGVuL2FyY2gvYXJtL3RyYXBzLmMgICAgICAgICAgIHwgIDIgKysKIHhlbi9hcmNoL3g4Ni9o dm0vZW11bGF0ZS5jICAgICB8ICAyICstCiB4ZW4vYXJjaC94ODYvaHZtL2V2ZW50LmMgICAgICAg fCAgMSAtCiB4ZW4vYXJjaC94ODYvaHZtL2h2bS5jICAgICAgICAgfCAgMyArKy0KIHhlbi9hcmNo L3g4Ni9odm0vdm14L3ZteC5jICAgICB8ICA0ICsrKysKIHhlbi9hcmNoL3g4Ni9tbS9wMm0uYyAg ICAgICAgICB8ICAxIC0KIHhlbi9hcmNoL3g4Ni92bV9ldmVudC5jICAgICAgICB8ICA0ICstLS0K IHhlbi9jb21tb24vbW9uaXRvci5jICAgICAgICAgICB8ICAyICstCiB4ZW4vY29tbW9uL3ZtX2V2 ZW50LmMgICAgICAgICAgfCAgMSAtCiB4ZW4vaW5jbHVkZS9hc20tYXJtL3ZtX2V2ZW50LmggfCAg NiArKysrKy0KIHhlbi9pbmNsdWRlL2FzbS14ODYvdm1fZXZlbnQuaCB8ICA2ICsrKysrLQogeGVu L2luY2x1ZGUveGVuL3ZtX2V2ZW50LmggICAgIHwgMTUgKysrKysrKysrKysrKysrCiAxMyBmaWxl cyBjaGFuZ2VkLCA0MCBpbnNlcnRpb25zKCspLCAxMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS94ZW4vYXJjaC9hcm0vZG9tYWluLmMgYi94ZW4vYXJjaC9hcm0vZG9tYWluLmMKaW5kZXggZDMx ZjgyMS4uYmEyNDhjOCAxMDA2NDQKLS0tIGEveGVuL2FyY2gvYXJtL2RvbWFpbi5jCisrKyBiL3hl bi9hcmNoL2FybS9kb21haW4uYwpAQCAtMTksNiArMTksNyBAQAogI2luY2x1ZGUgPHhlbi9lcnJu by5oPgogI2luY2x1ZGUgPHhlbi9iaXRvcHMuaD4KICNpbmNsdWRlIDx4ZW4vZ3JhbnRfdGFibGUu aD4KKyNpbmNsdWRlIDx4ZW4vdm1fZXZlbnQuaD4KIAogI2luY2x1ZGUgPGFzbS9jdXJyZW50Lmg+ CiAjaW5jbHVkZSA8YXNtL2V2ZW50Lmg+CkBAIC0yNTEsNiArMjUyLDggQEAgc3RhdGljIHZvaWQg c2NoZWR1bGVfdGFpbChzdHJ1Y3QgdmNwdSAqcHJldikKIAogICAgIGN0eHRfc3dpdGNoX3RvKGN1 cnJlbnQpOwogCisgICAgdm1fZXZlbnRfdmNwdV9lbnRlcihjdXJyZW50KTsKKwogICAgIGxvY2Fs X2lycV9lbmFibGUoKTsKIAogICAgIGNvbnRleHRfc2F2ZWQocHJldik7CkBAIC0yOTYsNyArMjk5 LDcgQEAgdm9pZCBjb250ZXh0X3N3aXRjaChzdHJ1Y3QgdmNwdSAqcHJldiwgc3RydWN0IHZjcHUg Km5leHQpCiAKIHZvaWQgY29udGludWVfcnVubmluZyhzdHJ1Y3QgdmNwdSAqc2FtZSkKIHsKLSAg ICAvKiBOb3RoaW5nIHRvIGRvICovCisgICAgdm1fZXZlbnRfdmNwdV9lbnRlcihzYW1lKTsKIH0K IAogdm9pZCBzeW5jX2xvY2FsX2V4ZWNzdGF0ZSh2b2lkKQpkaWZmIC0tZ2l0IGEveGVuL2FyY2gv YXJtL3RyYXBzLmMgYi94ZW4vYXJjaC9hcm0vdHJhcHMuYwppbmRleCA3ZmEyYWU1Li44YzUwNjg1 IDEwMDY0NAotLS0gYS94ZW4vYXJjaC9hcm0vdHJhcHMuYworKysgYi94ZW4vYXJjaC9hcm0vdHJh cHMuYwpAQCAtMzIsNiArMzIsNyBAQAogI2luY2x1ZGUgPHhlbi9kb21haW5fcGFnZS5oPgogI2lu Y2x1ZGUgPHhlbi9wZXJmYy5oPgogI2luY2x1ZGUgPHhlbi92aXJ0dWFsX3JlZ2lvbi5oPgorI2lu Y2x1ZGUgPHhlbi92bV9ldmVudC5oPgogI2luY2x1ZGUgPHB1YmxpYy9zY2hlZC5oPgogI2luY2x1 ZGUgPHB1YmxpYy94ZW4uaD4KICNpbmNsdWRlIDxhc20vZGVidWdnZXIuaD4KQEAgLTI2NjIsNiAr MjY2Myw3IEBAIGFzbWxpbmthZ2Ugdm9pZCBsZWF2ZV9oeXBlcnZpc29yX3RhaWwodm9pZCkKICAg ICB7CiAgICAgICAgIGxvY2FsX2lycV9kaXNhYmxlKCk7CiAgICAgICAgIGlmICghc29mdGlycV9w ZW5kaW5nKHNtcF9wcm9jZXNzb3JfaWQoKSkpIHsKKyAgICAgICAgICAgIHZtX2V2ZW50X3ZjcHVf ZW50ZXIoY3VycmVudCk7CiAgICAgICAgICAgICBnaWNfaW5qZWN0KCk7CiAgICAgICAgICAgICBy ZXR1cm47CiAgICAgICAgIH0KZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9odm0vZW11bGF0ZS5j IGIveGVuL2FyY2gveDg2L2h2bS9lbXVsYXRlLmMKaW5kZXggMjY2ZWQ4OS4uOWIyODcyYSAxMDA2 NDQKLS0tIGEveGVuL2FyY2gveDg2L2h2bS9lbXVsYXRlLmMKKysrIGIveGVuL2FyY2gveDg2L2h2 bS9lbXVsYXRlLmMKQEAgLTE1LDYgKzE1LDcgQEAKICNpbmNsdWRlIDx4ZW4vc2NoZWQuaD4KICNp bmNsdWRlIDx4ZW4vcGFnaW5nLmg+CiAjaW5jbHVkZSA8eGVuL3RyYWNlLmg+CisjaW5jbHVkZSA8 eGVuL3ZtX2V2ZW50Lmg+CiAjaW5jbHVkZSA8YXNtL2V2ZW50Lmg+CiAjaW5jbHVkZSA8YXNtL3hz dGF0ZS5oPgogI2luY2x1ZGUgPGFzbS9odm0vZW11bGF0ZS5oPgpAQCAtMjMsNyArMjQsNiBAQAog I2luY2x1ZGUgPGFzbS9odm0vdHJhY2UuaD4KICNpbmNsdWRlIDxhc20vaHZtL3N1cHBvcnQuaD4K ICNpbmNsdWRlIDxhc20vaHZtL3N2bS9zdm0uaD4KLSNpbmNsdWRlIDxhc20vdm1fZXZlbnQuaD4K IAogc3RhdGljIHZvaWQgaHZtdHJhY2VfaW9fYXNzaXN0KGNvbnN0IGlvcmVxX3QgKnApCiB7CmRp ZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvaHZtL2V2ZW50LmMgYi94ZW4vYXJjaC94ODYvaHZtL2V2 ZW50LmMKaW5kZXggOWM1MTg5MC4uMjYxNjViNCAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2h2 bS9ldmVudC5jCisrKyBiL3hlbi9hcmNoL3g4Ni9odm0vZXZlbnQuYwpAQCAtMjUsNyArMjUsNiBA QAogI2luY2x1ZGUgPGFzbS9odm0vZXZlbnQuaD4KICNpbmNsdWRlIDxhc20vcGFnaW5nLmg+CiAj aW5jbHVkZSA8YXNtL21vbml0b3IuaD4KLSNpbmNsdWRlIDxhc20vdm1fZXZlbnQuaD4KICNpbmNs dWRlIDxwdWJsaWMvdm1fZXZlbnQuaD4KIAogYm9vbF90IGh2bV9ldmVudF9jcih1bnNpZ25lZCBp bnQgaW5kZXgsIHVuc2lnbmVkIGxvbmcgdmFsdWUsIHVuc2lnbmVkIGxvbmcgb2xkKQpkaWZmIC0t Z2l0IGEveGVuL2FyY2gveDg2L2h2bS9odm0uYyBiL3hlbi9hcmNoL3g4Ni9odm0vaHZtLmMKaW5k ZXggNzhkYjkwMy4uNzcwYmI1MCAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2h2bS9odm0uYwor KysgYi94ZW4vYXJjaC94ODYvaHZtL2h2bS5jCkBAIC02NSw3ICs2NSw2IEBACiAjaW5jbHVkZSA8 YXNtL2FsdHAybS5oPgogI2luY2x1ZGUgPGFzbS9tdHJyLmg+CiAjaW5jbHVkZSA8YXNtL2FwaWMu aD4KLSNpbmNsdWRlIDxhc20vdm1fZXZlbnQuaD4KICNpbmNsdWRlIDxwdWJsaWMvc2NoZWQuaD4K ICNpbmNsdWRlIDxwdWJsaWMvaHZtL2lvcmVxLmg+CiAjaW5jbHVkZSA8cHVibGljL3ZlcnNpb24u aD4KQEAgLTUwOSw2ICs1MDgsOCBAQCB2b2lkIGh2bV9kb19yZXN1bWUoc3RydWN0IHZjcHUgKnYp CiAgICAgICAgIH0KICAgICB9CiAKKyAgICB2bV9ldmVudF92Y3B1X2VudGVyKHYpOworCiAgICAg LyogSW5qZWN0IHBlbmRpbmcgaHcvc3cgdHJhcCAqLwogICAgIGlmICggdi0+YXJjaC5odm1fdmNw dS5pbmplY3RfdHJhcC52ZWN0b3IgIT0gLTEgKQogICAgIHsKZGlmZiAtLWdpdCBhL3hlbi9hcmNo L3g4Ni9odm0vdm14L3ZteC5jIGIveGVuL2FyY2gveDg2L2h2bS92bXgvdm14LmMKaW5kZXggNjcw ZDdkYy4uYjQzYjk0YSAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2h2bS92bXgvdm14LmMKKysr IGIveGVuL2FyY2gveDg2L2h2bS92bXgvdm14LmMKQEAgLTI1LDYgKzI1LDcgQEAKICNpbmNsdWRl IDx4ZW4vZG9tYWluX3BhZ2UuaD4KICNpbmNsdWRlIDx4ZW4vaHlwZXJjYWxsLmg+CiAjaW5jbHVk ZSA8eGVuL3BlcmZjLmg+CisjaW5jbHVkZSA8eGVuL3ZtX2V2ZW50Lmg+CiAjaW5jbHVkZSA8YXNt L2N1cnJlbnQuaD4KICNpbmNsdWRlIDxhc20vaW8uaD4KICNpbmNsdWRlIDxhc20vaW9jYXAuaD4K QEAgLTM4NzQsNiArMzg3NSw5IEBAIHZvaWQgdm14X3ZtZW50ZXJfaGVscGVyKGNvbnN0IHN0cnVj dCBjcHVfdXNlcl9yZWdzICpyZWdzKQogICAgIH0KIAogIG91dDoKKyAgICBpZiAoIGd1ZXN0X21v ZGUocmVncykgKQorICAgICAgICB2bV9ldmVudF92Y3B1X2VudGVyKGN1cnIpOworCiAgICAgSFZN VFJBQ0VfTkQoVk1FTlRSWSwgMCwgMS8qY3ljbGVzKi8sIDAsIDAsIDAsIDAsIDAsIDAsIDApOwog CiAgICAgX192bXdyaXRlKEdVRVNUX1JJUCwgICAgcmVncy0+cmlwKTsKZGlmZiAtLWdpdCBhL3hl bi9hcmNoL3g4Ni9tbS9wMm0uYyBiL3hlbi9hcmNoL3g4Ni9tbS9wMm0uYwppbmRleCA4OTQ2MmIy Li45ZDM3YjEyIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvbW0vcDJtLmMKKysrIGIveGVuL2Fy Y2gveDg2L21tL3AybS5jCkBAIC0zNiw3ICszNiw2IEBACiAjaW5jbHVkZSA8YXNtL2h2bS9uZXN0 ZWRodm0uaD4KICNpbmNsdWRlIDxhc20vYWx0cDJtLmg+CiAjaW5jbHVkZSA8YXNtL2h2bS9zdm0v YW1kLWlvbW11LXByb3RvLmg+Ci0jaW5jbHVkZSA8YXNtL3ZtX2V2ZW50Lmg+CiAjaW5jbHVkZSA8 eHNtL3hzbS5oPgogCiAjaW5jbHVkZSAibW0tbG9ja3MuaCIKZGlmZiAtLWdpdCBhL3hlbi9hcmNo L3g4Ni92bV9ldmVudC5jIGIveGVuL2FyY2gveDg2L3ZtX2V2ZW50LmMKaW5kZXggNzU2NDdjNC4u ZjdlYjI0YSAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L3ZtX2V2ZW50LmMKKysrIGIveGVuL2Fy Y2gveDg2L3ZtX2V2ZW50LmMKQEAgLTE4LDkgKzE4LDcgQEAKICAqIExpY2Vuc2UgYWxvbmcgd2l0 aCB0aGlzIHByb2dyYW07IElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMv Pi4KICAqLwogCi0jaW5jbHVkZSA8eGVuL3NjaGVkLmg+Ci0jaW5jbHVkZSA8YXNtL2h2bS9odm0u aD4KLSNpbmNsdWRlIDxhc20vdm1fZXZlbnQuaD4KKyNpbmNsdWRlIDx4ZW4vdm1fZXZlbnQuaD4K IAogLyogSW1wbGljaXRseSBzZXJpYWxpemVkIGJ5IHRoZSBkb21jdGwgbG9jay4gKi8KIGludCB2 bV9ldmVudF9pbml0X2RvbWFpbihzdHJ1Y3QgZG9tYWluICpkKQpkaWZmIC0tZ2l0IGEveGVuL2Nv bW1vbi9tb25pdG9yLmMgYi94ZW4vY29tbW9uL21vbml0b3IuYwppbmRleCBiMzA4NTdhLi5jNDZk ZjVhIDEwMDY0NAotLS0gYS94ZW4vY29tbW9uL21vbml0b3IuYworKysgYi94ZW4vY29tbW9uL21v bml0b3IuYwpAQCAtMjIsOCArMjIsOCBAQAogI2luY2x1ZGUgPHhlbi9tb25pdG9yLmg+CiAjaW5j bHVkZSA8eGVuL3NjaGVkLmg+CiAjaW5jbHVkZSA8eHNtL3hzbS5oPgorI2luY2x1ZGUgPHhlbi92 bV9ldmVudC5oPgogI2luY2x1ZGUgPGFzbS9tb25pdG9yLmg+Ci0jaW5jbHVkZSA8YXNtL3ZtX2V2 ZW50Lmg+CiAKIGludCBtb25pdG9yX2RvbWN0bChzdHJ1Y3QgZG9tYWluICpkLCBzdHJ1Y3QgeGVu X2RvbWN0bF9tb25pdG9yX29wICptb3ApCiB7CmRpZmYgLS1naXQgYS94ZW4vY29tbW9uL3ZtX2V2 ZW50LmMgYi94ZW4vY29tbW9uL3ZtX2V2ZW50LmMKaW5kZXggMjkwNjQwNy4uMTUxNTJiYSAxMDA2 NDQKLS0tIGEveGVuL2NvbW1vbi92bV9ldmVudC5jCisrKyBiL3hlbi9jb21tb24vdm1fZXZlbnQu YwpAQCAtMjcsNyArMjcsNiBAQAogI2luY2x1ZGUgPHhlbi9tZW1fYWNjZXNzLmg+CiAjaW5jbHVk ZSA8YXNtL3AybS5oPgogI2luY2x1ZGUgPGFzbS9hbHRwMm0uaD4KLSNpbmNsdWRlIDxhc20vdm1f ZXZlbnQuaD4KICNpbmNsdWRlIDx4c20veHNtLmg+CiAKIC8qIGZvciBwdWJsaWMvaW8vcmluZy5o IG1hY3JvcyAqLwpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLWFybS92bV9ldmVudC5oIGIv eGVuL2luY2x1ZGUvYXNtLWFybS92bV9ldmVudC5oCmluZGV4IDA1YzMwMjcuLjRlNWEyNzIgMTAw NjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS1hcm0vdm1fZXZlbnQuaAorKysgYi94ZW4vaW5jbHVk ZS9hc20tYXJtL3ZtX2V2ZW50LmgKQEAgLTIwLDcgKzIwLDYgQEAKICNkZWZpbmUgX19BU01fQVJN X1ZNX0VWRU5UX0hfXwogCiAjaW5jbHVkZSA8eGVuL3NjaGVkLmg+Ci0jaW5jbHVkZSA8eGVuL3Zt X2V2ZW50Lmg+CiAjaW5jbHVkZSA8cHVibGljL2RvbWN0bC5oPgogCiBzdGF0aWMgaW5saW5lIGlu dCB2bV9ldmVudF9pbml0X2RvbWFpbihzdHJ1Y3QgZG9tYWluICpkKQpAQCAtNTYsNiArNTUsMTEg QEAgc3RhdGljIGlubGluZSB2b2lkIHZtX2V2ZW50X2ZpbGxfcmVncyh2bV9ldmVudF9yZXF1ZXN0 X3QgKnJlcSkKICAgICAvKiBOb3Qgc3VwcG9ydGVkIG9uIEFSTS4gKi8KIH0KIAorc3RhdGljIGlu bGluZSB2b2lkIGFyY2hfdm1fZXZlbnRfdmNwdV9lbnRlcihzdHJ1Y3QgdmNwdSAqdikKK3sKKyAg ICAvKiBOb3RoaW5nIHRvIGRvLiAqLworfQorCiAvKgogICogTW9uaXRvciB2bS1ldmVudHMuCiAg Ki8KZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14ODYvdm1fZXZlbnQuaCBiL3hlbi9pbmNs dWRlL2FzbS14ODYvdm1fZXZlbnQuaAppbmRleCBkZjhlOThkLi42ZmIzYjU4IDEwMDY0NAotLS0g YS94ZW4vaW5jbHVkZS9hc20teDg2L3ZtX2V2ZW50LmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLXg4 Ni92bV9ldmVudC5oCkBAIC0yMCw3ICsyMCw2IEBACiAjZGVmaW5lIF9fQVNNX1g4Nl9WTV9FVkVO VF9IX18KIAogI2luY2x1ZGUgPHhlbi9zY2hlZC5oPgotI2luY2x1ZGUgPHhlbi92bV9ldmVudC5o PgogCiAvKgogICogU2hvdWxkIHdlIGVtdWxhdGUgdGhlIG5leHQgbWF0Y2hpbmcgaW5zdHJ1Y3Rp b24gb24gVkNQVSByZXN1bWUKQEAgLTQ0LDYgKzQzLDExIEBAIHZvaWQgdm1fZXZlbnRfc2V0X3Jl Z2lzdGVycyhzdHJ1Y3QgdmNwdSAqdiwgdm1fZXZlbnRfcmVzcG9uc2VfdCAqcnNwKTsKIAogdm9p ZCB2bV9ldmVudF9maWxsX3JlZ3Modm1fZXZlbnRfcmVxdWVzdF90ICpyZXEpOwogCitzdGF0aWMg aW5saW5lIHZvaWQgYXJjaF92bV9ldmVudF92Y3B1X2VudGVyKHN0cnVjdCB2Y3B1ICp2KQorewor ICAgIC8qIE5vdGhpbmcgdG8gZG8uICovCit9CisKIC8qCiAgKiBNb25pdG9yIHZtLWV2ZW50cy4K ICAqLwpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUveGVuL3ZtX2V2ZW50LmggYi94ZW4vaW5jbHVk ZS94ZW4vdm1fZXZlbnQuaAppbmRleCBhMTBlZTQwLi5mMTI0MTQzIDEwMDY0NAotLS0gYS94ZW4v aW5jbHVkZS94ZW4vdm1fZXZlbnQuaAorKysgYi94ZW4vaW5jbHVkZS94ZW4vdm1fZXZlbnQuaApA QCAtMjQsNiArMjQsNyBAQAogI2RlZmluZSBfX1ZNX0VWRU5UX0hfXwogCiAjaW5jbHVkZSA8eGVu L3NjaGVkLmg+CisjaW5jbHVkZSA8YXNtL3ZtX2V2ZW50Lmg+CiAjaW5jbHVkZSA8cHVibGljL3Zt X2V2ZW50Lmg+CiAKIC8qIENsZWFuIHVwIG9uIGRvbWFpbiBkZXN0cnVjdGlvbiAqLwpAQCAtNzIs NiArNzMsMjAgQEAgdm9pZCB2bV9ldmVudF9yZXN1bWUoc3RydWN0IGRvbWFpbiAqZCwgc3RydWN0 IHZtX2V2ZW50X2RvbWFpbiAqdmVkKTsKIGludCB2bV9ldmVudF9kb21jdGwoc3RydWN0IGRvbWFp biAqZCwgeGVuX2RvbWN0bF92bV9ldmVudF9vcF90ICp2ZWMsCiAgICAgICAgICAgICAgICAgICAg IFhFTl9HVUVTVF9IQU5ETEVfUEFSQU0odm9pZCkgdV9kb21jdGwpOwogCisvKgorICogIkZpbmFs IHRvdWNoIiB2Q1BVIGZ1bmN0aW9uLCBzaG91bGQgYmUgY2FsbGVkIGp1c3QgYmVmb3JlIHJlLWVu dGVyaW5nIHZDUFVzLAorICogZS5nLiBvbiB4ODYgaXQgaXMgY2FsbGVkIGJ5IGh2bV9kb19yZXN1 bWUgKHNjaGVkdWxpbmcgdGFpbCkgYW5kCisgKiB2bXhfdm1lbnRlcl9oZWxwZXIgKGJlZm9yZSBW TVJFU1VNRSBvciBWTUxBVU5DSCkuCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCB2bV9ldmVudF92 Y3B1X2VudGVyKHN0cnVjdCB2Y3B1ICp2KQoreworICAgIC8qIGRvbid0IHRyYWNrIGlkbGUgdmNw dXMsIHRoZXkncmUgbm90IHN1YmplY3QgdG8gdGhlIHZtLWV2ZW50IHN1YnN5c3RlbSAqLworICAg IGlmICggaXNfaWRsZV92Y3B1KHYpICkKKyAgICAgICAgcmV0dXJuOworCisgICAgYXJjaF92bV9l dmVudF92Y3B1X2VudGVyKHYpOworfQorCiB2b2lkIHZtX2V2ZW50X3ZjcHVfcGF1c2Uoc3RydWN0 IHZjcHUgKnYpOwogdm9pZCB2bV9ldmVudF92Y3B1X3VucGF1c2Uoc3RydWN0IHZjcHUgKnYpOwog Ci0tIAoyLjUuMAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cDov L2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==