From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Jj9mn-00084P-F2 for qemu-devel@nongnu.org; Tue, 08 Apr 2008 05:06:37 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Jj9mm-00082f-7O for qemu-devel@nongnu.org; Tue, 08 Apr 2008 05:06:36 -0400 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Jj9ml-00082B-Gg for qemu-devel@nongnu.org; Tue, 08 Apr 2008 05:06:35 -0400 Received: from smtp3-g19.free.fr ([212.27.42.29]) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1Jj9mk-0005CG-MU for qemu-devel@nongnu.org; Tue, 08 Apr 2008 05:06:35 -0400 Received: from smtp3-g19.free.fr (localhost.localdomain [127.0.0.1]) by smtp3-g19.free.fr (Postfix) with ESMTP id 9A20017B5BE for ; Tue, 8 Apr 2008 11:06:33 +0200 (CEST) Received: from [127.0.0.1] (rob92-10-88-171-126-33.fbx.proxad.net [88.171.126.33]) by smtp3-g19.free.fr (Postfix) with ESMTP id 5687217B598 for ; Tue, 8 Apr 2008 11:06:33 +0200 (CEST) Message-ID: <47FB3597.8060305@reactos.org> Date: Tue, 08 Apr 2008 11:06:31 +0200 From: =?ISO-8859-1?Q?Herv=E9_Poussineau?= MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="------------010502000907040609070401" Subject: [Qemu-devel] [PATCH] Simplify PICA 61 emulation Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org This is a multi-part message in MIME format. --------------010502000907040609070401 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: quoted-printable Hi, Acer PICA 61 is (mostly) the same as Mips Magnum R4000, except for the=20 graphic card. Attached patch removes mips_pica61.c file, and merges it into mips_jazz.c Herv=E9 --------------010502000907040609070401 Content-Type: text/plain; name="pica61_fix.diff" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="pica61_fix.diff" SW5kZXg6IGh3L2JvYXJkcy5oDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gaHcvYm9hcmRzLmgJKHJl dmlzaW9uIDQxNzMpDQorKysgaHcvYm9hcmRzLmgJKHdvcmtpbmcgY29weSkNCkBAIC0zOCwx MyArMzgsMTEgQEANCiAKIC8qIG1pcHNfamF6ei5jICovCiBleHRlcm4gUUVNVU1hY2hpbmUg bWlwc19tYWdudW1fbWFjaGluZTsKK2V4dGVybiBRRU1VTWFjaGluZSBtaXBzX3BpY2E2MV9t YWNoaW5lOwogCiAvKiBtaXBzX21hbHRhLmMgKi8KIGV4dGVybiBRRU1VTWFjaGluZSBtaXBz X21hbHRhX21hY2hpbmU7CiAKLS8qIG1pcHNfcGljYTYxLmMgKi8KLWV4dGVybiBRRU1VTWFj aGluZSBtaXBzX3BpY2E2MV9tYWNoaW5lOwotCiAvKiBtaXBzX21pcHNzaW0uYyAqLwogZXh0 ZXJuIFFFTVVNYWNoaW5lIG1pcHNfbWlwc3NpbV9tYWNoaW5lOwogCkluZGV4OiBody9taXBz X2phenouYw0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIGh3L21pcHNfamF6ei5jCShyZXZpc2lvbiA0 MTczKQ0KKysrIGh3L21pcHNfamF6ei5jCSh3b3JraW5nIGNvcHkpDQpAQCAtMzMsMjQgKzMz LDE2IEBADQogI2luY2x1ZGUgIm5ldC5oIgogI2luY2x1ZGUgInNjc2kuaCIKIAotZXh0ZXJu IGludCBub2dyYXBoaWM7Ci0KICNpZmRlZiBUQVJHRVRfV09SRFNfQklHRU5ESUFOCiAjZGVm aW5lIEJJT1NfRklMRU5BTUUgIm1pcHNfYmlvcy5iaW4iCiAjZWxzZQogI2RlZmluZSBCSU9T X0ZJTEVOQU1FICJtaXBzZWxfYmlvcy5iaW4iCiAjZW5kaWYKIAotI2lmZGVmIFRBUkdFVF9N SVBTNjQKLSNkZWZpbmUgUEhZU19UT19WSVJUKHgpICgoeCkgfCB+MHg3ZmZmZmZmZlVMTCkK LSNlbHNlCi0jZGVmaW5lIFBIWVNfVE9fVklSVCh4KSAoKHgpIHwgfjB4N2ZmZmZmZmZVKQot I2VuZGlmCi0jZGVmaW5lIFZJUlRfVE9fUEhZU19BRERFTkQgKC0oKGludDY0X3QpKGludDMy X3QpMHg4MDAwMDAwMCkpCi0KIGVudW0gamF6el9tb2RlbF9lCiB7CiAgICAgSkFaWl9NQUdO VU0sCisgICAgSkFaWl9QSUNBNjEsCiB9OwogCiBzdGF0aWMgdm9pZCBtYWluX2NwdV9yZXNl dCh2b2lkICpvcGFxdWUpCkBAIC0xOTYsNiArMTg4LDEwIEBADQogICAgIGNhc2UgSkFaWl9N QUdOVU06CiAgICAgICAgIGczNjRmYl9tbV9pbml0KGRzLCB2Z2FfcmFtX3NpemUsIDAsIDB4 NDAwMDAwMDAsIDB4NjAwMDAwMDApOwogICAgICAgICBicmVhazsKKyAgICBjYXNlIEpBWlpf UElDQTYxOgorICAgICAgICBpc2FfdmdhX21tX2luaXQoZHMsIHBoeXNfcmFtX2Jhc2UgKyBy YW1fc2l6ZSwgcmFtX3NpemUsIHZnYV9yYW1fc2l6ZSwNCisgICAgICAgICAgICAgICAgICAg ICAgICAweDQwMDAwMDAwLCAweDYwMDAwMDAwLCAwKTsKKyAgICAgICAgYnJlYWs7CiAgICAg ZGVmYXVsdDoKICAgICAgICAgYnJlYWs7CiAgICAgfQpAQCAtMjY4LDggKzI2NCwyMyBAQA0K ICAgICBtaXBzX2phenpfaW5pdChyYW1fc2l6ZSwgdmdhX3JhbV9zaXplLCBkcywgY3B1X21v ZGVsLCBKQVpaX01BR05VTSk7CiB9CiAKK3N0YXRpYwordm9pZCBtaXBzX3BpY2E2MV9pbml0 IChpbnQgcmFtX3NpemUsIGludCB2Z2FfcmFtX3NpemUsCisgICAgICAgICAgICAgICAgICAg ICAgIGNvbnN0IGNoYXIgKmJvb3RfZGV2aWNlLCBEaXNwbGF5U3RhdGUgKmRzLAorICAgICAg ICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICprZXJuZWxfZmlsZW5hbWUsIGNvbnN0IGNo YXIgKmtlcm5lbF9jbWRsaW5lLAorICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFy ICppbml0cmRfZmlsZW5hbWUsIGNvbnN0IGNoYXIgKmNwdV9tb2RlbCkKK3sKKyAgICBtaXBz X2phenpfaW5pdChyYW1fc2l6ZSwgdmdhX3JhbV9zaXplLCBkcywgY3B1X21vZGVsLCBKQVpa X1BJQ0E2MSk7Cit9CisKIFFFTVVNYWNoaW5lIG1pcHNfbWFnbnVtX21hY2hpbmUgPSB7CiAg ICAgIm1hZ251bSIsCiAgICAgIk1JUFMgTWFnbnVtIiwKICAgICBtaXBzX21hZ251bV9pbml0 LAogfTsKKworUUVNVU1hY2hpbmUgbWlwc19waWNhNjFfbWFjaGluZSA9IHsKKyAgICAicGlj YTYxIiwKKyAgICAiQWNlciBQaWNhIDYxIiwKKyAgICBtaXBzX3BpY2E2MV9pbml0LAorfTsK SW5kZXg6IGh3L21pcHNfcGljYTYxLmMNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBody9taXBzX3Bp Y2E2MS5jCShyZXZpc2lvbiA0MTczKQ0KKysrIGh3L21pcHNfcGljYTYxLmMJKHdvcmtpbmcg Y29weSkNCkBAIC0xLDIxMSArMCwwIEBADQotLyoKLSAqIFFFTVUgQWNlciBQaWNhIE1hY2hp bmUgc3VwcG9ydAotICoKLSAqIENvcHlyaWdodCAoYykgMjAwNyBIZXJ26SBQb3Vzc2luZWF1 Ci0gKgotICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2Us IHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weQotICogb2YgdGhpcyBzb2Z0d2FyZSBh bmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksIHRv IGRlYWwKLSAqIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRp bmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMKLSAqIHRvIHVzZSwgY29weSwgbW9k aWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNl bGwKLSAqIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0 byB3aG9tIHRoZSBTb2Z0d2FyZSBpcwotICogZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0 IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKLSAqCi0gKiBUaGUgYWJvdmUgY29weXJp Z2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRl ZCBpbgotICogYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29m dHdhcmUuCi0gKgotICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhP VVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IKLSAqIElNUExJRUQsIElOQ0xV RElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM SVRZLAotICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJ TkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwKLSAqIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdI VCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSCi0g KiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9S IE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLAotICogT1VUIE9GIE9SIElOIENPTk5FQ1RJT04g V0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTgotICog VEhFIFNPRlRXQVJFLgotICovCi0KLSNpbmNsdWRlICJody5oIgotI2luY2x1ZGUgIm1pcHMu aCIKLSNpbmNsdWRlICJpc2EuaCIKLSNpbmNsdWRlICJwYy5oIgotI2luY2x1ZGUgImZkYy5o IgotI2luY2x1ZGUgInN5c2VtdS5oIgotI2luY2x1ZGUgImJvYXJkcy5oIgotCi0jaWZkZWYg VEFSR0VUX1dPUkRTX0JJR0VORElBTgotI2RlZmluZSBCSU9TX0ZJTEVOQU1FICJtaXBzX2Jp b3MuYmluIgotI2Vsc2UKLSNkZWZpbmUgQklPU19GSUxFTkFNRSAibWlwc2VsX2Jpb3MuYmlu IgotI2VuZGlmCi0KLSNpZmRlZiBUQVJHRVRfTUlQUzY0Ci0jZGVmaW5lIFBIWVNfVE9fVklS VCh4KSAoKHgpIHwgfjB4N2ZmZmZmZmZVTEwpCi0jZWxzZQotI2RlZmluZSBQSFlTX1RPX1ZJ UlQoeCkgKCh4KSB8IH4weDdmZmZmZmZmVSkKLSNlbmRpZgotCi0jZGVmaW5lIFZJUlRfVE9f UEhZU19BRERFTkQgKC0oKGludDY0X3QpKGludDMyX3QpMHg4MDAwMDAwMCkpCi0KLSNkZWZp bmUgTUFYX0lERV9CVVMgMgotI2RlZmluZSBNQVhfRkQgMgotCi1zdGF0aWMgY29uc3QgaW50 IGlkZV9pb2Jhc2VbMl0gPSB7IDB4MWYwLCAweDE3MCB9Owotc3RhdGljIGNvbnN0IGludCBp ZGVfaW9iYXNlMlsyXSA9IHsgMHgzZjYsIDB4Mzc2IH07Ci1zdGF0aWMgY29uc3QgaW50IGlk ZV9pcnFbMl0gPSB7IDE0LCAxNSB9OwotCi1zdGF0aWMgdWludDMyX3Qgc2VyaWFsX2Jhc2Vb TUFYX1NFUklBTF9QT1JUU10gPSB7IDB4ODAwMDYwMDAsIDB4ODAwMDcwMDAgfTsKLXN0YXRp YyBpbnQgc2VyaWFsX2lycVtNQVhfU0VSSUFMX1BPUlRTXSA9IHsgOCwgOSB9OwotCi1leHRl cm4gRklMRSAqbG9nZmlsZTsKLQotc3RhdGljIHZvaWQgbWFpbl9jcHVfcmVzZXQodm9pZCAq b3BhcXVlKQotewotICAgIENQVVN0YXRlICplbnYgPSBvcGFxdWU7Ci0gICAgY3B1X3Jlc2V0 KGVudik7Ci19Ci0KLXN0YXRpYwotdm9pZCBtaXBzX3BpY2E2MV9pbml0IChpbnQgcmFtX3Np emUsIGludCB2Z2FfcmFtX3NpemUsCi0gICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNo YXIgKmJvb3RfZGV2aWNlLCBEaXNwbGF5U3RhdGUgKmRzLAotICAgICAgICAgICAgICAgICAg ICBjb25zdCBjaGFyICprZXJuZWxfZmlsZW5hbWUsIGNvbnN0IGNoYXIgKmtlcm5lbF9jbWRs aW5lLAotICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICppbml0cmRfZmlsZW5hbWUs IGNvbnN0IGNoYXIgKmNwdV9tb2RlbCkKLXsKLSAgICBjaGFyIGJ1ZlsxMDI0XTsKLSAgICB1 bnNpZ25lZCBsb25nIGJpb3Nfb2Zmc2V0OwotICAgIGludCBiaW9zX3NpemU7Ci0gICAgQ1BV U3RhdGUgKmVudjsKLSAgICBpbnQgaTsKLSAgICBpbnQgYXZhaWxhYmxlX3JhbTsKLSAgICBx ZW11X2lycSAqaTgyNTk7Ci0gICAgaW50IGluZGV4OwotICAgIEJsb2NrRHJpdmVyU3RhdGUg KmZkW01BWF9GRF07Ci0KLSAgICAvKiBpbml0IENQVXMgKi8KLSAgICBpZiAoY3B1X21vZGVs ID09IE5VTEwpIHsKLSNpZmRlZiBUQVJHRVRfTUlQUzY0Ci0gICAgICAgIGNwdV9tb2RlbCA9 ICJSNDAwMCI7Ci0jZWxzZQotICAgICAgICAvKiBGSVhNRTogQWxsIHdyb25nLCB0aGlzIG1h eWJlIHNob3VsZCBiZSBSMzAwMCBmb3IgdGhlIG9sZGVyIFBJQ0FzLiAqLwotICAgICAgICBj cHVfbW9kZWwgPSAiMjRLZiI7Ci0jZW5kaWYKLSAgICB9Ci0gICAgZW52ID0gY3B1X2luaXQo Y3B1X21vZGVsKTsKLSAgICBpZiAoIWVudikgewotICAgICAgICBmcHJpbnRmKHN0ZGVyciwg IlVuYWJsZSB0byBmaW5kIENQVSBkZWZpbml0aW9uXG4iKTsKLSAgICAgICAgZXhpdCgxKTsK LSAgICB9Ci0gICAgcmVnaXN0ZXJfc2F2ZXZtKCJjcHUiLCAwLCAzLCBjcHVfc2F2ZSwgY3B1 X2xvYWQsIGVudik7Ci0gICAgcWVtdV9yZWdpc3Rlcl9yZXNldChtYWluX2NwdV9yZXNldCwg ZW52KTsKLQotICAgIC8qIGFsbG9jYXRlIFJBTSAobGltaXRlZCB0byAyNTYgTUIpICovCi0g ICAgaWYgKHJhbV9zaXplIDwgMjU2ICogMTAyNCAqIDEwMjQpCi0gICAgICAgIGF2YWlsYWJs ZV9yYW0gPSByYW1fc2l6ZTsKLSAgICBlbHNlCi0gICAgICAgIGF2YWlsYWJsZV9yYW0gPSAy NTYgKiAxMDI0ICogMTAyNDsKLSAgICBjcHVfcmVnaXN0ZXJfcGh5c2ljYWxfbWVtb3J5KDAs IGF2YWlsYWJsZV9yYW0sIElPX01FTV9SQU0pOwotCi0gICAgLyogbG9hZCBhIEJJT1MgaW1h Z2UgKi8KLSAgICBiaW9zX29mZnNldCA9IHJhbV9zaXplICsgdmdhX3JhbV9zaXplOwotICAg IGlmIChiaW9zX25hbWUgPT0gTlVMTCkKLSAgICAgICAgYmlvc19uYW1lID0gQklPU19GSUxF TkFNRTsKLSAgICBzbnByaW50ZihidWYsIHNpemVvZihidWYpLCAiJXMvJXMiLCBiaW9zX2Rp ciwgYmlvc19uYW1lKTsKLSAgICBiaW9zX3NpemUgPSBsb2FkX2ltYWdlKGJ1ZiwgcGh5c19y YW1fYmFzZSArIGJpb3Nfb2Zmc2V0KTsKLSAgICBpZiAoKGJpb3Nfc2l6ZSA8PSAwKSB8fCAo Ymlvc19zaXplID4gQklPU19TSVpFKSkgewotICAgICAgICAvKiBmYXRhbCAqLwotICAgICAg ICBmcHJpbnRmKHN0ZGVyciwgInFlbXU6IEVycm9yLCBjb3VsZCBub3QgbG9hZCBNSVBTIGJp b3MgJyVzJ1xuIiwKLSAgICAgICAgICAgICAgICBidWYpOwotICAgICAgICBleGl0KDEpOwot ICAgIH0KLSAgICBjcHVfcmVnaXN0ZXJfcGh5c2ljYWxfbWVtb3J5KDB4MWZjMDAwMDAsCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQklPU19TSVpFLCBiaW9zX29m ZnNldCB8IElPX01FTV9ST00pOwotCi0gICAgLyogRGV2aWNlIG1hcAotICAgICAqCi0gICAg ICogYWRkciAweGUwMDA0MDAwOiBtYzE0NjgxOAotICAgICAqIGFkZHIgMHhlMDAwNTAwMCBp bnRyIDY6IHBzMiBrZXlib2FyZAotICAgICAqIGFkZHIgMHhlMDAwNTAwMCBpbnRyIDc6IHBz MiBtb3VzZQotICAgICAqIGFkZHIgMHhlMDAwNjAwMCBpbnRyIDg6IG5zMTY1NTBhLAotICAg ICAqIGFkZHIgMHhlMDAwNzAwMCBpbnRyIDk6IG5zMTY1NTBhCi0gICAgICogaXNhX2lvX2Jh c2UgMHhlMjAwMDAwMCBpc2FfbWVtX2Jhc2UgMHhlMzAwMDAwMAotICAgICAqLwotCi0gICAg LyogSW5pdCBDUFUgaW50ZXJuYWwgZGV2aWNlcyAqLwotICAgIGNwdV9taXBzX2lycV9pbml0 X2NwdShlbnYpOwotICAgIGNwdV9taXBzX2Nsb2NrX2luaXQoZW52KTsKLSAgICBjcHVfbWlw c19pcnFjdHJsX2luaXQoKTsKLQotICAgIC8qIFJlZ2lzdGVyIDY0IEtCIG9mIElTQSBJTyBz cGFjZSBhdCAweDEwMDAwMDAwICovCi0gICAgaXNhX21taW9faW5pdCgweDEwMDAwMDAwLCAw eDAwMDEwMDAwKTsKLSAgICBpc2FfbWVtX2Jhc2UgPSAweDExMDAwMDAwOwotCi0gICAgLyog UEMgc3R5bGUgSVJRIChpODI1OS9pODI1NCkgYW5kIERNQSAoaTgyNTcpICovCi0gICAgLyog VGhlIFBJQyBpcyBhdHRhY2hlZCB0byB0aGUgTUlQUyBDUFUgSU5UMCBwaW4gKi8KLSAgICBp ODI1OSA9IGk4MjU5X2luaXQoZW52LT5pcnFbMl0pOwotICAgIHJ0Y19tbV9pbml0KDB4ODAw MDQwNzAsIDEsIGk4MjU5WzE0XSk7Ci0gICAgcGl0X2luaXQoMHg0MCwgMCk7Ci0KLSAgICAv KiBLZXlib2FyZCAoaTgwNDIpICovCi0gICAgaTgwNDJfbW1faW5pdChpODI1OVs2XSwgaTgy NTlbN10sIDB4ODAwMDUwNjAsIDApOwotCi0gICAgLyogSURFIGNvbnRyb2xsZXIgKi8KLQot ICAgIGlmIChkcml2ZV9nZXRfbWF4X2J1cyhJRl9JREUpID49IE1BWF9JREVfQlVTKSB7Ci0g ICAgICAgIGZwcmludGYoc3RkZXJyLCAicWVtdTogdG9vIG1hbnkgSURFIGJ1c1xuIik7Ci0g ICAgICAgIGV4aXQoMSk7Ci0gICAgfQotCi0gICAgZm9yKGkgPSAwOyBpIDwgTUFYX0lERV9C VVM7IGkrKykgewotICAgICAgICBpbnQgaGQwLCBoZDE7Ci0gICAgICAgIGhkMCA9IGRyaXZl X2dldF9pbmRleChJRl9JREUsIGksIDApOwotICAgICAgICBoZDEgPSBkcml2ZV9nZXRfaW5k ZXgoSUZfSURFLCBpLCAxKTsKLSAgICAgICAgaXNhX2lkZV9pbml0KGlkZV9pb2Jhc2VbaV0s IGlkZV9pb2Jhc2UyW2ldLCBpODI1OVtpZGVfaXJxW2ldXSwKLSAgICAgICAgICAgICAgICAg ICAgIGhkMCA9PSAtMSA/IE5VTEwgOiBkcml2ZXNfdGFibGVbaGQwXS5iZHJ2LAotICAgICAg ICAgICAgICAgICAgICAgaGQxID09IC0xID8gTlVMTCA6IGRyaXZlc190YWJsZVtoZDFdLmJk cnYpOwotICAgIH0KLQotICAgIC8qIE5ldHdvcmsgY29udHJvbGxlciAqLwotICAgIC8qIEZJ WE1FOiBtaXNzaW5nIE5TIFNPTklDIERQODM5MzIgKi8KLQotICAgIC8qIFNDU0kgYWRhcHRl ciAqLwotICAgIC8qIEZJWE1FOiBtaXNzaW5nIE5DUiA1M0M5NCAqLwotCi0gICAgLyogSVNB IGRldmljZXMgKGZsb3BweSwgc2VyaWFsLCBwYXJhbGxlbCkgKi8KLQotICAgIGZvciAoaSA9 IDA7IGkgPCBNQVhfRkQ7IGkrKykgewotICAgICAgICBpbmRleCA9IGRyaXZlX2dldF9pbmRl eChJRl9GTE9QUFksIDAsIGkpOwotICAgICAgICBpZiAoaW5kZXggPT0gLTEpCi0gICAgICAg ICAgICBmZFtpXSA9IE5VTEw7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIGZkW2ldID0g ZHJpdmVzX3RhYmxlW2luZGV4XS5iZHJ2OwotICAgIH0KLSAgICBmZGN0cmxfaW5pdChpODI1 OVsxXSwgMSwgMSwgMHg4MDAwMzAwMCwgZmQpOwotICAgIGZvcihpID0gMDsgaSA8IE1BWF9T RVJJQUxfUE9SVFM7IGkrKykgewotICAgICAgICBpZiAoc2VyaWFsX2hkc1tpXSkgewotICAg ICAgICAgICAgc2VyaWFsX21tX2luaXQoc2VyaWFsX2Jhc2VbaV0sIDAsIGk4MjU5W3Nlcmlh bF9pcnFbaV1dLCBzZXJpYWxfaGRzW2ldLCAxKTsKLSAgICAgICAgfQotICAgIH0KLSAgICAv KiBQYXJhbGxlbCBwb3J0ICovCi0gICAgaWYgKHBhcmFsbGVsX2hkc1swXSkgcGFyYWxsZWxf bW1faW5pdCgweDgwMDA4MDAwLCAwLCBpODI1OVsxXSwgcGFyYWxsZWxfaGRzWzBdKTsKLQot ICAgIC8qIFNvdW5kIGNhcmQgKi8KLSAgICAvKiBGSVhNRTogbWlzc2luZyBKYXp6IHNvdW5k LCBJUlEgMTggKi8KLQotICAgIC8qIExFRCBpbmRpY2F0b3IgKi8KLSAgICAvKiBGSVhNRTog bWlzc2luZyBMRUQgaW5kaWNhdG9yICovCi0KLSAgICAvKiBOVlJBTSAqLwotICAgIGRzMTIy NXlfaW5pdCgweDgwMDA5MDAwLCAibnZyYW0iKTsKLQotICAgIC8qIFZpZGVvIGNhcmQgKi8K LSAgICAvKiBGSVhNRTogVGhpcyBjYXJkIGlzIG5vdCB0aGUgcmVhbCBvbmUgd2hpY2ggd2Fz IGluIHRoZSBvcmlnaW5hbCBQSUNBLAotICAgICAqIGJ1dCBsZXQncyBkbyB3aXRoIHdoYXQg UWVtdSBjdXJyZW5seSBlbXVsYXRlcy4uLiAqLwotICAgIGlzYV92Z2FfbW1faW5pdChkcywg cGh5c19yYW1fYmFzZSArIHJhbV9zaXplLCByYW1fc2l6ZSwgdmdhX3JhbV9zaXplLAotICAg ICAgICAgICAgICAgICAgICAweDQwMDAwMDAwLCAweDYwMDAwMDAwLCAwKTsKLQotICAgIC8q IExFRCBpbmRpY2F0b3IgKi8KLSAgICBqYXp6X2xlZF9pbml0KGRzLCAweDgwMDBmMDAwKTsK LX0KLQotUUVNVU1hY2hpbmUgbWlwc19waWNhNjFfbWFjaGluZSA9IHsKLSAgICAicGljYTYx IiwKLSAgICAiQWNlciBQaWNhIDYxIiwKLSAgICBtaXBzX3BpY2E2MV9pbml0LAotfTsKSW5k ZXg6IE1ha2VmaWxlLnRhcmdldA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIE1ha2VmaWxlLnRhcmdl dAkocmV2aXNpb24gNDE3MykNCisrKyBNYWtlZmlsZS50YXJnZXQJKHdvcmtpbmcgY29weSkN CkBAIC01NTksNyArNTU5LDcgQEANCiBPQkpTKz0gcGZsYXNoX2NmaTAyLm8gcHBjNHh4X2Rl dnMubyBwcGM0MDVfdWMubyBwcGM0MDVfYm9hcmRzLm8KIGVuZGlmCiBpZmVxICgkKFRBUkdF VF9CQVNFX0FSQ0gpLCBtaXBzKQotT0JKUys9IG1pcHNfcjRrLm8gbWlwc19qYXp6Lm8gbWlw c19tYWx0YS5vIG1pcHNfcGljYTYxLm8gbWlwc19taXBzc2ltLm8KK09CSlMrPSBtaXBzX3I0 ay5vIG1pcHNfamF6ei5vIG1pcHNfbWFsdGEubyBtaXBzX21pcHNzaW0ubwogT0JKUys9IG1p cHNfdGltZXIubyBtaXBzX2ludC5vIGRtYS5vIHZnYS5vIHNlcmlhbC5vIGk4MjU0Lm8gaTgy NTkubyByYzQwMzAubwogT0JKUys9IGczNjRmYi5vIGphenpfbGVkLm8KIE9CSlMrPSBpZGUu byBndDY0eHh4Lm8gcGNrYmQubyBwczIubyBmZGMubyBtYzE0NjgxOHJ0Yy5vIHVzYi11aGNp Lm8gYWNwaS5vIGRzMTIyNXkubwo= --------------010502000907040609070401--