From mboxrd@z Thu Jan 1 00:00:00 1970 From: Juergen Gross Subject: Re: [BUG] Linux process vruntime accounting in Xen Date: Fri, 20 May 2016 14:50:24 +0200 Message-ID: <573F0810.8050200@suse.com> References: <1463398621.18789.55.camel@citrix.com> <573A4AA5.7030802@oracle.com> <573C5F09.20500@suse.com> <1463583420.5851.2.camel@citrix.com> <573C94E8.5080201@suse.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------060102060505040902090400" Return-path: In-Reply-To: <573C94E8.5080201@suse.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Tony S Cc: George Dunlap , Dario Faggioli , "xen-devel@lists.xen.org" , Matt Fleming , David Vrabel , Boris Ostrovsky List-Id: xen-devel@lists.xenproject.org This is a multi-part message in MIME format. --------------060102060505040902090400 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit On 18/05/16 18:14, Juergen Gross wrote: > On 18/05/16 18:09, Tony S wrote: >> On Wed, May 18, 2016 at 8:57 AM, Dario Faggioli >> wrote: >>> On Wed, 2016-05-18 at 14:24 +0200, Juergen Gross wrote: >>>> On 17/05/16 11:33, George Dunlap wrote: >>>>>> Looks like CONFIG_PARAVIRT_TIME_ACCOUNTING is used for adjusting >>>>>> process >>>>>> times. KVM uses it but Xen doesn't. >>>>> Is someone on the Linux side going to put this on their to-do list >>>>> then? :-) >>>> >>>> Patch sent. >>>> >>> Yep, seen it, thanks. >>> >>>> Support was already existing for arm. >>>> >>> Yes!! I remember Stefano talking about introducing it, and that was >>> also why I thought we had it already since long time on x86. >>> >>> Well, anyway... :-) >>> >>>> What is missing is support for >>>> paravirt_steal_rq_enabled which requires to be able to read the >>>> stolen >>>> time of another cpu. This can't work today as accessing another cpu's >>>> vcpu_runstate_info isn't possible without risking inconsistent data. >>>> I plan to add support for this, too, but this will require adding >>>> another hypercall to map a modified vcpu_runstate_info containing an >>>> indicator for an ongoing update of the data. >>>> >>> Understood. >>> >>> So, Tony, up for trying again your workload with this patch applied to >>> Linux? >>> >>> Most likely, it _won't_ fix all the problems you're seeing, but I'm >>> curious to see if it helps. >> >> Hi Dario, >> >> I did not see the patch. Can you please send me the patch and I will >> try to test it later. > > Here is an updated version. Tony, would you be interested to test a complete solution? This would require to use a Xen 4.7 hypervisor with some patches applied and some patches for the Linux kernel (I've done some basic tests with kernel 4.6). I've attached the patches in case you want to try them. :-) You should set CONFIG_PARAVIRT_TIME_ACCOUNTING=y in the kernel .config Juergen --------------060102060505040902090400 Content-Type: text/plain; charset=UTF-8; name="linux-patch-01" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="linux-patch-01" RnJvbSA2ODliNGJhOGMxM2JlNzNlZDUxZTQ4NWE3ZjdiYWVhNTkzZDBjZTZlIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKdWVyZ2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+ CkRhdGU6IFR1ZSwgMTcgTWF5IDIwMTYgMTQ6MDM6MDIgKzAyMDAKU3ViamVjdDogW1BBVENI IHY0XSB4ZW46IGFkZCBzdGVhbF9jbG9jayBzdXBwb3J0IG9uIHg4NgoKVGhlIHB2X3RpbWVf b3BzIHN0cnVjdHVyZSBjb250YWlucyBhIGZ1bmN0aW9uIHBvaW50ZXIgZm9yIHRoZQoic3Rl YWxfY2xvY2siIGZ1bmN0aW9uYWxpdHkgdXNlZCBvbmx5IGJ5IEtWTSBhbmQgWGVuIG9uIEFS TS4gWGVuIG9uIHg4Ngp1c2VzIGl0cyBvd24gbWVjaGFuaXNtIHRvIGFjY291bnQgZm9yIHRo ZSAic3RvbGVuIiB0aW1lIGEgdGhyZWFkIHdhc24ndAphYmxlIHRvIHJ1biBkdWUgdG8gaHlw ZXJ2aXNvciBzY2hlZHVsaW5nLgoKQWRkIHN1cHBvcnQgaW4gWGVuIGFyY2ggaW5kZXBlbmRl bnQgdGltZSBoYW5kbGluZyBmb3IgdGhpcyBmZWF0dXJlIGJ5Cm1vdmluZyBpdCBvdXQgb2Yg dGhlIGFybSBhcmNoIGludG8gZHJpdmVycy94ZW4gYW5kIHJlbW92ZSB0aGUgeDg2IFhlbgpo YWNrLgoKU2lnbmVkLW9mZi1ieTogSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuY29tPgpS ZXZpZXdlZC1ieTogQm9yaXMgT3N0cm92c2t5IDxib3Jpcy5vc3Ryb3Zza3lAb3JhY2xlLmNv bT4KLS0tClY0OiBtaW5vciBhZGp1c3RtZW50cyBhcyByZXF1ZXN0ZWQgYnkgU3RlZmFubyBT dGFiZWxsaW5pIChyZW1vdmUKICAgIG5vIGxvbmdlciBuZWVkZWQgI2luY2x1ZGUsIHJlbW92 ZSBfX2luaXQgZnJvbSBoZWFkZXIpClYzOiBhZGQgI2luY2x1ZGUgPGFzbS9wYXJhdmlydC5o PiB0byBhdm9pZCBidWlsZCBlcnJvciBvbiBhcm0KVjI6IHJlbW92ZSB0aGUgeDg2IGRvX3N0 b2xlbl9hY2NvdW50aW5nKCkgaGFjawotLS0KIGFyY2gvYXJtL3hlbi9lbmxpZ2h0ZW4uYyAg ICB8IDE4ICsrLS0tLS0tLS0tLS0tLS0tLQogYXJjaC94ODYveGVuL3RpbWUuYyAgICAgICAg IHwgNDQgKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIGRy aXZlcnMveGVuL3RpbWUuYyAgICAgICAgICB8IDIwICsrKysrKysrKysrKysrKysrKysrCiBp bmNsdWRlL2xpbnV4L2tlcm5lbF9zdGF0LmggfCAgMSAtCiBpbmNsdWRlL3hlbi94ZW4tb3Bz LmggICAgICAgfCAgMSArCiBrZXJuZWwvc2NoZWQvY3B1dGltZS5jICAgICAgfCAxMCAtLS0t LS0tLS0tCiA2IGZpbGVzIGNoYW5nZWQsIDI1IGluc2VydGlvbnMoKyksIDY5IGRlbGV0aW9u cygtKQoKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL3hlbi9lbmxpZ2h0ZW4uYyBiL2FyY2gvYXJt L3hlbi9lbmxpZ2h0ZW4uYwppbmRleCA3NWNkNzM0Li43MWRiMzBjIDEwMDY0NAotLS0gYS9h cmNoL2FybS94ZW4vZW5saWdodGVuLmMKKysrIGIvYXJjaC9hcm0veGVuL2VubGlnaHRlbi5j CkBAIC0xMiw3ICsxMiw2IEBACiAjaW5jbHVkZSA8eGVuL3BhZ2UuaD4KICNpbmNsdWRlIDx4 ZW4vaW50ZXJmYWNlL3NjaGVkLmg+CiAjaW5jbHVkZSA8eGVuL3hlbi1vcHMuaD4KLSNpbmNs dWRlIDxhc20vcGFyYXZpcnQuaD4KICNpbmNsdWRlIDxhc20veGVuL2h5cGVydmlzb3IuaD4K ICNpbmNsdWRlIDxhc20veGVuL2h5cGVyY2FsbC5oPgogI2luY2x1ZGUgPGFzbS9zeXN0ZW1f bWlzYy5oPgpAQCAtODQsMTkgKzgzLDYgQEAgaW50IHhlbl91bm1hcF9kb21haW5fZ2ZuX3Jh bmdlKHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hLAogfQogRVhQT1JUX1NZTUJPTF9HUEwo eGVuX3VubWFwX2RvbWFpbl9nZm5fcmFuZ2UpOwogCi1zdGF0aWMgdW5zaWduZWQgbG9uZyBs b25nIHhlbl9zdG9sZW5fYWNjb3VudGluZyhpbnQgY3B1KQotewotCXN0cnVjdCB2Y3B1X3J1 bnN0YXRlX2luZm8gc3RhdGU7Ci0KLQlCVUdfT04oY3B1ICE9IHNtcF9wcm9jZXNzb3JfaWQo KSk7Ci0KLQl4ZW5fZ2V0X3J1bnN0YXRlX3NuYXBzaG90KCZzdGF0ZSk7Ci0KLQlXQVJOX09O KHN0YXRlLnN0YXRlICE9IFJVTlNUQVRFX3J1bm5pbmcpOwotCi0JcmV0dXJuIHN0YXRlLnRp bWVbUlVOU1RBVEVfcnVubmFibGVdICsgc3RhdGUudGltZVtSVU5TVEFURV9vZmZsaW5lXTsK LX0KLQogc3RhdGljIHZvaWQgeGVuX3JlYWRfd2FsbGNsb2NrKHN0cnVjdCB0aW1lc3BlYzY0 ICp0cykKIHsKIAl1MzIgdmVyc2lvbjsKQEAgLTM1NSw4ICszNDEsOCBAQCBzdGF0aWMgaW50 IF9faW5pdCB4ZW5fZ3Vlc3RfaW5pdCh2b2lkKQogCiAJcmVnaXN0ZXJfY3B1X25vdGlmaWVy KCZ4ZW5fY3B1X25vdGlmaWVyKTsKIAotCXB2X3RpbWVfb3BzLnN0ZWFsX2Nsb2NrID0geGVu X3N0b2xlbl9hY2NvdW50aW5nOwotCXN0YXRpY19rZXlfc2xvd19pbmMoJnBhcmF2aXJ0X3N0 ZWFsX2VuYWJsZWQpOworCXhlbl90aW1lX3NldHVwX2d1ZXN0KCk7CisKIAlpZiAoeGVuX2lu aXRpYWxfZG9tYWluKCkpCiAJCXB2Y2xvY2tfZ3RvZF9yZWdpc3Rlcl9ub3RpZmllcigmeGVu X3B2Y2xvY2tfZ3RvZF9ub3RpZmllcik7CiAKZGlmZiAtLWdpdCBhL2FyY2gveDg2L3hlbi90 aW1lLmMgYi9hcmNoL3g4Ni94ZW4vdGltZS5jCmluZGV4IGEwYTRlNTUuLjZiZTMxZGYgMTAw NjQ0Ci0tLSBhL2FyY2gveDg2L3hlbi90aW1lLmMKKysrIGIvYXJjaC94ODYveGVuL3RpbWUu YwpAQCAtMTEsOCArMTEsNiBAQAogI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgogI2lu Y2x1ZGUgPGxpbnV4L2Nsb2Nrc291cmNlLmg+CiAjaW5jbHVkZSA8bGludXgvY2xvY2tjaGlw cy5oPgotI2luY2x1ZGUgPGxpbnV4L2tlcm5lbF9zdGF0Lmg+Ci0jaW5jbHVkZSA8bGludXgv bWF0aDY0Lmg+CiAjaW5jbHVkZSA8bGludXgvZ2ZwLmg+CiAjaW5jbHVkZSA8bGludXgvc2xh Yi5oPgogI2luY2x1ZGUgPGxpbnV4L3B2Y2xvY2tfZ3RvZC5oPgpAQCAtMzEsNDQgKzI5LDYg QEAKIAogLyogWGVuIG1heSBmaXJlIGEgdGltZXIgdXAgdG8gdGhpcyBtYW55IG5zIGVhcmx5 ICovCiAjZGVmaW5lIFRJTUVSX1NMT1AJMTAwMDAwCi0jZGVmaW5lIE5TX1BFUl9USUNLCSgx MDAwMDAwMDAwTEwgLyBIWikKLQotLyogc25hcHNob3RzIG9mIHJ1bnN0YXRlIGluZm8gKi8K LXN0YXRpYyBERUZJTkVfUEVSX0NQVShzdHJ1Y3QgdmNwdV9ydW5zdGF0ZV9pbmZvLCB4ZW5f cnVuc3RhdGVfc25hcHNob3QpOwotCi0vKiB1bnVzZWQgbnMgb2Ygc3RvbGVuIHRpbWUgKi8K LXN0YXRpYyBERUZJTkVfUEVSX0NQVSh1NjQsIHhlbl9yZXNpZHVhbF9zdG9sZW4pOwotCi1z dGF0aWMgdm9pZCBkb19zdG9sZW5fYWNjb3VudGluZyh2b2lkKQotewotCXN0cnVjdCB2Y3B1 X3J1bnN0YXRlX2luZm8gc3RhdGU7Ci0Jc3RydWN0IHZjcHVfcnVuc3RhdGVfaW5mbyAqc25h cDsKLQlzNjQgcnVubmFibGUsIG9mZmxpbmUsIHN0b2xlbjsKLQljcHV0aW1lX3QgdGlja3M7 Ci0KLQl4ZW5fZ2V0X3J1bnN0YXRlX3NuYXBzaG90KCZzdGF0ZSk7Ci0KLQlXQVJOX09OKHN0 YXRlLnN0YXRlICE9IFJVTlNUQVRFX3J1bm5pbmcpOwotCi0Jc25hcCA9IHRoaXNfY3B1X3B0 cigmeGVuX3J1bnN0YXRlX3NuYXBzaG90KTsKLQotCS8qIHdvcmsgb3V0IGhvdyBtdWNoIHRp bWUgdGhlIFZDUFUgaGFzIG5vdCBiZWVuIHJ1bm4qaW5nKiAgKi8KLQlydW5uYWJsZSA9IHN0 YXRlLnRpbWVbUlVOU1RBVEVfcnVubmFibGVdIC0gc25hcC0+dGltZVtSVU5TVEFURV9ydW5u YWJsZV07Ci0Jb2ZmbGluZSA9IHN0YXRlLnRpbWVbUlVOU1RBVEVfb2ZmbGluZV0gLSBzbmFw LT50aW1lW1JVTlNUQVRFX29mZmxpbmVdOwotCi0JKnNuYXAgPSBzdGF0ZTsKLQotCS8qIEFk ZCB0aGUgYXBwcm9wcmlhdGUgbnVtYmVyIG9mIHRpY2tzIG9mIHN0b2xlbiB0aW1lLAotCSAg IGluY2x1ZGluZyBhbnkgbGVmdC1vdmVycyBmcm9tIGxhc3QgdGltZS4gKi8KLQlzdG9sZW4g PSBydW5uYWJsZSArIG9mZmxpbmUgKyBfX3RoaXNfY3B1X3JlYWQoeGVuX3Jlc2lkdWFsX3N0 b2xlbik7Ci0KLQlpZiAoc3RvbGVuIDwgMCkKLQkJc3RvbGVuID0gMDsKLQotCXRpY2tzID0g aXRlcl9kaXZfdTY0X3JlbShzdG9sZW4sIE5TX1BFUl9USUNLLCAmc3RvbGVuKTsKLQlfX3Ro aXNfY3B1X3dyaXRlKHhlbl9yZXNpZHVhbF9zdG9sZW4sIHN0b2xlbik7Ci0JYWNjb3VudF9z dGVhbF90aWNrcyh0aWNrcyk7Ci19CiAKIC8qIEdldCB0aGUgVFNDIHNwZWVkIGZyb20gWGVu ICovCiBzdGF0aWMgdW5zaWduZWQgbG9uZyB4ZW5fdHNjX2toeih2b2lkKQpAQCAtMzM1LDgg KzI5NSw2IEBAIHN0YXRpYyBpcnFyZXR1cm5fdCB4ZW5fdGltZXJfaW50ZXJydXB0KGludCBp cnEsIHZvaWQgKmRldl9pZCkKIAkJcmV0ID0gSVJRX0hBTkRMRUQ7CiAJfQogCi0JZG9fc3Rv bGVuX2FjY291bnRpbmcoKTsKLQogCXJldHVybiByZXQ7CiB9CiAKQEAgLTQzMSw2ICszODks OCBAQCBzdGF0aWMgdm9pZCBfX2luaXQgeGVuX3RpbWVfaW5pdCh2b2lkKQogCXhlbl9zZXR1 cF90aW1lcihjcHUpOwogCXhlbl9zZXR1cF9jcHVfY2xvY2tldmVudHMoKTsKIAorCXhlbl90 aW1lX3NldHVwX2d1ZXN0KCk7CisKIAlpZiAoeGVuX2luaXRpYWxfZG9tYWluKCkpCiAJCXB2 Y2xvY2tfZ3RvZF9yZWdpc3Rlcl9ub3RpZmllcigmeGVuX3B2Y2xvY2tfZ3RvZF9ub3RpZmll cik7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL3hlbi90aW1lLmMgYi9kcml2ZXJzL3hlbi90 aW1lLmMKaW5kZXggNzEwNzg0Mi4uMjI1N2I2NiAxMDA2NDQKLS0tIGEvZHJpdmVycy94ZW4v dGltZS5jCisrKyBiL2RyaXZlcnMveGVuL3RpbWUuYwpAQCAtNiw2ICs2LDcgQEAKICNpbmNs dWRlIDxsaW51eC9tYXRoNjQuaD4KICNpbmNsdWRlIDxsaW51eC9nZnAuaD4KIAorI2luY2x1 ZGUgPGFzbS9wYXJhdmlydC5oPgogI2luY2x1ZGUgPGFzbS94ZW4vaHlwZXJ2aXNvci5oPgog I2luY2x1ZGUgPGFzbS94ZW4vaHlwZXJjYWxsLmg+CiAKQEAgLTc1LDYgKzc2LDE1IEBAIGJv b2wgeGVuX3ZjcHVfc3RvbGVuKGludCB2Y3B1KQogCXJldHVybiBwZXJfY3B1KHhlbl9ydW5z dGF0ZSwgdmNwdSkuc3RhdGUgPT0gUlVOU1RBVEVfcnVubmFibGU7CiB9CiAKK3N0YXRpYyB1 NjQgeGVuX3N0ZWFsX2Nsb2NrKGludCBjcHUpCit7CisJc3RydWN0IHZjcHVfcnVuc3RhdGVf aW5mbyBzdGF0ZTsKKworCUJVR19PTihjcHUgIT0gc21wX3Byb2Nlc3Nvcl9pZCgpKTsKKwl4 ZW5fZ2V0X3J1bnN0YXRlX3NuYXBzaG90KCZzdGF0ZSk7CisJcmV0dXJuIHN0YXRlLnRpbWVb UlVOU1RBVEVfcnVubmFibGVdICsgc3RhdGUudGltZVtSVU5TVEFURV9vZmZsaW5lXTsKK30K Kwogdm9pZCB4ZW5fc2V0dXBfcnVuc3RhdGVfaW5mbyhpbnQgY3B1KQogewogCXN0cnVjdCB2 Y3B1X3JlZ2lzdGVyX3J1bnN0YXRlX21lbW9yeV9hcmVhIGFyZWE7CkBAIC04NiwzICs5Niwx MyBAQCB2b2lkIHhlbl9zZXR1cF9ydW5zdGF0ZV9pbmZvKGludCBjcHUpCiAJCUJVRygpOwog fQogCit2b2lkIF9faW5pdCB4ZW5fdGltZV9zZXR1cF9ndWVzdCh2b2lkKQoreworCXB2X3Rp bWVfb3BzLnN0ZWFsX2Nsb2NrID0geGVuX3N0ZWFsX2Nsb2NrOworCisJc3RhdGljX2tleV9z bG93X2luYygmcGFyYXZpcnRfc3RlYWxfZW5hYmxlZCk7CisJLyoKKwkgKiBXZSBjYW4ndCBz ZXQgcGFyYXZpcnRfc3RlYWxfcnFfZW5hYmxlZCBhcyB0aGlzIHdvdWxkIHJlcXVpcmUgdGhl CisJICogY2FwYWJpbGl0eSB0byByZWFkIGFub3RoZXIgY3B1J3MgcnVuc3RhdGUgaW5mby4K KwkgKi8KK30KZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgva2VybmVsX3N0YXQuaCBiL2lu Y2x1ZGUvbGludXgva2VybmVsX3N0YXQuaAppbmRleCAyNWE4MjJmLi40NGZkYTY0IDEwMDY0 NAotLS0gYS9pbmNsdWRlL2xpbnV4L2tlcm5lbF9zdGF0LmgKKysrIGIvaW5jbHVkZS9saW51 eC9rZXJuZWxfc3RhdC5oCkBAIC05Miw3ICs5Miw2IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBh Y2NvdW50X3Byb2Nlc3NfdGljayhzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRzaywgaW50IHVzZXIp CiBleHRlcm4gdm9pZCBhY2NvdW50X3Byb2Nlc3NfdGljayhzdHJ1Y3QgdGFza19zdHJ1Y3Qg KiwgaW50IHVzZXIpOwogI2VuZGlmCiAKLWV4dGVybiB2b2lkIGFjY291bnRfc3RlYWxfdGlj a3ModW5zaWduZWQgbG9uZyB0aWNrcyk7CiBleHRlcm4gdm9pZCBhY2NvdW50X2lkbGVfdGlj a3ModW5zaWduZWQgbG9uZyB0aWNrcyk7CiAKICNlbmRpZiAvKiBfTElOVVhfS0VSTkVMX1NU QVRfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS94ZW4veGVuLW9wcy5oIGIvaW5jbHVkZS94 ZW4veGVuLW9wcy5oCmluZGV4IDg2YWJlMDcuLjc3YmY5ZDEgMTAwNjQ0Ci0tLSBhL2luY2x1 ZGUveGVuL3hlbi1vcHMuaAorKysgYi9pbmNsdWRlL3hlbi94ZW4tb3BzLmgKQEAgLTIxLDYg KzIxLDcgQEAgdm9pZCB4ZW5fcmVzdW1lX25vdGlmaWVyX3VucmVnaXN0ZXIoc3RydWN0IG5v dGlmaWVyX2Jsb2NrICpuYik7CiAKIGJvb2wgeGVuX3ZjcHVfc3RvbGVuKGludCB2Y3B1KTsK IHZvaWQgeGVuX3NldHVwX3J1bnN0YXRlX2luZm8oaW50IGNwdSk7Cit2b2lkIHhlbl90aW1l X3NldHVwX2d1ZXN0KHZvaWQpOwogdm9pZCB4ZW5fZ2V0X3J1bnN0YXRlX3NuYXBzaG90KHN0 cnVjdCB2Y3B1X3J1bnN0YXRlX2luZm8gKnJlcyk7CiAKIGludCB4ZW5fc2V0dXBfc2h1dGRv d25fZXZlbnQodm9pZCk7CmRpZmYgLS1naXQgYS9rZXJuZWwvc2NoZWQvY3B1dGltZS5jIGIv a2VybmVsL3NjaGVkL2NwdXRpbWUuYwppbmRleCA3NWY5OGM1Li44YzRjNmRjIDEwMDY0NAot LS0gYS9rZXJuZWwvc2NoZWQvY3B1dGltZS5jCisrKyBiL2tlcm5lbC9zY2hlZC9jcHV0aW1l LmMKQEAgLTQ5MCwxNiArNDkwLDYgQEAgdm9pZCBhY2NvdW50X3Byb2Nlc3NfdGljayhzdHJ1 Y3QgdGFza19zdHJ1Y3QgKnAsIGludCB1c2VyX3RpY2spCiB9CiAKIC8qCi0gKiBBY2NvdW50 IG11bHRpcGxlIHRpY2tzIG9mIHN0ZWFsIHRpbWUuCi0gKiBAcDogdGhlIHByb2Nlc3MgZnJv bSB3aGljaCB0aGUgY3B1IHRpbWUgaGFzIGJlZW4gc3RvbGVuCi0gKiBAdGlja3M6IG51bWJl ciBvZiBzdG9sZW4gdGlja3MKLSAqLwotdm9pZCBhY2NvdW50X3N0ZWFsX3RpY2tzKHVuc2ln bmVkIGxvbmcgdGlja3MpCi17Ci0JYWNjb3VudF9zdGVhbF90aW1lKGppZmZpZXNfdG9fY3B1 dGltZSh0aWNrcykpOwotfQotCi0vKgogICogQWNjb3VudCBtdWx0aXBsZSB0aWNrcyBvZiBp ZGxlIHRpbWUuCiAgKiBAdGlja3M6IG51bWJlciBvZiBzdG9sZW4gdGlja3MKICAqLwotLSAK Mi42LjYKCg== --------------060102060505040902090400 Content-Type: text/plain; charset=UTF-8; name="linux-patch-02" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="linux-patch-02" RnJvbSA0MDczYmIzMDFhZWQxODk4MWVjNjljM2NmNWYwZGY0ZmFlNTY3ZDdjIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKdWVyZ2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+ CkRhdGU6IEZyaSwgMjAgTWF5IDIwMTYgMDk6MzI6MzAgKzAyMDAKU3ViamVjdDogW1BBVENI IDEvM10geGVuOiB1cGRhdGUgeGVuIGhlYWRlcnMKClVwZGF0ZSBzb21lIFhlbiBoZWFkZXJz IHRvIGJlIGFibGUgdG8gdXNlIG5ldyBmdW5jdGlvbmFsaXR5LgoKU2lnbmVkLW9mZi1ieTog SnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuY29tPgotLS0KIGluY2x1ZGUveGVuL2ludGVy ZmFjZS92Y3B1LmggfCAyNCArKysrKysrKysrKysrKystLS0tLS0tLS0KIGluY2x1ZGUveGVu L2ludGVyZmFjZS94ZW4uaCAgfCAxNyArKysrKysrKysrKysrKysrLQogMiBmaWxlcyBjaGFu Z2VkLCAzMSBpbnNlcnRpb25zKCspLCAxMCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9p bmNsdWRlL3hlbi9pbnRlcmZhY2UvdmNwdS5oIGIvaW5jbHVkZS94ZW4vaW50ZXJmYWNlL3Zj cHUuaAppbmRleCBiMDUyODhjLi45ODE4OGM4IDEwMDY0NAotLS0gYS9pbmNsdWRlL3hlbi9p bnRlcmZhY2UvdmNwdS5oCisrKyBiL2luY2x1ZGUveGVuL2ludGVyZmFjZS92Y3B1LmgKQEAg LTc1LDE1ICs3NSwyMSBAQAogICovCiAjZGVmaW5lIFZDUFVPUF9nZXRfcnVuc3RhdGVfaW5m bwkgNAogc3RydWN0IHZjcHVfcnVuc3RhdGVfaW5mbyB7Ci0JCS8qIFZDUFUncyBjdXJyZW50 IHN0YXRlIChSVU5TVEFURV8qKS4gKi8KLQkJaW50CQkgc3RhdGU7Ci0JCS8qIFdoZW4gd2Fz IGN1cnJlbnQgc3RhdGUgZW50ZXJlZCAoc3lzdGVtIHRpbWUsIG5zKT8gKi8KLQkJdWludDY0 X3Qgc3RhdGVfZW50cnlfdGltZTsKLQkJLyoKLQkJICogVGltZSBzcGVudCBpbiBlYWNoIFJV TlNUQVRFXyogKG5zKS4gVGhlIHN1bSBvZiB0aGVzZSB0aW1lcyBpcwotCQkgKiBndWFyYW50 ZWVkIG5vdCB0byBkcmlmdCBmcm9tIHN5c3RlbSB0aW1lLgotCQkgKi8KLQkJdWludDY0X3Qg dGltZVs0XTsKKwkvKiBWQ1BVJ3MgY3VycmVudCBzdGF0ZSAoUlVOU1RBVEVfKikuICovCisJ aW50CQkgc3RhdGU7CisJLyogV2hlbiB3YXMgY3VycmVudCBzdGF0ZSBlbnRlcmVkIChzeXN0 ZW0gdGltZSwgbnMpPyAqLworCXVpbnQ2NF90IHN0YXRlX2VudHJ5X3RpbWU7CisJLyoKKwkg KiBVcGRhdGUgaW5kaWNhdG9yIHNldCBpbiBzdGF0ZV9lbnRyeV90aW1lOgorCSAqIFdoZW4g YWN0aXZhdGVkIHZpYSBWTUFTU1RfVFlQRV9ydW5zdGF0ZV91cGRhdGVfZmxhZywgc2V0IGR1 cmluZworCSAqIHVwZGF0ZXMgaW4gZ3Vlc3QgbWVtb3J5IG1hcHBlZCBjb3B5IG9mIHZjcHVf cnVuc3RhdGVfaW5mby4KKwkgKi8KKyNkZWZpbmUgWEVOX1JVTlNUQVRFX1VQREFURQkoMVVM TCA8PCA2MykKKwkvKgorCSAqIFRpbWUgc3BlbnQgaW4gZWFjaCBSVU5TVEFURV8qIChucyku IFRoZSBzdW0gb2YgdGhlc2UgdGltZXMgaXMKKwkgKiBndWFyYW50ZWVkIG5vdCB0byBkcmlm dCBmcm9tIHN5c3RlbSB0aW1lLgorCSAqLworCXVpbnQ2NF90IHRpbWVbNF07CiB9OwogREVG SU5FX0dVRVNUX0hBTkRMRV9TVFJVQ1QodmNwdV9ydW5zdGF0ZV9pbmZvKTsKIApkaWZmIC0t Z2l0IGEvaW5jbHVkZS94ZW4vaW50ZXJmYWNlL3hlbi5oIGIvaW5jbHVkZS94ZW4vaW50ZXJm YWNlL3hlbi5oCmluZGV4IGQxMzMxMTIuLjFiMGQxODkgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUv eGVuL2ludGVyZmFjZS94ZW4uaAorKysgYi9pbmNsdWRlL3hlbi9pbnRlcmZhY2UveGVuLmgK QEAgLTQxMyw3ICs0MTMsMjIgQEAgREVGSU5FX0dVRVNUX0hBTkRMRV9TVFJVQ1QobW11ZXh0 X29wKTsKIC8qIHg4Ni9QQUUgZ3Vlc3RzOiBzdXBwb3J0IFBEUFRzIGFib3ZlIDRHQi4gKi8K ICNkZWZpbmUgVk1BU1NUX1RZUEVfcGFlX2V4dGVuZGVkX2NyMyAgICAgMwogCi0jZGVmaW5l IE1BWF9WTUFTU1RfVFlQRSAzCisvKgorICogeDg2IGd1ZXN0czogU2FuZSBiZWhhdmlvdXIg Zm9yIHZpcnR1YWwgaW9wbAorICogIC0gdmlydHVhbCBpb3BsIHVwZGF0ZWQgZnJvbSBkb19p cmV0KCkgaHlwZXJjYWxscy4KKyAqICAtIHZpcnR1YWwgaW9wbCByZXBvcnRlZCBpbiBib3Vu Y2UgZnJhbWVzLgorICogIC0gZ3Vlc3Qga2VybmVscyBhc3N1bWVkIHRvIGJlIGxldmVsIDAg Zm9yIHRoZSBwdXJwb3NlIG9mIGlvcGwgY2hlY2tzLgorICovCisjZGVmaW5lIFZNQVNTVF9U WVBFX2FyY2hpdGVjdHVyYWxfaW9wbCAgIDQKKworLyoKKyAqIEFsbCBndWVzdHM6IGFjdGl2 YXRlIHVwZGF0ZSBpbmRpY2F0b3IgaW4gdmNwdV9ydW5zdGF0ZV9pbmZvCisgKiBFbmFibGUg c2V0dGluZyB0aGUgWEVOX1JVTlNUQVRFX1VQREFURSBmbGFnIGluIGd1ZXN0IG1lbW9yeSBt YXBwZWQKKyAqIHZjcHVfcnVuc3RhdGVfaW5mbyBkdXJpbmcgdXBkYXRlcyBvZiB0aGUgcnVu c3RhdGUgaW5mb3JtYXRpb24uCisgKi8KKyNkZWZpbmUgVk1BU1NUX1RZUEVfcnVuc3RhdGVf dXBkYXRlX2ZsYWcgNQorCisjZGVmaW5lIE1BWF9WTUFTU1RfVFlQRSA1CiAKICNpZm5kZWYg X19BU1NFTUJMWV9fCiAKLS0gCjIuNi42Cgo= --------------060102060505040902090400 Content-Type: text/plain; charset=UTF-8; name="linux-patch-03" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="linux-patch-03" RnJvbSBhYjQ1N2I4OGMwM2E2NmM2MDUxYWMwMjJiNTFiYzVjMjE4ZjQ4ODQyIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKdWVyZ2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+ CkRhdGU6IEZyaSwgMjAgTWF5IDIwMTYgMTI6MDg6MjEgKzAyMDAKU3ViamVjdDogW1BBVENI IDIvM10gYXJtL3hlbjogYWRkIHN1cHBvcnQgZm9yIHZtX2Fzc2lzdCBoeXBlcmNhbGwKCkFk ZCBzdXBwb3J0IGZvciB0aGUgWGVuIEhZUEVSVklTT1Jfdm1fYXNzaXN0IGh5cGVyY2FsbC4K ClNpZ25lZC1vZmYtYnk6IEp1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT4KLS0tCiBh cmNoL2FybS9pbmNsdWRlL2FzbS94ZW4vaHlwZXJjYWxsLmggfCAxICsKIGFyY2gvYXJtL3hl bi9lbmxpZ2h0ZW4uYyAgICAgICAgICAgICB8IDEgKwogYXJjaC9hcm0veGVuL2h5cGVyY2Fs bC5TICAgICAgICAgICAgIHwgMSArCiBhcmNoL2FybTY0L3hlbi9oeXBlcmNhbGwuUyAgICAg ICAgICAgfCAxICsKIDQgZmlsZXMgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspCgpkaWZmIC0t Z2l0IGEvYXJjaC9hcm0vaW5jbHVkZS9hc20veGVuL2h5cGVyY2FsbC5oIGIvYXJjaC9hcm0v aW5jbHVkZS9hc20veGVuL2h5cGVyY2FsbC5oCmluZGV4IGI2Yjk2MmQuLjlkODc0ZGIgMTAw NjQ0Ci0tLSBhL2FyY2gvYXJtL2luY2x1ZGUvYXNtL3hlbi9oeXBlcmNhbGwuaAorKysgYi9h cmNoL2FybS9pbmNsdWRlL2FzbS94ZW4vaHlwZXJjYWxsLmgKQEAgLTUyLDYgKzUyLDcgQEAg aW50IEhZUEVSVklTT1JfbWVtb3J5X29wKHVuc2lnbmVkIGludCBjbWQsIHZvaWQgKmFyZyk7 CiBpbnQgSFlQRVJWSVNPUl9waHlzZGV2X29wKGludCBjbWQsIHZvaWQgKmFyZyk7CiBpbnQg SFlQRVJWSVNPUl92Y3B1X29wKGludCBjbWQsIGludCB2Y3B1aWQsIHZvaWQgKmV4dHJhX2Fy Z3MpOwogaW50IEhZUEVSVklTT1JfdG1lbV9vcCh2b2lkICphcmcpOworaW50IEhZUEVSVklT T1Jfdm1fYXNzaXN0KHVuc2lnbmVkIGludCBjbWQsIHVuc2lnbmVkIGludCB0eXBlKTsKIGlu dCBIWVBFUlZJU09SX3BsYXRmb3JtX29wX3Jhdyh2b2lkICphcmcpOwogc3RhdGljIGlubGlu ZSBpbnQgSFlQRVJWSVNPUl9wbGF0Zm9ybV9vcChzdHJ1Y3QgeGVuX3BsYXRmb3JtX29wICpv cCkKIHsKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL3hlbi9lbmxpZ2h0ZW4uYyBiL2FyY2gvYXJt L3hlbi9lbmxpZ2h0ZW4uYwppbmRleCA3MWRiMzBjLi4wZjNhYTEyIDEwMDY0NAotLS0gYS9h cmNoL2FybS94ZW4vZW5saWdodGVuLmMKKysrIGIvYXJjaC9hcm0veGVuL2VubGlnaHRlbi5j CkBAIC0zODksNCArMzg5LDUgQEAgRVhQT1JUX1NZTUJPTF9HUEwoSFlQRVJWSVNPUl92Y3B1 X29wKTsKIEVYUE9SVF9TWU1CT0xfR1BMKEhZUEVSVklTT1JfdG1lbV9vcCk7CiBFWFBPUlRf U1lNQk9MX0dQTChIWVBFUlZJU09SX3BsYXRmb3JtX29wKTsKIEVYUE9SVF9TWU1CT0xfR1BM KEhZUEVSVklTT1JfbXVsdGljYWxsKTsKK0VYUE9SVF9TWU1CT0xfR1BMKEhZUEVSVklTT1Jf dm1fYXNzaXN0KTsKIEVYUE9SVF9TWU1CT0xfR1BMKHByaXZjbWRfY2FsbCk7CmRpZmYgLS1n aXQgYS9hcmNoL2FybS94ZW4vaHlwZXJjYWxsLlMgYi9hcmNoL2FybS94ZW4vaHlwZXJjYWxs LlMKaW5kZXggOWEzNmY0Zi4uYTY0OGRmYyAxMDA2NDQKLS0tIGEvYXJjaC9hcm0veGVuL2h5 cGVyY2FsbC5TCisrKyBiL2FyY2gvYXJtL3hlbi9oeXBlcmNhbGwuUwpAQCAtOTEsNiArOTEs NyBAQCBIWVBFUkNBTEwzKHZjcHVfb3ApOwogSFlQRVJDQUxMMSh0bWVtX29wKTsKIEhZUEVS Q0FMTDEocGxhdGZvcm1fb3BfcmF3KTsKIEhZUEVSQ0FMTDIobXVsdGljYWxsKTsKK0hZUEVS Q0FMTDIodm1fYXNzaXN0KTsKIAogRU5UUlkocHJpdmNtZF9jYWxsKQogCXN0bWRiIHNwISwg e3I0fQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm02NC94ZW4vaHlwZXJjYWxsLlMgYi9hcmNoL2Fy bTY0L3hlbi9oeXBlcmNhbGwuUwppbmRleCA3MGRmODBlLi4zMjljODAyIDEwMDY0NAotLS0g YS9hcmNoL2FybTY0L3hlbi9oeXBlcmNhbGwuUworKysgYi9hcmNoL2FybTY0L3hlbi9oeXBl cmNhbGwuUwpAQCAtODIsNiArODIsNyBAQCBIWVBFUkNBTEwzKHZjcHVfb3ApOwogSFlQRVJD QUxMMSh0bWVtX29wKTsKIEhZUEVSQ0FMTDEocGxhdGZvcm1fb3BfcmF3KTsKIEhZUEVSQ0FM TDIobXVsdGljYWxsKTsKK0hZUEVSQ0FMTDIodm1fYXNzaXN0KTsKIAogRU5UUlkocHJpdmNt ZF9jYWxsKQogCW1vdiB4MTYsIHgwCi0tIAoyLjYuNgoK --------------060102060505040902090400 Content-Type: text/plain; charset=UTF-8; name="linux-patch-04" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="linux-patch-04" RnJvbSBmMjdkYTFhYmE2YzljOTJhZGQ0Zjg4YjRkY2VjNTE3ZTVlMzIxY2FhIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKdWVyZ2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+ CkRhdGU6IEZyaSwgMjAgTWF5IDIwMTYgMTI6MjU6NTggKzAyMDAKU3ViamVjdDogW1BBVENI IDMvM10geGVuOiBzdXBwb3J0IHJ1bnF1ZXVlIHN0ZWFsIHRpbWUgb24geGVuCgpVcCB0byBu b3cgcmVhZGluZyB0aGUgc3RvbGVuIHRpbWUgb2YgYSByZW1vdGUgY3B1IHdhcyBub3QgcG9z c2libGUgaW4gYQpwZXJmb3JtYW50IHdheSB1bmRlciBYZW4uIFRoaXMgbWFkZSBzdXBwb3J0 IG9mIHJ1bnF1ZXVlIHN0ZWFsIHRpbWUgdmlhCnBhcmF2aXJ0X3N0ZWFsX3JxX2VuYWJsZWQg aW1wb3NzaWJsZS4KCldpdGggdGhlIGFkZGl0aW9uIG9mIGFuIGFwcHJvcHJpYXRlIGh5cGVy dmlzb3IgaW50ZXJmYWNlIHRoaXMgaXMgbm93CnBvc3NpYmxlLCBzbyBhZGQgdGhlIHN1cHBv cnQuCgpTaWduZWQtb2ZmLWJ5OiBKdWVyZ2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+Ci0t LQogZHJpdmVycy94ZW4vdGltZS5jIHwgNDIgKysrKysrKysrKysrKysrKysrKysrKysrKy0t LS0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMjUgaW5zZXJ0aW9ucygrKSwgMTcg ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy94ZW4vdGltZS5jIGIvZHJpdmVy cy94ZW4vdGltZS5jCmluZGV4IDIyNTdiNjYuLjA0YjZjYjcgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMveGVuL3RpbWUuYworKysgYi9kcml2ZXJzL3hlbi90aW1lLmMKQEAgLTE5LDYgKzE5LDkg QEAKIC8qIHJ1bnN0YXRlIGluZm8gdXBkYXRlZCBieSBYZW4gKi8KIHN0YXRpYyBERUZJTkVf UEVSX0NQVShzdHJ1Y3QgdmNwdV9ydW5zdGF0ZV9pbmZvLCB4ZW5fcnVuc3RhdGUpOwogCisv KiBydW5zdGF0ZSBpbmZvIG9mIHJlbW90ZSBjcHUgYWNjZXNzaWJsZSAqLworc3RhdGljIGJv b2wgeGVuX3J1bnN0YXRlX3JlbW90ZTsKKwogLyogcmV0dXJuIGFuIGNvbnNpc3RlbnQgc25h cHNob3Qgb2YgNjQtYml0IHRpbWUvY291bnRlciB2YWx1ZSAqLwogc3RhdGljIHU2NCBnZXQ2 NChjb25zdCB1NjQgKnApCiB7CkBAIC00NywyNyArNTAsMzEgQEAgc3RhdGljIHU2NCBnZXQ2 NChjb25zdCB1NjQgKnApCiAJcmV0dXJuIHJldDsKIH0KIAotLyoKLSAqIFJ1bnN0YXRlIGFj Y291bnRpbmcKLSAqLwotdm9pZCB4ZW5fZ2V0X3J1bnN0YXRlX3NuYXBzaG90KHN0cnVjdCB2 Y3B1X3J1bnN0YXRlX2luZm8gKnJlcykKK3N0YXRpYyB2b2lkIHhlbl9nZXRfcnVuc3RhdGVf c25hcHNob3RfY3B1KHN0cnVjdCB2Y3B1X3J1bnN0YXRlX2luZm8gKnJlcywKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNwdSkKIHsKIAl1 NjQgc3RhdGVfdGltZTsKIAlzdHJ1Y3QgdmNwdV9ydW5zdGF0ZV9pbmZvICpzdGF0ZTsKIAog CUJVR19PTihwcmVlbXB0aWJsZSgpKTsKIAotCXN0YXRlID0gdGhpc19jcHVfcHRyKCZ4ZW5f cnVuc3RhdGUpOworCXN0YXRlID0gcGVyX2NwdV9wdHIoJnhlbl9ydW5zdGF0ZSwgY3B1KTsK IAotCS8qCi0JICogVGhlIHJ1bnN0YXRlIGluZm8gaXMgYWx3YXlzIHVwZGF0ZWQgYnkgdGhl IGh5cGVydmlzb3Igb24KLQkgKiB0aGUgY3VycmVudCBDUFUsIHNvIHRoZXJlJ3Mgbm8gbmVl ZCB0byB1c2UgYW55dGhpbmcKLQkgKiBzdHJvbmdlciB0aGFuIGEgY29tcGlsZXIgYmFycmll ciB3aGVuIGZldGNoaW5nIGl0LgotCSAqLwogCWRvIHsKIAkJc3RhdGVfdGltZSA9IGdldDY0 KCZzdGF0ZS0+c3RhdGVfZW50cnlfdGltZSk7CisJCXJtYigpOwogCQkqcmVzID0gUkVBRF9P TkNFKCpzdGF0ZSk7Ci0JfSB3aGlsZSAoZ2V0NjQoJnN0YXRlLT5zdGF0ZV9lbnRyeV90aW1l KSAhPSBzdGF0ZV90aW1lKTsKKwkJcm1iKCk7CisJfSB3aGlsZSAoZ2V0NjQoJnN0YXRlLT5z dGF0ZV9lbnRyeV90aW1lKSAhPSBzdGF0ZV90aW1lIHx8CisJCSAoc3RhdGVfdGltZSAmIFhF Tl9SVU5TVEFURV9VUERBVEUpKTsKK30KKworLyoKKyAqIFJ1bnN0YXRlIGFjY291bnRpbmcK KyAqLwordm9pZCB4ZW5fZ2V0X3J1bnN0YXRlX3NuYXBzaG90KHN0cnVjdCB2Y3B1X3J1bnN0 YXRlX2luZm8gKnJlcykKK3sKKwl4ZW5fZ2V0X3J1bnN0YXRlX3NuYXBzaG90X2NwdShyZXMs IHNtcF9wcm9jZXNzb3JfaWQoKSk7CiB9CiAKIC8qIHJldHVybiB0cnVlIHdoZW4gYSB2Y3B1 IGNvdWxkIHJ1biBidXQgaGFzIG5vIHJlYWwgY3B1IHRvIHJ1biBvbiAqLwpAQCAtODAsOCAr ODcsOCBAQCBzdGF0aWMgdTY0IHhlbl9zdGVhbF9jbG9jayhpbnQgY3B1KQogewogCXN0cnVj dCB2Y3B1X3J1bnN0YXRlX2luZm8gc3RhdGU7CiAKLQlCVUdfT04oY3B1ICE9IHNtcF9wcm9j ZXNzb3JfaWQoKSk7Ci0JeGVuX2dldF9ydW5zdGF0ZV9zbmFwc2hvdCgmc3RhdGUpOworCUJV R19PTigheGVuX3J1bnN0YXRlX3JlbW90ZSAmJiBjcHUgIT0gc21wX3Byb2Nlc3Nvcl9pZCgp KTsKKwl4ZW5fZ2V0X3J1bnN0YXRlX3NuYXBzaG90X2NwdSgmc3RhdGUsIGNwdSk7CiAJcmV0 dXJuIHN0YXRlLnRpbWVbUlVOU1RBVEVfcnVubmFibGVdICsgc3RhdGUudGltZVtSVU5TVEFU RV9vZmZsaW5lXTsKIH0KIApAQCAtOTgsMTEgKzEwNSwxMiBAQCB2b2lkIHhlbl9zZXR1cF9y dW5zdGF0ZV9pbmZvKGludCBjcHUpCiAKIHZvaWQgX19pbml0IHhlbl90aW1lX3NldHVwX2d1 ZXN0KHZvaWQpCiB7CisJeGVuX3J1bnN0YXRlX3JlbW90ZSA9ICFIWVBFUlZJU09SX3ZtX2Fz c2lzdChWTUFTU1RfQ01EX2VuYWJsZSwKKwkJCQkJVk1BU1NUX1RZUEVfcnVuc3RhdGVfdXBk YXRlX2ZsYWcpOworCiAJcHZfdGltZV9vcHMuc3RlYWxfY2xvY2sgPSB4ZW5fc3RlYWxfY2xv Y2s7CiAKIAlzdGF0aWNfa2V5X3Nsb3dfaW5jKCZwYXJhdmlydF9zdGVhbF9lbmFibGVkKTsK LQkvKgotCSAqIFdlIGNhbid0IHNldCBwYXJhdmlydF9zdGVhbF9ycV9lbmFibGVkIGFzIHRo aXMgd291bGQgcmVxdWlyZSB0aGUKLQkgKiBjYXBhYmlsaXR5IHRvIHJlYWQgYW5vdGhlciBj cHUncyBydW5zdGF0ZSBpbmZvLgotCSAqLworCWlmICh4ZW5fcnVuc3RhdGVfcmVtb3RlKQor CQlzdGF0aWNfa2V5X3Nsb3dfaW5jKCZwYXJhdmlydF9zdGVhbF9ycV9lbmFibGVkKTsKIH0K LS0gCjIuNi42Cgo= --------------060102060505040902090400 Content-Type: text/plain; charset=UTF-8; name="xen-patch-01" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="xen-patch-01" RnJvbSAzOWM4ZmVhM2I0ZmRjZjYzNGU0ODU4NzQ4Zjc3ZmM0ZWUyZGRjNGNkIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKdWVyZ2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+ CkRhdGU6IFRodSwgMTkgTWF5IDIwMTYgMTg6MTk6NDIgKzAyMDAKU3ViamVjdDogW1BBVENI IDEvMl0geGVuL2FybTogYWRkIHN1cHBvcnQgZm9yIHZtX2Fzc2lzdCBoeXBlcmNhbGwKClVw IHRvIG5vdyB0aGUgdm1fYXNzaXN0IGh5cGVyY2FsbCBoYXNuJ3QgYmVlbiBzdXBwb3J0ZWQg b24gQVJNLCBhcwp0aGVyZSBhcmUgb25seSB4ODYgc3BlY2lmaWMgZmVhdHVyZXMgdG8gc3dp dGNoLiBBZGQgc3VwcG9ydCBvZgp2bV9hc3Npc3Qgb24gQVJNIGZvciBmdXR1cmUgdXNlLgoK U2lnbmVkLW9mZi1ieTogSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuY29tPgotLS0KIHhl bi9hcmNoL2FybS90cmFwcy5jICAgICAgICAgfCAxICsKIHhlbi9jb21tb24vZG9tYWluLmMg ICAgICAgICAgfCAyIC0tCiB4ZW4vY29tbW9uL2tlcm5lbC5jICAgICAgICAgIHwgMiAtLQog eGVuL2luY2x1ZGUvYXNtLWFybS9jb25maWcuaCB8IDIgKysKIDQgZmlsZXMgY2hhbmdlZCwg MyBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNo L2FybS90cmFwcy5jIGIveGVuL2FyY2gvYXJtL3RyYXBzLmMKaW5kZXggMTgyOGVhMS4uY2Nj NjM1MSAxMDA2NDQKLS0tIGEveGVuL2FyY2gvYXJtL3RyYXBzLmMKKysrIGIveGVuL2FyY2gv YXJtL3RyYXBzLmMKQEAgLTEyODQsNiArMTI4NCw3IEBAIHN0YXRpYyBhcm1faHlwZXJjYWxs X3QgYXJtX2h5cGVyY2FsbF90YWJsZVtdID0gewogICAgIEhZUEVSQ0FMTChtdWx0aWNhbGws IDIpLAogICAgIEhZUEVSQ0FMTChwbGF0Zm9ybV9vcCwgMSksCiAgICAgSFlQRVJDQUxMX0FS TSh2Y3B1X29wLCAzKSwKKyAgICBIWVBFUkNBTEwodm1fYXNzaXN0LCAyKSwKIH07CiAKICNp Zm5kZWYgTkRFQlVHCmRpZmYgLS1naXQgYS94ZW4vY29tbW9uL2RvbWFpbi5jIGIveGVuL2Nv bW1vbi9kb21haW4uYwppbmRleCA0NTI3M2Q0Li4wYWZiMWVlIDEwMDY0NAotLS0gYS94ZW4v Y29tbW9uL2RvbWFpbi5jCisrKyBiL3hlbi9jb21tb24vZG9tYWluLmMKQEAgLTE0MDgsNyAr MTQwOCw2IEBAIGxvbmcgZG9fdmNwdV9vcChpbnQgY21kLCB1bnNpZ25lZCBpbnQgdmNwdWlk LCBYRU5fR1VFU1RfSEFORExFX1BBUkFNKHZvaWQpIGFyZykKICAgICByZXR1cm4gcmM7CiB9 CiAKLSNpZmRlZiBWTV9BU1NJU1RfVkFMSUQKIGxvbmcgdm1fYXNzaXN0KHN0cnVjdCBkb21h aW4gKnAsIHVuc2lnbmVkIGludCBjbWQsIHVuc2lnbmVkIGludCB0eXBlLAogICAgICAgICAg ICAgICAgdW5zaWduZWQgbG9uZyB2YWxpZCkKIHsKQEAgLTE0MjcsNyArMTQyNiw2IEBAIGxv bmcgdm1fYXNzaXN0KHN0cnVjdCBkb21haW4gKnAsIHVuc2lnbmVkIGludCBjbWQsIHVuc2ln bmVkIGludCB0eXBlLAogCiAgICAgcmV0dXJuIC1FTk9TWVM7CiB9Ci0jZW5kaWYKIAogc3Ry dWN0IHBpcnEgKnBpcnFfZ2V0X2luZm8oc3RydWN0IGRvbWFpbiAqZCwgaW50IHBpcnEpCiB7 CmRpZmYgLS1naXQgYS94ZW4vY29tbW9uL2tlcm5lbC5jIGIveGVuL2NvbW1vbi9rZXJuZWwu YwppbmRleCAxYTY4MjNhLi43NGI2ZTFmIDEwMDY0NAotLS0gYS94ZW4vY29tbW9uL2tlcm5l bC5jCisrKyBiL3hlbi9jb21tb24va2VybmVsLmMKQEAgLTQ0MSwxMiArNDQxLDEwIEBAIERP KG5taV9vcCkodW5zaWduZWQgaW50IGNtZCwgWEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh2b2lk KSBhcmcpCiAgICAgcmV0dXJuIHJjOwogfQogCi0jaWZkZWYgVk1fQVNTSVNUX1ZBTElECiBE Tyh2bV9hc3Npc3QpKHVuc2lnbmVkIGludCBjbWQsIHVuc2lnbmVkIGludCB0eXBlKQogewog ICAgIHJldHVybiB2bV9hc3Npc3QoY3VycmVudC0+ZG9tYWluLCBjbWQsIHR5cGUsIFZNX0FT U0lTVF9WQUxJRCk7CiB9Ci0jZW5kaWYKIAogRE8obmlfaHlwZXJjYWxsKSh2b2lkKQogewpk aWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLWFybS9jb25maWcuaCBiL3hlbi9pbmNsdWRl L2FzbS1hcm0vY29uZmlnLmgKaW5kZXggMmQxMWI2Mi4uNTYzZjQ5YiAxMDA2NDQKLS0tIGEv eGVuL2luY2x1ZGUvYXNtLWFybS9jb25maWcuaAorKysgYi94ZW4vaW5jbHVkZS9hc20tYXJt L2NvbmZpZy5oCkBAIC0xOTksNiArMTk5LDggQEAgZXh0ZXJuIHVuc2lnbmVkIGxvbmcgZnJh bWV0YWJsZV92aXJ0X2VuZDsKICNkZWZpbmUgd2F0Y2hkb2dfZGlzYWJsZSgpICgodm9pZCkw KQogI2RlZmluZSB3YXRjaGRvZ19lbmFibGUoKSAgKCh2b2lkKTApCiAKKyNkZWZpbmUgVk1f QVNTSVNUX1ZBTElEICAgICAgICAgICgwKQorCiAjZW5kaWYgLyogX19BUk1fQ09ORklHX0hf XyAqLwogLyoKICAqIExvY2FsIHZhcmlhYmxlczoKLS0gCjIuNi42Cgo= --------------060102060505040902090400 Content-Type: text/plain; charset=UTF-8; name="xen-patch-02" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="xen-patch-02" RnJvbSBmMWIzMDU5OWQzMzBmY2I0MDg2YjkyMTI1Y2MzNmNmYzFjOTVmZTYzIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKdWVyZ2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+ CkRhdGU6IEZyaSwgMjAgTWF5IDIwMTYgMDY6MzI6MTIgKzAyMDAKU3ViamVjdDogW1BBVENI IDIvMl0geGVuOiBhZGQgdXBkYXRlIGluZGljYXRvciB0byB2Y3B1X3J1bnN0YXRlX2luZm8K CkluIG9yZGVyIHRvIHN1cHBvcnQgcmVhZGluZyBhbm90aGVyIHZjcHUncyBtYXBwZWQgdmNw dV9ydW5zdGF0ZV9pbmZvCmFuIGluZGljYXRvciBmb3IgYW4gb2NjdXJyaW5nIHVwZGF0ZSBv ZiB0aGUgcnVuc3RhdGUgaW5mb3JtYXRpb24gaXMKbmVlZGVkLgoKQWRkIHRoZSBwb3NzaWJp bGl0eSB0byBhY3RpdmF0ZSBzZXR0aW5nIHRoaXMgaW5kaWNhdG9yIGluIHRoZSBoaWdoZXN0 CmJpdCBvZiBzdGF0ZV9lbnRyeV90aW1lIHZpYSBhIHZtX2Fzc2lzdCBoeXBlcmNhbGwuIFdo ZW4gYWN0aXZhdGVkIHRoZQp1cGRhdGUgaW5kaWNhdG9yIHdpbGwgYmUgc2V0IGJlZm9yZSB0 aGUgcnVuc3RhdGUgaW5mb3JtYXRpb24gaXMKbW9kaWZpZWQgaW4gZ3Vlc3QgbWVtb3J5IGFu ZCBpdCB3aWxsIGJlIHJlc2V0IGFmdGVyIG1vZGlmaWNhdGlvbiBpcwpkb25lLiBBcyBzdGF0 ZV9lbnRyeV90aW1lIGlzIGd1YXJhbnRlZWQgdG8gYmUgZGlmZmVyZW50IGFmdGVyIGVhY2gK dXBkYXRlIHRoZSBndWVzdCBjYW4gZGV0ZWN0IGFueSB1cGRhdGUgKGVpdGhlciBpbiBwcm9n cmVzcyBvciB3aGlsZQpyZWFkaW5nIHRoZSBydW5zdGF0ZSBkYXRhKSBieSBjb21wYXJpbmcg c3RhdGVfZW50cnlfdGltZSBiZWZvcmUgYW5kCmFmdGVyIHJlYWRpbmcgcnVuc3RhdGUgZGF0 YTogaW4gY2FzZSB0aGUgdmFsdWVzIGRpZmZlciBvciB0aGUgdXBkYXRlCmluZGljYXRvciB3 YXMgc2V0IHRoZSBkYXRhIG1pZ2h0IGJlIGluY29uc2lzdGVudCBhbmQgc2hvdWxkIGJlIHJl cmVhZC4KClNpZ25lZC1vZmYtYnk6IEp1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT4K LS0tCiB4ZW4vYXJjaC9hcm0vZG9tYWluLmMgICAgICAgIHwgMjIgKysrKysrKysrKysrKysr KysrKysrKwogeGVuL2FyY2gveDg2L2RvbWFpbi5jICAgICAgICB8IDMxICsrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysKIHhlbi9pbmNsdWRlL2FzbS1hcm0vY29uZmlnLmggfCAg MiArLQogeGVuL2luY2x1ZGUvYXNtLXg4Ni9jb25maWcuaCB8ICAxICsKIHhlbi9pbmNsdWRl L3B1YmxpYy92Y3B1LmggICAgfCAgNiArKysrKysKIHhlbi9pbmNsdWRlL3B1YmxpYy94ZW4u aCAgICAgfCAgNyArKysrKysrCiA2IGZpbGVzIGNoYW5nZWQsIDY4IGluc2VydGlvbnMoKyks IDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vZG9tYWluLmMgYi94 ZW4vYXJjaC9hcm0vZG9tYWluLmMKaW5kZXggMTM2NWI0YS4uOTFmMjU2YiAxMDA2NDQKLS0t IGEveGVuL2FyY2gvYXJtL2RvbWFpbi5jCisrKyBiL3hlbi9hcmNoL2FybS9kb21haW4uYwpA QCAtMjM5LDEwICsyMzksMzIgQEAgc3RhdGljIHZvaWQgY3R4dF9zd2l0Y2hfdG8oc3RydWN0 IHZjcHUgKm4pCiAvKiBVcGRhdGUgcGVyLVZDUFUgZ3Vlc3QgcnVuc3RhdGUgc2hhcmVkIG1l bW9yeSBhcmVhIChpZiByZWdpc3RlcmVkKS4gKi8KIHN0YXRpYyB2b2lkIHVwZGF0ZV9ydW5z dGF0ZV9hcmVhKHN0cnVjdCB2Y3B1ICp2KQogeworICAgIGJvb2xfdCB1cGRhdGVfZmxhZzsK KyAgICB2b2lkIF9fdXNlciAqZ3Vlc3RfaGFuZGxlID0gTlVMTDsKKyAgICB1bnNpZ25lZCBv ZmYgPSAwOworCiAgICAgaWYgKCBndWVzdF9oYW5kbGVfaXNfbnVsbChydW5zdGF0ZV9ndWVz dCh2KSkgKQogICAgICAgICByZXR1cm47CiAKKyAgICB1cGRhdGVfZmxhZyA9IFZNX0FTU0lT VCh2LT5kb21haW4sIHJ1bnN0YXRlX3VwZGF0ZV9mbGFnKTsKKyAgICBpZiAoIHVwZGF0ZV9m bGFnICkKKyAgICB7CisgICAgICAgIG9mZiA9IG9mZnNldG9mKHN0cnVjdCB2Y3B1X3J1bnN0 YXRlX2luZm8sIHN0YXRlX2VudHJ5X3RpbWUpICsgNzsKKyAgICAgICAgZ3Vlc3RfaGFuZGxl ID0gdi0+cnVuc3RhdGVfZ3Vlc3QucDsKKyAgICAgICAgZ3Vlc3RfaGFuZGxlICs9IG9mZjsK KyAgICAgICAgdi0+cnVuc3RhdGUuc3RhdGVfZW50cnlfdGltZSB8PSBYRU5fUlVOU1RBVEVf VVBEQVRFOworICAgICAgICBfX3Jhd19jb3B5X3RvX2d1ZXN0KGd1ZXN0X2hhbmRsZSwgKHZv aWQgKikmdi0+cnVuc3RhdGUgKyBvZmYsIDEpOworICAgICAgICB3bWIoKTsKKyAgICB9CisK ICAgICBfX2NvcHlfdG9fZ3Vlc3QocnVuc3RhdGVfZ3Vlc3QodiksICZ2LT5ydW5zdGF0ZSwg MSk7CisKKyAgICBpZiAoIHVwZGF0ZV9mbGFnICkKKyAgICB7CisgICAgICAgIHYtPnJ1bnN0 YXRlLnN0YXRlX2VudHJ5X3RpbWUgJj0gflhFTl9SVU5TVEFURV9VUERBVEU7CisgICAgICAg IHdtYigpOworICAgICAgICBfX3Jhd19jb3B5X3RvX2d1ZXN0KGd1ZXN0X2hhbmRsZSwgKHZv aWQgKikmdi0+cnVuc3RhdGUgKyBvZmYsIDEpOworICAgIH0KIH0KIAogc3RhdGljIHZvaWQg c2NoZWR1bGVfdGFpbChzdHJ1Y3QgdmNwdSAqcHJldikKZGlmZiAtLWdpdCBhL3hlbi9hcmNo L3g4Ni9kb21haW4uYyBiL3hlbi9hcmNoL3g4Ni9kb21haW4uYwppbmRleCA1YWYyY2M1Li5k ZmFlZTVkIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvZG9tYWluLmMKKysrIGIveGVuL2Fy Y2gveDg2L2RvbWFpbi5jCkBAIC0xOTI1LDEzICsxOTI1LDM3IEBAIHN0YXRpYyB2b2lkIHBh cmF2aXJ0X2N0eHRfc3dpdGNoX3RvKHN0cnVjdCB2Y3B1ICp2KQogYm9vbF90IHVwZGF0ZV9y dW5zdGF0ZV9hcmVhKHN0cnVjdCB2Y3B1ICp2KQogewogICAgIGJvb2xfdCByYzsKKyAgICBi b29sX3QgdXBkYXRlX2ZsYWc7CiAgICAgc21hcF9jaGVja19wb2xpY3lfdCBzbWFwX3BvbGlj eTsKKyAgICB2b2lkIF9fdXNlciAqZ3Vlc3RfaGFuZGxlID0gTlVMTDsKKyAgICB1bnNpZ25l ZCBvZmYgPSAwOwogCiAgICAgaWYgKCBndWVzdF9oYW5kbGVfaXNfbnVsbChydW5zdGF0ZV9n dWVzdCh2KSkgKQogICAgICAgICByZXR1cm4gMTsKIAorICAgIHVwZGF0ZV9mbGFnID0gVk1f QVNTSVNUKHYtPmRvbWFpbiwgcnVuc3RhdGVfdXBkYXRlX2ZsYWcpOworCiAgICAgc21hcF9w b2xpY3kgPSBzbWFwX3BvbGljeV9jaGFuZ2UodiwgU01BUF9DSEVDS19FTkFCTEVEKTsKIAor ICAgIGlmICggdXBkYXRlX2ZsYWcgKQorICAgIHsKKyAgICAgICAgb2ZmID0gb2Zmc2V0b2Yo c3RydWN0IHZjcHVfcnVuc3RhdGVfaW5mbywgc3RhdGVfZW50cnlfdGltZSkgKyA3OworICAg ICAgICBpZiAoIGhhc18zMmJpdF9zaGluZm8odi0+ZG9tYWluKSApCisgICAgICAgIHsKKyAg ICAgICAgICAgIGd1ZXN0X2hhbmRsZSA9IHYtPnJ1bnN0YXRlX2d1ZXN0LmNvbXBhdC5wOwor ICAgICAgICAgICAgZ3Vlc3RfaGFuZGxlICs9IG9mZnNldG9mKHN0cnVjdCBjb21wYXRfdmNw dV9ydW5zdGF0ZV9pbmZvLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHN0YXRlX2VudHJ5X3RpbWUpICsgNzsKKyAgICAgICAgfQorICAgICAgICBlbHNlCisgICAg ICAgIHsKKyAgICAgICAgICAgIGd1ZXN0X2hhbmRsZSA9IHYtPnJ1bnN0YXRlX2d1ZXN0Lm5h dGl2ZS5wOworICAgICAgICAgICAgZ3Vlc3RfaGFuZGxlICs9IG9mZjsKKyAgICAgICAgfQor ICAgICAgICB2LT5ydW5zdGF0ZS5zdGF0ZV9lbnRyeV90aW1lIHw9IFhFTl9SVU5TVEFURV9V UERBVEU7CisgICAgICAgIF9fcmF3X2NvcHlfdG9fZ3Vlc3QoZ3Vlc3RfaGFuZGxlLCAodm9p ZCAqKSZ2LT5ydW5zdGF0ZSArIG9mZiwgMSk7CisgICAgICAgIHdtYigpOworICAgIH0KKwog ICAgIGlmICggaGFzXzMyYml0X3NoaW5mbyh2LT5kb21haW4pICkKICAgICB7CiAgICAgICAg IHN0cnVjdCBjb21wYXRfdmNwdV9ydW5zdGF0ZV9pbmZvIGluZm87CkBAIC0xOTQ0LDYgKzE5 NjgsMTMgQEAgYm9vbF90IHVwZGF0ZV9ydW5zdGF0ZV9hcmVhKHN0cnVjdCB2Y3B1ICp2KQog ICAgICAgICByYyA9IF9fY29weV90b19ndWVzdChydW5zdGF0ZV9ndWVzdCh2KSwgJnYtPnJ1 bnN0YXRlLCAxKSAhPQogICAgICAgICAgICAgIHNpemVvZih2LT5ydW5zdGF0ZSk7CiAKKyAg ICBpZiAoIHVwZGF0ZV9mbGFnICkKKyAgICB7CisgICAgICAgIHYtPnJ1bnN0YXRlLnN0YXRl X2VudHJ5X3RpbWUgJj0gflhFTl9SVU5TVEFURV9VUERBVEU7CisgICAgICAgIHdtYigpOwor ICAgICAgICBfX3Jhd19jb3B5X3RvX2d1ZXN0KGd1ZXN0X2hhbmRsZSwgKHZvaWQgKikmdi0+ cnVuc3RhdGUgKyBvZmYsIDEpOworICAgIH0KKwogICAgIHNtYXBfcG9saWN5X2NoYW5nZSh2 LCBzbWFwX3BvbGljeSk7CiAKICAgICByZXR1cm4gcmM7CmRpZmYgLS1naXQgYS94ZW4vaW5j bHVkZS9hc20tYXJtL2NvbmZpZy5oIGIveGVuL2luY2x1ZGUvYXNtLWFybS9jb25maWcuaApp bmRleCA1NjNmNDliLi5jZTNlZGMyIDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20tYXJt L2NvbmZpZy5oCisrKyBiL3hlbi9pbmNsdWRlL2FzbS1hcm0vY29uZmlnLmgKQEAgLTE5OSw3 ICsxOTksNyBAQCBleHRlcm4gdW5zaWduZWQgbG9uZyBmcmFtZXRhYmxlX3ZpcnRfZW5kOwog I2RlZmluZSB3YXRjaGRvZ19kaXNhYmxlKCkgKCh2b2lkKTApCiAjZGVmaW5lIHdhdGNoZG9n X2VuYWJsZSgpICAoKHZvaWQpMCkKIAotI2RlZmluZSBWTV9BU1NJU1RfVkFMSUQgICAgICAg ICAgKDApCisjZGVmaW5lIFZNX0FTU0lTVF9WQUxJRCAgICAgICAgICAoMVVMIDw8IFZNQVNT VF9UWVBFX3J1bnN0YXRlX3VwZGF0ZV9mbGFnKQogCiAjZW5kaWYgLyogX19BUk1fQ09ORklH X0hfXyAqLwogLyoKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14ODYvY29uZmlnLmgg Yi94ZW4vaW5jbHVkZS9hc20teDg2L2NvbmZpZy5oCmluZGV4IGMxMDEyOWQuLjZmZDg0ZTcg MTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvY29uZmlnLmgKKysrIGIveGVuL2lu Y2x1ZGUvYXNtLXg4Ni9jb25maWcuaApAQCAtMzMyLDYgKzMzMiw3IEBAIGV4dGVybiB1bnNp Z25lZCBsb25nIHhlbl9waHlzX3N0YXJ0OwogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICgxVUwgPDwgVk1BU1NUX1RZUEVfd3JpdGFibGVfcGFnZXRhYmxlcykgfCBcCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDFVTCA8PCBWTUFTU1RfVFlQRV9w YWVfZXh0ZW5kZWRfY3IzKSAgICB8IFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAoMVVMIDw8IFZNQVNTVF9UWVBFX2FyY2hpdGVjdHVyYWxfaW9wbCkgIHwgXAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxVUwgPDwgVk1BU1NUX1RZUEVfcnVu c3RhdGVfdXBkYXRlX2ZsYWcpfCBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgKDFVTCA8PCBWTUFTU1RfVFlQRV9tMnBfc3RyaWN0KSkKICNkZWZpbmUgVk1fQVNTSVNU X1ZBTElEICAgICAgICAgIE5BVElWRV9WTV9BU1NJU1RfVkFMSUQKICNkZWZpbmUgQ09NUEFU X1ZNX0FTU0lTVF9WQUxJRCAgIChOQVRJVkVfVk1fQVNTSVNUX1ZBTElEICYgXApkaWZmIC0t Z2l0IGEveGVuL2luY2x1ZGUvcHVibGljL3ZjcHUuaCBiL3hlbi9pbmNsdWRlL3B1YmxpYy92 Y3B1LmgKaW5kZXggNjkyYjg3YS4uMmFhMjMwZCAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUv cHVibGljL3ZjcHUuaAorKysgYi94ZW4vaW5jbHVkZS9wdWJsaWMvdmNwdS5oCkBAIC04NCw2 ICs4NCwxMiBAQCBzdHJ1Y3QgdmNwdV9ydW5zdGF0ZV9pbmZvIHsKICAgICAvKiBXaGVuIHdh cyBjdXJyZW50IHN0YXRlIGVudGVyZWQgKHN5c3RlbSB0aW1lLCBucyk/ICovCiAgICAgdWlu dDY0X3Qgc3RhdGVfZW50cnlfdGltZTsKICAgICAvKgorICAgICAqIFVwZGF0ZSBpbmRpY2F0 b3Igc2V0IGluIHN0YXRlX2VudHJ5X3RpbWU6CisgICAgICogV2hlbiBhY3RpdmF0ZWQgdmlh IFZNQVNTVF9UWVBFX3J1bnN0YXRlX3VwZGF0ZV9mbGFnLCBzZXQgZHVyaW5nCisgICAgICog dXBkYXRlcyBpbiBndWVzdCBtZW1vcnkgbWFwcGVkIGNvcHkgb2YgdmNwdV9ydW5zdGF0ZV9p bmZvLgorICAgICAqLworI2RlZmluZSBYRU5fUlVOU1RBVEVfVVBEQVRFICAgICAgICAgICgx VUxMIDw8IDYzKQorICAgIC8qCiAgICAgICogVGltZSBzcGVudCBpbiBlYWNoIFJVTlNUQVRF XyogKG5zKS4gVGhlIHN1bSBvZiB0aGVzZSB0aW1lcyBpcwogICAgICAqIGd1YXJhbnRlZWQg bm90IHRvIGRyaWZ0IGZyb20gc3lzdGVtIHRpbWUuCiAgICAgICovCmRpZmYgLS1naXQgYS94 ZW4vaW5jbHVkZS9wdWJsaWMveGVuLmggYi94ZW4vaW5jbHVkZS9wdWJsaWMveGVuLmgKaW5k ZXggMzdiYmIyMi4uYjllNWUwZiAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvcHVibGljL3hl bi5oCisrKyBiL3hlbi9pbmNsdWRlL3B1YmxpYy94ZW4uaApAQCAtNTEwLDYgKzUxMCwxMyBA QCBERUZJTkVfWEVOX0dVRVNUX0hBTkRMRShtbXVleHRfb3BfdCk7CiAjZGVmaW5lIFZNQVNT VF9UWVBFX2FyY2hpdGVjdHVyYWxfaW9wbCAgIDQKIAogLyoKKyAqIEFsbCBndWVzdHM6IGFj dGl2YXRlIHVwZGF0ZSBpbmRpY2F0b3IgaW4gdmNwdV9ydW5zdGF0ZV9pbmZvCisgKiBFbmFi bGUgc2V0dGluZyB0aGUgWEVOX1JVTlNUQVRFX1VQREFURSBmbGFnIGluIGd1ZXN0IG1lbW9y eSBtYXBwZWQKKyAqIHZjcHVfcnVuc3RhdGVfaW5mbyBkdXJpbmcgdXBkYXRlcyBvZiB0aGUg cnVuc3RhdGUgaW5mb3JtYXRpb24uCisgKi8KKyNkZWZpbmUgVk1BU1NUX1RZUEVfcnVuc3Rh dGVfdXBkYXRlX2ZsYWcgNQorCisvKgogICogeDg2LzY0IGd1ZXN0czogc3RyaWN0bHkgaGlk ZSBNMlAgZnJvbSB1c2VyIG1vZGUuCiAgKiBUaGlzIGFsbG93cyB0aGUgZ3Vlc3QgdG8gY29u dHJvbCByZXNwZWN0aXZlIGh5cGVydmlzb3IgYmVoYXZpb3I6CiAgKiAtIHdoZW4gbm90IHNl dCwgTDQgdGFibGVzIGdldCBjcmVhdGVkIHdpdGggdGhlIHJlc3BlY3RpdmUgc2xvdCBibGFu aywKLS0gCjIuNi42Cgo= --------------060102060505040902090400 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVs IG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVuLm9y Zy94ZW4tZGV2ZWwK --------------060102060505040902090400--