From mboxrd@z Thu Jan 1 00:00:00 1970 From: Akio Takebe Subject: Re: [Patch][RFC] Update rombios.c Date: Thu, 18 Dec 2008 08:52:34 +0900 Message-ID: <494990C2.2040508@jp.fujitsu.com> References: <494911BB.8040506@jp.fujitsu.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------070609050406040406060303" Return-path: In-Reply-To: <494911BB.8040506@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: xen-devel@lists.xensource.com, Tim.Deegan@xensource.com, samuel.thibault@citrix.com, Yu Ke , Stefan Berger , Ke Liping , Juer List-Id: xen-devel@lists.xenproject.org This is a multi-part message in MIME format. --------------070609050406040406060303 Content-Type: text/plain; charset=ISO-2022-JP Content-Transfer-Encoding: 7bit Akio Takebe wrote: > Hi, all > > This patch update rombios to the latest Bochs's. > I'd like to corabolate bochs community to enhance the guest bios. > I'm not familiar around TCGBIOS. > So could you review the patch? > > I tested boot/shutdown, S3 suspend/resume with linux guest. > Any comments are welcome :-) This attached file is diffs from the latest rombios of bochs. I hope it helps you at reviewing my patch. Best Regards, Akio Takebe --------------070609050406040406060303 Content-Type: text/plain; name="diffs_from_bochs" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="diffs_from_bochs" LS0tIHJvbWJpb3MuYm9jaHMuYwkyMDA4LTEyLTE4IDA4OjQ0OjU3LjAwMDAwMDAwMCArMDkw MAorKysgcm9tYmlvcy5jCTIwMDgtMTItMTcgMjM6MzM6MzcuMDAwMDAwMDAwICswOTAwCkBA IC0yNiw2ICsyNiwxOCBAQAogCiAvLyBST00gQklPUyBmb3IgdXNlIHdpdGggQm9jaHMvUGxl eDg2L1FFTVUgZW11bGF0aW9uIGVudmlyb25tZW50CiAKKyNkZWZpbmUgdWludDhfdCB1bnNp Z25lZCBjaGFyCisjZGVmaW5lIHVpbnQxNl90IHVuc2lnbmVkIHNob3J0CisjZGVmaW5lIHVp bnQzMl90IHVuc2lnbmVkIGxvbmcKKyNpbmNsdWRlICIuLi9odm1sb2FkZXIvY29uZmlnLmgi CisKKyNkZWZpbmUgSFZNQVNTSVNUCisjdW5kZWYgSFZNVEVTVAorCisvLyBYZW4gZnVsbCB2 aXJ0dWFsaXphdGlvbiBkb2VzIG5vdCBoYW5kbGUgdW5hbGlnbmVkIElPIHdpdGggcGFnZSBj cm9zc2luZy4KKy8vIERpc2FibGUgMzItYml0IFBJTyBhcyBhIHdvcmthcm91bmQuCisjdW5k ZWYgTk9fUElPMzIKKwogCiAvLyBST00gQklPUyBjb21wYXRhYmlsaXR5IGVudHJ5IHBvaW50 czoKIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkBAIC0xNDcsNiAr MTU5LDggQEAKICNkZWZpbmUgQlhfVVNFX0FUQURSViAgICAxCiAjZGVmaW5lIEJYX0VMVE9S SVRPX0JPT1QgMQogCisjZGVmaW5lIEJYX1RDR0JJT1MgICAgICAgMCAgIC8qIG1haW4gc3dp dGNoIGZvciBUQ0cgQklPUyBleHQuICovCisKICNkZWZpbmUgQlhfTUFYX0FUQV9JTlRFUkZB Q0VTICAgNAogI2RlZmluZSBCWF9NQVhfQVRBX0RFVklDRVMgICAgICAoQlhfTUFYX0FUQV9J TlRFUkZBQ0VTKjIpCiAKQEAgLTE3MCwxOCArMTg0LDE4IEBACiAjZGVmaW5lIEJBU0VfTUVN X0lOX0sgICAoNjQwIC0gRUJEQV9TSVpFKQogCiAvKiAyNTYgYnl0ZXMgYXQgMHg5ZmYwMCAt LSAweDlmZmZmIGlzIHVzZWQgZm9yIHRoZSBJUEwgYm9vdCB0YWJsZS4gKi8KLSNkZWZpbmUg SVBMX1NFRyAgICAgICAgICAgICAgMHg5ZmYwCi0jZGVmaW5lIElQTF9UQUJMRV9PRkZTRVQg ICAgIDB4MDAwMAorI2RlZmluZSBJUExfVEFCTEVfT0ZGU0VUICAgICAweDAzMDAgIC8qIG9m ZnNldCBmcm9tIEVCREEgKi8KICNkZWZpbmUgSVBMX1RBQkxFX0VOVFJJRVMgICAgOAotI2Rl ZmluZSBJUExfQ09VTlRfT0ZGU0VUICAgICAweDAwODAgIC8qIHUxNjogbnVtYmVyIG9mIHZh bGlkIHRhYmxlIGVudHJpZXMgKi8KLSNkZWZpbmUgSVBMX1NFUVVFTkNFX09GRlNFVCAgMHgw MDgyICAvKiB1MTY6IG5leHQgYm9vdCBkZXZpY2UgKi8KLSNkZWZpbmUgSVBMX0JPT1RGSVJT VF9PRkZTRVQgMHgwMDg0ICAvKiB1MTY6IHVzZXIgc2VsZWN0ZWQgZGV2aWNlICovCisjZGVm aW5lIElQTF9DT1VOVF9PRkZTRVQgICAgIDB4MDM4MCAgLyogdTE2OiBudW1iZXIgb2YgdmFs aWQgdGFibGUgZW50cmllcyAqLworI2RlZmluZSBJUExfU0VRVUVOQ0VfT0ZGU0VUICAweDAz ODIgIC8qIHUxNjogbmV4dCBib290IGRldmljZSAqLworI2RlZmluZSBJUExfQk9PVEZJUlNU X09GRlNFVCAweDAzODQgIC8qIHUxNjogdXNlciBzZWxlY3RlZCBkZXZpY2UgKi8KICNkZWZp bmUgSVBMX1NJWkUgICAgICAgICAgICAgMHhmZgogI2RlZmluZSBJUExfVFlQRV9GTE9QUFkg ICAgICAweDAxCiAjZGVmaW5lIElQTF9UWVBFX0hBUkRESVNLICAgIDB4MDIKICNkZWZpbmUg SVBMX1RZUEVfQ0RST00gICAgICAgMHgwMwogI2RlZmluZSBJUExfVFlQRV9CRVYgICAgICAg ICAweDgwCiAKKwogICAvLyBTYW5pdHkgQ2hlY2tzCiAjaWYgQlhfVVNFX0FUQURSViAmJiBC WF9DUFU8MwogIyAgICBlcnJvciBUaGUgQVRBL0FUQVBJIERyaXZlciBjYW4gb25seSB0byBi ZSB1c2VkIHdpdGggYSAzODYrIGNwdQpAQCAtNzEwLDE0ICs3MjQsMTggQEAgdHlwZWRlZiBz dHJ1Y3QgewogICAgIH0gY2RlbXVfdDsKICNlbmRpZiAvLyBCWF9FTFRPUklUT19CT09UCiAK KyNpbmNsdWRlICIzMmJpdGdhdGV3YXkuaCIKKwogICAvLyBmb3IgYWNjZXNzIHRvIEVCREEg YXJlYQogICAvLyAgICAgVGhlIEVCREEgc3RydWN0dXJlIHNob3VsZCBjb25mb3JtIHRvCiAg IC8vICAgICBodHRwOi8vd3d3LmZyb250aWVybmV0Lm5ldC9+ZnlzL3JvbWJpb3MuaHRtIGRv Y3VtZW50CiAgIC8vICAgICBJIG1hZGUgdGhlIGF0YSBhbmQgY2RlbXUgc3RydWN0cyBiZWdp biBhdCAweDEyMSBpbiB0aGUgRUJEQSBzZWcKICAgLy8gRUJEQSBtdXN0IGJlIGF0IG1vc3Qg NzY4IGJ5dGVzOyBpdCBsaXZlcyBhdCBFQkRBX1NFRywgYW5kIHRoZSBib290Ci0gIC8vIGRl dmljZSB0YWJsZXMgYXJlIGF0IElQTF9TRUcKKyAgLy8gZGV2aWNlIHRhYmxlcyBhcmUgYXQg RUJEQV9TRUc6SVBMX1RBQkxFX09GRlNFVAogICB0eXBlZGVmIHN0cnVjdCB7Ci0gICAgdW5z aWduZWQgY2hhciBmaWxsZXIxWzB4M0RdOworICAgIHVuc2lnbmVkIGNoYXIgZWJkYV9zaXpl OworICAgIHVuc2lnbmVkIGNoYXIgY21vc19zaHV0ZG93bl9zdGF0dXM7CisgICAgdW5zaWdu ZWQgY2hhciBmaWxsZXIxWzB4M0JdOwogCiAgICAgLy8gRkRQVCAtIENhbiBiZSBzcGxpdHRl ZCBpbiBkYXRhIG1lbWJlcnMgaWYgbmVlZGVkCiAgICAgdW5zaWduZWQgY2hhciBmZHB0MFsw eDEwXTsKQEAgLTczMyw4ICs3NTEsMTAgQEAgdHlwZWRlZiBzdHJ1Y3QgewogICAgIGNkZW11 X3QgY2RlbXU7CiAjZW5kaWYgLy8gQlhfRUxUT1JJVE9fQk9PVAogCisgICAgdXBjYWxsX3Qg dXBjYWxsOwogICAgIH0gZWJkYV9kYXRhX3Q7CiAKKyAgI2RlZmluZSBFQkRBX0NNT1NfU0hV VERPV05fU1RBVFVTX09GRlNFVCAxCiAgICNkZWZpbmUgRWJkYURhdGEgKChlYmRhX2RhdGFf dCAqKSAwKQogCiAgIC8vIGZvciBhY2Nlc3MgdG8gdGhlIGludDEzZXh0IHN0cnVjdHVyZQpA QCAtODYzLDYgKzg4Myw3IEBAIHN0YXRpYyBCaXQxNnUgICAgICAgICByZWFkX3dvcmQoKTsK IHN0YXRpYyB2b2lkICAgICAgICAgICB3cml0ZV9ieXRlKCk7CiBzdGF0aWMgdm9pZCAgICAg ICAgICAgd3JpdGVfd29yZCgpOwogc3RhdGljIHZvaWQgICAgICAgICAgIGJpb3NfcHJpbnRm KCk7CitzdGF0aWMgdm9pZCAgICAgICAgICAgY29weV9lODIwX3RhYmxlKCk7CiAKIHN0YXRp YyBCaXQ4dSAgICAgICAgICBpbmhpYml0X21vdXNlX2ludF9hbmRfZXZlbnRzKCk7CiBzdGF0 aWMgdm9pZCAgICAgICAgICAgZW5hYmxlX21vdXNlX2ludF9hbmRfZXZlbnRzKCk7CkBAIC04 ODAsNyArOTAxLDcgQEAgc3RhdGljIHZvaWQgICAgICAgICAgIGludDE0X2Z1bmN0aW9uKCk7 CiBzdGF0aWMgdm9pZCAgICAgICAgICAgaW50MTVfZnVuY3Rpb24oKTsKIHN0YXRpYyB2b2lk ICAgICAgICAgICBpbnQxNl9mdW5jdGlvbigpOwogc3RhdGljIHZvaWQgICAgICAgICAgIGlu dDE3X2Z1bmN0aW9uKCk7Ci1zdGF0aWMgdm9pZCAgICAgICAgICAgaW50MTlfZnVuY3Rpb24o KTsKK3N0YXRpYyB2b2lkICAgICAgICAgICBpbnQxOF9mdW5jdGlvbigpOwogc3RhdGljIHZv aWQgICAgICAgICAgIGludDFhX2Z1bmN0aW9uKCk7CiBzdGF0aWMgdm9pZCAgICAgICAgICAg aW50NzBfZnVuY3Rpb24oKTsKIHN0YXRpYyB2b2lkICAgICAgICAgICBpbnQ3NF9mdW5jdGlv bigpOwpAQCAtMTM4Miw2ICsxNDAzLDUzIEBAIEFTTV9TVEFSVAogQVNNX0VORAogfQogCisj aWZkZWYgSFZNQVNTSVNUCit2b2lkCitjb3B5X2U4MjBfdGFibGUoKQoreworICBCaXQ4dSBu cl9lbnRyaWVzID0gcmVhZF9ieXRlKDB4OTAwMCwgMHgxZTgpOworICBCaXQzMnUgYmFzZV9t ZW07CisgIGlmIChucl9lbnRyaWVzID4gMzIpCisgICAgICAgbnJfZW50cmllcyA9IDMyOwor ICB3cml0ZV93b3JkKDB4ZTAwMCwgMHg4LCBucl9lbnRyaWVzKTsKKyAgbWVtY3B5YigweGUw MDAsIDB4MTAsIDB4OTAwMCwgMHgyZDAsIG5yX2VudHJpZXMgKiAweDE0KTsKKyAgLyogUmVw b3J0IHRoZSBwcm9wZXIgYmFzZSBtZW1vcnkgc2l6ZSBhdCBhZGRyZXNzIDB4MDQxMzogb3Ro ZXJ3aXNlCisgICAqIG5vbi1lODIwIGNvZGUgd2lsbCBjbG9iYmVyIHRoaW5ncyBpZiBCQVNF X01FTV9JTl9LIGlzIGJpZ2dlciB0aGFuCisgICAqIHRoZSBmaXJzdCBlODIwIGVudHJ5LiAg R2V0IHRoZSBzaXplIGJ5IHJlYWRpbmcgdGhlIHNlY29uZCA2NGJpdCAKKyAgICogZmllbGQg b2YgdGhlIGZpcnN0IGU4MjAgc2xvdC4gKi8gCisgIGJhc2VfbWVtID0gcmVhZF9kd29yZCgw eDkwMDAsIDB4MmQwICsgOCk7CisgIHdyaXRlX3dvcmQoMHg0MCwgMHgxMywgYmFzZV9tZW0g Pj4gMTApOworfQorCit2b2lkCitzZXRfcm9tX3dyaXRlX2FjY2VzcyhhY3Rpb24pCisgIEJp dDE2dSBhY3Rpb247Cit7CisgICAgQml0MTZ1IG9mZiA9IChCaXQxNnUpJigoc3RydWN0IGJp b3NfaW5mbyAqKTApLT54ZW5fcGZpb2I7CitBU01fU1RBUlQKKyAgICBtb3Ygc2ksLnNldF9y b21fd3JpdGVfYWNjZXNzLm9mZlticF0KKyAgICBwdXNoIGRzCisgICAgbW92IGF4LCMoQUNQ SV9QSFlTSUNBTF9BRERSRVNTID4+IDQpCisgICAgbW92IGRzLGF4CisgICAgbW92IGR4LFtz aV0KKyAgICBwb3AgZHMKKyAgICBtb3YgYXgsLnNldF9yb21fd3JpdGVfYWNjZXNzLmFjdGlv blticF0KKyAgICBvdXQgZHgsYWwKK0FTTV9FTkQKK30KKwordm9pZCBlbmFibGVfcm9tX3dy aXRlX2FjY2VzcygpCit7CisgICAgc2V0X3JvbV93cml0ZV9hY2Nlc3MoMCk7Cit9CisKK3Zv aWQgZGlzYWJsZV9yb21fd3JpdGVfYWNjZXNzKCkKK3sKKyAgICBzZXRfcm9tX3dyaXRlX2Fj Y2VzcyhQRkZMQUdfUk9NX0xPQ0spOworfQorICAgIAorI2VuZGlmIC8qIEhWTUFTU0lTVCAq LworCiAjaWYgQlhfREVCVUdfU0VSSUFMCiAvKiBzZXJpYWwgZGVidWcgcG9ydCovCiAjZGVm aW5lIEJYX0RFQlVHX1BPUlQgMHgwM2Y4CkBAIC0xNDYwLDYgKzE1MjgsOSBAQCBzZW5kKGFj dGlvbiwgYykKICAgaWYgKGMgPT0gJ1xuJykgdWFydF90eF9ieXRlKEJYX0RFQlVHX1BPUlQs ICdccicpOwogICB1YXJ0X3R4X2J5dGUoQlhfREVCVUdfUE9SVCwgYyk7CiAjZW5kaWYKKyNp ZmRlZiBIVk1BU1NJU1QKKyAgb3V0YigweEU5LCBjKTsKKyNlbmRpZgogI2lmIEJYX1ZJUlRV QUxfUE9SVFMKICAgaWYgKGFjdGlvbiAmIEJJT1NfUFJJTlRGX0RFQlVHKSBvdXRiKERFQlVH X1BPUlQsIGMpOwogICBpZiAoYWN0aW9uICYgQklPU19QUklOVEZfSU5GTykgb3V0YihJTkZP X1BPUlQsIGMpOwpAQCAtMTkwNiw2ICsxOTc3LDQ5IEBAIGtleWJvYXJkX3BhbmljKHN0YXR1 cykKICAgQlhfUEFOSUMoIktleWJvYXJkIGVycm9yOiV1XG4iLHN0YXR1cyk7CiB9CiAKKyNk ZWZpbmUgQ01PU19TSFVURE9XTl9TMyAweEZFCisvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisv LyBtYWNoaW5lX3Jlc2V0CisvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgIHZvaWQKK21hY2hp bmVfcmVzZXQoKQoreworQVNNX1NUQVJUCis7d2UgbXVzdCBjaGVjayB3aGV0aGVyIENNT1Nf U0hVVERPV05fUzMgaXMgc2V0IG9yIG5vdAorO2lmIGl0IGlzIHMzIHJlc3VtZSwganVzdCBq bXAgYmFjayB0byBub3JtYWwgUG9zdCBFbnRyeQorO2JlbG93IHBvcnQgaW8gd2lsbCBwcmV2 ZW50IHMzIHJlc3VtZQorICBtb3YgYWwsICMweDBmCisgIG91dCAweDcwLCBhbAorICBpbiBh bCwgMHg3MQorICBjbXAgYWwsICMweEZFCisgIGp6IHBvc3QKK0FTTV9FTkQKKyAgLyogRnJv YiB0aGUga2V5Ym9hcmQgcmVzZXQgbGluZSB0byByZXNldCB0aGUgcHJvY2Vzc29yICovCisg IG91dGIoMHg2NCwgMHg2MCk7IC8qIE1hcCB0aGUgZmxhZ3MgcmVnaXN0ZXIgYXQgZGF0YSBw b3J0ICgweDYwKSAqLworICBvdXRiKDB4NjAsIDB4MTQpOyAvKiBTZXQgdGhlIGZsYWdzIHRv IHN5c3RlbXxkaXNhYmxlICovCisgIG91dGIoMHg2NCwgMHhmZSk7IC8qIFB1bHNlIG91dHB1 dCAwIChzeXN0ZW0gcmVzZXQpIGxvdyAqLworICBCWF9QQU5JQygiQ291bGRuJ3QgcmVzZXQg dGhlIG1hY2hpbmVcbiIpOworfQorCisvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisvLyBjbG9i YmVyX2VudHJ5X3BvaW50CisvLyAgICBCZWNhdXNlIFBWIGRyaXZlcnMgaW4gSFZNIGd1ZXN0 cyBkZXRhY2ggc29tZSBvZiB0aGUgZW11bGF0ZWQgZGV2aWNlcywgCisvLyAgICBpdCBpcyBu b3Qgc2FmZSB0byBkbyBhIHNvZnQgcmVib290IGJ5IGp1c3QgZHJvcHBpbmcgdG8gcmVhbCBt b2RlIGFuZAorLy8gICAganVtcGluZyBhdCBmZmZmOjAwMDAuIC0tIHRoZSBib290IGRyaXZl cyBtaWdodCBoYXZlIGRpc2FwcGVhcmVkIQorLy8gICAgVGhpcyByYXRoZXIgZm91bCBmdW5j dGlvbiBvdmVyd3JpdGVzKCEpIHRoZSBCSU9TIGVudHJ5IHBvaW50IAorLy8gICAgdG8gcG9p bnQgYXQgbWFjaGluZS1yZXNldCwgd2hpY2ggd2lsbCBjYXVzZSB0aGUgWGVuIHRvb2xzIHRv CisvLyAgICByZWJ1aWxkIHRoZSB3aG9sZSBtYWNoaW5lIGZyb20gc2NyYXRjaC4KKy8vLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KKyAgdm9pZCAKK2Nsb2JiZXJfZW50cnlfcG9pbnQoKSAKK3sK KyAgICAvKiBUaGUgaW5zdHJ1Y3Rpb24gYXQgdGhlIGVudHJ5IHBvaW50IGlzIG9uZSBieXRl ICgweGVhKSBmb3IgdGhlCisgICAgICoganVtcCBvcGNvZGUsIHRoZW4gdHdvIGJ5dGVzIG9m IGFkZHJlc3MsIHRoZW4gdHdvIG9mIHNlZ21lbnQuIAorICAgICAqIE92ZXJ3cml0ZSB0aGUg YWRkcmVzcyBieXRlcy4qLworICAgIHdyaXRlX3dvcmQoMHhmZmZmLCAweDAwMDEsIG1hY2hp bmVfcmVzZXQpOyAKK30KKworCiAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAvLyBzaHV0ZG93 bl9zdGF0dXNfcGFuaWMKIC8vICAgY2FsbGVkIHdoZW4gdGhlIHNodXRkb3duIHN0YXRzdSBp cyBub3QgaW1wbGVtZW50ZWQsIGRpc3BsYXlzIHRoZSBzdGF0dXMKQEAgLTE5NDQsNiArMjA1 OCw5IEBAIHByaW50X2Jpb3NfYmFubmVyKCkKICNpZiBCWF9ST01CSU9TMzIKICAgInJvbWJp b3MzMiAiCiAjZW5kaWYKKyNpZiBCWF9UQ0dCSU9TCisgICJUQ0ctZW5hYmxlZCIKKyNlbmRp ZgogICAiXG5cbiIpOwogfQogCkBAIC0xOTcwLDM0ICsyMDg3LDM1IEBAIGluaXRfYm9vdF92 ZWN0b3JzKCkKICAgaXBsX2VudHJ5X3QgZTsKICAgQml0MTZ1IGNvdW50ID0gMDsKICAgQml0 MTZ1IHNzID0gZ2V0X1NTKCk7CisgIEJpdDE2dSBlYmRhX3NlZyA9IHJlYWRfd29yZCgweDAw NDAsIDB4MDAwRSk7CiAKICAgLyogQ2xlYXIgb3V0IHRoZSBJUEwgdGFibGUuICovCi0gIG1l bXNldGIoSVBMX1NFRywgSVBMX1RBQkxFX09GRlNFVCwgMCwgSVBMX1NJWkUpOworICBtZW1z ZXRiKGViZGFfc2VnLCBJUExfVEFCTEVfT0ZGU0VULCAwLCBJUExfU0laRSk7CiAKICAgLyog VXNlciBzZWxlY3RlZCBkZXZpY2Ugbm90IHNldCAqLwotICB3cml0ZV93b3JkKElQTF9TRUcs IElQTF9CT09URklSU1RfT0ZGU0VULCAweEZGRkYpOworICB3cml0ZV93b3JkKGViZGFfc2Vn LCBJUExfQk9PVEZJUlNUX09GRlNFVCwgMHhGRkZGKTsKIAogICAvKiBGbG9wcHkgZHJpdmUg Ki8KICAgZS50eXBlID0gSVBMX1RZUEVfRkxPUFBZOyBlLmZsYWdzID0gMDsgZS52ZWN0b3Ig PSAwOyBlLmRlc2NyaXB0aW9uID0gMDsgZS5yZXNlcnZlZCA9IDA7Ci0gIG1lbWNweWIoSVBM X1NFRywgSVBMX1RBQkxFX09GRlNFVCArIGNvdW50ICogc2l6ZW9mIChlKSwgc3MsICZlLCBz aXplb2YgKGUpKTsKKyAgbWVtY3B5YihlYmRhX3NlZywgSVBMX1RBQkxFX09GRlNFVCArIGNv dW50ICogc2l6ZW9mIChlKSwgc3MsICZlLCBzaXplb2YgKGUpKTsKICAgY291bnQrKzsKIAog ICAvKiBGaXJzdCBIREQgKi8KICAgZS50eXBlID0gSVBMX1RZUEVfSEFSRERJU0s7IGUuZmxh Z3MgPSAwOyBlLnZlY3RvciA9IDA7IGUuZGVzY3JpcHRpb24gPSAwOyBlLnJlc2VydmVkID0g MDsKLSAgbWVtY3B5YihJUExfU0VHLCBJUExfVEFCTEVfT0ZGU0VUICsgY291bnQgKiBzaXpl b2YgKGUpLCBzcywgJmUsIHNpemVvZiAoZSkpOworICBtZW1jcHliKGViZGFfc2VnLCBJUExf VEFCTEVfT0ZGU0VUICsgY291bnQgKiBzaXplb2YgKGUpLCBzcywgJmUsIHNpemVvZiAoZSkp OwogICBjb3VudCsrOwogCiAjaWYgQlhfRUxUT1JJVE9fQk9PVAogICAvKiBDRFJPTSAqLwog ICBlLnR5cGUgPSBJUExfVFlQRV9DRFJPTTsgZS5mbGFncyA9IDA7IGUudmVjdG9yID0gMDsg ZS5kZXNjcmlwdGlvbiA9IDA7IGUucmVzZXJ2ZWQgPSAwOwotICBtZW1jcHliKElQTF9TRUcs IElQTF9UQUJMRV9PRkZTRVQgKyBjb3VudCAqIHNpemVvZiAoZSksIHNzLCAmZSwgc2l6ZW9m IChlKSk7CisgIG1lbWNweWIoZWJkYV9zZWcsIElQTF9UQUJMRV9PRkZTRVQgKyBjb3VudCAq IHNpemVvZiAoZSksIHNzLCAmZSwgc2l6ZW9mIChlKSk7CiAgIGNvdW50Kys7CiAjZW5kaWYK IAogICAvKiBSZW1lbWJlciBob3cgbWFueSBkZXZpY2VzIHdlIGhhdmUgKi8KLSAgd3JpdGVf d29yZChJUExfU0VHLCBJUExfQ09VTlRfT0ZGU0VULCBjb3VudCk7CisgIHdyaXRlX3dvcmQo ZWJkYV9zZWcsIElQTF9DT1VOVF9PRkZTRVQsIGNvdW50KTsKICAgLyogTm90IHRyaWVkIGJv b3RpbmcgYW55dGhpbmcgeWV0ICovCi0gIHdyaXRlX3dvcmQoSVBMX1NFRywgSVBMX1NFUVVF TkNFX09GRlNFVCwgMHhmZmZmKTsKKyAgd3JpdGVfd29yZChlYmRhX3NlZywgSVBMX1NFUVVF TkNFX09GRlNFVCwgMHhmZmZmKTsKIH0KIAogc3RhdGljIEJpdDh1CkBAIC0yMDA2LDExICsy MTI0LDEyIEBAIEJpdDE2dSBpOyBpcGxfZW50cnlfdCAqZTsKIHsKICAgQml0MTZ1IGNvdW50 OwogICBCaXQxNnUgc3MgPSBnZXRfU1MoKTsKKyAgQml0MTZ1IGViZGFfc2VnID0gcmVhZF93 b3JkKDB4MDA0MCwgMHgwMDBFKTsKICAgLyogR2V0IHRoZSBjb3VudCBvZiBib290IGRldmlj ZXMsIGFuZCByZWZ1c2UgdG8gb3ZlcnJ1biB0aGUgYXJyYXkgKi8KLSAgY291bnQgPSByZWFk X3dvcmQoSVBMX1NFRywgSVBMX0NPVU5UX09GRlNFVCk7CisgIGNvdW50ID0gcmVhZF93b3Jk KGViZGFfc2VnLCBJUExfQ09VTlRfT0ZGU0VUKTsKICAgaWYgKGkgPj0gY291bnQpIHJldHVy biAwOwogICAvKiBPSyB0byByZWFkIHRoaXMgZGV2aWNlICovCi0gIG1lbWNweWIoc3MsIGUs IElQTF9TRUcsIElQTF9UQUJMRV9PRkZTRVQgKyBpICogc2l6ZW9mICgqZSksIHNpemVvZiAo KmUpKTsKKyAgbWVtY3B5YihzcywgZSwgZWJkYV9zZWcsIElQTF9UQUJMRV9PRkZTRVQgKyBp ICogc2l6ZW9mICgqZSksIHNpemVvZiAoKmUpKTsKICAgcmV0dXJuIDE7CiB9CiAKQEAgLTIw MjUsMTEgKzIxNDQsMTIgQEAgaW50ZXJhY3RpdmVfYm9vdGtleSgpCiAgIEJpdDh1IGk7CiAg IEJpdDE2dSBzcyA9IGdldF9TUygpOwogICBCaXQxNnUgdmFsaWRfY2hvaWNlID0gMDsKKyAg Qml0MTZ1IGViZGFfc2VnID0gcmVhZF93b3JkKDB4MDA0MCwgMHgwMDBFKTsKIAogICB3aGls ZSAoY2hlY2tfZm9yX2tleXN0cm9rZSgpKQogICAgIGdldF9rZXlzdHJva2UoKTsKIAotICBw cmludGYoIlByZXNzIEYxMiBmb3IgYm9vdCBtZW51LlxuXG4iKTsKKyAgcHJpbnRmKCJcblBy ZXNzIEYxMiBmb3IgYm9vdCBtZW51LlxuXG4iKTsKIAogICBkZWxheV90aWNrc19hbmRfY2hl Y2tfZm9yX2tleXN0cm9rZSgxMSwgNSk7IC8qIH4zIHNlY29uZHMgKi8KICAgaWYgKGNoZWNr X2Zvcl9rZXlzdHJva2UoKSkKQEAgLTIwNDIsMTAgKzIxNjIsMTAgQEAgaW50ZXJhY3RpdmVf Ym9vdGtleSgpCiAKICAgICAgIHByaW50ZigiU2VsZWN0IGJvb3QgZGV2aWNlOlxuXG4iKTsK IAotICAgICAgY291bnQgPSByZWFkX3dvcmQoSVBMX1NFRywgSVBMX0NPVU5UX09GRlNFVCk7 CisgICAgICBjb3VudCA9IHJlYWRfd29yZChlYmRhX3NlZywgSVBMX0NPVU5UX09GRlNFVCk7 CiAgICAgICBmb3IgKGkgPSAwOyBpIDwgY291bnQ7IGkrKykKICAgICAgIHsKLSAgICAgICAg bWVtY3B5YihzcywgJmUsIElQTF9TRUcsIElQTF9UQUJMRV9PRkZTRVQgKyBpICogc2l6ZW9m IChlKSwgc2l6ZW9mIChlKSk7CisgICAgICAgIG1lbWNweWIoc3MsICZlLCBlYmRhX3NlZywg SVBMX1RBQkxFX09GRlNFVCArIGkgKiBzaXplb2YgKGUpLCBzaXplb2YgKGUpKTsKICAgICAg ICAgcHJpbnRmKCIlZC4gIiwgaSsxKTsKICAgICAgICAgc3dpdGNoKGUudHlwZSkKICAgICAg ICAgewpAQCAtMjA3OSw3ICsyMTk5LDcgQEAgaW50ZXJhY3RpdmVfYm9vdGtleSgpCiAgICAg ICAgICAgdmFsaWRfY2hvaWNlID0gMTsKICAgICAgICAgICBzY2FuX2NvZGUgLT0gMTsKICAg ICAgICAgICAvKiBTZXQgdXNlciBzZWxlY3RlZCBkZXZpY2UgKi8KLSAgICAgICAgICB3cml0 ZV93b3JkKElQTF9TRUcsIElQTF9CT09URklSU1RfT0ZGU0VULCBzY2FuX2NvZGUpOworICAg ICAgICAgIHdyaXRlX3dvcmQoZWJkYV9zZWcsIElQTF9CT09URklSU1RfT0ZGU0VULCBzY2Fu X2NvZGUpOwogICAgICAgICB9CiAgICAgICB9CiAgICAgcHJpbnRmKCJcbiIpOwpAQCAtMjEy Niw3ICsyMjQ2LDcgQEAgcHJpbnRfYm9vdF9mYWlsdXJlKHR5cGUsIHJlYXNvbikKIHsKICAg aWYgKHR5cGUgPT0gMCB8fCB0eXBlID4gMHgzKSBCWF9QQU5JQygiQmFkIGRyaXZlIHR5cGVc biIpOwogCi0gIHByaW50ZigiQm9vdCBmYWlsZWQiKTsKKyAgcHJpbnRmKCJCb290IGZyb20g JXMgZmFpbGVkIiwgZHJpdmV0eXBlc1t0eXBlXSk7CiAgIGlmICh0eXBlIDwgNCkgewogICAg IC8qIFJlcG9ydCB0aGUgcmVhc29uIHRvbyAqLwogICAgIGlmIChyZWFzb249PTApCkBAIC0y MjEwLDEwICsyMzMwLDE0IEBAIHMzX3Jlc3VtZSgpCiAgICAgQml0OHUgczNfcmVzdW1lX2Zs YWc7CiAKICAgICBzM19yZXN1bWVfZmxhZyA9IHJlYWRfYnl0ZSgweDQwLCAweGIwKTsKKyNp ZmRlZiBIVk1BU1NJU1QKKyAgICBzM193YWtldXBfdmVjdG9yID0gZ2V0X3MzX3dha2luZ192 ZWN0b3IoKTsKKyNlbHNlCiAgICAgczNfd2FrZXVwX3ZlY3RvciA9IHJlYWRfZHdvcmQoMHg0 MCwgMHhiMik7CisjZW5kaWYKIAogICAgIEJYX0lORk8oIlMzIHJlc3VtZSBjYWxsZWQgJXgg MHglbHhcbiIsIHMzX3Jlc3VtZV9mbGFnLCBzM193YWtldXBfdmVjdG9yKTsKLSAgICBpZiAo czNfcmVzdW1lX2ZsYWcgIT0gMHhGRSB8fCAhczNfd2FrZXVwX3ZlY3RvcikKKyAgICBpZiAo czNfcmVzdW1lX2ZsYWcgIT0gQ01PU19TSFVURE9XTl9TMyB8fCAhczNfd2FrZXVwX3ZlY3Rv cikKIAkgICAgcmV0dXJuIDA7CiAKICAgICB3cml0ZV9ieXRlKDB4NDAsIDB4YjAsIDApOwpA QCAtMjU3Miw2ICsyNjk2LDkgQEAgdm9pZCBhdGFfZGV0ZWN0KCApCiAgICAgICBCaXQxNnUg Y3lsaW5kZXJzLCBoZWFkcywgc3B0LCBibGtzaXplOwogICAgICAgQml0OHUgIHRyYW5zbGF0 aW9uLCByZW1vdmFibGUsIG1vZGU7CiAKKyAgICAgIC8vIGRlZmF1bHQgbW9kZSB0byBQSU8x NgorICAgICAgbW9kZSA9IEFUQV9NT0RFX1BJTzE2OworCiAgICAgICAvL1RlbXBvcmFyeSB2 YWx1ZXMgdG8gZG8gdGhlIHRyYW5zZmVyCiAgICAgICB3cml0ZV9ieXRlKGViZGFfc2VnLCZF YmRhRGF0YS0+YXRhLmRldmljZXNbZGV2aWNlXS5kZXZpY2UsQVRBX0RFVklDRV9IRCk7CiAg ICAgICB3cml0ZV9ieXRlKGViZGFfc2VnLCZFYmRhRGF0YS0+YXRhLmRldmljZXNbZGV2aWNl XS5tb2RlLCBBVEFfTU9ERV9QSU8xNik7CkBAIC0yNTgwLDcgKzI3MDcsOSBAQCB2b2lkIGF0 YV9kZXRlY3QoICkKICAgICAgICAgQlhfUEFOSUMoImF0YS1kZXRlY3Q6IEZhaWxlZCB0byBk ZXRlY3QgQVRBIGRldmljZVxuIik7CiAKICAgICAgIHJlbW92YWJsZSA9IChyZWFkX2J5dGUo Z2V0X1NTKCksYnVmZmVyKzApICYgMHg4MCkgPyAxIDogMDsKKyNpZm5kZWYgICAgICAgIE5P X1BJTzMyCiAgICAgICBtb2RlICAgICAgPSByZWFkX2J5dGUoZ2V0X1NTKCksYnVmZmVyKzk2 KSA/IEFUQV9NT0RFX1BJTzMyIDogQVRBX01PREVfUElPMTY7CisjZW5kaWYKICAgICAgIGJs a3NpemUgICA9IHJlYWRfd29yZChnZXRfU1MoKSxidWZmZXIrMTApOwogCiAgICAgICBjeWxp bmRlcnMgPSByZWFkX3dvcmQoZ2V0X1NTKCksYnVmZmVyKygxKjIpKTsgLy8gd29yZCAxCkBA IC0yNjc3LDYgKzI4MDYsOSBAQCB2b2lkIGF0YV9kZXRlY3QoICkKICAgICAgIEJpdDh1ICB0 eXBlLCByZW1vdmFibGUsIG1vZGU7CiAgICAgICBCaXQxNnUgYmxrc2l6ZTsKIAorICAgICAg Ly8gZGVmYXVsdCBtb2RlIHRvIFBJTzE2CisgICAgICBtb2RlID0gQVRBX01PREVfUElPMTY7 CisKICAgICAgIC8vVGVtcG9yYXJ5IHZhbHVlcyB0byBkbyB0aGUgdHJhbnNmZXIKICAgICAg IHdyaXRlX2J5dGUoZWJkYV9zZWcsJkViZGFEYXRhLT5hdGEuZGV2aWNlc1tkZXZpY2VdLmRl dmljZSxBVEFfREVWSUNFX0NEUk9NKTsKICAgICAgIHdyaXRlX2J5dGUoZWJkYV9zZWcsJkVi ZGFEYXRhLT5hdGEuZGV2aWNlc1tkZXZpY2VdLm1vZGUsIEFUQV9NT0RFX1BJTzE2KTsKQEAg LTI2ODYsNyArMjgxOCw5IEBAIHZvaWQgYXRhX2RldGVjdCggKQogCiAgICAgICB0eXBlICAg ICAgPSByZWFkX2J5dGUoZ2V0X1NTKCksYnVmZmVyKzEpICYgMHgxZjsKICAgICAgIHJlbW92 YWJsZSA9IChyZWFkX2J5dGUoZ2V0X1NTKCksYnVmZmVyKzApICYgMHg4MCkgPyAxIDogMDsK KyNpZm5kZWYgICAgICAgIE5PX1BJTzMyCiAgICAgICBtb2RlICAgICAgPSByZWFkX2J5dGUo Z2V0X1NTKCksYnVmZmVyKzk2KSA/IEFUQV9NT0RFX1BJTzMyIDogQVRBX01PREVfUElPMTY7 CisjZW5kaWYKICAgICAgIGJsa3NpemUgICA9IDIwNDg7CiAKICAgICAgIHdyaXRlX2J5dGUo ZWJkYV9zZWcsJkViZGFEYXRhLT5hdGEuZGV2aWNlc1tkZXZpY2VdLmRldmljZSwgdHlwZSk7 CkBAIC0zNjUxLDYgKzM3ODUsMTMgQEAgY2Ryb21fYm9vdCgpCiAgIC8vIEluaXRpYWwvRGVm YXVsdCBFbnRyeQogICBpZihidWZmZXJbMHgyMF0hPTB4ODgpcmV0dXJuIDExOyAvLyBCb290 YWJsZQogCisjaWYgQlhfVENHQklPUworICAvKiBzcGVjczogOC4yLjMgc3RlcCA1IGFuZCA4 LjIuNS42LCBtZWFzdXJlIEVsIFRvcml0byBib290IGNhdGFsb2cgKi8KKyAgLyogbWVhc3Vy ZSAyMDQ4IGJ5dGVzIChvbmUgc2VjdG9yKSAqLworICB0Y3BhX2FkZF9ib290ZGV2aWNlKChC aXQzMnUpMUwsIChCaXQzMnUpMEwpOyAvKiBib290Y2QgPSAxICovCisgIHRjcGFfaXBsKChC aXQzMnUpMkwsKEJpdDMydSlnZXRfU1MoKSwoQml0MzJ1KWJ1ZmZlciwoQml0MzJ1KTIwNDhM KTsKKyNlbmRpZgorCiAgIHdyaXRlX2J5dGUoZWJkYV9zZWcsJkViZGFEYXRhLT5jZGVtdS5t ZWRpYSxidWZmZXJbMHgyMV0pOwogICBpZihidWZmZXJbMHgyMV09PTApewogICAgIC8vIEZJ WE1FIEVsVG9yaXRvIEhhcmRjb2RlZC4gY2Ryb20gaXMgaGFyZGNvZGVkIGFzIGRldmljZSAw eEUwLgpAQCAtMzY4OSw2ICszODMwLDEyIEBAIGNkcm9tX2Jvb3QoKQogICBpZigoZXJyb3Ig PSBhdGFfY21kX3BhY2tldChkZXZpY2UsIDEyLCBnZXRfU1MoKSwgYXRhY21kLCAwLCBuYnNl Y3RvcnMqNTEyTCwgQVRBX0RBVEFfSU4sIGJvb3Rfc2VnbWVudCwwKSkgIT0gMCkKICAgICBy ZXR1cm4gMTI7CiAKKyNpZiBCWF9UQ0dCSU9TCisgIC8qIHNwZWNzOiA4LjIuMyBzdGVwIDQg YW5kIDguMi41LjYsIG1lYXN1cmUgRWwgVG9yaXRvIGJvb3QgaW1hZ2UgKi8KKyAgLyogbWVh c3VyZSAxc3QgNTEyIGJ5dGVzICAqLworICB0Y3BhX2lwbCgoQml0MzJ1KTFMLChCaXQzMnUp Ym9vdF9zZWdtZW50LChCaXQzMnUpMEwsKEJpdDMydSk1MTJMKTsKKyNlbmRpZgorCiAgIC8v IFJlbWVtYmVyIHRoZSBtZWRpYSB0eXBlCiAgIHN3aXRjaChyZWFkX2J5dGUoZWJkYV9zZWcs JkViZGFEYXRhLT5jZGVtdS5tZWRpYSkpIHsKICAgICBjYXNlIDB4MDE6ICAvLyAxLjJNIGZs b3BweQpAQCAtNDQ4NywxMSArNDYzNCw5IEBAIEFTTV9TVEFSVAogCiAgICAgICA7OyBHZXQg dGhlIGNvdW50IGluIGVheAogICAgICAgbW92ICBieCwgc3AKLSAgICAgIFNFRyBTUwotICAg ICAgICBtb3YgIGF4LCBfaW50MTVfZnVuY3Rpb24zMi5DWCBbYnhdCisgICAgICBtb3YgIGF4 LCBfaW50MTVfZnVuY3Rpb24zMi5DWCBbYnhdCiAgICAgICBzaGwgIGVheCwgIzE2Ci0gICAg ICBTRUcgU1MKLSAgICAgICAgbW92ICBheCwgX2ludDE1X2Z1bmN0aW9uMzIuRFggW2J4XQor ICAgICAgbW92ICBheCwgX2ludDE1X2Z1bmN0aW9uMzIuRFggW2J4XQogCiAgICAgICA7OyBj b252ZXJ0IHRvIG51bWJlcnMgb2YgMTV1c2VjIHRpY2tzCiAgICAgICBtb3YgZWJ4LCAjMTUK QEAgLTQ1MjIsNiArNDY2Nyw5NyBAQCBBU01fRU5ECiAgICAgY2FzZSAweGU4OgogICAgICAg ICBzd2l0Y2gocmVncy51LnI4LmFsKQogICAgICAgICB7CisjaWZkZWYgSFZNQVNTSVNUCisg ICAgICAgY2FzZSAweDIwOiB7CisgICAgICAgICAgICBCaXQxNnUgZTgyMF90YWJsZV9zaXpl ID0gcmVhZF93b3JkKDB4ZTAwMCwgMHg4KSAqIDB4MTQ7CisKKyAgICAgICAgICAgIGlmIChy ZWdzLnUucjMyLmVkeCAhPSAweDUzNEQ0MTUwKSAvKiBTTUFQICovCisgICAgICAgICAgICAg ICAgZ290byBpbnQxNV91bmltcGxlbWVudGVkOworCisgICAgICAgICAgICBpZiAoKHJlZ3Mu dS5yMTYuYnggLyAweDE0KSAqIDB4MTQgPT0gcmVncy51LnIxNi5ieCkgeworICAgICAgICAg ICAgICAgIGlmIChyZWdzLnUucjE2LmJ4ICsgMHgxNCA8PSBlODIwX3RhYmxlX3NpemUpCisg ICAgICAgICAgICAgICAgICAgIG1lbWNweWIoRVMsIHJlZ3MudS5yMTYuZGksCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgMHhlMDAwLCAweDEwICsgcmVncy51LnIxNi5ieCwgMHgx NCk7CisgICAgICAgICAgICAgICAgcmVncy51LnIzMi5lYnggKz0gMHgxNDsKKyAgICAgICAg ICAgICAgICBpZiAoKHJlZ3MudS5yMzIuZWJ4ICsgMHgxNCAtIDEpID4gZTgyMF90YWJsZV9z aXplKQorICAgICAgICAgICAgICAgICAgICByZWdzLnUucjMyLmVieCA9IDA7CisgICAgICAg ICAgICB9IGVsc2UgaWYgKHJlZ3MudS5yMTYuYnggPT0gMSkgeworICAgICAgICAgICAgICAg IEJpdDMydSBiYXNlLCB0eXBlOworICAgICAgICAgICAgICAgIEJpdDE2dSBvZmY7CisgICAg ICAgICAgICAgICAgZm9yIChvZmYgPSAwOyBvZmYgPCBlODIwX3RhYmxlX3NpemU7IG9mZiAr PSAweDE0KSB7CisgICAgICAgICAgICAgICAgICAgIGJhc2UgPSByZWFkX2R3b3JkKDB4ZTAw MCwgMHgxMCArIG9mZik7CisgICAgICAgICAgICAgICAgICAgIHR5cGUgPSByZWFkX2R3b3Jk KDB4ZTAwMCwgMHgyMCArIG9mZik7CisgICAgICAgICAgICAgICAgICAgIGlmICgoYmFzZSA+ PSAweDEwMDAwMCkgJiYgKHR5cGUgPT0gMSkpCisgICAgICAgICAgICAgICAgICAgICAgICBi cmVhazsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgaWYgKG9mZiA9PSBl ODIwX3RhYmxlX3NpemUpIHsKKyAgICAgICAgICAgICAgICAgICAgU0VUX0NGKCk7CisgICAg ICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg ICAgICBtZW1jcHliKEVTLCByZWdzLnUucjE2LmRpLCAweGUwMDAsIDB4MTAgKyBvZmYsIDB4 MTQpOworICAgICAgICAgICAgICAgIHJlZ3MudS5yMzIuZWJ4ID0gMDsKKyAgICAgICAgICAg IH0gZWxzZSB7IC8qIEFYPUU4MjAsIERYPTUzNEQ0MTUwLCBCWCB1bnJlY29nbml6ZWQgKi8K KyAgICAgICAgICAgICAgICBnb3RvIGludDE1X3VuaW1wbGVtZW50ZWQ7CisgICAgICAgICAg ICB9CisKKyAgICAgICAgICAgIHJlZ3MudS5yMzIuZWF4ID0gMHg1MzRENDE1MDsKKyAgICAg ICAgICAgIHJlZ3MudS5yMzIuZWN4ID0gMHgxNDsKKyAgICAgICAgICAgIENMRUFSX0NGKCk7 CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorCisgICAgICAgIGNhc2UgMHgwMTog eworICAgICAgICAgICAgQml0MTZ1IG9mZiwgZTgyMF90YWJsZV9zaXplID0gcmVhZF93b3Jk KDB4ZTAwMCwgMHg4KSAqIDB4MTQ7CisgICAgICAgICAgICBCaXQzMnUgYmFzZSwgdHlwZSwg c2l6ZTsKKworICAgICAgICAgICAgLy8gZG8gd2UgaGF2ZSBhbnkgcmVhc29uIHRvIGZhaWwg aGVyZSA/CisgICAgICAgICAgICBDTEVBUl9DRigpOworCisgICAgICAgICAgICAvLyBHZXQg dGhlIGFtb3VudCBvZiBleHRlbmRlZCBtZW1vcnkgKGFib3ZlIDFNKQorICAgICAgICAgICAg cmVncy51LnI4LmNsID0gaW5iX2Ntb3MoMHgzMCk7CisgICAgICAgICAgICByZWdzLnUucjgu Y2ggPSBpbmJfY21vcygweDMxKTsKKworICAgICAgICAgICAgLy8gbGltaXQgdG8gMTVNCisg ICAgICAgICAgICBpZiAocmVncy51LnIxNi5jeCA+ICgxNSoxMDI0KSkKKyAgICAgICAgICAg ICAgICByZWdzLnUucjE2LmN4ID0gMTUqMTAyNDsKKworICAgICAgICAgICAgLy8gRmluZCBm aXJzdCBSQU0gRTgyMCBlbnRyeSA+PSAxTUIuCisgICAgICAgICAgICBmb3IgKG9mZiA9IDA7 IG9mZiA8IGU4MjBfdGFibGVfc2l6ZTsgb2ZmICs9IDB4MTQpIHsKKyAgICAgICAgICAgICAg ICBiYXNlID0gcmVhZF9kd29yZCgweGUwMDAsIDB4MTAgKyBvZmYpOworICAgICAgICAgICAg ICAgIHR5cGUgPSByZWFkX2R3b3JkKDB4ZTAwMCwgMHgyMCArIG9mZik7CisgICAgICAgICAg ICAgICAgaWYgKChiYXNlID49IDB4MTAwMDAwKSAmJiAodHlwZSA9PSAxKSkKKyAgICAgICAg ICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIC8vIElm IHRoZXJlIGlzIFJBTSBhYm92ZSAxNk1CLCByZXR1cm4gYW1vdW50IGluIDY0a0IgY2h1bmtz LgorICAgICAgICAgICAgcmVncy51LnIxNi5keCA9IDA7CisgICAgICAgICAgICBpZiAob2Zm ICE9IGU4MjBfdGFibGVfc2l6ZSkgeworICAgICAgICAgICAgICAgIHNpemUgPSBiYXNlICsg cmVhZF9kd29yZCgweGUwMDAsIDB4MTggKyBvZmYpOworICAgICAgICAgICAgICAgIGlmIChz aXplID4gMHgxMDAwMDAwKSB7CisgICAgICAgICAgICAgICAgICAgIHNpemUgLT0gMHgxMDAw MDAwOworICAgICAgICAgICAgICAgICAgICByZWdzLnUucjE2LmR4ID0gKEJpdDE2dSkoc2l6 ZSA+PiAxNik7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorCisgICAgICAg ICAgICAvLyBTZXQgY29uZmlndXJlZCBtZW1vcnkgZXF1YWwgdG8gZXh0ZW5kZWQgbWVtb3J5 CisgICAgICAgICAgICByZWdzLnUucjE2LmF4ID0gcmVncy51LnIxNi5jeDsKKyAgICAgICAg ICAgIHJlZ3MudS5yMTYuYnggPSByZWdzLnUucjE2LmR4OworICAgICAgICAgICAgYnJlYWs7 CisgICAgICAgIH0KKyAgICAgICAgZGVmYXVsdDogIC8qIEFIPTB4RTg/PyBidXQgbm90IGlt cGxlbWVudGVkICovCisgICAgICAgICAgICBnb3RvIGludDE1X3VuaW1wbGVtZW50ZWQ7Cisg ICAgICAgIH0KKyAgICAgICAgYnJlYWs7CisgICAgaW50MTVfdW5pbXBsZW1lbnRlZDoKKyAg ICAgICAvLyBmYWxsIGludG8gdGhlIGRlZmF1bHQKKyAgICBkZWZhdWx0OgorICAgICAgQlhf SU5GTygiKioqIGludCAxNWggZnVuY3Rpb24gQVg9JTA0eCwgQlg9JTA0eCBub3QgeWV0IHN1 cHBvcnRlZCFcbiIsCisgICAgICAgICh1bnNpZ25lZCkgcmVncy51LnIxNi5heCwgKHVuc2ln bmVkKSByZWdzLnUucjE2LmJ4KTsKKyAgICAgIFNFVF9DRigpOworICAgICAgcmVncy51LnI4 LmFoID0gVU5TVVBQT1JURURfRlVOQ1RJT047CisgICAgICBicmVhazsKKyAgICB9CisjZWxz ZQogICAgICAgICAgY2FzZSAweDIwOiAvLyBjb2RlZCBieSBvc21ha2VyIGFrYSBLLkouCiAg ICAgICAgICAgICBpZihyZWdzLnUucjMyLmVkeCA9PSAweDUzNEQ0MTUwKQogICAgICAgICAg ICAgewpAQCAtNDY2MSw2ICs0ODk3LDcgQEAgQVNNX0VORAogICAgICAgcmVncy51LnI4LmFo ID0gVU5TVVBQT1JURURfRlVOQ1RJT047CiAgICAgICBicmVhazsKICAgICB9CisjZW5kaWYg LyogSFZNQVNTSVNUICovCiB9CiAKICAgdm9pZApAQCAtNTA3MSw2ICs1MzA4LDEwIEBAIGlu dDA5X2Z1bmN0aW9uKERJLCBTSSwgQlAsIFNQLCBCWCwgRFgsIEMKICAgICAgIHdyaXRlX2J5 dGUoMHgwMDQwLCAweDE4LCBtZjJfZmxhZ3MpOwogICAgICAgYnJlYWs7CiAKKyAgICBjYXNl IDB4NTM6IC8qIERlbCAqLworICAgICAgICBpZiAoKHNoaWZ0X2ZsYWdzICYgMHgwYykgPT0g MHgwYykgLyogQ3RybCArIEFsdCAqLworICAgICAgICAgICAgbWFjaGluZV9yZXNldCgpOwor ICAgICAgICAvKiBGYWxsIHRocm91Z2ggKi8KICAgICBkZWZhdWx0OgogICAgICAgaWYgKHNj YW5jb2RlICYgMHg4MCkgewogICAgICAgICBicmVhazsgLyogdG9zcyBrZXkgcmVsZWFzZXMg Li4uICovCkBAIC03OTcxLDcgKzgyMTIsNyBAQCBpbnQxN19mdW5jdGlvbihyZWdzLCBkcywg aXJldF9hZGRyKQogfQogCiB2b2lkCi1pbnQxOV9mdW5jdGlvbihzZXFfbnIpCitpbnQxOF9m dW5jdGlvbihzZXFfbnIpCiBCaXQxNnUgc2VxX25yOwogewogICBCaXQxNnUgZWJkYV9zZWc9 cmVhZF93b3JkKDB4MDA0MCwweDAwMEUpOwpAQCAtODAxMSwxMyArODI1MiwxMyBAQCBCaXQx NnUgc2VxX25yOwogICBib290ZGV2ICY9IDB4ZjsKIAogICAvKiBSZWFkIHVzZXIgc2VsZWN0 ZWQgZGV2aWNlICovCi0gIGJvb3RmaXJzdCA9IHJlYWRfd29yZChJUExfU0VHLCBJUExfQk9P VEZJUlNUX09GRlNFVCk7CisgIGJvb3RmaXJzdCA9IHJlYWRfd29yZChlYmRhX3NlZywgSVBM X0JPT1RGSVJTVF9PRkZTRVQpOwogICBpZiAoYm9vdGZpcnN0ICE9IDB4RkZGRikgewogICAg IGJvb3RkZXYgPSBib290Zmlyc3Q7CiAgICAgLyogVXNlciBzZWxlY3RlZCBkZXZpY2Ugbm90 IHNldCAqLwotICAgIHdyaXRlX3dvcmQoSVBMX1NFRywgSVBMX0JPT1RGSVJTVF9PRkZTRVQs IDB4RkZGRik7CisgICAgd3JpdGVfd29yZChlYmRhX3NlZywgSVBMX0JPT1RGSVJTVF9PRkZT RVQsIDB4RkZGRik7CiAgICAgLyogUmVzZXQgYm9vdCBzZXF1ZW5jZSAqLwotICAgIHdyaXRl X3dvcmQoSVBMX1NFRywgSVBMX1NFUVVFTkNFX09GRlNFVCwgMHhGRkZGKTsKKyAgICB3cml0 ZV93b3JkKGViZGFfc2VnLCBJUExfU0VRVUVOQ0VfT0ZGU0VULCAweEZGRkYpOwogICB9IGVs c2UgaWYgKGJvb3RkZXYgPT0gMCkgQlhfUEFOSUMoIk5vIGJvb3RhYmxlIGRldmljZS5cbiIp OwogCiAgIC8qIFRyYW5zbGF0ZSBmcm9tIENNT1MgcnVuZXMgdG8gYW4gSVBMIHRhYmxlIG9m ZnNldCBieSBzdWJ0cmFjdGluZyAxICovCkBAIC04MDU3LDggKzgyOTgsOCBAQCBBU01fU1RB UlQKICAgICBwdXNoIGN4CiAgICAgcHVzaCBkeAogCi0gICAgbW92ICBkbCwgX2ludDE5X2Z1 bmN0aW9uLmJvb3RkcnYgKyAyW2JwXQotICAgIG1vdiAgYXgsIF9pbnQxOV9mdW5jdGlvbi5i b290c2VnICsgMlticF0KKyAgICBtb3YgIGRsLCBfaW50MThfZnVuY3Rpb24uYm9vdGRydiAr IDJbYnBdCisgICAgbW92ICBheCwgX2ludDE4X2Z1bmN0aW9uLmJvb3RzZWcgKyAyW2JwXQog ICAgIG1vdiAgZXMsIGF4ICAgICAgICAgOzsgc2VnbWVudAogICAgIHhvciAgYngsIGJ4ICAg ICAgICAgOzsgb2Zmc2V0CiAgICAgbW92ICBhaCwgIzB4MDIgICAgICA7OyBmdW5jdGlvbiAy LCByZWFkIGRpc2tldHRlIHNlY3RvcgpAQCAtODA2OSw3ICs4MzEwLDcgQEAgQVNNX1NUQVJU CiAgICAgaW50ICAjMHgxMyAgICAgICAgICA7OyByZWFkIHNlY3RvcgogICAgIGpuYyAgaW50 MTlfbG9hZF9kb25lCiAgICAgbW92ICBheCwgIzB4MDAwMQotICAgIG1vdiAgX2ludDE5X2Z1 bmN0aW9uLnN0YXR1cyArIDJbYnBdLCBheAorICAgIG1vdiAgX2ludDE4X2Z1bmN0aW9uLnN0 YXR1cyArIDJbYnBdLCBheAogCiBpbnQxOV9sb2FkX2RvbmU6CiAgICAgcG9wICBkeApAQCAt ODA5Myw2ICs4MzM0LDExIEBAIEFTTV9FTkQKICAgICAgIH0KICAgICB9CiAKKyNpZiBCWF9U Q0dCSU9TCisgICAgdGNwYV9hZGRfYm9vdGRldmljZSgoQml0MzJ1KTBMLCAoQml0MzJ1KWJv b3RkcnYpOworICAgIHRjcGFfaXBsKChCaXQzMnUpMEwsKEJpdDMydSlib290c2VnLChCaXQz MnUpMEwsKEJpdDMydSk1MTJMKTsgLyogc3BlY3M6IDguMi4zIHN0ZXBzIDQgYW5kIDUgKi8K KyNlbmRpZgorCiAgICAgLyogQ2Fub25pY2FsaXplIGJvb3RzZWc6Ym9vdGlwICovCiAgICAg Ym9vdGlwID0gKGJvb3RzZWcgJiAweDBmZmYpIDw8IDQ7CiAgICAgYm9vdHNlZyAmPSAweGYw MDA7CkBAIC04MTExLDcgKzgzNTcsMTAgQEAgQVNNX0VORAogCiAgICAgYm9vdGRydiA9IChC aXQ4dSkoc3RhdHVzPj44KTsKICAgICBib290c2VnID0gcmVhZF93b3JkKGViZGFfc2VnLCZF YmRhRGF0YS0+Y2RlbXUubG9hZF9zZWdtZW50KTsKLSAgICBib290aXAgPSAwOworCisgICAg LyogQ2Fub25pY2FsaXplIGJvb3RzZWc6Ym9vdGlwICovCisgICAgYm9vdGlwID0gKGJvb3Rz ZWcgJiAweDBmZmYpIDw8IDQ7CisgICAgYm9vdHNlZyAmPSAweGYwMDA7CiAgICAgYnJlYWs7 CiAjZW5kaWYKIApAQCAtODEyOSwxOCArODM3OCwxOCBAQCBBU01fRU5ECiAgIC8qIEp1bXAg dG8gdGhlIGJvb3QgdmVjdG9yICovCiBBU01fU1RBUlQKICAgICBtb3YgIGJwLCBzcAotICAg IHB1c2ggY3MKLSAgICBwdXNoICNpbnQxOF9oYW5kbGVyCisvLyAgICBwdXNoIGNzCisvLyAg ICBwdXNoICNpbnQxOF9oYW5kbGVyCiAgICAgOzsgQnVpbGQgYW4gaXJldCBzdGFjayBmcmFt ZSB0aGF0IHdpbGwgdGFrZSB1cyB0byB0aGUgYm9vdCB2ZWN0b3IuCiAgICAgOzsgaXJldCBw b3BzIGlwLCB0aGVuIGNzLCB0aGVuIGZsYWdzLCBzbyBwdXNoIHRoZW0gaW4gdGhlIG9wcG9z aXRlIG9yZGVyLgogICAgIHB1c2hmCi0gICAgbW92ICBheCwgX2ludDE5X2Z1bmN0aW9uLmJv b3RzZWcgKyAwW2JwXQorICAgIG1vdiAgYXgsIF9pbnQxOF9mdW5jdGlvbi5ib290c2VnICsg MFticF0KICAgICBwdXNoIGF4Ci0gICAgbW92ICBheCwgX2ludDE5X2Z1bmN0aW9uLmJvb3Rp cCArIDBbYnBdCisgICAgbW92ICBheCwgX2ludDE4X2Z1bmN0aW9uLmJvb3RpcCArIDBbYnBd CiAgICAgcHVzaCBheAogICAgIDs7IFNldCB0aGUgbWFnaWMgbnVtYmVyIGluIGF4IGFuZCB0 aGUgYm9vdCBkcml2ZSBpbiBkbC4KICAgICBtb3YgIGF4LCAjMHhhYTU1Ci0gICAgbW92ICBk bCwgX2ludDE5X2Z1bmN0aW9uLmJvb3RkcnYgKyAwW2JwXQorICAgIG1vdiAgZGwsIF9pbnQx OF9mdW5jdGlvbi5ib290ZHJ2ICsgMFticF0KICAgICA7OyBaZXJvIHNvbWUgb2YgdGhlIG90 aGVyIHJlZ2lzdGVycy4KICAgICB4b3IgIGJ4LCBieAogICAgIG1vdiAgZHMsIGJ4CkBAIC04 NjI1LDUxICs4ODc0LDQ3IEBAIGludDE4X2hhbmRsZXI6IDs7IEJvb3QgRmFpbHVyZSByZWNv dmVyeToKICAgeG9yICBheCwgYXgKICAgbW92ICBzcywgYXgKIAotICA7OyBHZXQgdGhlIGJv b3Qgc2VxdWVuY2UgbnVtYmVyIG91dCBvZiB0aGUgSVBMIG1lbW9yeQotICBtb3YgIGJ4LCAj SVBMX1NFRworICA7OyBUaGUgZmlyc3QgdGltZSB3ZSBkbyB0aGlzIGl0IHdpbGwgaGF2ZSBi ZWVuIHNldCB0byAtMSBzbyAKKyAgOzsgd2Ugd2lsbCBzdGFydCBmcm9tIGRldmljZSAwLgor ICBtb3YgIGRzLCBheAorICBtb3YgIGJ4LCB3b3JkIHB0ciBbMHg0MEVdICAgICAgIDs7IEVC REEgc2VnbWVudAogICBtb3YgIGRzLCBieCAgICAgICAgICAgICAgICAgICAgIDs7IFNldCBz ZWdtZW50CiAgIG1vdiAgYngsIElQTF9TRVFVRU5DRV9PRkZTRVQgICAgOzsgQlggaXMgbm93 IHRoZSBzZXF1ZW5jZSBudW1iZXIKICAgaW5jICBieCAgICAgICAgICAgICAgICAgICAgICAg ICA7OyArKwogICBtb3YgIElQTF9TRVFVRU5DRV9PRkZTRVQsIGJ4ICAgIDs7IFdyaXRlIGl0 IGJhY2sKICAgbW92ICBkcywgYXggICAgICAgICAgICAgICAgICAgICA7OyBhbmQgcmVzZXQg dGhlIHNlZ21lbnQgdG8gemVyby4KIAotICA7OyBDYXJyeSBvbiBpbiB0aGUgSU5UIDE5aCBo YW5kbGVyLCB1c2luZyB0aGUgbmV3IHNlcXVlbmNlIG51bWJlcgorICA7OyBDYWxsIHRoZSBD IGNvZGUgZm9yIHRoZSBuZXh0IGJvb3QgZGV2aWNlCiAgIHB1c2ggYngKIAotICBqbXAgIGlu dDE5X25leHRfYm9vdAorICBjYWxsIF9pbnQxOF9mdW5jdGlvbgorCisgIDs7IEJvb3QgZmFp bGVkOiBpbnZva2UgdGhlIGJvb3QgcmVjb3ZlcnkgZnVuY3Rpb24uLi4KKyAgaW50ICAjMHgx OAogCiA7LS0tLS0tLS0tLQogOy0gSU5UMTloIC0KIDstLS0tLS0tLS0tCiBpbnQxOV9yZWxv Y2F0ZWQ6IDs7IEJvb3QgZnVuY3Rpb24sIHJlbG9jYXRlZAogCi0gIDs7IGludDE5IHdhcyBi ZWdpbm5pbmcgdG8gYmUgcmVhbGx5IGNvbXBsZXgsIHNvIG5vdyBpdAotICA7OyBqdXN0IGNh bGxzIGEgQyBmdW5jdGlvbiB0aGF0IGRvZXMgdGhlIHdvcmsKLQotICBwdXNoIGJwCi0gIG1v diAgYnAsIHNwCisgIDs7CisgIDs7ICoqKiBXYXJuaW5nOiBJTlQgMTloIHJlc2V0cyB0aGUg d2hvbGUgbWFjaGluZSAqKiogCisgIDs7CisgIDs7IEJlY2F1c2UgUFYgZHJpdmVycyBpbiBI Vk0gZ3Vlc3RzIGRldGFjaCBzb21lIG9mIHRoZSBlbXVsYXRlZCBkZXZpY2VzLCAKKyAgOzsg aXQgaXMgbm90IHNhZmUgdG8gZG8gYSBzb2Z0IHJlYm9vdCBieSBqdXN0IGRyb3BwaW5nIHRv IHJlYWwgbW9kZSBhbmQKKyAgOzsgaW52b2tpbmcgSU5UIDE5aCAtLSB0aGUgYm9vdCBkcml2 ZXMgbWlnaHQgaGF2ZSBkaXNhcHBlYXJlZCEKKyAgOzsgSWYgdGhlIHVzZXIgYXNrcyBmb3Ig YSBzb2Z0IHJlYm9vdCwgdGhlIG9ubHkgdGhpbmcgd2UgY2FuIGRvIGlzIAorICA7OyByZXNl dCB0aGUgd2hvbGUgbWFjaGluZS4gIFdoZW4gaXQgY29tZXMgYmFjayB1cCwgdGhlIG5vcm1h bCBCSU9TIAorICA7OyBib290IHNlcXVlbmNlIHdpbGwgc3RhcnQsIHdoaWNoIGlzIG1vcmUg b3IgbGVzcyB0aGUgcmVxdWlyZWQgYmVoYXZpb3VyLgorICA7OyAKKyAgOzsgUmVzZXQgU1Ag YW5kIFNTCiAKLSAgOzsgUmVzZXQgU1MgYW5kIFNQCiAgIG1vdiAgYXgsICMweGZmZmUKICAg bW92ICBzcCwgYXgKICAgeG9yICBheCwgYXgKICAgbW92ICBzcywgYXgKIAotICA7OyBTdGFy dCBmcm9tIHRoZSBmaXJzdCBib290IGRldmljZSAoMCwgaW4gQVgpCi0gIG1vdiAgYngsICNJ UExfU0VHCi0gIG1vdiAgZHMsIGJ4ICAgICAgICAgICAgICAgICAgICAgOzsgU2V0IHNlZ21l bnQgdG8gd3JpdGUgdG8gdGhlIElQTCBtZW1vcnkKLSAgbW92ICBJUExfU0VRVUVOQ0VfT0ZG U0VULCBheCAgICA7OyBTYXZlIHRoZSBzZXF1ZW5jZSBudW1iZXIKLSAgbW92ICBkcywgYXgg ICAgICAgICAgICAgICAgICAgICA7OyBhbmQgcmVzZXQgdGhlIHNlZ21lbnQuCi0KLSAgcHVz aCBheAotCi1pbnQxOV9uZXh0X2Jvb3Q6Ci0KLSAgOzsgQ2FsbCB0aGUgQyBjb2RlIGZvciB0 aGUgbmV4dCBib290IGRldmljZQotICBjYWxsIF9pbnQxOV9mdW5jdGlvbgotCi0gIDs7IEJv b3QgZmFpbGVkOiBpbnZva2UgdGhlIGJvb3QgcmVjb3ZlcnkgZnVuY3Rpb24KLSAgaW50ICAj MHgxOAorICBjYWxsIF9tYWNoaW5lX3Jlc2V0CiAKIDstLS0tLS0tLS0tCiA7LSBJTlQxQ2gg LQpAQCAtODc3OSw4ICs5MDI0LDggQEAgaGFyZF9kcml2ZV9wb3N0OgogICBTRVRfSU5UX1ZF Q1RPUigweDc2LCAjMHhGMDAwLCAjaW50NzZfaGFuZGxlcikKICAgOzsgSU5UIDQxaDogaGFy ZCBkaXNrIDAgY29uZmlndXJhdGlvbiBwb2ludGVyCiAgIDs7IElOVCA0Nmg6IGhhcmQgZGlz ayAxIGNvbmZpZ3VyYXRpb24gcG9pbnRlcgotICBTRVRfSU5UX1ZFQ1RPUigweDQxLCAjRUJE QV9TRUcsICMweDAwM0QpCi0gIFNFVF9JTlRfVkVDVE9SKDB4NDYsICNFQkRBX1NFRywgIzB4 MDA0RCkKKyAgU0VUX0lOVF9WRUNUT1IoMHg0MSwgd29yZCBwdHIgWzB4NDBFXSwgIzB4MDAz RCkgLyogRUJEQTowMDNEICovCisgIFNFVF9JTlRfVkVDVE9SKDB4NDYsIHdvcmQgcHRyIFsw eDQwRV0sICMweDAwNEQpIC8qIEVCREE6MDA0RCAqLwogCiAgIDs7IG1vdmUgZGlzayBnZW9t ZXRyeSBkYXRhIGZyb20gQ01PUyB0byBFQkRBIGRpc2sgcGFyYW1ldGVyIHRhYmxlKHMpCiAg IG1vdiAgYWwsICMweDEyCkBAIC04ODA5LDcgKzkwNTQsOSBAQCBwb3N0X2QwX3R5cGU0NzoK ICAgOzsgMjIgICAgbGFuZGluZyB6b25lIGhpZ2ggICAgICAgIEQKICAgOzsgMjMgICAgc2Vj dG9ycy90cmFjayAgICAgICAgICAgIEUKIAotICBtb3YgIGF4LCAjRUJEQV9TRUcKKyAgeG9y ICBheCwgYXgKKyAgbW92ICBkcywgYXgKKyAgbW92ICBheCwgd29yZCBwdHIgWzB4NDBFXSA7 OyBFQkRBIHNlZ21lbnQKICAgbW92ICBkcywgYXgKIAogICA7OzsgRmlsbGluZyBFQkRBIHRh YmxlIGZvciBoYXJkIGRpc2sgMC4KQEAgLTg5NTUsNyArOTIwMiw5IEBAIHBvc3RfZDFfdHlw ZTQ3OgogICA7OyAweDJiICAgIGxhbmRpbmcgem9uZSBoaWdoICAgICAgICBECiAgIDs7IDB4 MmMgICAgc2VjdG9ycy90cmFjayAgICAgICAgICAgIEUKIDs7OyBGaWxsIEVCREEgdGFibGUg Zm9yIGhhcmQgZGlzayAxLgotICBtb3YgIGF4LCAjRUJEQV9TRUcKKyAgeG9yICBheCwgYXgK KyAgbW92ICBkcywgYXgKKyAgbW92ICBheCwgd29yZCBwdHIgWzB4NDBFXSA7OyBFQkRBIHNl Z21lbnQKICAgbW92ICBkcywgYXgKICAgbW92ICBhbCwgIzB4MjgKICAgb3V0ICAjMHg3MCwg YWwKQEAgLTkyNTUsNiArOTUwNCwxMCBAQCB1c2UxNiAzODYKIAogI2VuZGlmCiAKK0FTTV9F TkQKKyNpbmNsdWRlICIzMmJpdGdhdGV3YXkuYyIKK0FTTV9TVEFSVAorCiA7LS0tLS0tLS0t LS0tLS0tLS0tLS0KICNpZiBCWF9QQ0lCSU9TCiB1c2UzMiAzODYKQEAgLTk2OTYsNzkgKzk5 NDksNzkgQEAgcGNpX3JvdXRpbmdfdGFibGVfc3RydWN0dXJlX3N0YXJ0OgogICA7OyBmaXJz dCBzbG90IGVudHJ5IFBDSS10by1JU0EgKGVtYmVkZGVkKQogICBkYiAwIDs7IHBjaSBidXMg bnVtYmVyCiAgIGRiIDB4MDggOzsgcGNpIGRldmljZSBudW1iZXIgKGJpdCA3LTMpCi0gIGRi IDB4NjAgOzsgbGluayB2YWx1ZSBJTlRBIzogcG9pbnRlciBpbnRvIFBDSTJJU0EgY29uZmln IHNwYWNlCi0gIGR3IDB4ZGVmOCA7OyBJUlEgYml0bWFwIElOVEEjCi0gIGRiIDB4NjEgOzsg bGluayB2YWx1ZSBJTlRCIwotICBkdyAweGRlZjggOzsgSVJRIGJpdG1hcCBJTlRCIwotICBk YiAweDYyIDs7IGxpbmsgdmFsdWUgSU5UQyMKLSAgZHcgMHhkZWY4IDs7IElSUSBiaXRtYXAg SU5UQyMKLSAgZGIgMHg2MyA7OyBsaW5rIHZhbHVlIElOVEQjCi0gIGR3IDB4ZGVmOCA7OyBJ UlEgYml0bWFwIElOVEQjCi0gIGRiIDAgOzsgcGh5c2ljYWwgc2xvdCAoMCA9IGVtYmVkZGVk KQotICBkYiAwIDs7IHJlc2VydmVkCi0gIDs7IHNlY29uZCBzbG90IGVudHJ5OiAxc3QgUENJ IHNsb3QKLSAgZGIgMCA7OyBwY2kgYnVzIG51bWJlcgotICBkYiAweDEwIDs7IHBjaSBkZXZp Y2UgbnVtYmVyIChiaXQgNy0zKQotICBkYiAweDYxIDs7IGxpbmsgdmFsdWUgSU5UQSMKLSAg ZHcgMHhkZWY4IDs7IElSUSBiaXRtYXAgSU5UQSMKKyAgZGIgMHg2MSA7OyBsaW5rIHZhbHVl IElOVEEjOiBwb2ludGVyIGludG8gUENJMklTQSBjb25maWcgc3BhY2UKKyAgZHcgMHgwYzIw IDs7IElSUSBiaXRtYXAgSU5UQSMKICAgZGIgMHg2MiA7OyBsaW5rIHZhbHVlIElOVEIjCi0g IGR3IDB4ZGVmOCA7OyBJUlEgYml0bWFwIElOVEIjCisgIGR3IDB4MGMyMCA7OyBJUlEgYml0 bWFwIElOVEIjCiAgIGRiIDB4NjMgOzsgbGluayB2YWx1ZSBJTlRDIwotICBkdyAweGRlZjgg OzsgSVJRIGJpdG1hcCBJTlRDIworICBkdyAweDBjMjAgOzsgSVJRIGJpdG1hcCBJTlRDIwog ICBkYiAweDYwIDs7IGxpbmsgdmFsdWUgSU5URCMKLSAgZHcgMHhkZWY4IDs7IElSUSBiaXRt YXAgSU5URCMKLSAgZGIgMSA7OyBwaHlzaWNhbCBzbG90ICgwID0gZW1iZWRkZWQpCisgIGR3 IDB4MGMyMCA7OyBJUlEgYml0bWFwIElOVEQjCisgIGRiIDAgOzsgcGh5c2ljYWwgc2xvdCAo MCA9IGVtYmVkZGVkKQogICBkYiAwIDs7IHJlc2VydmVkCi0gIDs7IHRoaXJkIHNsb3QgZW50 cnk6IDJuZCBQQ0kgc2xvdAorICA7OyBzZWNvbmQgc2xvdCBlbnRyeTogMXN0IFBDSSBzbG90 CiAgIGRiIDAgOzsgcGNpIGJ1cyBudW1iZXIKLSAgZGIgMHgxOCA7OyBwY2kgZGV2aWNlIG51 bWJlciAoYml0IDctMykKKyAgZGIgMHgxMCA7OyBwY2kgZGV2aWNlIG51bWJlciAoYml0IDct MykKICAgZGIgMHg2MiA7OyBsaW5rIHZhbHVlIElOVEEjCi0gIGR3IDB4ZGVmOCA7OyBJUlEg Yml0bWFwIElOVEEjCisgIGR3IDB4MGMyMCA7OyBJUlEgYml0bWFwIElOVEEjCiAgIGRiIDB4 NjMgOzsgbGluayB2YWx1ZSBJTlRCIwotICBkdyAweGRlZjggOzsgSVJRIGJpdG1hcCBJTlRC IworICBkdyAweDBjMjAgOzsgSVJRIGJpdG1hcCBJTlRCIwogICBkYiAweDYwIDs7IGxpbmsg dmFsdWUgSU5UQyMKLSAgZHcgMHhkZWY4IDs7IElSUSBiaXRtYXAgSU5UQyMKKyAgZHcgMHgw YzIwIDs7IElSUSBiaXRtYXAgSU5UQyMKICAgZGIgMHg2MSA7OyBsaW5rIHZhbHVlIElOVEQj Ci0gIGR3IDB4ZGVmOCA7OyBJUlEgYml0bWFwIElOVEQjCi0gIGRiIDIgOzsgcGh5c2ljYWwg c2xvdCAoMCA9IGVtYmVkZGVkKQorICBkdyAweDBjMjAgOzsgSVJRIGJpdG1hcCBJTlREIwor ICBkYiAxIDs7IHBoeXNpY2FsIHNsb3QgKDAgPSBlbWJlZGRlZCkKICAgZGIgMCA7OyByZXNl cnZlZAotICA7OyA0dGggc2xvdCBlbnRyeTogM3JkIFBDSSBzbG90CisgIDs7IHRoaXJkIHNs b3QgZW50cnk6IDJuZCBQQ0kgc2xvdAogICBkYiAwIDs7IHBjaSBidXMgbnVtYmVyCi0gIGRi IDB4MjAgOzsgcGNpIGRldmljZSBudW1iZXIgKGJpdCA3LTMpCisgIGRiIDB4MTggOzsgcGNp IGRldmljZSBudW1iZXIgKGJpdCA3LTMpCiAgIGRiIDB4NjMgOzsgbGluayB2YWx1ZSBJTlRB IwotICBkdyAweGRlZjggOzsgSVJRIGJpdG1hcCBJTlRBIworICBkdyAweDBjMjAgOzsgSVJR IGJpdG1hcCBJTlRBIwogICBkYiAweDYwIDs7IGxpbmsgdmFsdWUgSU5UQiMKLSAgZHcgMHhk ZWY4IDs7IElSUSBiaXRtYXAgSU5UQiMKKyAgZHcgMHgwYzIwIDs7IElSUSBiaXRtYXAgSU5U QiMKICAgZGIgMHg2MSA7OyBsaW5rIHZhbHVlIElOVEMjCi0gIGR3IDB4ZGVmOCA7OyBJUlEg Yml0bWFwIElOVEMjCisgIGR3IDB4MGMyMCA7OyBJUlEgYml0bWFwIElOVEMjCiAgIGRiIDB4 NjIgOzsgbGluayB2YWx1ZSBJTlREIwotICBkdyAweGRlZjggOzsgSVJRIGJpdG1hcCBJTlRE IwotICBkYiAzIDs7IHBoeXNpY2FsIHNsb3QgKDAgPSBlbWJlZGRlZCkKKyAgZHcgMHgwYzIw IDs7IElSUSBiaXRtYXAgSU5URCMKKyAgZGIgMiA7OyBwaHlzaWNhbCBzbG90ICgwID0gZW1i ZWRkZWQpCiAgIGRiIDAgOzsgcmVzZXJ2ZWQKLSAgOzsgNXRoIHNsb3QgZW50cnk6IDRyZCBQ Q0kgc2xvdAorICA7OyA0dGggc2xvdCBlbnRyeTogM3JkIFBDSSBzbG90CiAgIGRiIDAgOzsg cGNpIGJ1cyBudW1iZXIKLSAgZGIgMHgyOCA7OyBwY2kgZGV2aWNlIG51bWJlciAoYml0IDct MykKKyAgZGIgMHgyMCA7OyBwY2kgZGV2aWNlIG51bWJlciAoYml0IDctMykKICAgZGIgMHg2 MCA7OyBsaW5rIHZhbHVlIElOVEEjCi0gIGR3IDB4ZGVmOCA7OyBJUlEgYml0bWFwIElOVEEj CisgIGR3IDB4MGMyMCA7OyBJUlEgYml0bWFwIElOVEEjCiAgIGRiIDB4NjEgOzsgbGluayB2 YWx1ZSBJTlRCIwotICBkdyAweGRlZjggOzsgSVJRIGJpdG1hcCBJTlRCIworICBkdyAweDBj MjAgOzsgSVJRIGJpdG1hcCBJTlRCIwogICBkYiAweDYyIDs7IGxpbmsgdmFsdWUgSU5UQyMK LSAgZHcgMHhkZWY4IDs7IElSUSBiaXRtYXAgSU5UQyMKKyAgZHcgMHgwYzIwIDs7IElSUSBi aXRtYXAgSU5UQyMKICAgZGIgMHg2MyA7OyBsaW5rIHZhbHVlIElOVEQjCi0gIGR3IDB4ZGVm OCA7OyBJUlEgYml0bWFwIElOVEQjCi0gIGRiIDQgOzsgcGh5c2ljYWwgc2xvdCAoMCA9IGVt YmVkZGVkKQorICBkdyAweDBjMjAgOzsgSVJRIGJpdG1hcCBJTlREIworICBkYiAzIDs7IHBo eXNpY2FsIHNsb3QgKDAgPSBlbWJlZGRlZCkKICAgZGIgMCA7OyByZXNlcnZlZAotICA7OyA2 dGggc2xvdCBlbnRyeTogNXJkIFBDSSBzbG90CisgIDs7IDV0aCBzbG90IGVudHJ5OiA0cmQg UENJIHNsb3QKICAgZGIgMCA7OyBwY2kgYnVzIG51bWJlcgotICBkYiAweDMwIDs7IHBjaSBk ZXZpY2UgbnVtYmVyIChiaXQgNy0zKQorICBkYiAweDI4IDs7IHBjaSBkZXZpY2UgbnVtYmVy IChiaXQgNy0zKQogICBkYiAweDYxIDs7IGxpbmsgdmFsdWUgSU5UQSMKLSAgZHcgMHhkZWY4 IDs7IElSUSBiaXRtYXAgSU5UQSMKKyAgZHcgMHgwYzIwIDs7IElSUSBiaXRtYXAgSU5UQSMK ICAgZGIgMHg2MiA7OyBsaW5rIHZhbHVlIElOVEIjCi0gIGR3IDB4ZGVmOCA7OyBJUlEgYml0 bWFwIElOVEIjCisgIGR3IDB4MGMyMCA7OyBJUlEgYml0bWFwIElOVEIjCiAgIGRiIDB4NjMg OzsgbGluayB2YWx1ZSBJTlRDIwotICBkdyAweGRlZjggOzsgSVJRIGJpdG1hcCBJTlRDIwor ICBkdyAweDBjMjAgOzsgSVJRIGJpdG1hcCBJTlRDIwogICBkYiAweDYwIDs7IGxpbmsgdmFs dWUgSU5URCMKLSAgZHcgMHhkZWY4IDs7IElSUSBiaXRtYXAgSU5URCMKKyAgZHcgMHgwYzIw IDs7IElSUSBiaXRtYXAgSU5URCMKKyAgZGIgNCA7OyBwaHlzaWNhbCBzbG90ICgwID0gZW1i ZWRkZWQpCisgIGRiIDAgOzsgcmVzZXJ2ZWQKKyAgOzsgNnRoIHNsb3QgZW50cnk6IDVyZCBQ Q0kgc2xvdAorICBkYiAwIDs7IHBjaSBidXMgbnVtYmVyCisgIGRiIDB4MzAgOzsgcGNpIGRl dmljZSBudW1iZXIgKGJpdCA3LTMpCisgIGRiIDB4NjIgOzsgbGluayB2YWx1ZSBJTlRBIwor ICBkdyAweDBjMjAgOzsgSVJRIGJpdG1hcCBJTlRBIworICBkYiAweDYzIDs7IGxpbmsgdmFs dWUgSU5UQiMKKyAgZHcgMHgwYzIwIDs7IElSUSBiaXRtYXAgSU5UQiMKKyAgZGIgMHg2MCA7 OyBsaW5rIHZhbHVlIElOVEMjCisgIGR3IDB4MGMyMCA7OyBJUlEgYml0bWFwIElOVEMjCisg IGRiIDB4NjEgOzsgbGluayB2YWx1ZSBJTlREIworICBkdyAweDBjMjAgOzsgSVJRIGJpdG1h cCBJTlREIwogICBkYiA1IDs7IHBoeXNpY2FsIHNsb3QgKDAgPSBlbWJlZGRlZCkKICAgZGIg MCA7OyByZXNlcnZlZAogcGNpX3JvdXRpbmdfdGFibGVfc3RydWN0dXJlX2VuZDoKQEAgLTEw MTg1LDcgKzEwNDM4LDYgQEAgY2hlY2tzdW1fbG9vcDoKIHBucF9zdHJpbmc6CiAgIC5hc2Np aSAiJFBuUCIKIAotCiByb21fc2NhbjoKICAgOzsgU2NhbiBmb3IgZXhpc3RlbmNlIG9mIHZh bGlkIGV4cGFuc2lvbiBST01TLgogICA7OyAgIFZpZGVvIFJPTTogICBmcm9tIDB4QzAwMDAu LjB4QzdGRkYgaW4gMmsgaW5jcmVtZW50cwpAQCAtMTAxOTksNiArMTA0NTEsMTAgQEAgcm9t X3NjYW46CiAgIDs7ICAgMiAgICAgICAgIFJPTSBsZW5ndGggaW4gNTEyLWJ5dGUgYmxvY2tz CiAgIDs7ICAgMyAgICAgICAgIFJPTSBpbml0aWFsaXphdGlvbiBlbnRyeSBwb2ludCAoRkFS IENBTEwpCiAKKyNpZiBCWF9UQ0dCSU9TCisgIGNhbGwgX3RjcGFfc3RhcnRfb3B0aW9uX3Jv bV9zY2FuICAgIC8qIHNwZWNzOiAzLjIuMy4zICsgMTAuNC4zICovCisjZW5kaWYKKwogcm9t X3NjYW5fbG9vcDoKICAgcHVzaCBheCAgICAgICA7OyBTYXZlIEFYCiAgIG1vdiAgZHMsIGN4 CkBAIC0xMDIxOSwxOCArMTA0NzUsNDkgQEAgYmxvY2tfY291bnRfcm91bmRlZDoKIAogICB4 b3IgIGJ4LCBieCAgIDs7IFJlc3RvcmUgRFMgYmFjayB0byAwMDAwOgogICBtb3YgIGRzLCBi eAorI2lmIEJYX1RDR0JJT1MKKyAgcHVzaCBheAorICBwdXNoIGRzCisgIHB1c2ggZWN4Cisg IHhvciBheCwgYXgKKyAgbW92IGRzLCBheAorICBhbmQgZWN4LCAjMHhmZmZmCisgIHB1c2gg ZWN4ICAgICAgIDs7IHNlZ21lbnQgd2hlcmUgb3B0aW9uIHJvbSBpcyBsb2NhdGVkIGF0Cisg IGNhbGwgX3RjcGFfb3B0aW9uX3JvbSAgICAgICAgICAgICAgICAgICAvKiBzcGVjczogMy4y LjMuMyAqLworICBhZGQgc3AsICM0ICAgIDs7IHBvcCBzZWdtZW50CisgIHBvcCBlY3ggICAg ICA7OyBvcmlnaW5hbCBlY3gKKyAgcG9wIGRzCisgIHBvcCBheAorI2VuZGlmCiAgIHB1c2gg YXggICAgICAgOzsgU2F2ZSBBWAogICBwdXNoIGRpICAgICAgIDs7IFNhdmUgREkKICAgOzsg UHVzaCBhZGRyIG9mIFJPTSBlbnRyeSBwb2ludAogICBwdXNoIGN4ICAgICAgIDs7IFB1c2gg c2VnCiAgIHB1c2ggIzB4MDAwMyAgOzsgUHVzaCBvZmZzZXQKIAorICA7OyBHZXQgdGhlIEJE RiBpbnRvIGF4IGJlZm9yZSBpbnZva2luZyB0aGUgb3B0aW9uIFJPTQorICBtb3YgIGJsLCBb Ml0KKyAgbW92ICBhbCwgYmwKKyAgc2hyICBhbCwgIzcKKyAgY21wICBhbCwgIzEKKyAgam5l ICBmZXRjaF9iZGYKKyAgbW92ICBheCwgZHMgOzsgSW5jcmVtZW50IHRoZSBEUyBzaW5jZSBy b20gc2l6ZSBsYXJnZXIgdGhhbiBhbiBzZWdtZW50CisgIGFkZCAgYXgsICMweDEwMDAKKyAg bW92ICBkcywgYXgKK2ZldGNoX2JkZjoKKyAgc2hsICBieCwgIzkKKyAgeG9yICBheCwgYXgK KyAgbW92ICBhbCwgW2J4XQorCiAgIDs7IFBvaW50IEVTOkRJIGF0ICIkUG5QIiwgd2hpY2gg dGVsbHMgdGhlIFJPTSB0aGF0IHdlIGFyZSBhIFBuUCBCSU9TLgogICA7OyBUaGF0IHNob3Vs ZCBzdG9wIGl0IGdyYWJiaW5nIElOVCAxOWg7IHdlIHdpbGwgdXNlIGl0cyBCRVYgaW5zdGVh ZC4KLSAgbW92ICBheCwgIzB4ZjAwMAotICBtb3YgIGVzLCBheAorICBtb3YgIGJ4LCAjMHhm MDAwCisgIG1vdiAgZXMsIGJ4CiAgIGxlYSAgZGksIHBucF9zdHJpbmcKIAorICB4b3IgIGJ4 LCBieCAgIDs7IFJlc3RvcmUgRFMgYmFjayB0byAwMDAwOgorICBtb3YgIGRzLCBieAorCiAg IG1vdiAgYnAsIHNwICAgOzsgQ2FsbCBST00gaW5pdCByb3V0aW5lIHVzaW5nIHNlZzpvZmYg b24gc3RhY2sKICAgZGIgICAweGZmICAgICA7OyBjYWxsX2ZhciBzczpbYnArMF0KICAgZGIg ICAweDVlCkBAIC0xMDI1MCwyMSArMTA1MzcsNDcgQEAgYmxvY2tfY291bnRfcm91bmRlZDoK ICAgbW92ICBheCwgMltieF0KICAgY21wICBheCwgIzB4NTA2ZQogICBqbmUgIG5vX2Jldgor CisgIG1vdiAgYXgsIDB4MTZbYnhdIDs7IDB4MTYgaXMgdGhlIG9mZnNldCBvZiBCb290IENv bm5lY3Rpb24gVmVjdG9yCisgIGNtcCAgYXgsICMweDAwMDAKKyAgamUgICBub19iY3YKKwor ICA7OyBPcHRpb24gUk9NIGhhcyBCQ1YuIFJ1biBpdCBub3cuCisgIHB1c2ggY3ggICAgICAg OzsgUHVzaCBzZWcKKyAgcHVzaCBheCAgICAgICA7OyBQdXNoIG9mZnNldAorCisgIDs7IFBv aW50IEVTOkRJIGF0ICIkUG5QIiwgd2hpY2ggdGVsbHMgdGhlIFJPTSB0aGF0IHdlIGFyZSBh IFBuUCBCSU9TLgorICBtb3YgIGJ4LCAjMHhmMDAwCisgIG1vdiAgZXMsIGJ4CisgIGxlYSAg ZGksIHBucF9zdHJpbmcKKyAgLyoganVtcCB0byBCQ1YgZnVuY3Rpb24gZW50cnkgcG9pbnRl ciAqLworICBtb3YgIGJwLCBzcCAgIDs7IENhbGwgUk9NIEJDViByb3V0aW5lIHVzaW5nIHNl ZzpvZmYgb24gc3RhY2sKKyAgZGIgICAweGZmICAgICA7OyBjYWxsX2ZhciBzczpbYnArMF0K KyAgZGIgICAweDVlCisgIGRiICAgMAorICBjbGkgICAgICAgICAgIDs7IEluIGNhc2UgZXhw YW5zaW9uIFJPTSBCSU9TIHR1cm5zIElGIG9uCisgIGFkZCAgc3AsICMyICAgOzsgUG9wIG9m ZnNldCB2YWx1ZQorICBwb3AgIGN4ICAgICAgIDs7IFBvcCBzZWcgdmFsdWUgKHJlc3RvcmUg Q1gpCisgIGptcCAgIG5vX2JldgorCitub19iY3Y6CiAgIG1vdiAgYXgsIDB4MWFbYnhdIDs7 IDB4MUEgaXMgYWxzbyB0aGUgb2Zmc2V0IGludG8gdGhlIGV4cGFuc2lvbiBoZWFkZXIgb2Yu Li4KICAgY21wICBheCwgIzB4MDAwMCAgOzsgdGhlIEJvb3RzdHJhcCBFbnRyeSBWZWN0b3Is IG9yIHplcm8gaWYgdGhlcmUgaXMgbm9uZS4KICAgamUgICBub19iZXYKIAogICA7OyBGb3Vu ZCBhIGRldmljZSB0aGF0IHRoaW5rcyBpdCBjYW4gYm9vdCB0aGUgc3lzdGVtLiAgUmVjb3Jk IGl0cyBCRVYgYW5kIHByb2R1Y3QgbmFtZSBzdHJpbmcuCiAgIG1vdiAgZGksIDB4MTBbYnhd ICAgICAgICAgICAgOzsgUG9pbnRlciB0byB0aGUgcHJvZHVjdCBuYW1lIHN0cmluZyBvciB6 ZXJvIGlmIG5vbmUKLSAgbW92ICBieCwgI0lQTF9TRUcgICAgICAgICAgICA7OyBHbyB0byB0 aGUgc2VnbWVudCB3aGVyZSB0aGUgSVBMIHRhYmxlIGxpdmVzCisgIHhvciAgYngsIGJ4CiAg IG1vdiAgZHMsIGJ4CisgIG1vdiAgYngsIHdvcmQgcHRyIFsweDQwRV0gICAgOzsgRUJEQSBz ZWdtZW50CisgIG1vdiAgZHMsIGJ4ICAgICAgICAgICAgICAgICAgOzsgR28gdG8gdGhlIHNl Z21lbnQgd2hlcmUgdGhlIElQTCB0YWJsZSBsaXZlcwogICBtb3YgIGJ4LCBJUExfQ09VTlRf T0ZGU0VUICAgIDs7IFJlYWQgdGhlIG51bWJlciBvZiBlbnRyaWVzIHNvIGZhcgogICBjbXAg IGJ4LCAjSVBMX1RBQkxFX0VOVFJJRVMKICAgamUgICBub19iZXYgICAgICAgICAgICAgICAg ICA7OyBHZXQgb3V0IGlmIHRoZSB0YWJsZSBpcyBmdWxsCiAgIHNobCAgYngsICMweDQgICAg ICAgICAgICAgICAgOzsgVHVybiBjb3VudCBpbnRvIG9mZnNldCAoZW50cmllcyBhcmUgMTYg Ynl0ZXMpCi0gIG1vdiAgMFtieF0sICNJUExfVFlQRV9CRVYgICAgOzsgVGhpcyBlbnRyeSBp cyBhIEJFViBkZXZpY2UKLSAgbW92ICA2W2J4XSwgY3ggICAgICAgICAgICAgICA7OyBCdWls ZCBhIGZhciBwb2ludGVyIGZyb20gdGhlIHNlZ21lbnQuLi4KLSAgbW92ICA0W2J4XSwgYXgg ICAgICAgICAgICAgICA7OyBhbmQgdGhlIG9mZnNldAorICBtb3YgIElQTF9UQUJMRV9PRkZT RVQrMFtieF0sICNJUExfVFlQRV9CRVYgOzsgVGhpcyBlbnRyeSBpcyBhIEJFViBkZXZpY2UK KyAgbW92ICBJUExfVEFCTEVfT0ZGU0VUKzZbYnhdLCBjeCAgICAgICAgICAgIDs7IEJ1aWxk IGEgZmFyIHBvaW50ZXIgZnJvbSB0aGUgc2VnbWVudC4uLgorICBtb3YgIElQTF9UQUJMRV9P RkZTRVQrNFtieF0sIGF4ICAgICAgICAgICAgOzsgYW5kIHRoZSBvZmZzZXQKICAgY21wICBk aSwgIzB4MDAwMAogICBqZSAgIG5vX3Byb2Rfc3RyCiAgIG1vdiAgMHhBW2J4XSwgY3ggICAg ICAgICAgICAgOzsgQnVpbGQgYSBmYXIgcG9pbnRlciBmcm9tIHRoZSBzZWdtZW50Li4uCkBA IC0xMDI4OSw2ICsxMDYwMiw2NCBAQCByb21fc2Nhbl9pbmNyZW1lbnQ6CiAgIG1vdiAgZHMs IGF4CiAgIHJldAogCisjaWZkZWYgSFZNQVNTSVNUCisKKzsgQ29weSB0aGUgU01CSU9TIGVu dHJ5IHBvaW50IGZyb20gd2hlcmUgaHZtbG9hZGVyIGxlZnQgaXQuCis7IFRoZSBlbnRyeSBw b2ludCBtdXN0IGJlIHNvbWV3aGVyZSBpbiAweGYwMDAwLTB4ZmZmZmYgb24gYSAxNi1ieXRl IGJvdW5kYXJ5LAorOyBidXQgdGhlIHRhYmxlcyB0aGVtc2VsdmVzIGNhbiBiZSBlbHNld2hl cmUuCitzbWJpb3NfaW5pdDoKKyAgcHVzaCBheAorICBwdXNoIGN4CisgIHB1c2ggZXMKKyAg cHVzaCBkcworICBwdXNoIGRpCisgIHB1c2ggc2kKKworICBtb3YgY3gsICMweDAwMWYgOyAw eDFmIGJ5dGVzIHRvIGNvcHkKKyAgbW92IGF4LCAjMHhmMDAwCisgIG1vdiBlcywgYXggICAg ICA7IGRlc3RpbmF0aW9uIHNlZ21lbnQgaXMgMHhmMDAwMAorICBtb3YgZGksICNzbWJpb3Nf ZW50cnlfcG9pbnQgOyBkZXN0aW5hdGlvbiBvZmZzZXQKKyAgbW92IGF4LCAjKFNNQklPU19Q SFlTSUNBTF9BRERSRVNTPj40KQorICBtb3YgZHMsIGF4CisgIG1vdiBzaSwgIyhTTUJJT1Nf UEhZU0lDQUxfQUREUkVTUyYxNSkKKyAgY2xkCisgIHJlcAorICAgIG1vdnNiCisKKyAgcG9w IHNpCisgIHBvcCBkaQorICBwb3AgZHMKKyAgcG9wIGVzCisgIHBvcCBjeAorICBwb3AgYXgK KworICByZXQKKworI2VuZGlmCisKKyNpZiBCWF9UQ0dCSU9TCis7IFRoZSBzZWN0aW9uIGJl dHdlZW4gdGhlIFBPU1QgZW50cnkgYW5kIHRoZSBOTUkgZW50cnkgaXMgZmlsbGluZyB1cAor OyBhbmQgY2F1c2VzIGNyYXNoZXMgaWYgdGhpcyBjb2RlIHdhcyBkaXJlY3RseSB0aGVyZQor dGNwYV9wb3N0X3BhcnQxOgorICBjYWxsIF90Y3BhX2FjcGlfaW5pdAorCisgIHB1c2ggZHdv cmQgIzAKKyAgY2FsbCBfdGNwYV9pbml0aWFsaXplX3RwbQorICBhZGQgc3AsICM0CisKKyAg Y2FsbCBfdGNwYV9kb19tZWFzdXJlX1BPU1RzCisgIGNhbGwgX3RjcGFfd2FrZV9ldmVudCAg ICAgLyogc3BlY3M6IDMuMi4zLjcgKi8KKyAgcmV0CisKK3RjcGFfcG9zdF9wYXJ0MjoKKyAg Y2FsbCBfdGNwYV9jYWxsaW5nX2ludDE5aCAgICAgICAgICAvKiBzcGVjczogOC4yLjMgc3Rl cCAxICovCisgIGNhbGwgX3RjcGFfYWRkX2V2ZW50X3NlcGFyYXRvcnMgICAgLyogc3BlY3M6 IDguMi4zIHN0ZXAgMiAqLworICAvKiB3ZSBkbyBub3QgY2FsbCBpbnQgMTloIGhhbmRsZXIg YnV0IGtlZXAgZm9sbG93aW5nIGV2ZW50bG9nICovCisgIGNhbGwgX3RjcGFfcmV0dXJuZWRf aW50MTloICAgICAgICAgLyogc3BlY3M6IDguMi4zIHN0ZXAgMy83ICovCisgIHJldAorI2Vu ZGlmCisKKwogcG9zdF9pbml0X3BpYzoKICAgbW92IGFsLCAjMHgxMSA7IHNlbmQgaW5pdGlh bGlzYXRpb24gY29tbWFuZHMKICAgb3V0IDB4MjAsIGFsCkBAIC0xMDQ4Myw5ICsxMDg1NCwx NiBAQCBwb3N0X2RlZmF1bHRfaW50czoKICAgOzsgaW50IDFDIGFscmVhZHkgcG9pbnRzIGF0 IGR1bW15X2lyZXRfaGFuZGxlciAoYWJvdmUpCiAgIG1vdiBhbCwgIzB4MzQgOyB0aW1lcjA6 IGJpbmFyeSBjb3VudCwgMTZiaXQgY291bnQsIG1vZGUgMgogICBvdXQgMHg0MywgYWwKKyNp ZmRlZiBIVk1BU1NJU1QKKyAgbW92IGFsLCAjMHgwYiA7ICMweGU5MGIgPSAyMCBIeiAodGVt cG9yYXJ5LCB1bnRpbCB3ZSBmaXggeGVuL3ZteCBzdXBwb3J0KQorICBvdXQgMHg0MCwgYWwg OyBsc2IKKyAgbW92IGFsLCAjMHhlOQorICBvdXQgMHg0MCwgYWwgOyBtc2IKKyNlbHNlCiAg IG1vdiBhbCwgIzB4MDAgOyBtYXhpbXVtIGNvdW50IG9mIDAwMDBIID0gMTguMkh6CiAgIG91 dCAweDQwLCBhbAogICBvdXQgMHg0MCwgYWwKKyNlbmRpZgogCiAgIDs7IEtleWJvYXJkCiAg IFNFVF9JTlRfVkVDVE9SKDB4MDksICMweEYwMDAsICNpbnQwOV9oYW5kbGVyKQpAQCAtMTA1 MjcsNiArMTA5MDUsOSBAQCBwb3N0X2RlZmF1bHRfaW50czoKICAgaW4gICBhbCwgMHg3MQog ICBtb3YgIDB4MDQxMCwgYXgKIAorI2lmIEJYX1RDR0JJT1MKKyAgY2FsbCB0Y3BhX3Bvc3Rf cGFydDEKKyNlbmRpZgogCiAgIDs7IFBhcmFsbGVsIHNldHVwCiAgIFNFVF9JTlRfVkVDVE9S KDB4MEYsICMweEYwMDAsICNkdW1teV9pcmV0X2hhbmRsZXIpCkBAIC0xMDYyNiw2ICsxMTAw NywxNCBAQCBwb3N0X2RlZmF1bHRfaW50czoKICAgOzsKICNlbmRpZiAvLyBCWF9FTFRPUklU T19CT09UCiAKKyNpZmRlZiBIVk1BU1NJU1QKKyAgY2FsbCBfZW5hYmxlX3JvbV93cml0ZV9h Y2Nlc3MKKyAgY2FsbCBfY2xvYmJlcl9lbnRyeV9wb2ludAorICBjYWxsIF9jb3B5X2U4MjBf dGFibGUKKyAgY2FsbCBzbWJpb3NfaW5pdAorICBjYWxsIF9kaXNhYmxlX3JvbV93cml0ZV9h Y2Nlc3MKKyNlbmRpZgorCiAgIGNhbGwgX2luaXRfYm9vdF92ZWN0b3JzCiAKICAgbW92ICBj eCwgIzB4YzgwMCAgOzsgaW5pdCBvcHRpb24gcm9tcwpAQCAtMTA2MzYsOCArMTEwMjUsMTQg QEAgcG9zdF9kZWZhdWx0X2ludHM6CiAgIGNhbGwgX2ludGVyYWN0aXZlX2Jvb3RrZXkKICNl bmRpZiAvLyBCWF9FTFRPUklUT19CT09UCiAKKyNpZiBCWF9UQ0dCSU9TCisgIGNhbGwgdGNw YV9wb3N0X3BhcnQyCisjZW5kaWYKKwogICBzdGkgICAgICAgIDs7IGVuYWJsZSBpbnRlcnJ1 cHRzCi0gIGludCAgIzB4MTkKKyAgOzsgU3RhcnQgdGhlIGJvb3Qgc2VxdWVuY2UuICAgU2Vl IHRoZSBjb21tZW50cyBpbiBpbnQxOV9yZWxvY2F0ZWQgCisgIDs7IGZvciB3aHkgd2UgdXNl IElOVCAxOGggaW5zdGVhZCBvZiBJTlQgMTloIGhlcmUuCisgIGludCAgIzB4MTgKIAogLm9y ZyAweGUyYzMgOyBOTUkgSGFuZGxlciBFbnRyeSBQb2ludAogbm1pOgpAQCAtMTExMTgsNiAr MTE1MTMsMjEgQEAgZGIgMHgwMCAgICA7OyBiYXNlICAyMzoxNgogOy0tLS0tLS0tLS0KIC5v cmcgMHhmZTZlIDsgSU5UIDFBaCBUaW1lLW9mLWRheSBTZXJ2aWNlIEVudHJ5IFBvaW50CiBp bnQxYV9oYW5kbGVyOgorI2lmIEJYX1RDR0JJT1MKKyAgY21wICBhaCwgIzB4YmIKKyAgam5l ICBub190Y2cKKyAgcHVzaGYKKyAgcHVzaCBkcworICBwdXNoIGVzCisgIHB1c2hhZAorICBj YWxsIF9pbnQxYV9mdW5jdGlvbjMyCisgIHBvcGFkCisgIHBvcCBlcworICBwb3AgZHMKKyAg cG9wZgorICBpcmV0Citub190Y2c6CisjZW5kaWYKICNpZiBCWF9QQ0lCSU9TCiAgIGNtcCAg YWgsICMweGIxCiAgIGpuZSAgaW50MWFfbm9ybWFsCkBAIC0xMTIyNCw4ICsxMTYzNCwxNyBA QCBkdW1teV9pcmV0X2hhbmRsZXI6CiAgIEhBTFQoX19MSU5FX18pCiAgIGlyZXQKIAorI2lm ZGVmIEhWTVRFU1QKKy5vcmcgMHhmZmUwCisgIGptcCAweGYwMDA6cG9zdDsKKyNlbmRpZgor CiAub3JnIDB4ZmZmMCA7IFBvd2VyLXVwIEVudHJ5IFBvaW50Ci0gIGptcCAweGYwMDA6cG9z dAorI2lmZGVmIEhWTVRFU1QKKyAgam1wIDB4ZDAwMDoweDAwMDM7CisjZWxzZQorICAgam1w IDB4ZjAwMDpwb3N0CisjZW5kaWYKIAogLm9yZyAweGZmZjUgOyBBU0NJSSBEYXRlIFJPTSB3 YXMgYnVpbHQgLSA4IGNoYXJhY3RlcnMgaW4gTU0vREQvWVkKIC5hc2NpaSBCSU9TX0JVSUxE X0RBVEUKQEAgLTExMzczLDggKzExNzkyLDUzIEBAIHN0YXRpYyBCaXQ4dSB2Z2Fmb250OFsx MjgqOF09CiAgMHgwMCwgMHgxMCwgMHgzOCwgMHg2YywgMHhjNiwgMHhjNiwgMHhmZSwgMHgw MCwKIH07CiAKKyNpZmRlZiBIVk1BU1NJU1QKIEFTTV9TVEFSVAorCisvLyBzcGFjZSBmb3Ig YWRkcmVzc2VzIGluIDMyYml0IEJJT1MgYXJlYTsgY3VycmVudGx5IDI1Ni80IGVudHJpZXMK Ky8vIGFyZSBhbGxvY2F0ZWQKKy5vcmcgMHhjYjAwCitqbXB0YWJsZToKK2RiIDB4NUYsIDB4 NUYsIDB4NUYsIDB4NEEsIDB4NEQsIDB4NTAsIDB4NTQgOzsgX19fSk1QVAorZHcgMCwwLDAs MCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAs MCwwIDs7ICA2NCBieXRlcworZHcgMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCww LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwIDs7IDEyOCBieXRlcworZHcgMCwwLDAs MCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAs MCwwIDs7IDE5MiBieXRlcworCisvLworLy8gTVAgVGFibGVzCisvLyBqdXN0IGNhcnZlIG91 dCBzb21lIGJsYW5rIHNwYWNlIGZvciBIVk1MT0FERVIgdG8gd3JpdGUgdGhlIE1QIHRhYmxl cyB0bworLy8KKy8vIE5PVEU6IFRoZXJlIHNob3VsZCBiZSBlbm91Z2ggc3BhY2UgZm9yIGEg MzIgcHJvY2Vzc29yIGVudHJ5IE1QIHRhYmxlCisvLwogLm9yZyAweGNjMDAKK2RiIDB4NUYs IDB4NUYsIDB4NUYsIDB4NDgsIDB4NTYsIDB4NEQsIDB4NEQsIDB4NTAgOzsgX19fSFZNTVAK K2R3IDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAs MCwwLDAsMCwwLDAsMCA7OyAgNjQgYnl0ZXMKK2R3IDAsMCwwLDAsMCwwLDAsMCwwLDAsMCww LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCA7OyAxMjggYnl0ZXMK K2R3IDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAs MCwwLDAsMCwwLDAsMCA7OyAxOTIgYnl0ZXMKK2R3IDAsMCwwLDAsMCwwLDAsMCwwLDAsMCww LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCA7OyAyNTYgYnl0ZXMK K2R3IDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAs MCwwLDAsMCwwLDAsMCA7OyAzMjAgYnl0ZXMKK2R3IDAsMCwwLDAsMCwwLDAsMCwwLDAsMCww LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCA7OyAzODQgYnl0ZXMK K2R3IDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAs MCwwLDAsMCwwLDAsMCA7OyA0NDggYnl0ZXMKK2R3IDAsMCwwLDAsMCwwLDAsMCwwLDAsMCww LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCA7OyA1MTIgYnl0ZXMK K2R3IDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAs MCwwLDAsMCwwLDAsMCA7OyA1NzYgYnl0ZXMKK2R3IDAsMCwwLDAsMCwwLDAsMCwwLDAsMCww LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCA7OyA2NDAgYnl0ZXMK K2R3IDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAs MCwwLDAsMCwwLDAsMCA7OyA3MDQgYnl0ZXMKK2R3IDAsMCwwLDAsMCwwLDAsMCwwLDAsMCww LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCA7OyA3NjggYnl0ZXMK K2R3IDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAs MCwwLDAsMCwwLDAsMCA7OyA4MzIgYnl0ZXMKK2R3IDAsMCwwLDAsMCwwLDAsMCwwLDAsMCww LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCA7OyA4OTYgYnl0ZXMK KworLmFsaWduIDE2CitzbWJpb3NfZW50cnlfcG9pbnQ6CitkYiAwLDAsMCwwLDAsMCwwLDAg OyA4IGJ5dGVzCitkYiAwLDAsMCwwLDAsMCwwLDAgOyAxNiBieXRlcworZGIgMCwwLDAsMCww LDAsMCwwIDsgMjQgYnl0ZXMKK2RiIDAsMCwwLDAsMCwwLDAgICA7IDMxIGJ5dGVzCitBU01f RU5ECisKKyNlbmRpZiAvLyBIVk1BU1NJU1QKK0FTTV9TVEFSVAorLm9yZyAweGNmZjAKIGJp b3NfdGFibGVfYXJlYV9lbmQ6CiAvLyBiY2MtZ2VuZXJhdGVkIGRhdGEgd2lsbCBiZSBwbGFj ZWQgaGVyZQogQVNNX0VORAorCi0tLSByb21iaW9zLmJvY2hzLmgJMjAwOC0xMi0xOCAwODo0 NjoxOC4wMDAwMDAwMDAgKzA5MDAKKysrIHJvbWJpb3MuaAkyMDA4LTEyLTE3IDIzOjMzOjQ0 LjAwMDAwMDAwMCArMDkwMApAQCAtMjAsMTMgKzIwLDE0IEBACiAKIC8qIGRlZmluZSBpdCB0 byBpbmNsdWRlIFFFTVUgc3BlY2lmaWMgY29kZSAqLwogLy8jZGVmaW5lIEJYX1FFTVUKKyNk ZWZpbmUgTEVHQUNZCiAKICNpZm5kZWYgTEVHQUNZCiAjICBkZWZpbmUgQlhfUk9NQklPUzMy ICAgICAxCiAjZWxzZQogIyAgZGVmaW5lIEJYX1JPTUJJT1MzMiAgICAgMAogI2VuZGlmCi0j ZGVmaW5lIERFQlVHX1JPTUJJT1MgICAgMAorI2RlZmluZSBERUJVR19ST01CSU9TICAgIDEK IAogI2RlZmluZSBQQU5JQ19QT1JUICAweDQwMAogI2RlZmluZSBQQU5JQ19QT1JUMiAweDQw MQpAQCAtNTgsNyArNTksOSBAQAogI2RlZmluZSBTTUJfSU9fQkFTRSAgICAgICAweGIxMDAK IAogICAvLyBEZWZpbmUgdGhlIGFwcGxpY2F0aW9uIE5BTUUKLSNpZiBkZWZpbmVkKEJYX1FF TVUpCisjaWYgZGVmaW5lIEhWTUFTU0lTVAorIyAgZGVmaW5lIEJYX0FQUE5BTUUgIkhWTUFz c2lzdCIKKyNlbGlmIGRlZmluZWQoQlhfUUVNVSkKICMgIGRlZmluZSBCWF9BUFBOQU1FICJR RU1VIgogI2VsaWYgZGVmaW5lZChQTEVYODYpCiAjICBkZWZpbmUgQlhfQVBQTkFNRSAiUGxl eDg2Igo= --------------070609050406040406060303 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 --------------070609050406040406060303--