From mboxrd@z Thu Jan 1 00:00:00 1970 From: DOI Tsunehisa Subject: Re: PV drivers for HVM guests Date: Fri, 13 Oct 2006 11:00:35 +0900 Message-ID: <452EF343.4090004@jp.fujitsu.com> References: <45229025.E57C.0030.0@novell.com> <1160061687.3755.101.camel@localhost.localdomain> <452B5318.4010607@jp.fujitsu.com> <452CCB74.4030709@jp.fujitsu.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------090400080001090105030000" Return-path: In-Reply-To: <452CCB74.4030709@jp.fujitsu.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Ian Campbell Cc: Ky Srinivasan , xen-devel@lists.xensource.com List-Id: xen-devel@lists.xenproject.org This is a multi-part message in MIME format. --------------090400080001090105030000 Content-Type: text/plain; charset=ISO-2022-JP Content-Transfer-Encoding: 7bit Hi all, I found some issue with my old patch. + Fix do_exit() faker type - can't compile on linux-2.6.10 and 2.6.11 - do_exit() faker is mismatched with original header. - do_exit type changed after linux-2.6.10 < asmlinkage NORET_TYPE void do_exit(long code); > fastcall NORET_TYPE void do_exit(long code); + Fix compat-include/linun/mutex.h about version checker - change reference version from 2.6.16 to 2.6.15 DOI Tsunehisa wrote: > Hi all, > > DOI Tsunehisa wrote: >> I modified Ian's patch for RHEL4. >> >> We've tested compiling and attaching them on RHEL4. In our simple >> test, PV-on-HVM VBD/VNIF drivers work on RHEL4 original kernel. > > I checked several version of kernel source, and modified the patch. > > This patch is modified from Ian's patch: > > + move compat.c from xenbus to platform-pci > - platform-pci needs vmalloc_to_pfn() realized in compat.c > * platform-pci is inserted before xenbus insertion. > + append schedule_timeout_interruptible() to compat.c > - the code was copied from linux/kernel/timer.c > + append do_exit() faker to compat.c > - the faker was implemented using complete_and_exit() > + delete vmalloc_to_page() from compat.c > - vmalloc_to_page() already exists in linux-2.6.0 kernel. > + conferm version for several features > - do conferm version about "TODO: conferm version" > > We've tested compiling and attaching them on RHEL4. And they > work on RHEL4 in same test. > > Thanks, > - Doi Tsunehisa --------------090400080001090105030000 Content-Type: text/plain; name="pv-backport3.patch" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="pv-backport3.patch" IyBIRyBjaGFuZ2VzZXQgcGF0Y2gKIyBVc2VyIERvaS5Uc3VuZWhpc2FAanAuZnVqaXRzdS5j b20KIyBOb2RlIElEIDZlMDc1MTU2ZWE0NjAzYzgxZDFlYmQzN2JkYjJmZWEwMGViOWYwMjYK IyBQYXJlbnQgIGYxNGE2N2EzNWJlY2ZiOGZiOWI0NTVhMjE5ZmQxYTdjOTQyYmMyMWQKTW9k aWZ5IGZvciBiYWNrcG9ydGluZyBQVi1vbi1IVk0gZHJpdmVycwoKU2lnbmVkLW9mZi1ieTog SWFuIENhbXBiZWxsIDxJYW4uQ2FtcGJlbGxAWGVuU291cmNlLmNvbT4KU2lnbmVkLW9mZi1i eTogVHN1bmVoaXNhIERvaSA8RG9pLlRzdW5laGlzYUBqcC5mdWppdHN1LmNvbT4KCmRpZmYg LXIgZjE0YTY3YTM1YmVjIC1yIDZlMDc1MTU2ZWE0NiBsaW51eC0yLjYteGVuLXNwYXJzZS9k cml2ZXJzL3hlbi9ibGtmcm9udC9ibGtmcm9udC5jCi0tLSBhL2xpbnV4LTIuNi14ZW4tc3Bh cnNlL2RyaXZlcnMveGVuL2Jsa2Zyb250L2Jsa2Zyb250LmMJVGh1IE9jdCAxMiAxNzo1Mzo1 MSAyMDA2ICswMTAwCisrKyBiL2xpbnV4LTIuNi14ZW4tc3BhcnNlL2RyaXZlcnMveGVuL2Js a2Zyb250L2Jsa2Zyb250LmMJRnJpIE9jdCAxMyAwOTowNjo0NSAyMDA2ICswOTAwCkBAIC00 OCw2ICs0OCwxMCBAQAogI2luY2x1ZGUgPGFzbS9oeXBlcnZpc29yLmg+CiAjaW5jbHVkZSA8 YXNtL21hZGRyLmg+CiAKKyNpZmRlZiBIQVZFX0NPTVBBVF9ICisjaW5jbHVkZSA8Y29tcGF0 Lmg+CisjZW5kaWYKKwogI2RlZmluZSBCTEtJRl9TVEFURV9ESVNDT05ORUNURUQgMAogI2Rl ZmluZSBCTEtJRl9TVEFURV9DT05ORUNURUQgICAgMQogI2RlZmluZSBCTEtJRl9TVEFURV9T VVNQRU5ERUQgICAgMgpAQCAtNDY4LDYgKzQ3MiwyNyBAQCBpbnQgYmxraWZfaW9jdGwoc3Ry dWN0IGlub2RlICppbm9kZSwgc3RyCiAJCSAgICAgIGNvbW1hbmQsIChsb25nKWFyZ3VtZW50 LCBpbm9kZS0+aV9yZGV2KTsKIAogCXN3aXRjaCAoY29tbWFuZCkgeworI2lmIExJTlVYX1ZF UlNJT05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDIsNiwxNikKKwljYXNlIEhESU9fR0VUR0VP OiB7CisJCXN0cnVjdCBibG9ja19kZXZpY2UgKmJkID0gaW5vZGUtPmlfYmRldjsKKwkJc3Ry dWN0IGhkX2dlb21ldHJ5IGdlbzsKKwkJaW50IHJldDsKKworICAgICAgICAgICAgICAgIGlm ICghYXJndW1lbnQpCisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gLUVJTlZBTDsK KworCQlnZW8uc3RhcnQgPSBnZXRfc3RhcnRfc2VjdChiZCk7CisJCXJldCA9IGJsa2lmX2dl dGdlbyhiZCwgJmdlbyk7CisJCWlmIChyZXQpCisJCQlyZXR1cm4gcmV0OworCisJCWlmIChj b3B5X3RvX3VzZXIoKHN0cnVjdCBoZF9nZW9tZXRyeSBfX3VzZXIgKilhcmd1bWVudCwgJmdl bywKKwkJCQkgc2l6ZW9mKGdlbykpKQorICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJu IC1FRkFVTFQ7CisKKyAgICAgICAgICAgICAgICByZXR1cm4gMDsKKwl9CisjZW5kaWYKIAlj YXNlIENEUk9NTVVMVElTRVNTSU9OOgogCQlEUFJJTlRLKCJGSVhNRTogc3VwcG9ydCBtdWx0 aXNlc3Npb24gQ0RzIGxhdGVyXG4iKTsKIAkJZm9yIChpID0gMDsgaSA8IHNpemVvZihzdHJ1 Y3QgY2Ryb21fbXVsdGlzZXNzaW9uKTsgaSsrKQpkaWZmIC1yIGYxNGE2N2EzNWJlYyAtciA2 ZTA3NTE1NmVhNDYgbGludXgtMi42LXhlbi1zcGFyc2UvZHJpdmVycy94ZW4vYmxrZnJvbnQv dmJkLmMKLS0tIGEvbGludXgtMi42LXhlbi1zcGFyc2UvZHJpdmVycy94ZW4vYmxrZnJvbnQv dmJkLmMJVGh1IE9jdCAxMiAxNzo1Mzo1MSAyMDA2ICswMTAwCisrKyBiL2xpbnV4LTIuNi14 ZW4tc3BhcnNlL2RyaXZlcnMveGVuL2Jsa2Zyb250L3ZiZC5jCUZyaSBPY3QgMTMgMDk6MDY6 NDUgMjAwNiArMDkwMApAQCAtMzYsNiArMzYsMTAgQEAKICNpbmNsdWRlIDxsaW51eC9ibGtk ZXYuaD4KICNpbmNsdWRlIDxsaW51eC9saXN0Lmg+CiAKKyNpZmRlZiBIQVZFX0NPTVBBVF9I CisjaW5jbHVkZSA8Y29tcGF0Lmg+CisjZW5kaWYKKwogI2RlZmluZSBCTEtJRl9NQUpPUihk ZXYpICgoZGV2KT4+OCkKICNkZWZpbmUgQkxLSUZfTUlOT1IoZGV2KSAoKGRldikgJiAweGZm KQogCkBAIC05MSw3ICs5NSw5IEBAIHN0YXRpYyBzdHJ1Y3QgYmxvY2tfZGV2aWNlX29wZXJh dGlvbnMgeGwKIAkub3BlbiA9IGJsa2lmX29wZW4sCiAJLnJlbGVhc2UgPSBibGtpZl9yZWxl YXNlLAogCS5pb2N0bCAgPSBibGtpZl9pb2N0bCwKKyNpZiBMSU5VWF9WRVJTSU9OX0NPREUg PiBLRVJORUxfVkVSU0lPTigyLDYsMTUpCiAJLmdldGdlbyA9IGJsa2lmX2dldGdlbworI2Vu ZGlmCiB9OwogCiBERUZJTkVfU1BJTkxPQ0soYmxraWZfaW9fbG9jayk7CkBAIC0xODYsNyAr MTkyLDExIEBAIHhsdmJkX2luaXRfYmxrX3F1ZXVlKHN0cnVjdCBnZW5kaXNrICpnZCwKIAlp ZiAocnEgPT0gTlVMTCkKIAkJcmV0dXJuIC0xOwogCisjaWYgTElOVVhfVkVSU0lPTl9DT0RF ID4gS0VSTkVMX1ZFUlNJT04oMiw2LDkpCiAJZWxldmF0b3JfaW5pdChycSwgIm5vb3AiKTsK KyNlbHNlCisJZWxldmF0b3JfaW5pdChycSwgJmVsZXZhdG9yX25vb3ApOworI2VuZGlmCiAK IAkvKiBIYXJkIHNlY3RvciBzaXplIGFuZCBtYXggc2VjdG9ycyBpbXBlcnNvbmF0ZSB0aGUg ZXF1aXYuIGhhcmR3YXJlLiAqLwogCWJsa19xdWV1ZV9oYXJkc2VjdF9zaXplKHJxLCBzZWN0 b3Jfc2l6ZSk7CmRpZmYgLXIgZjE0YTY3YTM1YmVjIC1yIDZlMDc1MTU2ZWE0NiBsaW51eC0y LjYteGVuLXNwYXJzZS9kcml2ZXJzL3hlbi9jb3JlL2ZlYXR1cmVzLmMKLS0tIGEvbGludXgt Mi42LXhlbi1zcGFyc2UvZHJpdmVycy94ZW4vY29yZS9mZWF0dXJlcy5jCVRodSBPY3QgMTIg MTc6NTM6NTEgMjAwNiArMDEwMAorKysgYi9saW51eC0yLjYteGVuLXNwYXJzZS9kcml2ZXJz L3hlbi9jb3JlL2ZlYXR1cmVzLmMJRnJpIE9jdCAxMyAwOTowNjo0NSAyMDA2ICswOTAwCkBA IC0xMCw2ICsxMCwxMCBAQAogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogI2luY2x1ZGUg PGFzbS9oeXBlcnZpc29yLmg+CiAjaW5jbHVkZSA8eGVuL2ZlYXR1cmVzLmg+CisKKyNpZmRl ZiBIQVZFX0NPTVBBVF9ICisjaW5jbHVkZSA8Y29tcGF0Lmg+CisjZW5kaWYKIAogdTggeGVu X2ZlYXR1cmVzW1hFTkZFQVRfTlJfU1VCTUFQUyAqIDMyXSBfX3JlYWRfbW9zdGx5OwogLyog Tm90IGEgR1BMIHN5bWJvbDogdXNlZCBpbiB1YmlxdWl0b3VzIG1hY3Jvcywgc28gdG9vIHJl c3RyaWN0aXZlLiAqLwpkaWZmIC1yIGYxNGE2N2EzNWJlYyAtciA2ZTA3NTE1NmVhNDYgbGlu dXgtMi42LXhlbi1zcGFyc2UvZHJpdmVycy94ZW4vY29yZS9nbnR0YWIuYwotLS0gYS9saW51 eC0yLjYteGVuLXNwYXJzZS9kcml2ZXJzL3hlbi9jb3JlL2dudHRhYi5jCVRodSBPY3QgMTIg MTc6NTM6NTEgMjAwNiArMDEwMAorKysgYi9saW51eC0yLjYteGVuLXNwYXJzZS9kcml2ZXJz L3hlbi9jb3JlL2dudHRhYi5jCUZyaSBPY3QgMTMgMDk6MDY6NDUgMjAwNiArMDkwMApAQCAt NDQsNiArNDQsMTAgQEAKICNpbmNsdWRlIDxhc20vaW8uaD4KICNpbmNsdWRlIDx4ZW4vaW50 ZXJmYWNlL21lbW9yeS5oPgogCisjaWZkZWYgSEFWRV9DT01QQVRfSAorI2luY2x1ZGUgPGNv bXBhdC5oPgorI2VuZGlmCisKIC8qIEV4dGVybmFsIHRvb2xzIHJlc2VydmUgZmlyc3QgZmV3 IGdyYW50IHRhYmxlIGVudHJpZXMuICovCiAjZGVmaW5lIE5SX1JFU0VSVkVEX0VOVFJJRVMg OAogCmRpZmYgLXIgZjE0YTY3YTM1YmVjIC1yIDZlMDc1MTU2ZWE0NiBsaW51eC0yLjYteGVu LXNwYXJzZS9kcml2ZXJzL3hlbi9uZXRmcm9udC9uZXRmcm9udC5jCi0tLSBhL2xpbnV4LTIu Ni14ZW4tc3BhcnNlL2RyaXZlcnMveGVuL25ldGZyb250L25ldGZyb250LmMJVGh1IE9jdCAx MiAxNzo1Mzo1MSAyMDA2ICswMTAwCisrKyBiL2xpbnV4LTIuNi14ZW4tc3BhcnNlL2RyaXZl cnMveGVuL25ldGZyb250L25ldGZyb250LmMJRnJpIE9jdCAxMyAwOTowNjo0NSAyMDA2ICsw OTAwCkBAIC02NCw2ICs2NCwxMCBAQAogI2luY2x1ZGUgPHhlbi9pbnRlcmZhY2UvZ3JhbnRf dGFibGUuaD4KICNpbmNsdWRlIDx4ZW4vZ250dGFiLmg+CiAKKyNpZmRlZiBIQVZFX0NPTVBB VF9ICisjaW5jbHVkZSA8Y29tcGF0Lmg+CisjZW5kaWYKKwogLyoKICAqIE11dHVhbGx5LWV4 Y2x1c2l2ZSBtb2R1bGUgb3B0aW9ucyB0byBzZWxlY3QgcmVjZWl2ZSBkYXRhIHBhdGg6CiAg KiAgcnhfY29weSA6IFBhY2tldHMgYXJlIGNvcGllZCBieSBuZXR3b3JrIGJhY2tlbmQgaW50 byBsb2NhbCBtZW1vcnkKZGlmZiAtciBmMTRhNjdhMzViZWMgLXIgNmUwNzUxNTZlYTQ2IGxp bnV4LTIuNi14ZW4tc3BhcnNlL2RyaXZlcnMveGVuL3hlbmJ1cy94ZW5idXNfY2xpZW50LmMK LS0tIGEvbGludXgtMi42LXhlbi1zcGFyc2UvZHJpdmVycy94ZW4veGVuYnVzL3hlbmJ1c19j bGllbnQuYwlUaHUgT2N0IDEyIDE3OjUzOjUxIDIwMDYgKzAxMDAKKysrIGIvbGludXgtMi42 LXhlbi1zcGFyc2UvZHJpdmVycy94ZW4veGVuYnVzL3hlbmJ1c19jbGllbnQuYwlGcmkgT2N0 IDEzIDA5OjA2OjQ1IDIwMDYgKzA5MDAKQEAgLTM0LDYgKzM0LDEwIEBACiAjaW5jbHVkZSA8 eGVuL2dudHRhYi5oPgogI2luY2x1ZGUgPHhlbi94ZW5idXMuaD4KICNpbmNsdWRlIDx4ZW4v ZHJpdmVyX3V0aWwuaD4KKworI2lmZGVmIEhBVkVfQ09NUEFUX0gKKyNpbmNsdWRlIDxjb21w YXQuaD4KKyNlbmRpZgogCiAvKiB4ZW5idXNfcHJvYmUuYyAqLwogZXh0ZXJuIGNoYXIgKmth c3ByaW50Zihjb25zdCBjaGFyICpmbXQsIC4uLik7CmRpZmYgLXIgZjE0YTY3YTM1YmVjIC1y IDZlMDc1MTU2ZWE0NiBsaW51eC0yLjYteGVuLXNwYXJzZS9kcml2ZXJzL3hlbi94ZW5idXMv eGVuYnVzX2NvbW1zLmMKLS0tIGEvbGludXgtMi42LXhlbi1zcGFyc2UvZHJpdmVycy94ZW4v eGVuYnVzL3hlbmJ1c19jb21tcy5jCVRodSBPY3QgMTIgMTc6NTM6NTEgMjAwNiArMDEwMAor KysgYi9saW51eC0yLjYteGVuLXNwYXJzZS9kcml2ZXJzL3hlbi94ZW5idXMveGVuYnVzX2Nv bW1zLmMJRnJpIE9jdCAxMyAwOTowNjo0NSAyMDA2ICswOTAwCkBAIC0zOSw2ICszOSwxMCBA QAogI2luY2x1ZGUgPHhlbi94ZW5idXMuaD4KICNpbmNsdWRlICJ4ZW5idXNfY29tbXMuaCIK IAorI2lmZGVmIEhBVkVfQ09NUEFUX0gKKyNpbmNsdWRlIDxjb21wYXQuaD4KKyNlbmRpZgor CiBzdGF0aWMgaW50IHhlbmJ1c19pcnE7CiAKIGV4dGVybiB2b2lkIHhlbmJ1c19wcm9iZSh2 b2lkICopOwpkaWZmIC1yIGYxNGE2N2EzNWJlYyAtciA2ZTA3NTE1NmVhNDYgbGludXgtMi42 LXhlbi1zcGFyc2UvZHJpdmVycy94ZW4veGVuYnVzL3hlbmJ1c19wcm9iZS5jCi0tLSBhL2xp bnV4LTIuNi14ZW4tc3BhcnNlL2RyaXZlcnMveGVuL3hlbmJ1cy94ZW5idXNfcHJvYmUuYwlU aHUgT2N0IDEyIDE3OjUzOjUxIDIwMDYgKzAxMDAKKysrIGIvbGludXgtMi42LXhlbi1zcGFy c2UvZHJpdmVycy94ZW4veGVuYnVzL3hlbmJ1c19wcm9iZS5jCUZyaSBPY3QgMTMgMDk6MDY6 NDUgMjAwNiArMDkwMApAQCAtNTYsNiArNTYsMTAgQEAKIAogI2luY2x1ZGUgInhlbmJ1c19j b21tcy5oIgogCisjaWZkZWYgSEFWRV9DT01QQVRfSAorI2luY2x1ZGUgPGNvbXBhdC5oPgor I2VuZGlmCisKIGludCB4ZW5fc3RvcmVfZXZ0Y2huOwogc3RydWN0IHhlbnN0b3JlX2RvbWFp bl9pbnRlcmZhY2UgKnhlbl9zdG9yZV9pbnRlcmZhY2U7CiBzdGF0aWMgdW5zaWduZWQgbG9u ZyB4ZW5fc3RvcmVfbWZuOwpAQCAtNjcsMTMgKzcxLDE3IEBAIHN0YXRpYyB2b2lkIHdhaXRf Zm9yX2RldmljZXMoc3RydWN0IHhlbmIKIHN0YXRpYyB2b2lkIHdhaXRfZm9yX2RldmljZXMo c3RydWN0IHhlbmJ1c19kcml2ZXIgKnhlbmRydik7CiAKIHN0YXRpYyBpbnQgeGVuYnVzX3By b2JlX2Zyb250ZW5kKGNvbnN0IGNoYXIgKnR5cGUsIGNvbnN0IGNoYXIgKm5hbWUpOworI2lm ZGVmIENPTkZJR19YRU5fQkFDS0VORAogc3RhdGljIGludCB4ZW5idXNfdWV2ZW50X2JhY2tl bmQoc3RydWN0IGRldmljZSAqZGV2LCBjaGFyICoqZW52cCwKIAkJCQkgaW50IG51bV9lbnZw LCBjaGFyICpidWZmZXIsIGludCBidWZmZXJfc2l6ZSk7CiBzdGF0aWMgaW50IHhlbmJ1c19w cm9iZV9iYWNrZW5kKGNvbnN0IGNoYXIgKnR5cGUsIGNvbnN0IGNoYXIgKmRvbWlkKTsKKyNl bmRpZgogCiBzdGF0aWMgaW50IHhlbmJ1c19kZXZfcHJvYmUoc3RydWN0IGRldmljZSAqX2Rl dik7CiBzdGF0aWMgaW50IHhlbmJ1c19kZXZfcmVtb3ZlKHN0cnVjdCBkZXZpY2UgKl9kZXYp OworI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA+IEtFUk5FTF9WRVJTSU9OKDIsNiwxNSkKIHN0 YXRpYyB2b2lkIHhlbmJ1c19kZXZfc2h1dGRvd24oc3RydWN0IGRldmljZSAqX2Rldik7Cisj ZW5kaWYKIAogLyogSWYgc29tZXRoaW5nIGluIGFycmF5IG9mIGlkcyBtYXRjaGVzIHRoaXMg ZGV2aWNlLCByZXR1cm4gaXQuICovCiBzdGF0aWMgY29uc3Qgc3RydWN0IHhlbmJ1c19kZXZp Y2VfaWQgKgpAQCAtMTc2LDEwICsxODQsMTIgQEAgc3RhdGljIGludCByZWFkX2JhY2tlbmRf ZGV0YWlscyhzdHJ1Y3QgeAogfQogCiAKKyNpZmRlZiBDT05GSUdfWEVOX0JBQ0tFTkQKIHN0 YXRpYyBpbnQgcmVhZF9mcm9udGVuZF9kZXRhaWxzKHN0cnVjdCB4ZW5idXNfZGV2aWNlICp4 ZW5kZXYpCiB7CiAJcmV0dXJuIHJlYWRfb3RoZXJlbmRfZGV0YWlscyh4ZW5kZXYsICJmcm9u dGVuZC1pZCIsICJmcm9udGVuZCIpOwogfQorI2VuZGlmCiAKIAogLyogQnVzIHR5cGUgZm9y IGZyb250ZW5kIGRyaXZlcnMuICovCkBAIC0xOTEsMTUgKzIwMSwxOCBAQCBzdGF0aWMgc3Ry dWN0IHhlbl9idXNfdHlwZSB4ZW5idXNfZnJvbnRlCiAJLmJ1cyA9IHsKIAkJLm5hbWUgICAg ID0gInhlbiIsCiAJCS5tYXRjaCAgICA9IHhlbmJ1c19tYXRjaCwKKyNpZiBMSU5VWF9WRVJT SU9OX0NPREUgPiBLRVJORUxfVkVSU0lPTigyLDYsMTUpCiAJCS5wcm9iZSAgICA9IHhlbmJ1 c19kZXZfcHJvYmUsCiAJCS5yZW1vdmUgICA9IHhlbmJ1c19kZXZfcmVtb3ZlLAogCQkuc2h1 dGRvd24gPSB4ZW5idXNfZGV2X3NodXRkb3duLAorI2VuZGlmCiAJfSwKIAkuZGV2ID0gewog CQkuYnVzX2lkID0gInhlbiIsCiAJfSwKIH07CiAKKyNpZmRlZiBDT05GSUdfWEVOX0JBQ0tF TkQKIC8qIGJhY2tlbmQvPHR5cGU+LzxmZS11dWlkPi88aWQ+ID0+IDx0eXBlPi08ZmUtZG9t aWQ+LTxpZD4gKi8KIHN0YXRpYyBpbnQgYmFja2VuZF9idXNfaWQoY2hhciBidXNfaWRbQlVT X0lEX1NJWkVdLCBjb25zdCBjaGFyICpub2RlbmFtZSkKIHsKQEAgLTI5OSw2ICszMTIsNyBA QCBzdGF0aWMgaW50IHhlbmJ1c191ZXZlbnRfYmFja2VuZChzdHJ1Y3QgCiAKIAlyZXR1cm4g MDsKIH0KKyNlbmRpZgogCiBzdGF0aWMgdm9pZCBvdGhlcmVuZF9jaGFuZ2VkKHN0cnVjdCB4 ZW5idXNfd2F0Y2ggKndhdGNoLAogCQkJICAgICBjb25zdCBjaGFyICoqdmVjLCB1bnNpZ25l ZCBpbnQgbGVuKQpAQCAtNDIzLDYgKzQzNyw3IEBAIHN0YXRpYyBpbnQgeGVuYnVzX2Rldl9y ZW1vdmUoc3RydWN0IGRldmkKIAlyZXR1cm4gMDsKIH0KIAorI2lmIExJTlVYX1ZFUlNJT05f Q09ERSA+IEtFUk5FTF9WRVJTSU9OKDIsNiwxNSkKIHN0YXRpYyB2b2lkIHhlbmJ1c19kZXZf c2h1dGRvd24oc3RydWN0IGRldmljZSAqX2RldikKIHsKIAlzdHJ1Y3QgeGVuYnVzX2Rldmlj ZSAqZGV2ID0gdG9feGVuYnVzX2RldmljZShfZGV2KTsKQEAgLTQ0Myw2ICs0NTgsNyBAQCBz dGF0aWMgdm9pZCB4ZW5idXNfZGV2X3NodXRkb3duKHN0cnVjdCBkCiAgb3V0OgogCXB1dF9k ZXZpY2UoJmRldi0+ZGV2KTsKIH0KKyNlbmRpZgogCiBzdGF0aWMgaW50IHhlbmJ1c19yZWdp c3Rlcl9kcml2ZXJfY29tbW9uKHN0cnVjdCB4ZW5idXNfZHJpdmVyICpkcnYsCiAJCQkJCSBz dHJ1Y3QgeGVuX2J1c190eXBlICpidXMpCkBAIC00NTEsNyArNDY3LDEzIEBAIHN0YXRpYyBp bnQgeGVuYnVzX3JlZ2lzdGVyX2RyaXZlcl9jb21tb24KIAogCWRydi0+ZHJpdmVyLm5hbWUg PSBkcnYtPm5hbWU7CiAJZHJ2LT5kcml2ZXIuYnVzID0gJmJ1cy0+YnVzOworI2lmIExJTlVY X1ZFUlNJT05fQ09ERSA+IEtFUk5FTF9WRVJTSU9OKDIsNiw5KQogCWRydi0+ZHJpdmVyLm93 bmVyID0gZHJ2LT5vd25lcjsKKyNlbmRpZgorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8IEtF Uk5FTF9WRVJTSU9OKDIsNiwxNikKKwlkcnYtPmRyaXZlci5wcm9iZSA9IHhlbmJ1c19kZXZf cHJvYmU7CisJZHJ2LT5kcml2ZXIucmVtb3ZlID0geGVuYnVzX2Rldl9yZW1vdmU7CisjZW5k aWYKIAogCW11dGV4X2xvY2soJnhlbndhdGNoX211dGV4KTsKIAlyZXQgPSBkcml2ZXJfcmVn aXN0ZXIoJmRydi0+ZHJpdmVyKTsKQEAgLTQ3Niw2ICs0OTgsNyBAQCBpbnQgeGVuYnVzX3Jl Z2lzdGVyX2Zyb250ZW5kKHN0cnVjdCB4ZW5iCiB9CiBFWFBPUlRfU1lNQk9MX0dQTCh4ZW5i dXNfcmVnaXN0ZXJfZnJvbnRlbmQpOwogCisjaWZkZWYgQ09ORklHX1hFTl9CQUNLRU5ECiBp bnQgeGVuYnVzX3JlZ2lzdGVyX2JhY2tlbmQoc3RydWN0IHhlbmJ1c19kcml2ZXIgKmRydikK IHsKIAlkcnYtPnJlYWRfb3RoZXJlbmRfZGV0YWlscyA9IHJlYWRfZnJvbnRlbmRfZGV0YWls czsKQEAgLTQ4Myw2ICs1MDYsNyBAQCBpbnQgeGVuYnVzX3JlZ2lzdGVyX2JhY2tlbmQoc3Ry dWN0IHhlbmJ1CiAJcmV0dXJuIHhlbmJ1c19yZWdpc3Rlcl9kcml2ZXJfY29tbW9uKGRydiwg JnhlbmJ1c19iYWNrZW5kKTsKIH0KIEVYUE9SVF9TWU1CT0xfR1BMKHhlbmJ1c19yZWdpc3Rl cl9iYWNrZW5kKTsKKyNlbmRpZgogCiB2b2lkIHhlbmJ1c191bnJlZ2lzdGVyX2RyaXZlcihz dHJ1Y3QgeGVuYnVzX2RyaXZlciAqZHJ2KQogewpAQCAtNTgxLDE0ICs2MDUsMjAgQEAgY2hh ciAqa2FzcHJpbnRmKGNvbnN0IGNoYXIgKmZtdCwgLi4uKQogfQogCiBzdGF0aWMgc3NpemVf dCB4ZW5kZXZfc2hvd19ub2RlbmFtZShzdHJ1Y3QgZGV2aWNlICpkZXYsCi0JCQkJICAgIHN0 cnVjdCBkZXZpY2VfYXR0cmlidXRlICphdHRyLCBjaGFyICpidWYpCisjaWYgTElOVVhfVkVS U0lPTl9DT0RFID4gS0VSTkVMX1ZFUlNJT04oMiw2LDEyKQorCQkJCSAgICBzdHJ1Y3QgZGV2 aWNlX2F0dHJpYnV0ZSAqYXR0ciwKKyNlbmRpZgorCQkJCSAgICBjaGFyICpidWYpCiB7CiAJ cmV0dXJuIHNwcmludGYoYnVmLCAiJXNcbiIsIHRvX3hlbmJ1c19kZXZpY2UoZGV2KS0+bm9k ZW5hbWUpOwogfQogREVWSUNFX0FUVFIobm9kZW5hbWUsIFNfSVJVU1IgfCBTX0lSR1JQIHwg U19JUk9USCwgeGVuZGV2X3Nob3dfbm9kZW5hbWUsIE5VTEwpOwogCiBzdGF0aWMgc3NpemVf dCB4ZW5kZXZfc2hvd19kZXZ0eXBlKHN0cnVjdCBkZXZpY2UgKmRldiwKLQkJCQkgICBzdHJ1 Y3QgZGV2aWNlX2F0dHJpYnV0ZSAqYXR0ciwgY2hhciAqYnVmKQorI2lmIExJTlVYX1ZFUlNJ T05fQ09ERSA+IEtFUk5FTF9WRVJTSU9OKDIsNiwxMikKKwkJCQkgICBzdHJ1Y3QgZGV2aWNl X2F0dHJpYnV0ZSAqYXR0ciwKKyNlbmRpZgorCQkJCSAgIGNoYXIgKmJ1ZikKIHsKIAlyZXR1 cm4gc3ByaW50ZihidWYsICIlc1xuIiwgdG9feGVuYnVzX2RldmljZShkZXYpLT5kZXZpY2V0 eXBlKTsKIH0KQEAgLTY2Nyw2ICs2OTcsNyBAQCBzdGF0aWMgaW50IHhlbmJ1c19wcm9iZV9m cm9udGVuZChjb25zdCBjCiAJcmV0dXJuIGVycjsKIH0KIAorI2lmZGVmIENPTkZJR19YRU5f QkFDS0VORAogLyogYmFja2VuZC88dHlwZW5hbWU+Lzxmcm9udGVuZC11dWlkPi88bmFtZT4g Ki8KIHN0YXRpYyBpbnQgeGVuYnVzX3Byb2JlX2JhY2tlbmRfdW5pdChjb25zdCBjaGFyICpk aXIsCiAJCQkJICAgICBjb25zdCBjaGFyICp0eXBlLApAQCAtNzE1LDYgKzc0Niw3IEBAIHN0 YXRpYyBpbnQgeGVuYnVzX3Byb2JlX2JhY2tlbmQoY29uc3QgY2gKIAlrZnJlZShub2RlbmFt ZSk7CiAJcmV0dXJuIGVycjsKIH0KKyNlbmRpZgogCiBzdGF0aWMgaW50IHhlbmJ1c19wcm9i ZV9kZXZpY2VfdHlwZShzdHJ1Y3QgeGVuX2J1c190eXBlICpidXMsIGNvbnN0IGNoYXIgKnR5 cGUpCiB7CkBAIC04MjMsNiArODU1LDcgQEAgc3RhdGljIHZvaWQgZnJvbnRlbmRfY2hhbmdl ZChzdHJ1Y3QgeGVuYgogCWRldl9jaGFuZ2VkKHZlY1tYU19XQVRDSF9QQVRIXSwgJnhlbmJ1 c19mcm9udGVuZCk7CiB9CiAKKyNpZmRlZiBDT05GSUdfWEVOX0JBQ0tFTkQKIHN0YXRpYyB2 b2lkIGJhY2tlbmRfY2hhbmdlZChzdHJ1Y3QgeGVuYnVzX3dhdGNoICp3YXRjaCwKIAkJCSAg ICBjb25zdCBjaGFyICoqdmVjLCB1bnNpZ25lZCBpbnQgbGVuKQogewpAQCAtODMwLDYgKzg2 Myw3IEBAIHN0YXRpYyB2b2lkIGJhY2tlbmRfY2hhbmdlZChzdHJ1Y3QgeGVuYnUKIAogCWRl dl9jaGFuZ2VkKHZlY1tYU19XQVRDSF9QQVRIXSwgJnhlbmJ1c19iYWNrZW5kKTsKIH0KKyNl bmRpZgogCiAvKiBXZSB3YXRjaCBmb3IgZGV2aWNlcyBhcHBlYXJpbmcgYW5kIHZhbmlzaGlu Zy4gKi8KIHN0YXRpYyBzdHJ1Y3QgeGVuYnVzX3dhdGNoIGZlX3dhdGNoID0gewpAQCAtODM3 LDEwICs4NzEsMTIgQEAgc3RhdGljIHN0cnVjdCB4ZW5idXNfd2F0Y2ggZmVfd2F0Y2ggPSB7 CiAJLmNhbGxiYWNrID0gZnJvbnRlbmRfY2hhbmdlZCwKIH07CiAKKyNpZmRlZiBDT05GSUdf WEVOX0JBQ0tFTkQKIHN0YXRpYyBzdHJ1Y3QgeGVuYnVzX3dhdGNoIGJlX3dhdGNoID0gewog CS5ub2RlID0gImJhY2tlbmQiLAogCS5jYWxsYmFjayA9IGJhY2tlbmRfY2hhbmdlZCwKIH07 CisjZW5kaWYKIAogc3RhdGljIGludCBzdXNwZW5kX2RldihzdHJ1Y3QgZGV2aWNlICpkZXYs IHZvaWQgKmRhdGEpCiB7CkBAIC05MTIsNyArOTQ4LDkgQEAgdm9pZCB4ZW5idXNfc3VzcGVu ZCh2b2lkKQogCURQUklOVEsoIiIpOwogCiAJYnVzX2Zvcl9lYWNoX2RldigmeGVuYnVzX2Zy b250ZW5kLmJ1cywgTlVMTCwgTlVMTCwgc3VzcGVuZF9kZXYpOworI2lmZGVmIENPTkZJR19Y RU5fQkFDS0VORAogCWJ1c19mb3JfZWFjaF9kZXYoJnhlbmJ1c19iYWNrZW5kLmJ1cywgTlVM TCwgTlVMTCwgc3VzcGVuZF9kZXYpOworI2VuZGlmCiAJeHNfc3VzcGVuZCgpOwogfQogRVhQ T1JUX1NZTUJPTF9HUEwoeGVuYnVzX3N1c3BlbmQpOwpAQCAtOTIyLDcgKzk2MCw5IEBAIHZv aWQgeGVuYnVzX3Jlc3VtZSh2b2lkKQogCXhiX2luaXRfY29tbXMoKTsKIAl4c19yZXN1bWUo KTsKIAlidXNfZm9yX2VhY2hfZGV2KCZ4ZW5idXNfZnJvbnRlbmQuYnVzLCBOVUxMLCBOVUxM LCByZXN1bWVfZGV2KTsKKyNpZmRlZiBDT05GSUdfWEVOX0JBQ0tFTkQKIAlidXNfZm9yX2Vh Y2hfZGV2KCZ4ZW5idXNfYmFja2VuZC5idXMsIE5VTEwsIE5VTEwsIHJlc3VtZV9kZXYpOwor I2VuZGlmCiB9CiBFWFBPUlRfU1lNQk9MX0dQTCh4ZW5idXNfcmVzdW1lKTsKIApAQCAtOTU3 LDExICs5OTcsMTUgQEAgdm9pZCB4ZW5idXNfcHJvYmUodm9pZCAqdW51c2VkKQogCiAJLyog RW51bWVyYXRlIGRldmljZXMgaW4geGVuc3RvcmUuICovCiAJeGVuYnVzX3Byb2JlX2Rldmlj ZXMoJnhlbmJ1c19mcm9udGVuZCk7CisjaWZkZWYgQ09ORklHX1hFTl9CQUNLRU5ECiAJeGVu YnVzX3Byb2JlX2RldmljZXMoJnhlbmJ1c19iYWNrZW5kKTsKKyNlbmRpZgogCiAJLyogV2F0 Y2ggZm9yIGNoYW5nZXMuICovCiAJcmVnaXN0ZXJfeGVuYnVzX3dhdGNoKCZmZV93YXRjaCk7 CisjaWZkZWYgQ09ORklHX1hFTl9CQUNLRU5ECiAJcmVnaXN0ZXJfeGVuYnVzX3dhdGNoKCZi ZV93YXRjaCk7CisjZW5kaWYKIAogCS8qIE5vdGlmeSBvdGhlcnMgdGhhdCB4ZW5zdG9yZSBp cyB1cCAqLwogCW5vdGlmaWVyX2NhbGxfY2hhaW4oJnhlbnN0b3JlX2NoYWluLCAwLCBOVUxM KTsKQEAgLTk3Myw2ICsxMDE3LDcgQEAgc3RhdGljIHN0cnVjdCBwcm9jX2Rpcl9lbnRyeSAq eHNkX2t2YV9pbgogc3RhdGljIHN0cnVjdCBwcm9jX2Rpcl9lbnRyeSAqeHNkX2t2YV9pbnRm Owogc3RhdGljIHN0cnVjdCBwcm9jX2Rpcl9lbnRyeSAqeHNkX3BvcnRfaW50ZjsKIAorI2lm ZGVmIENPTkZJR19YRU5fUFJJVklMRUdFRF9HVUVTVAogc3RhdGljIGludCB4c2Rfa3ZhX21t YXAoc3RydWN0IGZpbGUgKmZpbGUsIHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hKQogewog CXNpemVfdCBzaXplID0gdm1hLT52bV9lbmQgLSB2bWEtPnZtX3N0YXJ0OwpAQCAtOTg2LDYg KzEwMzEsOSBAQCBzdGF0aWMgaW50IHhzZF9rdmFfbW1hcChzdHJ1Y3QgZmlsZSAqZmlsCiAK IAlyZXR1cm4gMDsKIH0KKyNlbHNlCisjZGVmaW5lIHhzZF9rdmFfbW1hcCBOVUxMCisjZW5k aWYKIAogc3RhdGljIGludCB4c2Rfa3ZhX3JlYWQoY2hhciAqcGFnZSwgY2hhciAqKnN0YXJ0 LCBvZmZfdCBvZmYsCiAJCQlpbnQgY291bnQsIGludCAqZW9mLCB2b2lkICpkYXRhKQpAQCAt MTAyMCw3ICsxMDY4LDkgQEAgc3RhdGljIGludCBfX2luaXQgeGVuYnVzX3Byb2JlX2luaXQo dm9pZAogCiAJLyogUmVnaXN0ZXIgb3Vyc2VsdmVzIHdpdGggdGhlIGtlcm5lbCBidXMgc3Vi c3lzdGVtICovCiAJYnVzX3JlZ2lzdGVyKCZ4ZW5idXNfZnJvbnRlbmQuYnVzKTsKKyNpZmRl ZiBDT05GSUdfWEVOX0JBQ0tFTkQKIAlidXNfcmVnaXN0ZXIoJnhlbmJ1c19iYWNrZW5kLmJ1 cyk7CisjZW5kaWYKIAogCS8qCiAJICogRG9tYWluMCBkb2Vzbid0IGhhdmUgYSBzdG9yZV9l dnRjaG4gb3Igc3RvcmVfbWZuIHlldC4KQEAgLTEwOTEsNyArMTE0MSw5IEBAIHN0YXRpYyBp bnQgX19pbml0IHhlbmJ1c19wcm9iZV9pbml0KHZvaWQKIAogCS8qIFJlZ2lzdGVyIG91cnNl bHZlcyB3aXRoIHRoZSBrZXJuZWwgZGV2aWNlIHN1YnN5c3RlbSAqLwogCWRldmljZV9yZWdp c3RlcigmeGVuYnVzX2Zyb250ZW5kLmRldik7CisjaWZkZWYgQ09ORklHX1hFTl9CQUNLRU5E CiAJZGV2aWNlX3JlZ2lzdGVyKCZ4ZW5idXNfYmFja2VuZC5kZXYpOworI2VuZGlmCiAKIAlp ZiAoIWlzX2luaXRpYWxfeGVuZG9tYWluKCkpCiAJCXhlbmJ1c19wcm9iZShOVUxMKTsKZGlm ZiAtciBmMTRhNjdhMzViZWMgLXIgNmUwNzUxNTZlYTQ2IGxpbnV4LTIuNi14ZW4tc3BhcnNl L2RyaXZlcnMveGVuL3hlbmJ1cy94ZW5idXNfeHMuYwotLS0gYS9saW51eC0yLjYteGVuLXNw YXJzZS9kcml2ZXJzL3hlbi94ZW5idXMveGVuYnVzX3hzLmMJVGh1IE9jdCAxMiAxNzo1Mzo1 MSAyMDA2ICswMTAwCisrKyBiL2xpbnV4LTIuNi14ZW4tc3BhcnNlL2RyaXZlcnMveGVuL3hl bmJ1cy94ZW5idXNfeHMuYwlGcmkgT2N0IDEzIDA5OjA2OjQ1IDIwMDYgKzA5MDAKQEAgLTQy LDggKzQyLDEzIEBACiAjaW5jbHVkZSA8bGludXgvZmNudGwuaD4KICNpbmNsdWRlIDxsaW51 eC9rdGhyZWFkLmg+CiAjaW5jbHVkZSA8bGludXgvcndzZW0uaD4KKyNpbmNsdWRlIDxsaW51 eC9tb2R1bGUuaD4KICNpbmNsdWRlIDx4ZW4veGVuYnVzLmg+CiAjaW5jbHVkZSAieGVuYnVz X2NvbW1zLmgiCisKKyNpZmRlZiBIQVZFX0NPTVBBVF9ICisjaW5jbHVkZSA8Y29tcGF0Lmg+ CisjZW5kaWYKIAogLyogeGVuYnVzX3Byb2JlLmMgKi8KIGV4dGVybiBjaGFyICprYXNwcmlu dGYoY29uc3QgY2hhciAqZm10LCAuLi4pOwpkaWZmIC1yIGYxNGE2N2EzNWJlYyAtciA2ZTA3 NTE1NmVhNDYgbGludXgtMi42LXhlbi1zcGFyc2UvaW5jbHVkZS9hc20taTM4Ni9tYWNoLXhl bi9hc20vc3luY2hfYml0b3BzLmgKLS0tIGEvbGludXgtMi42LXhlbi1zcGFyc2UvaW5jbHVk ZS9hc20taTM4Ni9tYWNoLXhlbi9hc20vc3luY2hfYml0b3BzLmgJVGh1IE9jdCAxMiAxNzo1 Mzo1MSAyMDA2ICswMTAwCisrKyBiL2xpbnV4LTIuNi14ZW4tc3BhcnNlL2luY2x1ZGUvYXNt LWkzODYvbWFjaC14ZW4vYXNtL3N5bmNoX2JpdG9wcy5oCUZyaSBPY3QgMTMgMDk6MDY6NDUg MjAwNiArMDkwMApAQCAtOCw2ICs4LDEwIEBACiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L2Nv bmZpZy5oPgorCisjaWZkZWYgSEFWRV9DT01QQVRfSAorI2luY2x1ZGUgPGNvbXBhdC5oPgor I2VuZGlmCiAKICNkZWZpbmUgQUREUiAoKih2b2xhdGlsZSBsb25nICopIGFkZHIpCiAKZGlm ZiAtciBmMTRhNjdhMzViZWMgLXIgNmUwNzUxNTZlYTQ2IGxpbnV4LTIuNi14ZW4tc3BhcnNl L2luY2x1ZGUveGVuL3hlbmJ1cy5oCi0tLSBhL2xpbnV4LTIuNi14ZW4tc3BhcnNlL2luY2x1 ZGUveGVuL3hlbmJ1cy5oCVRodSBPY3QgMTIgMTc6NTM6NTEgMjAwNiArMDEwMAorKysgYi9s aW51eC0yLjYteGVuLXNwYXJzZS9pbmNsdWRlL3hlbi94ZW5idXMuaAlGcmkgT2N0IDEzIDA5 OjA2OjQ1IDIwMDYgKzA5MDAKQEAgLTM4LDEwICszOCwxNSBAQAogI2luY2x1ZGUgPGxpbnV4 L25vdGlmaWVyLmg+CiAjaW5jbHVkZSA8bGludXgvbXV0ZXguaD4KICNpbmNsdWRlIDxsaW51 eC9jb21wbGV0aW9uLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgogI2luY2x1ZGUgPHhl bi9pbnRlcmZhY2UveGVuLmg+CiAjaW5jbHVkZSA8eGVuL2ludGVyZmFjZS9ncmFudF90YWJs ZS5oPgogI2luY2x1ZGUgPHhlbi9pbnRlcmZhY2UvaW8veGVuYnVzLmg+CiAjaW5jbHVkZSA8 eGVuL2ludGVyZmFjZS9pby94c193aXJlLmg+CisKKyNpZmRlZiBIQVZFX0NPTVBBVF9ICisj aW5jbHVkZSA8Y29tcGF0Lmg+CisjZW5kaWYKIAogLyogUmVnaXN0ZXIgY2FsbGJhY2sgdG8g d2F0Y2ggdGhpcyBub2RlLiAqLwogc3RydWN0IHhlbmJ1c193YXRjaApkaWZmIC1yIGYxNGE2 N2EzNWJlYyAtciA2ZTA3NTE1NmVhNDYgdW5tb2RpZmllZF9kcml2ZXJzL2xpbnV4LTIuNi9v dmVycmlkZXMubWsKLS0tIGEvdW5tb2RpZmllZF9kcml2ZXJzL2xpbnV4LTIuNi9vdmVycmlk ZXMubWsJVGh1IE9jdCAxMiAxNzo1Mzo1MSAyMDA2ICswMTAwCisrKyBiL3VubW9kaWZpZWRf ZHJpdmVycy9saW51eC0yLjYvb3ZlcnJpZGVzLm1rCUZyaSBPY3QgMTMgMDk6MDY6NDUgMjAw NiArMDkwMApAQCAtOSw0ICs5LDQgQEAgRVhUUkFfQ0ZMQUdTICs9IC1EQ09ORklHX1hFTl9C TEtERVZfR1JBTgogRVhUUkFfQ0ZMQUdTICs9IC1EQ09ORklHX1hFTl9CTEtERVZfR1JBTlQg LURYRU5fRVZUQ0hOX01BU0tfT1BTCiBFWFRSQV9DRkxBR1MgKz0gLURDT05GSUdfWEVOX05F VERFVl9HUkFOVF9SWCAtRENPTkZJR19YRU5fTkVUREVWX0dSQU5UX1RYCiBFWFRSQV9DRkxB R1MgKz0gLURfX1hFTl9JTlRFUkZBQ0VfVkVSU0lPTl9fPTB4MDAwMzAyMDIKLUVYVFJBX0NG TEFHUyArPSAtSSQoTSkvaW5jbHVkZQorRVhUUkFfQ0ZMQUdTICs9IC1JJChNKS9pbmNsdWRl IC1JJChNKS9jb21wYXQtaW5jbHVkZSAtREhBVkVfQ09NUEFUX0gKZGlmZiAtciBmMTRhNjdh MzViZWMgLXIgNmUwNzUxNTZlYTQ2IHVubW9kaWZpZWRfZHJpdmVycy9saW51eC0yLjYvcGxh dGZvcm0tcGNpL0tidWlsZAotLS0gYS91bm1vZGlmaWVkX2RyaXZlcnMvbGludXgtMi42L3Bs YXRmb3JtLXBjaS9LYnVpbGQJVGh1IE9jdCAxMiAxNzo1Mzo1MSAyMDA2ICswMTAwCisrKyBi L3VubW9kaWZpZWRfZHJpdmVycy9saW51eC0yLjYvcGxhdGZvcm0tcGNpL0tidWlsZAlGcmkg T2N0IDEzIDA5OjA2OjQ1IDIwMDYgKzA5MDAKQEAgLTQsNCArNCwxMCBAQCBvYmotbSA6PSB4 ZW4tcGxhdGZvcm0tcGNpLm8KIAogRVhUUkFfQ0ZMQUdTICs9IC1JJChNKS9wbGF0Zm9ybS1w Y2kKIAoteGVuLXBsYXRmb3JtLXBjaS1vYmpzIDo9IGV2dGNobi5vIHBsYXRmb3JtLXBjaS5v IGdudHRhYi5vIHhlbl9zdXBwb3J0Lm8gZmVhdHVyZXMubworeGVuLXBsYXRmb3JtLXBjaS1v YmpzIDo9Cit4ZW4tcGxhdGZvcm0tcGNpLW9ianMgKz0gcGxhdGZvcm0tcGNpLm8KK3hlbi1w bGF0Zm9ybS1wY2ktb2JqcyArPSBmZWF0dXJlcy5vCit4ZW4tcGxhdGZvcm0tcGNpLW9ianMg Kz0gZXZ0Y2huLm8KK3hlbi1wbGF0Zm9ybS1wY2ktb2JqcyArPSBnbnR0YWIubworeGVuLXBs YXRmb3JtLXBjaS1vYmpzICs9IHhlbl9zdXBwb3J0Lm8KK3hlbi1wbGF0Zm9ybS1wY2ktb2Jq cyArPSBjb21wYXQubwpkaWZmIC1yIGYxNGE2N2EzNWJlYyAtciA2ZTA3NTE1NmVhNDYgdW5t b2RpZmllZF9kcml2ZXJzL2xpbnV4LTIuNi9wbGF0Zm9ybS1wY2kvZXZ0Y2huLmMKLS0tIGEv dW5tb2RpZmllZF9kcml2ZXJzL2xpbnV4LTIuNi9wbGF0Zm9ybS1wY2kvZXZ0Y2huLmMJVGh1 IE9jdCAxMiAxNzo1Mzo1MSAyMDA2ICswMTAwCisrKyBiL3VubW9kaWZpZWRfZHJpdmVycy9s aW51eC0yLjYvcGxhdGZvcm0tcGNpL2V2dGNobi5jCUZyaSBPY3QgMTMgMDk6MDY6NDUgMjAw NiArMDkwMApAQCAtMzUsNiArMzUsMTAgQEAKICNpbmNsdWRlIDx4ZW4vaW50ZXJmYWNlL2h2 bS9pb3JlcS5oPgogI2luY2x1ZGUgPHhlbi9mZWF0dXJlcy5oPgogI2luY2x1ZGUgInBsYXRm b3JtLXBjaS5oIgorCisjaWZkZWYgSEFWRV9DT01QQVRfSAorI2luY2x1ZGUgPGNvbXBhdC5o PgorI2VuZGlmCiAKIHZvaWQgKnNoYXJlZF9pbmZvX2FyZWE7CiAKZGlmZiAtciBmMTRhNjdh MzViZWMgLXIgNmUwNzUxNTZlYTQ2IHVubW9kaWZpZWRfZHJpdmVycy9saW51eC0yLjYvcGxh dGZvcm0tcGNpL3BsYXRmb3JtLXBjaS5jCi0tLSBhL3VubW9kaWZpZWRfZHJpdmVycy9saW51 eC0yLjYvcGxhdGZvcm0tcGNpL3BsYXRmb3JtLXBjaS5jCVRodSBPY3QgMTIgMTc6NTM6NTEg MjAwNiArMDEwMAorKysgYi91bm1vZGlmaWVkX2RyaXZlcnMvbGludXgtMi42L3BsYXRmb3Jt LXBjaS9wbGF0Zm9ybS1wY2kuYwlGcmkgT2N0IDEzIDA5OjA2OjQ1IDIwMDYgKzA5MDAKQEAg LTM4LDYgKzM4LDEwIEBACiAKICNpbmNsdWRlICJwbGF0Zm9ybS1wY2kuaCIKIAorI2lmZGVm IEhBVkVfQ09NUEFUX0gKKyNpbmNsdWRlIDxjb21wYXQuaD4KKyNlbmRpZgorCiAjZGVmaW5l IERSVl9OQU1FICAgICJ4ZW4tcGxhdGZvcm0tcGNpIgogI2RlZmluZSBEUlZfVkVSU0lPTiAi MC4xMCIKICNkZWZpbmUgRFJWX1JFTERBVEUgIjAzLzAzLzIwMDUiCmRpZmYgLXIgZjE0YTY3 YTM1YmVjIC1yIDZlMDc1MTU2ZWE0NiB1bm1vZGlmaWVkX2RyaXZlcnMvbGludXgtMi42L3Bs YXRmb3JtLXBjaS94ZW5fc3VwcG9ydC5jCi0tLSBhL3VubW9kaWZpZWRfZHJpdmVycy9saW51 eC0yLjYvcGxhdGZvcm0tcGNpL3hlbl9zdXBwb3J0LmMJVGh1IE9jdCAxMiAxNzo1Mzo1MSAy MDA2ICswMTAwCisrKyBiL3VubW9kaWZpZWRfZHJpdmVycy9saW51eC0yLjYvcGxhdGZvcm0t cGNpL3hlbl9zdXBwb3J0LmMJRnJpIE9jdCAxMyAwOTowNjo0NSAyMDA2ICswOTAwCkBAIC0y Niw2ICsyNiwxMCBAQAogI2luY2x1ZGUgPGFzbS9oeXBlcnZpc29yLmg+CiAjaW5jbHVkZSAi cGxhdGZvcm0tcGNpLmgiCiAKKyNpZmRlZiBIQVZFX0NPTVBBVF9ICisjaW5jbHVkZSA8Y29t cGF0Lmg+CisjZW5kaWYKKwogdm9pZCB4ZW5fbWFjaHBoeXNfdXBkYXRlKHVuc2lnbmVkIGxv bmcgbWZuLCB1bnNpZ25lZCBsb25nIHBmbikKIHsKIAlCVUcoKTsKZGlmZiAtciBmMTRhNjdh MzViZWMgLXIgNmUwNzUxNTZlYTQ2IHVubW9kaWZpZWRfZHJpdmVycy9saW51eC0yLjYvYmxr ZnJvbnQvTWFrZWZpbGUKLS0tIC9kZXYvbnVsbAlUaHUgSmFuIDAxIDAwOjAwOjAwIDE5NzAg KzAwMDAKKysrIGIvdW5tb2RpZmllZF9kcml2ZXJzL2xpbnV4LTIuNi9ibGtmcm9udC9NYWtl ZmlsZQlGcmkgT2N0IDEzIDA5OjA2OjQ1IDIwMDYgKzA5MDAKQEAgLTAsMCArMSwzIEBACitp Zm5lcSAoJChLRVJORUxSRUxFQVNFKSwpCitpbmNsdWRlICQoc3JjKS9LYnVpbGQKK2VuZGlm CmRpZmYgLXIgZjE0YTY3YTM1YmVjIC1yIDZlMDc1MTU2ZWE0NiB1bm1vZGlmaWVkX2RyaXZl cnMvbGludXgtMi42L2NvbXBhdC1pbmNsdWRlL2FzbS1nZW5lcmljL3BndGFibGUtbm9wbWQu aAotLS0gL2Rldi9udWxsCVRodSBKYW4gMDEgMDA6MDA6MDAgMTk3MCArMDAwMAorKysgYi91 bm1vZGlmaWVkX2RyaXZlcnMvbGludXgtMi42L2NvbXBhdC1pbmNsdWRlL2FzbS1nZW5lcmlj L3BndGFibGUtbm9wbWQuaAlGcmkgT2N0IDEzIDA5OjA2OjQ1IDIwMDYgKzA5MDAKQEAgLTAs MCArMSwxNCBAQAorI2lmbmRlZiBfUEdUQUJMRV9OT1BNRF9ICisjZGVmaW5lIF9QR1RBQkxF X05PUE1EX0gKKworI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA+IEtFUk5FTF9WRVJTSU9OKDIs NiwxMCkKKyNlcnJvciAiVGhpcyB2ZXJzaW9uIG9mIExpbnV4IHNob3VsZCBub3QgbmVlZCBj b21wYXQgcGd0YWJsZS1ub3BtZC5oIgorI2VuZGlmCisKKyNkZWZpbmUgcHVkX3QgcGdkX3QK KyNkZWZpbmUgcHVkX29mZnNldChkLCB2YSkgZAorI2RlZmluZSBwdWRfbm9uZShwdWQpICAg ICAgICAgICAwCisjZGVmaW5lIHB1ZF9wcmVzZW50KHB1ZCkgICAgICAgIDEKKyNkZWZpbmUg UFRSU19QRVJfUFVEICAgICAgICAgICAgMQorCisjZW5kaWYgLyogX1BHVEFCTEVfTk9QTURf SCAqLwpkaWZmIC1yIGYxNGE2N2EzNWJlYyAtciA2ZTA3NTE1NmVhNDYgdW5tb2RpZmllZF9k cml2ZXJzL2xpbnV4LTIuNi9jb21wYXQtaW5jbHVkZS9hc20tZ2VuZXJpYy9wZ3RhYmxlLW5v cHVkLmgKLS0tIC9kZXYvbnVsbAlUaHUgSmFuIDAxIDAwOjAwOjAwIDE5NzAgKzAwMDAKKysr IGIvdW5tb2RpZmllZF9kcml2ZXJzL2xpbnV4LTIuNi9jb21wYXQtaW5jbHVkZS9hc20tZ2Vu ZXJpYy9wZ3RhYmxlLW5vcHVkLmgJRnJpIE9jdCAxMyAwOTowNjo0NSAyMDA2ICswOTAwCkBA IC0wLDAgKzEsMTQgQEAKKyNpZm5kZWYgX1BHVEFCTEVfTk9QVURfSAorI2RlZmluZSBfUEdU QUJMRV9OT1BVRF9ICisKKyNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPiBLRVJORUxfVkVSU0lP TigyLDYsMTApCisjZXJyb3IgIlRoaXMgdmVyc2lvbiBvZiBMaW51eCBzaG91bGQgbm90IG5l ZWQgY29tcGF0IHBndGFibGUtbm9wdWQuaCIKKyNlbmRpZgorCisjZGVmaW5lIHB1ZF90IHBn ZF90CisjZGVmaW5lIHB1ZF9vZmZzZXQoZCwgdmEpIGQKKyNkZWZpbmUgcHVkX25vbmUocHVk KSAgICAgICAgICAgMAorI2RlZmluZSBwdWRfcHJlc2VudChwdWQpICAgICAgICAxCisjZGVm aW5lIFBUUlNfUEVSX1BVRCAgICAgICAgICAgIDEKKworI2VuZGlmIC8qIF9QR1RBQkxFX05P UFVEX0ggKi8KZGlmZiAtciBmMTRhNjdhMzViZWMgLXIgNmUwNzUxNTZlYTQ2IHVubW9kaWZp ZWRfZHJpdmVycy9saW51eC0yLjYvY29tcGF0LWluY2x1ZGUvY29tcGF0LmgKLS0tIC9kZXYv bnVsbAlUaHUgSmFuIDAxIDAwOjAwOjAwIDE5NzAgKzAwMDAKKysrIGIvdW5tb2RpZmllZF9k cml2ZXJzL2xpbnV4LTIuNi9jb21wYXQtaW5jbHVkZS9jb21wYXQuaAlGcmkgT2N0IDEzIDA5 OjA2OjQ1IDIwMDYgKzA5MDAKQEAgLTAsMCArMSw1MiBAQAorI2lmbmRlZiBDT01QQVRfSU5D TFVERV9DT01QQVRfSAorI2RlZmluZSBDT01QQVRfSU5DTFVERV9DT01QQVRfSAorCisjaW5j bHVkZSA8bGludXgvdmVyc2lvbi5oPgorCisjaW5jbHVkZSA8bGludXgvc2xhYi5oPgorI2lu Y2x1ZGUgPGxpbnV4L3NwaW5sb2NrLmg+CisKKyNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPCBL RVJORUxfVkVSU0lPTigyLDYsMTQpCisvKioKKyAqIGt6YWxsb2MgLSBhbGxvY2F0ZSBtZW1v cnkuIFRoZSBtZW1vcnkgaXMgc2V0IHRvIHplcm8uCisgKiBAc2l6ZTogaG93IG1hbnkgYnl0 ZXMgb2YgbWVtb3J5IGFyZSByZXF1aXJlZC4KKyAqIEBmbGFnczogdGhlIHR5cGUgb2YgbWVt b3J5IHRvIGFsbG9jYXRlLgorICovCitzdGF0aWMgaW5saW5lIHZvaWQgKmt6YWxsb2Moc2l6 ZV90IHNpemUsIGludCBmbGFncykKK3sKKyAgICAgICAgdm9pZCAqcmV0ID0ga21hbGxvYyhz aXplLCBmbGFncyk7CisgICAgICAgIGlmIChyZXQpCisgICAgICAgICAgICAgICAgbWVtc2V0 KHJldCwgMCwgc2l6ZSk7CisgICAgICAgIHJldHVybiByZXQ7Cit9CisjZW5kaWYKKworI2lm IGRlZmluZWQoX19MSU5VWF9DT01QSUxFUl9IKSAmJiAhZGVmaW5lZChfX2Fsd2F5c19pbmxp bmUpCisjZGVmaW5lIF9fYWx3YXlzX2lubGluZSBpbmxpbmUKKyNlbmRpZgorCisjaWYgZGVm aW5lZChfX0xJTlVYX1NQSU5MT0NLX0gpICYmICFkZWZpbmVkKERFRklORV9TUElOTE9DSykK KyNkZWZpbmUgREVGSU5FX1NQSU5MT0NLKHgpIHNwaW5sb2NrX3QgeCA9IFNQSU5fTE9DS19V TkxPQ0tFRAorI2VuZGlmCisKKyNpZiBkZWZpbmVkKF9MSU5VWF9JTklUX0gpICYmICFkZWZp bmVkKF9faW5pdCkKKyNkZWZpbmUgX19pbml0CisjZW5kaWYKKworI2lmIGRlZmluZWQoX19M SU5VWF9DQUNIRV9IKSAmJiAhZGVmaW5lZChfX3JlYWRfbW9zdGx5KQorI2RlZmluZSBfX3Jl YWRfbW9zdGx5CisjZW5kaWYKKworI2lmIGRlZmluZWQoX0xJTlVYX01NX0gpICYmIExJTlVY X1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDIsNiwxMCkKK3Vuc2lnbmVkIGxvbmcg dm1hbGxvY190b19wZm4odm9pZCAqYWRkcik7CisjZW5kaWYKKworI2lmIGRlZmluZWQoX0xJ TlVYX0JMS0RFVl9IKSAmJiBMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigy LDYsMTYpCisjZGVmaW5lIGVuZF90aGF0X3JlcXVlc3RfbGFzdChyZXEsIHVwdG9kYXRlKSBl bmRfdGhhdF9yZXF1ZXN0X2xhc3QocmVxKQorI2VuZGlmCisKKyNpZiBMSU5VWF9WRVJTSU9O X0NPREUgPCBLRVJORUxfVkVSU0lPTigyLDYsMTQpCitzaWduZWQgbG9uZyBfX3NjaGVkIHNj aGVkdWxlX3RpbWVvdXRfaW50ZXJydXB0aWJsZShzaWduZWQgbG9uZyB0aW1lb3V0KTsKKyNl bmRpZgorCisjZW5kaWYgLyogIUNPTVBBVF9JTkNMVURFX0NPTVBBVF9IICovCmRpZmYgLXIg ZjE0YTY3YTM1YmVjIC1yIDZlMDc1MTU2ZWE0NiB1bm1vZGlmaWVkX2RyaXZlcnMvbGludXgt Mi42L2NvbXBhdC1pbmNsdWRlL2xpbnV4L2lvLmgKLS0tIC9kZXYvbnVsbAlUaHUgSmFuIDAx IDAwOjAwOjAwIDE5NzAgKzAwMDAKKysrIGIvdW5tb2RpZmllZF9kcml2ZXJzL2xpbnV4LTIu Ni9jb21wYXQtaW5jbHVkZS9saW51eC9pby5oCUZyaSBPY3QgMTMgMDk6MDY6NDUgMjAwNiAr MDkwMApAQCAtMCwwICsxLDEwIEBACisjaWZuZGVmIF9MSU5VWF9JT19ICisjZGVmaW5lIF9M SU5VWF9JT19ICisKKyNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPiBLRVJORUxfVkVSU0lPTigy LDYsMTUpCisjZXJyb3IgIlRoaXMgdmVyc2lvbiBvZiBMaW51eCBzaG91bGQgbm90IG5lZWQg Y29tcGF0IGxpbnV4L2lvLmgiCisjZW5kaWYKKworI2luY2x1ZGUgPGFzbS9pby5oPgorCisj ZW5kaWYKZGlmZiAtciBmMTRhNjdhMzViZWMgLXIgNmUwNzUxNTZlYTQ2IHVubW9kaWZpZWRf ZHJpdmVycy9saW51eC0yLjYvY29tcGF0LWluY2x1ZGUvbGludXgvbXV0ZXguaAotLS0gL2Rl di9udWxsCVRodSBKYW4gMDEgMDA6MDA6MDAgMTk3MCArMDAwMAorKysgYi91bm1vZGlmaWVk X2RyaXZlcnMvbGludXgtMi42L2NvbXBhdC1pbmNsdWRlL2xpbnV4L211dGV4LmgJRnJpIE9j dCAxMyAwOTowNjo0NSAyMDA2ICswOTAwCkBAIC0wLDAgKzEsMjkgQEAKKy8qCisgKiBDb3B5 cmlnaHQgKGMpIDIwMDYgQ2lzY28gU3lzdGVtcy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg KgorICogVGhpcyBmaWxlIGlzIHJlbGVhc2VkIHVuZGVyIHRoZSBHUEx2Mi4KKyAqLworCisv KiBtdXRleCBjb21wYXRpYmlsaXR5IGZvciBwcmUtMi42LjE2IGtlcm5lbHMgKi8KKworI2lm bmRlZiBfX0xJTlVYX01VVEVYX0gKKyNkZWZpbmUgX19MSU5VWF9NVVRFWF9ICisKKyNpbmNs dWRlIDxsaW51eC92ZXJzaW9uLmg+CisjaW5jbHVkZSA8YXNtL3NlbWFwaG9yZS5oPgorCisj aWYgTElOVVhfVkVSU0lPTl9DT0RFID4gS0VSTkVMX1ZFUlNJT04oMiw2LDE1KQorI2Vycm9y ICJUaGlzIHZlcnNpb24gb2YgTGludXggc2hvdWxkIG5vdCBuZWVkIGNvbXBhdCBtdXRleC5o IgorI2VuZGlmCisKKyNkZWZpbmUgbXV0ZXggc2VtYXBob3JlCisjZGVmaW5lIERFRklORV9N VVRFWChmb28pIERFQ0xBUkVfTVVURVgoZm9vKQorI2RlZmluZSBtdXRleF9pbml0KGZvbykg aW5pdF9NVVRFWChmb28pCisjZGVmaW5lIG11dGV4X2xvY2soZm9vKSBkb3duKGZvbykKKyNk ZWZpbmUgbXV0ZXhfbG9ja19pbnRlcnJ1cHRpYmxlKGZvbykgZG93bl9pbnRlcnJ1cHRpYmxl KGZvbykKKy8qIHRoaXMgZnVuY3Rpb24gZm9sbG93cyB0aGUgc3Bpbl90cnlsb2NrKCkgY29u dmVudGlvbiwgc28gICAgICAgICoKKyAqIGl0IGlzIG5lZ2F0ZWQgdG8gdGhlIGRvd25fdHJ5 bG9jaygpIHJldHVybiB2YWx1ZXMhIEJlIGNhcmVmdWwgICovCisjZGVmaW5lIG11dGV4X3Ry eWxvY2soZm9vKSAhZG93bl90cnlsb2NrKGZvbykKKyNkZWZpbmUgbXV0ZXhfdW5sb2NrKGZv bykgdXAoZm9vKQorCisjZW5kaWYgLyogX19MSU5VWF9NVVRFWF9IICovCmRpZmYgLXIgZjE0 YTY3YTM1YmVjIC1yIDZlMDc1MTU2ZWE0NiB1bm1vZGlmaWVkX2RyaXZlcnMvbGludXgtMi42 L25ldGZyb250L01ha2VmaWxlCi0tLSAvZGV2L251bGwJVGh1IEphbiAwMSAwMDowMDowMCAx OTcwICswMDAwCisrKyBiL3VubW9kaWZpZWRfZHJpdmVycy9saW51eC0yLjYvbmV0ZnJvbnQv TWFrZWZpbGUJRnJpIE9jdCAxMyAwOTowNjo0NSAyMDA2ICswOTAwCkBAIC0wLDAgKzEsMyBA QAoraWZuZXEgKCQoS0VSTkVMUkVMRUFTRSksKQoraW5jbHVkZSAkKHNyYykvS2J1aWxkCitl bmRpZgpkaWZmIC1yIGYxNGE2N2EzNWJlYyAtciA2ZTA3NTE1NmVhNDYgdW5tb2RpZmllZF9k cml2ZXJzL2xpbnV4LTIuNi9wbGF0Zm9ybS1wY2kvTWFrZWZpbGUKLS0tIC9kZXYvbnVsbAlU aHUgSmFuIDAxIDAwOjAwOjAwIDE5NzAgKzAwMDAKKysrIGIvdW5tb2RpZmllZF9kcml2ZXJz L2xpbnV4LTIuNi9wbGF0Zm9ybS1wY2kvTWFrZWZpbGUJRnJpIE9jdCAxMyAwOTowNjo0NSAy MDA2ICswOTAwCkBAIC0wLDAgKzEsMyBAQAoraWZuZXEgKCQoS0VSTkVMUkVMRUFTRSksKQor aW5jbHVkZSAkKHNyYykvS2J1aWxkCitlbmRpZgpkaWZmIC1yIGYxNGE2N2EzNWJlYyAtciA2 ZTA3NTE1NmVhNDYgdW5tb2RpZmllZF9kcml2ZXJzL2xpbnV4LTIuNi9wbGF0Zm9ybS1wY2kv Y29tcGF0LmMKLS0tIC9kZXYvbnVsbAlUaHUgSmFuIDAxIDAwOjAwOjAwIDE5NzAgKzAwMDAK KysrIGIvdW5tb2RpZmllZF9kcml2ZXJzL2xpbnV4LTIuNi9wbGF0Zm9ybS1wY2kvY29tcGF0 LmMJRnJpIE9jdCAxMyAwOTowNjo0NSAyMDA2ICswOTAwCkBAIC0wLDAgKzEsNTIgQEAKKyNp bmNsdWRlIDxsaW51eC9jb25maWcuaD4KKyNpbmNsdWRlIDxsaW51eC92ZXJzaW9uLmg+Cisj aW5jbHVkZSA8bGludXgvaGlnaG1lbS5oPgorI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgor I2luY2x1ZGUgPGxpbnV4L21tLmg+CisKKyNpbmNsdWRlIDxhc20vcGd0YWJsZS5oPgorI2lu Y2x1ZGUgPGFzbS9oeXBlcnZpc29yLmg+CisKKyNpZmRlZiBIQVZFX0NPTVBBVF9ICisjaW5j bHVkZSA8Y29tcGF0Lmg+CisjZW5kaWYKKworI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8IEtF Uk5FTF9WRVJTSU9OKDIsNiwxMCkKKy8qCisgKiBNYXAgYSB2bWFsbG9jKCktc3BhY2Ugdmly dHVhbCBhZGRyZXNzIHRvIHRoZSBwaHlzaWNhbCBwYWdlIGZyYW1lIG51bWJlci4KKyAqLwor dW5zaWduZWQgbG9uZyB2bWFsbG9jX3RvX3Bmbih2b2lkICogdm1hbGxvY19hZGRyKQorewor CXJldHVybiBwYWdlX3RvX3Bmbih2bWFsbG9jX3RvX3BhZ2Uodm1hbGxvY19hZGRyKSk7Cit9 CisKK0VYUE9SVF9TWU1CT0wodm1hbGxvY190b19wZm4pOworI2VuZGlmCisKKyNpZiBMSU5V WF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigyLDYsMTIpCisvKgorICAgIGZha2Ug ZG9fZXhpdCB1c2luZyBjb21wbGV0ZV9hbmRfZXhpdAorICovCisjaWYgTElOVVhfVkVSU0lP Tl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMiw2LDEwKQorYXNtbGlua2FnZSBOT1JFVF9UWVBF IHZvaWQgZG9fZXhpdChsb25nIGNvZGUpCisjZWxzZQorZmFzdGNhbGwgTk9SRVRfVFlQRSB2 b2lkIGRvX2V4aXQobG9uZyBjb2RlKQorI2VuZGlmCit7CisgICAgY29tcGxldGVfYW5kX2V4 aXQoTlVMTCwgY29kZSk7Cit9CitFWFBPUlRfU1lNQk9MKGRvX2V4aXQpOworI2VuZGlmCisK KyNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigyLDYsMTQpCisvKgor ICogV2UgY2FuIHVzZSBfX3NldF9jdXJyZW50X3N0YXRlKCkgaGVyZSBiZWNhdXNlIHNjaGVk dWxlX3RpbWVvdXQoKSBjYWxscworICogc2NoZWR1bGUoKSB1bmNvbmRpdGlvbmFsbHkuCisg Ki8KK3NpZ25lZCBsb25nIF9fc2NoZWQgc2NoZWR1bGVfdGltZW91dF9pbnRlcnJ1cHRpYmxl KHNpZ25lZCBsb25nIHRpbWVvdXQpCit7CisJX19zZXRfY3VycmVudF9zdGF0ZShUQVNLX0lO VEVSUlVQVElCTEUpOworCXJldHVybiBzY2hlZHVsZV90aW1lb3V0KHRpbWVvdXQpOworfQor RVhQT1JUX1NZTUJPTChzY2hlZHVsZV90aW1lb3V0X2ludGVycnVwdGlibGUpOworI2VuZGlm CmRpZmYgLXIgZjE0YTY3YTM1YmVjIC1yIDZlMDc1MTU2ZWE0NiB1bm1vZGlmaWVkX2RyaXZl cnMvbGludXgtMi42L3hlbmJ1cy9NYWtlZmlsZQotLS0gL2Rldi9udWxsCVRodSBKYW4gMDEg MDA6MDA6MDAgMTk3MCArMDAwMAorKysgYi91bm1vZGlmaWVkX2RyaXZlcnMvbGludXgtMi42 L3hlbmJ1cy9NYWtlZmlsZQlGcmkgT2N0IDEzIDA5OjA2OjQ1IDIwMDYgKzA5MDAKQEAgLTAs MCArMSwzIEBACitpZm5lcSAoJChLRVJORUxSRUxFQVNFKSwpCitpbmNsdWRlICQoc3JjKS9L YnVpbGQKK2VuZGlmCg== --------------090400080001090105030000 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel --------------090400080001090105030000--