From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1MPlbW-0000pp-2r for qemu-devel@nongnu.org; Sat, 11 Jul 2009 19:03:38 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1MPlbQ-0000oX-Jv for qemu-devel@nongnu.org; Sat, 11 Jul 2009 19:03:36 -0400 Received: from [199.232.76.173] (port=32883 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MPlbQ-0000oT-Fx for qemu-devel@nongnu.org; Sat, 11 Jul 2009 19:03:32 -0400 Received: from mail-fx0-f211.google.com ([209.85.220.211]:63266) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1MPlbP-0005Q3-IE for qemu-devel@nongnu.org; Sat, 11 Jul 2009 19:03:32 -0400 Received: by fxm7 with SMTP id 7so1324246fxm.34 for ; Sat, 11 Jul 2009 16:03:30 -0700 (PDT) MIME-Version: 1.0 Date: Sun, 12 Jul 2009 03:03:30 +0400 Message-ID: From: Igor Kovalenko Content-Type: multipart/mixed; boundary=0016e648feb6f3fa3f046e76188b Subject: [Qemu-devel] [PATCH] sparc64: trap handling corrections List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org --0016e648feb6f3fa3f046e76188b Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Good trap handling is required to process interrupts. This patch fixes the following: - sparc64 has no wim register - sparc64 has no psret register, use IE bit of pstate extract IE checking code to cpu_interrupts_enabled - alternate globals are not available if cpu has GL feature in this case bit AG of pstate is constant zero - write to pstate must actually write pstate even if cpu has GL feature Also timer interrupt is handled using do_interrupt. Timer interrupt would require attention later when timers start to tick (currently timers are not really functional). Signed-off-by: igor.v.kovalenko@gmail.com -- Kind regards, Igor V. Kovalenko --0016e648feb6f3fa3f046e76188b Content-Type: application/octet-stream; name=sparc64-trap Content-Disposition: attachment; filename=sparc64-trap Content-Transfer-Encoding: base64 X-Attachment-Id: f_fx0xi2i10 SW5kZXg6IHFlbXUtdHJ1bmsvdGFyZ2V0LXNwYXJjL2NwdS5oCj09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHFlbXUt dHJ1bmsub3JpZy90YXJnZXQtc3BhcmMvY3B1LmgKKysrIHFlbXUtdHJ1bmsvdGFyZ2V0LXNwYXJj L2NwdS5oCkBAIC0xMTUsMTUgKzExNSwxOCBAQCBlbnVtIHsKICNkZWZpbmUgVEJSX0JBU0VfTUFT SyAweGZmZmZmMDAwCiAKICNpZiBkZWZpbmVkKFRBUkdFVF9TUEFSQzY0KQotI2RlZmluZSBQU19J RyAgICAoMTw8MTEpCi0jZGVmaW5lIFBTX01HICAgICgxPDwxMCkKKyNkZWZpbmUgUFNfVENUICAg KDE8PDEyKSAvKiBVQTIwMDcsIGltcGwuZGVwLiB0cmFwIG9uIGNvbnRyb2wgdHJhbnNmZXIgKi8K KyNkZWZpbmUgUFNfSUcgICAgKDE8PDExKSAvKiB2OSwgemVybyBvbiBVQTIwMDcgKi8KKyNkZWZp bmUgUFNfTUcgICAgKDE8PDEwKSAvKiB2OSwgemVybyBvbiBVQTIwMDcgKi8KKyNkZWZpbmUgUFNf Q0xFICAgKDE8PDkpIC8qIFVBMjAwNyAqLworI2RlZmluZSBQU19UTEUgICAoMTw8OCkgLyogVUEy MDA3ICovCiAjZGVmaW5lIFBTX1JNTyAgICgxPDw3KQotI2RlZmluZSBQU19SRUQgICAoMTw8NSkK LSNkZWZpbmUgUFNfUEVGICAgKDE8PDQpCi0jZGVmaW5lIFBTX0FNICAgICgxPDwzKQorI2RlZmlu ZSBQU19SRUQgICAoMTw8NSkgLyogdjksIHplcm8gb24gVUEyMDA3ICovCisjZGVmaW5lIFBTX1BF RiAgICgxPDw0KSAvKiBlbmFibGUgZnB1ICovCisjZGVmaW5lIFBTX0FNICAgICgxPDwzKSAvKiBh ZGRyZXNzIG1hc2sgKi8KICNkZWZpbmUgUFNfUFJJViAgKDE8PDIpCiAjZGVmaW5lIFBTX0lFICAg ICgxPDwxKQotI2RlZmluZSBQU19BRyAgICAoMTw8MCkKKyNkZWZpbmUgUFNfQUcgICAgKDE8PDAp IC8qIHY5LCB6ZXJvIG9uIFVBMjAwNyAqLwogCiAjZGVmaW5lIEZQUlNfRkVGICgxPDwyKQogCkBA IC0yOTEsMTEgKzI5NCwxNSBAQCB0eXBlZGVmIHN0cnVjdCBDUFVTUEFSQ1N0YXRlIHsKICAgICBm bG9hdDMyIGZwcltUQVJHRVRfRlBSRUdTXTsgIC8qIGZsb2F0aW5nIHBvaW50IHJlZ2lzdGVycyAq LwogICAgIHVpbnQzMl90IGN3cDsgICAgICAvKiBpbmRleCBvZiBjdXJyZW50IHJlZ2lzdGVyIHdp bmRvdyAoZXh0cmFjdGVkCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyb20gUFNSKSAqLwor I2lmICFkZWZpbmVkKFRBUkdFVF9TUEFSQzY0KSB8fCBkZWZpbmVkKFRBUkdFVF9BQkkzMikKICAg ICB1aW50MzJfdCB3aW07ICAgICAgLyogd2luZG93IGludmFsaWQgbWFzayAqLworI2VuZGlmCiAg ICAgdGFyZ2V0X3Vsb25nIHRicjsgIC8qIHRyYXAgYmFzZSByZWdpc3RlciAqLwogICAgIGludCAg ICAgIHBzcnM7ICAgICAvKiBzdXBlcnZpc29yIG1vZGUgKGV4dHJhY3RlZCBmcm9tIFBTUikgKi8K ICAgICBpbnQgICAgICBwc3JwczsgICAgLyogcHJldmlvdXMgc3VwZXJ2aXNvciBtb2RlICovCisj aWYgIWRlZmluZWQoVEFSR0VUX1NQQVJDNjQpCiAgICAgaW50ICAgICAgcHNyZXQ7ICAgIC8qIGVu YWJsZSB0cmFwcyAqLworI2VuZGlmCiAgICAgdWludDMyX3QgcHNycGlsOyAgIC8qIGludGVycnVw dCBibG9ja2luZyBsZXZlbCAqLwogICAgIHVpbnQzMl90IHBpbF9pbjsgICAvKiBpbmNvbWluZyBp bnRlcnJ1cHQgbGV2ZWwgYml0bWFwICovCiAgICAgaW50ICAgICAgcHNyZWY7ICAgIC8qIGVuYWJs ZSBmcHUgKi8KQEAgLTM0OCw2ICszNTUsOCBAQCB0eXBlZGVmIHN0cnVjdCBDUFVTUEFSQ1N0YXRl IHsKICAgICB1aW50NjRfdCBmcHJzOwogICAgIHVpbnQ2NF90IHRpY2tfY21wciwgc3RpY2tfY21w cjsKICAgICB2b2lkICp0aWNrLCAqc3RpY2s7CisjZGVmaW5lIFRJQ0tfTlBUX01BU0sgICAgICAg IDB4ODAwMDAwMDAwMDAwMDAwMFVMTAorI2RlZmluZSBUSUNLX1NPRlRJTlRfRElTQUJMRSAweDgw MDAwMDAwMDAwMDAwMDBVTEwKICAgICB1aW50NjRfdCBnc3I7CiAgICAgdWludDMyX3QgZ2w7IC8v IFVBMjAwNQogICAgIC8qIFVBIDIwMDUgaHlwZXJwcml2aWxlZ2VkIHJlZ2lzdGVycyAqLwpAQCAt MzU2LDYgKzM2NSwxMCBAQCB0eXBlZGVmIHN0cnVjdCBDUFVTUEFSQ1N0YXRlIHsKICAgICB1aW50 MzJfdCBzb2Z0aW50OwogI2RlZmluZSBTT0ZUSU5UX1RJTUVSICAgMQogI2RlZmluZSBTT0ZUSU5U X1NUSU1FUiAgKDEgPDwgMTYpCisjZGVmaW5lIFNPRlRJTlRfSU5UUk1BU0sgKDB4RkZGRSkKKyNk ZWZpbmUgU09GVElOVF9UTSAgICAgICAoMSA8PCAwKQorI2RlZmluZSBTT0ZUSU5UX1NNICAgICAg ICgxIDw8IDE2KQorI2RlZmluZSBTT0ZUSU5UX1JFR19NQVNLIChTT0ZUSU5UX1NNfFNPRlRJTlRf SU5UUk1BU0t8U09GVElOVF9UTSkKICNlbmRpZgogICAgIHNwYXJjX2RlZl90ICpkZWY7CiB9IENQ VVNQQVJDU3RhdGU7CkBAIC0zNzgsMTIgKzM5MSwyMSBAQCB2b2lkIGdlbl9pbnRlcm1lZGlhdGVf Y29kZV9pbml0KENQVVNQQVJDCiAvKiBjcHUtZXhlYy5jICovCiBpbnQgY3B1X3NwYXJjX2V4ZWMo Q1BVU1BBUkNTdGF0ZSAqcyk7CiAKKyNpZiAhZGVmaW5lZCAoVEFSR0VUX1NQQVJDNjQpCiAjZGVm aW5lIEdFVF9QU1IoZW52KSAoZW52LT52ZXJzaW9uIHwgKGVudi0+cHNyICYgUFNSX0lDQykgfCAg ICAgICAgICAgICBcCiAgICAgICAgICAgICAgICAgICAgICAgKGVudi0+cHNyZWY/IFBTUl9FRiA6 IDApIHwgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgICAgICAgICAgICAgICAgICAgKGVu di0+cHNycGlsIDw8IDgpIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgICAg ICAgICAgICAgICAgICAgKGVudi0+cHNycz8gUFNSX1MgOiAwKSB8ICAgICAgICAgICAgICAgICAg ICAgICAgICBcCiAgICAgICAgICAgICAgICAgICAgICAgKGVudi0+cHNycHM/IFBTUl9QUyA6IDAp IHwgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgICAgICAgICAgICAgICAgICAgKGVudi0+ cHNyZXQ/IFBTUl9FVCA6IDApIHwgZW52LT5jd3ApCisjZWxzZQorI2RlZmluZSBHRVRfUFNSKGVu dikgKGVudi0+dmVyc2lvbiB8IChlbnYtPnBzciAmIFBTUl9JQ0MpIHwgICAgICAgICAgICAgXAor ICAgICAgICAgICAgICAgICAgICAgIChlbnYtPnBzcmVmPyBQU1JfRUYgOiAwKSB8ICAgICAgICAg ICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICAgICAgIChlbnYtPnBzcnBpbCA8PCA4 KSB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICAgICAg IChlbnYtPnBzcnM/IFBTUl9TIDogMCkgfCAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAg ICAgICAgICAgICAgICAgICAgIChlbnYtPnBzcnBzPyBQU1JfUFMgOiAwKSB8ICAgICAgICAgICAg ICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICAgICAgIGVudi0+Y3dwKQorI2VuZGlmCiAK ICNpZm5kZWYgTk9fQ1BVX0lPX0RFRlMKIHN0YXRpYyBpbmxpbmUgdm9pZCBtZW1jcHkzMih0YXJn ZXRfdWxvbmcgKmRzdCwgY29uc3QgdGFyZ2V0X3Vsb25nICpzcmMpCkBAIC00MjUsNiArNDQ3LDcg QEAgc3RhdGljIGlubGluZSBpbnQgY3B1X2N3cF9kZWMoQ1BVU1BBUkNTdAogfQogI2VuZGlmCiAK KyNpZiAhZGVmaW5lZCAoVEFSR0VUX1NQQVJDNjQpCiAjZGVmaW5lIFBVVF9QU1IoZW52LCB2YWwp IGRvIHsgaW50IF90bXAgPSB2YWw7ICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgICAg IGVudi0+cHNyID0gX3RtcCAmIFBTUl9JQ0M7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBcCiAgICAgICAgIGVudi0+cHNyZWYgPSAoX3RtcCAmIFBTUl9FRik/IDEgOiAwOyAg ICAgICAgICAgICAgICAgICAgICAgICAgICBcCkBAIC00MzUsNiArNDU4LDE2IEBAIHN0YXRpYyBp bmxpbmUgaW50IGNwdV9jd3BfZGVjKENQVVNQQVJDU3QKICAgICAgICAgY3B1X3NldF9jd3AoZW52 LCBfdG1wICYgUFNSX0NXUCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICAg ICAgQ0NfT1AgPSBDQ19PUF9GTEFHUzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFwKICAgICB9IHdoaWxlICgwKQorI2Vsc2UKKyNkZWZpbmUgUFVUX1BTUihlbnYs IHZhbCkgZG8geyBpbnQgX3RtcCA9IHZhbDsgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAg ICAgICAgZW52LT5wc3IgPSBfdG1wICYgUFNSX0lDQzsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFwKKyAgICAgICAgZW52LT5wc3JlZiA9IChfdG1wICYgUFNSX0VGKT8gMSA6 IDA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgZW52LT5wc3JwaWwgPSAo X3RtcCAmIFBTUl9QSUwpID4+IDg7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAg ICAgZW52LT5wc3JzID0gKF90bXAgJiBQU1JfUyk/IDEgOiAwOyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFwKKyAgICAgICAgZW52LT5wc3JwcyA9IChfdG1wICYgUFNSX1BTKT8gMSA6IDA7 ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgY3B1X3NldF9jd3AoZW52LCBf dG1wICYgUFNSX0NXUCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICB9IHdo aWxlICgwKQorI2VuZGlmCiAKICNpZmRlZiBUQVJHRVRfU1BBUkM2NAogI2RlZmluZSBHRVRfQ0NS KGVudikgKCgoZW52LT54Y2MgPj4gMjApIDw8IDQpIHwgKChlbnYtPnBzciAmIFBTUl9JQ0MpID4+ IDIwKSkKSW5kZXg6IHFlbXUtdHJ1bmsvdGFyZ2V0LXNwYXJjL2V4ZWMuaAo9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t LSBxZW11LXRydW5rLm9yaWcvdGFyZ2V0LXNwYXJjL2V4ZWMuaAorKysgcWVtdS10cnVuay90YXJn ZXQtc3BhcmMvZXhlYy5oCkBAIC0yNCwxMCArMjQsMjMgQEAgc3RhdGljIGlubGluZSB2b2lkIHJl Z3NfdG9fZW52KHZvaWQpCiAvKiBvcF9oZWxwZXIuYyAqLwogdm9pZCBkb19pbnRlcnJ1cHQoQ1BV U3RhdGUgKmVudik7CiAKK3N0YXRpYyBpbmxpbmUgaW50IGNwdV9pbnRlcnJ1cHRzX2VuYWJsZWQo Q1BVU3RhdGUgKmVudjEpCit7CisjaWYgIWRlZmluZWQgKFRBUkdFVF9TUEFSQzY0KQorICAgIGlm IChlbnYxLT5wc3JldCAhPSAwKQorICAgICAgICByZXR1cm4gMTsKKyNlbHNlCisgICAgaWYgKGVu djEtPnBzdGF0ZSAmIFBTX0lFKQorICAgICAgICByZXR1cm4gMTsKKyNlbmRpZgorCisgICAgcmV0 dXJuIDA7Cit9CisKIHN0YXRpYyBpbmxpbmUgaW50IGNwdV9oYXNfd29yayhDUFVTdGF0ZSAqZW52 MSkKIHsKICAgICByZXR1cm4gKGVudjEtPmludGVycnVwdF9yZXF1ZXN0ICYgQ1BVX0lOVEVSUlVQ VF9IQVJEKSAmJgotICAgICAgICAgICAoZW52MS0+cHNyZXQgIT0gMCk7CisgICAgICAgICAgIGNw dV9pbnRlcnJ1cHRzX2VuYWJsZWQoZW52MSk7CiB9CiAKIApJbmRleDogcWVtdS10cnVuay90YXJn ZXQtc3BhcmMvaGVscGVyLmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gcWVtdS10cnVuay5vcmlnL3RhcmdldC1z cGFyYy9oZWxwZXIuYworKysgcWVtdS10cnVuay90YXJnZXQtc3BhcmMvaGVscGVyLmMKQEAgLTY2 Nyw3ICs2NjcsOSBAQCB2b2lkIGNwdV9yZXNldChDUFVTUEFSQ1N0YXRlICplbnYpCiAKICAgICB0 bGJfZmx1c2goZW52LCAxKTsKICAgICBlbnYtPmN3cCA9IDA7CisjaWZuZGVmIFRBUkdFVF9TUEFS QzY0CiAgICAgZW52LT53aW0gPSAxOworI2VuZGlmCiAgICAgZW52LT5yZWd3cHRyID0gZW52LT5y ZWdiYXNlICsgKGVudi0+Y3dwICogMTYpOwogI2lmIGRlZmluZWQoQ09ORklHX1VTRVJfT05MWSkK ICNpZmRlZiBUQVJHRVRfU1BBUkM2NApAQCAtNjc3LDcgKzY3OSw5IEBAIHZvaWQgY3B1X3Jlc2V0 KENQVVNQQVJDU3RhdGUgKmVudikKICAgICBlbnYtPmFzaSA9IDB4ODI7IC8vIFByaW1hcnkgbm8t ZmF1bHQKICNlbmRpZgogI2Vsc2UKKyNpZiAhZGVmaW5lZChUQVJHRVRfU1BBUkM2NCkKICAgICBl bnYtPnBzcmV0ID0gMDsKKyNlbmRpZgogICAgIGVudi0+cHNycyA9IDE7CiAgICAgZW52LT5wc3Jw cyA9IDE7CiAgICAgQ0NfT1AgPSBDQ19PUF9GTEFHUzsKSW5kZXg6IHFlbXUtdHJ1bmsvdGFyZ2V0 LXNwYXJjL29wX2hlbHBlci5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHFlbXUtdHJ1bmsub3JpZy90YXJnZXQt c3BhcmMvb3BfaGVscGVyLmMKKysrIHFlbXUtdHJ1bmsvdGFyZ2V0LXNwYXJjL29wX2hlbHBlci5j CkBAIC0zMjI1LDggKzMyMjUsMTQgQEAgc3RhdGljIGlubGluZSB2b2lkIGNoYW5nZV9wc3RhdGUo dWludDY0XwogICAgIHVpbnQ2NF90IHBzdGF0ZV9yZWdzLCBuZXdfcHN0YXRlX3JlZ3M7CiAgICAg dWludDY0X3QgKnNyYywgKmRzdDsKIAorICAgIGlmIChlbnYtPmRlZi0+ZmVhdHVyZXMgJiBDUFVf RkVBVFVSRV9HTCkgeworICAgICAgICAvLyBQU19BRyBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhp cyBjYXNlCisgICAgICAgIG5ld19wc3RhdGUgJj0gflBTX0FHOworICAgIH0KKwogICAgIHBzdGF0 ZV9yZWdzID0gZW52LT5wc3RhdGUgJiAweGMwMTsKICAgICBuZXdfcHN0YXRlX3JlZ3MgPSBuZXdf cHN0YXRlICYgMHhjMDE7CisKICAgICBpZiAobmV3X3BzdGF0ZV9yZWdzICE9IHBzdGF0ZV9yZWdz KSB7CiAgICAgICAgIC8vIFN3aXRjaCBnbG9iYWwgcmVnaXN0ZXIgYmFuawogICAgICAgICBzcmMg PSBnZXRfZ3JlZ3NldChuZXdfcHN0YXRlX3JlZ3MpOwpAQCAtMzIzOSw4ICszMjQ1LDcgQEAgc3Rh dGljIGlubGluZSB2b2lkIGNoYW5nZV9wc3RhdGUodWludDY0XwogCiB2b2lkIGhlbHBlcl93cnBz dGF0ZSh0YXJnZXRfdWxvbmcgbmV3X3N0YXRlKQogewotICAgIGlmICghKGVudi0+ZGVmLT5mZWF0 dXJlcyAmIENQVV9GRUFUVVJFX0dMKSkKLSAgICAgICAgY2hhbmdlX3BzdGF0ZShuZXdfc3RhdGUg JiAweGYzZik7CisgICAgY2hhbmdlX3BzdGF0ZShuZXdfc3RhdGUgJiAweGYzZik7CiB9CiAKIHZv aWQgaGVscGVyX2RvbmUodm9pZCkKQEAgLTMzOTIsNyArMzM5Nyw4IEBAIHZvaWQgZG9faW50ZXJy dXB0KENQVVN0YXRlICplbnYpCiAgICAgZW52LT50c3B0ci0+dHBjID0gZW52LT5wYzsKICAgICBl bnYtPnRzcHRyLT50bnBjID0gZW52LT5ucGM7CiAgICAgZW52LT50c3B0ci0+dHQgPSBpbnRubzsK LSAgICBpZiAoIShlbnYtPmRlZi0+ZmVhdHVyZXMgJiBDUFVfRkVBVFVSRV9HTCkpIHsKKyAgICAv L2lmICghKGVudi0+ZGVmLT5mZWF0dXJlcyAmIENQVV9GRUFUVVJFX0dMKSkKKyAgICB7CiAgICAg ICAgIHN3aXRjaCAoaW50bm8pIHsKICAgICAgICAgY2FzZSBUVF9JVkVDOgogICAgICAgICAgICAg Y2hhbmdlX3BzdGF0ZShQU19QRUYgfCBQU19QUklWIHwgUFNfSUcpOwpJbmRleDogcWVtdS10cnVu ay9jcHUtZXhlYy5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHFlbXUtdHJ1bmsub3JpZy9jcHUtZXhlYy5jCisr KyBxZW11LXRydW5rL2NwdS1leGVjLmMKQEAgLTQ3NSw3ICs0NzUsNyBAQCBpbnQgY3B1X2V4ZWMo Q1BVU3RhdGUgKmVudjEpCiAgICAgICAgICAgICAgICAgICAgIH0KICNlbGlmIGRlZmluZWQoVEFS R0VUX1NQQVJDKQogICAgICAgICAgICAgICAgICAgICBpZiAoKGludGVycnVwdF9yZXF1ZXN0ICYg Q1BVX0lOVEVSUlVQVF9IQVJEKSAmJgotCQkJKGVudi0+cHNyZXQgIT0gMCkpIHsKKwkJCWNwdV9p bnRlcnJ1cHRzX2VuYWJsZWQoZW52KSkgewogCQkJaW50IHBpbCA9IGVudi0+aW50ZXJydXB0X2lu ZGV4ICYgMTU7CiAJCQlpbnQgdHlwZSA9IGVudi0+aW50ZXJydXB0X2luZGV4ICYgMHhmMDsKIApA QCAtNDg2LDE0ICs0ODYsMTkgQEAgaW50IGNwdV9leGVjKENQVVN0YXRlICplbnYxKQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGVudi0+ZXhjZXB0aW9uX2luZGV4ID0gZW52LT5pbnRlcnJ1 cHRfaW5kZXg7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9faW50ZXJydXB0KGVudik7 CiAJCQkgICAgZW52LT5pbnRlcnJ1cHRfaW5kZXggPSAwOwotI2lmICFkZWZpbmVkKFRBUkdFVF9T UEFSQzY0KSAmJiAhZGVmaW5lZChDT05GSUdfVVNFUl9PTkxZKQorI2lmIC8qIWRlZmluZWQoVEFS R0VUX1NQQVJDNjQpICYmKi8gIWRlZmluZWQoQ09ORklHX1VTRVJfT05MWSkKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBjcHVfY2hlY2tfaXJxcyhlbnYpOwogI2VuZGlmCiAgICAgICAgICAg ICAgICAgICAgICAgICBuZXh0X3RiID0gMDsKIAkJCX0KIAkJICAgIH0gZWxzZSBpZiAoaW50ZXJy dXB0X3JlcXVlc3QgJiBDUFVfSU5URVJSVVBUX1RJTUVSKSB7Ci0JCQkvL2RvX2ludGVycnVwdCgw LCAwLCAwLCAwLCAwKTsKIAkJCWVudi0+aW50ZXJydXB0X3JlcXVlc3QgJj0gfkNQVV9JTlRFUlJV UFRfVElNRVI7CisjaWYgIWRlZmluZWQoQ09ORklHX1VTRVJfT05MWSkKKyAgICAgICAgICAgICAg ICAgICAgICAgIGNwdV9jaGVja19pcnFzKGVudik7CisjZW5kaWYKKyAgICAgICAgICAgICAgICAg ICAgICAgIGVudi0+ZXhjZXB0aW9uX2luZGV4ID0gZW52LT5pbnRlcnJ1cHRfaW5kZXg7CisgICAg ICAgICAgICAgICAgICAgICAgICBkb19pbnRlcnJ1cHQoZW52KTsKKyAgICAgICAgICAgICAgICAg ICAgICAgIG5leHRfdGIgPSAwOwogCQkgICAgfQogI2VsaWYgZGVmaW5lZChUQVJHRVRfQVJNKQog ICAgICAgICAgICAgICAgICAgICBpZiAoaW50ZXJydXB0X3JlcXVlc3QgJiBDUFVfSU5URVJSVVBU X0ZJUQo= --0016e648feb6f3fa3f046e76188b--