From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1MSdng-0005R9-4V for qemu-devel@nongnu.org; Sun, 19 Jul 2009 17:20:04 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1MSdnb-0005P2-Le for qemu-devel@nongnu.org; Sun, 19 Jul 2009 17:20:03 -0400 Received: from [199.232.76.173] (port=40457 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MSdnb-0005Oz-Jc for qemu-devel@nongnu.org; Sun, 19 Jul 2009 17:19:59 -0400 Received: from mail-fx0-f224.google.com ([209.85.220.224]:59140) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1MSdnb-0006de-0q for qemu-devel@nongnu.org; Sun, 19 Jul 2009 17:19:59 -0400 Received: by fxm24 with SMTP id 24so656886fxm.34 for ; Sun, 19 Jul 2009 14:19:58 -0700 (PDT) MIME-Version: 1.0 Date: Mon, 20 Jul 2009 01:19:57 +0400 Message-ID: From: Igor Kovalenko Content-Type: multipart/mixed; boundary=0016e64987c061392e046f159512 Subject: [Qemu-devel] [PATCH] sparc64 replace tsptr with helper routine List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org --0016e64987c061392e046f159512 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit tl and tsptr of members sparc64 cpu state must be changed simultaneously to keep trap state window in sync with current trap level. Currently translation of store to tl does not change tsptr, which leads to corrupt trap state on corresponding trap level. This patch removes tsptr from sparc64 cpu state and replaces all uses with call to helper routine. Signed-off-by: igor.v.kovalenko@gmail.com -- Kind regards, Igor V. Kovalenko --0016e64987c061392e046f159512 Content-Type: application/octet-stream; name=sparc64-tsptr-tl Content-Disposition: attachment; filename=sparc64-tsptr-tl Content-Transfer-Encoding: base64 X-Attachment-Id: f_fxc9b02y0 SW5kZXg6IHFlbXUtdHJ1bmsvdGFyZ2V0LXNwYXJjL2NwdS5oCj09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHFlbXUt dHJ1bmsub3JpZy90YXJnZXQtc3BhcmMvY3B1LmgKKysrIHFlbXUtdHJ1bmsvdGFyZ2V0LXNwYXJj L2NwdS5oCkBAIC0zNDAsNyArMzQwLDYgQEAgdHlwZWRlZiBzdHJ1Y3QgQ1BVU1BBUkNTdGF0ZSB7 CiAjaWYgZGVmaW5lZChUQVJHRVRfU1BBUkM2NCkKICNkZWZpbmUgTUFYVExfTUFYIDgKICNkZWZp bmUgTUFYVExfTUFTSyAoTUFYVExfTUFYIC0gMSkKLSAgICB0cmFwX3N0YXRlICp0c3B0cjsKICAg ICB0cmFwX3N0YXRlIHRzW01BWFRMX01BWF07CiAgICAgdWludDMyX3QgeGNjOyAgICAgICAgICAg ICAgIC8qIEV4dGVuZGVkIGludGVnZXIgY29uZGl0aW9uIGNvZGVzICovCiAgICAgdWludDMyX3Qg YXNpOwpAQCAtNTU2LDYgKzU1NSw3IEBAIHZvaWQgY3B1X2NoZWNrX2lycXMoQ1BVU1BBUkNTdGF0 ZSAqZW52KTsKIHZvaWQgY3B1X3RpY2tfc2V0X2NvdW50KHZvaWQgKm9wYXF1ZSwgdWludDY0X3Qg Y291bnQpOwogdWludDY0X3QgY3B1X3RpY2tfZ2V0X2NvdW50KHZvaWQgKm9wYXF1ZSk7CiB2b2lk IGNwdV90aWNrX3NldF9saW1pdCh2b2lkICpvcGFxdWUsIHVpbnQ2NF90IGxpbWl0KTsKK3RyYXBf c3RhdGUqIGNwdV90c3B0cihDUFVTdGF0ZSogZW52KTsKICNlbmRpZgogCiBzdGF0aWMgaW5saW5l IHZvaWQgY3B1X3BjX2Zyb21fdGIoQ1BVU3RhdGUgKmVudiwgVHJhbnNsYXRpb25CbG9jayAqdGIp CkluZGV4OiBxZW11LXRydW5rL3RhcmdldC1zcGFyYy9oZWxwZXIuaAo9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBx ZW11LXRydW5rLm9yaWcvdGFyZ2V0LXNwYXJjL2hlbHBlci5oCisrKyBxZW11LXRydW5rL3Rhcmdl dC1zcGFyYy9oZWxwZXIuaApAQCAtNSw2ICs1LDcgQEAgREVGX0hFTFBFUl8wKHJldHQsIHZvaWQp CiBERUZfSEVMUEVSXzEod3Jwc3IsIHZvaWQsIHRsKQogREVGX0hFTFBFUl8wKHJkcHNyLCB0bCkK ICNlbHNlCitERUZfSEVMUEVSXzEoZ2V0X3RzcHRyLCBwdHIsIHB0cikKIERFRl9IRUxQRVJfMSh3 cnBzdGF0ZSwgdm9pZCwgdGwpCiBERUZfSEVMUEVSXzAoZG9uZSwgdm9pZCkKIERFRl9IRUxQRVJf MChyZXRyeSwgdm9pZCkKSW5kZXg6IHFlbXUtdHJ1bmsvdGFyZ2V0LXNwYXJjL3RyYW5zbGF0ZS5j Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KLS0tIHFlbXUtdHJ1bmsub3JpZy90YXJnZXQtc3BhcmMvdHJhbnNsYXRlLmMK KysrIHFlbXUtdHJ1bmsvdGFyZ2V0LXNwYXJjL3RyYW5zbGF0ZS5jCkBAIC0xOTc4LDEwICsxOTc4 LDExIEBAIHN0YXRpYyB2b2lkIGRpc2FzX3NwYXJjX2luc24oRGlzYXNDb250ZXgKICAgICAgICAg ICAgICAgICAgICAgICAgIFRDR3ZfcHRyIHJfdHNwdHI7CiAKICAgICAgICAgICAgICAgICAgICAg ICAgIHJfdHNwdHIgPSB0Y2dfdGVtcF9uZXdfcHRyKCk7Ci0gICAgICAgICAgICAgICAgICAgICAg ICB0Y2dfZ2VuX2xkX3B0cihyX3RzcHRyLCBjcHVfZW52LAotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgb2Zmc2V0b2YoQ1BVU3RhdGUsIHRzcHRyKSk7CisgICAgICAgICAg ICAgICAgICAgICAgICBnZW5faGVscGVyX2dldF90c3B0cihyX3RzcHRyLCBjcHVfZW52KTsKKwog ICAgICAgICAgICAgICAgICAgICAgICAgdGNnX2dlbl9sZF90bChjcHVfdG1wMCwgcl90c3B0ciwK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2Zmc2V0b2YodHJhcF9zdGF0 ZSwgdHBjKSk7CisKICAgICAgICAgICAgICAgICAgICAgICAgIHRjZ190ZW1wX2ZyZWVfcHRyKHJf dHNwdHIpOwogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIGJyZWFr OwpAQCAtMTk5MCw4ICsxOTkxLDcgQEAgc3RhdGljIHZvaWQgZGlzYXNfc3BhcmNfaW5zbihEaXNh c0NvbnRleAogICAgICAgICAgICAgICAgICAgICAgICAgVENHdl9wdHIgcl90c3B0cjsKIAogICAg ICAgICAgICAgICAgICAgICAgICAgcl90c3B0ciA9IHRjZ190ZW1wX25ld19wdHIoKTsKLSAgICAg ICAgICAgICAgICAgICAgICAgIHRjZ19nZW5fbGRfcHRyKHJfdHNwdHIsIGNwdV9lbnYsCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZmZzZXRvZihDUFVTdGF0ZSwgdHNw dHIpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGdlbl9oZWxwZXJfZ2V0X3RzcHRyKHJfdHNw dHIsIGNwdV9lbnYpOwogICAgICAgICAgICAgICAgICAgICAgICAgdGNnX2dlbl9sZF90bChjcHVf dG1wMCwgcl90c3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2Zm c2V0b2YodHJhcF9zdGF0ZSwgdG5wYykpOwogICAgICAgICAgICAgICAgICAgICAgICAgdGNnX3Rl bXBfZnJlZV9wdHIocl90c3B0cik7CkBAIC0yMDAyLDggKzIwMDIsNyBAQCBzdGF0aWMgdm9pZCBk aXNhc19zcGFyY19pbnNuKERpc2FzQ29udGV4CiAgICAgICAgICAgICAgICAgICAgICAgICBUQ0d2 X3B0ciByX3RzcHRyOwogCiAgICAgICAgICAgICAgICAgICAgICAgICByX3RzcHRyID0gdGNnX3Rl bXBfbmV3X3B0cigpOwotICAgICAgICAgICAgICAgICAgICAgICAgdGNnX2dlbl9sZF9wdHIocl90 c3B0ciwgY3B1X2VudiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9m ZnNldG9mKENQVVN0YXRlLCB0c3B0cikpOworICAgICAgICAgICAgICAgICAgICAgICAgZ2VuX2hl bHBlcl9nZXRfdHNwdHIocl90c3B0ciwgY3B1X2Vudik7CiAgICAgICAgICAgICAgICAgICAgICAg ICB0Y2dfZ2VuX2xkX3RsKGNwdV90bXAwLCByX3RzcHRyLAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBvZmZzZXRvZih0cmFwX3N0YXRlLCB0c3RhdGUpKTsKICAgICAgICAg ICAgICAgICAgICAgICAgIHRjZ190ZW1wX2ZyZWVfcHRyKHJfdHNwdHIpOwpAQCAtMjAxNCw4ICsy MDEzLDcgQEAgc3RhdGljIHZvaWQgZGlzYXNfc3BhcmNfaW5zbihEaXNhc0NvbnRleAogICAgICAg ICAgICAgICAgICAgICAgICAgVENHdl9wdHIgcl90c3B0cjsKIAogICAgICAgICAgICAgICAgICAg ICAgICAgcl90c3B0ciA9IHRjZ190ZW1wX25ld19wdHIoKTsKLSAgICAgICAgICAgICAgICAgICAg ICAgIHRjZ19nZW5fbGRfcHRyKHJfdHNwdHIsIGNwdV9lbnYsCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBvZmZzZXRvZihDUFVTdGF0ZSwgdHNwdHIpKTsKKyAgICAgICAg ICAgICAgICAgICAgICAgIGdlbl9oZWxwZXJfZ2V0X3RzcHRyKHJfdHNwdHIsIGNwdV9lbnYpOwog ICAgICAgICAgICAgICAgICAgICAgICAgdGNnX2dlbl9sZF9pMzIoY3B1X3RtcDMyLCByX3RzcHRy LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2Zmc2V0b2YodHJhcF9z dGF0ZSwgdHQpKTsKICAgICAgICAgICAgICAgICAgICAgICAgIHRjZ190ZW1wX2ZyZWVfcHRyKHJf dHNwdHIpOwpAQCAtMzI3MSw4ICszMjY5LDcgQEAgc3RhdGljIHZvaWQgZGlzYXNfc3BhcmNfaW5z bihEaXNhc0NvbnRleAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVENHdl9w dHIgcl90c3B0cjsKIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcl90c3B0 ciA9IHRjZ190ZW1wX25ld19wdHIoKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHRjZ19nZW5fbGRfcHRyKHJfdHNwdHIsIGNwdV9lbnYsCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZmZzZXRvZihDUFVTdGF0ZSwgdHNwdHIp KTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdlbl9oZWxwZXJfZ2V0X3Rz cHRyKHJfdHNwdHIsIGNwdV9lbnYpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgdGNnX2dlbl9zdF90bChjcHVfdG1wMCwgcl90c3B0ciwKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2Zmc2V0b2YodHJhcF9zdGF0ZSwgdHBjKSk7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0Y2dfdGVtcF9mcmVlX3B0cihy X3RzcHRyKTsKQEAgLTMyODMsOCArMzI4MCw3IEBAIHN0YXRpYyB2b2lkIGRpc2FzX3NwYXJjX2lu c24oRGlzYXNDb250ZXgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRDR3Zf cHRyIHJfdHNwdHI7CiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJfdHNw dHIgPSB0Y2dfdGVtcF9uZXdfcHRyKCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB0Y2dfZ2VuX2xkX3B0cihyX3RzcHRyLCBjcHVfZW52LAotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2Zmc2V0b2YoQ1BVU3RhdGUsIHRzcHRy KSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZW5faGVscGVyX2dldF90 c3B0cihyX3RzcHRyLCBjcHVfZW52KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHRjZ19nZW5fc3RfdGwoY3B1X3RtcDAsIHJfdHNwdHIsCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9mZnNldG9mKHRyYXBfc3RhdGUsIHRucGMp KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRjZ190ZW1wX2ZyZWVfcHRy KHJfdHNwdHIpOwpAQCAtMzI5NSw4ICszMjkxLDcgQEAgc3RhdGljIHZvaWQgZGlzYXNfc3BhcmNf aW5zbihEaXNhc0NvbnRleAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVENH dl9wdHIgcl90c3B0cjsKIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcl90 c3B0ciA9IHRjZ190ZW1wX25ld19wdHIoKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHRjZ19nZW5fbGRfcHRyKHJfdHNwdHIsIGNwdV9lbnYsCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZmZzZXRvZihDUFVTdGF0ZSwgdHNw dHIpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdlbl9oZWxwZXJfZ2V0 X3RzcHRyKHJfdHNwdHIsIGNwdV9lbnYpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgdGNnX2dlbl9zdF90bChjcHVfdG1wMCwgcl90c3B0ciwKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2Zmc2V0b2YodHJhcF9zdGF0ZSwKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg dHN0YXRlKSk7CkBAIC0zMzA4LDggKzMzMDMsNyBAQCBzdGF0aWMgdm9pZCBkaXNhc19zcGFyY19p bnNuKERpc2FzQ29udGV4CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUQ0d2 X3B0ciByX3RzcHRyOwogCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByX3Rz cHRyID0gdGNnX3RlbXBfbmV3X3B0cigpOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgdGNnX2dlbl9sZF9wdHIocl90c3B0ciwgY3B1X2VudiwKLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9mZnNldG9mKENQVVN0YXRlLCB0c3B0 cikpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2VuX2hlbHBlcl9nZXRf dHNwdHIocl90c3B0ciwgY3B1X2Vudik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB0Y2dfZ2VuX3RydW5jX3RsX2kzMihjcHVfdG1wMzIsIGNwdV90bXAwKTsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRjZ19nZW5fc3RfaTMyKGNwdV90bXAzMiwgcl90 c3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IG9mZnNldG9mKHRyYXBfc3RhdGUsIHR0KSk7CkluZGV4OiBxZW11LXRydW5rL3RhcmdldC1zcGFy Yy9vcF9oZWxwZXIuYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBxZW11LXRydW5rLm9yaWcvdGFyZ2V0LXNwYXJj L29wX2hlbHBlci5jCisrKyBxZW11LXRydW5rL3RhcmdldC1zcGFyYy9vcF9oZWxwZXIuYwpAQCAt MzI0OCwyOCArMzI0OCwzNSBAQCB2b2lkIGhlbHBlcl93cnBzdGF0ZSh0YXJnZXRfdWxvbmcgbmV3 X3N0CiAgICAgY2hhbmdlX3BzdGF0ZShuZXdfc3RhdGUgJiAweGYzZik7CiB9CiAKK3ZvaWQqIGhl bHBlcl9nZXRfdHNwdHIodm9pZCAqb3BhcXVlKQoreworICAgIHJldHVybiBjcHVfdHNwdHIob3Bh cXVlKTsKK30KKwogdm9pZCBoZWxwZXJfZG9uZSh2b2lkKQogewotICAgIGVudi0+cGMgPSBlbnYt PnRzcHRyLT50cGM7Ci0gICAgZW52LT5ucGMgPSBlbnYtPnRzcHRyLT50bnBjICsgNDsKLSAgICBQ VVRfQ0NSKGVudiwgZW52LT50c3B0ci0+dHN0YXRlID4+IDMyKTsKLSAgICBlbnYtPmFzaSA9IChl bnYtPnRzcHRyLT50c3RhdGUgPj4gMjQpICYgMHhmZjsKLSAgICBjaGFuZ2VfcHN0YXRlKChlbnYt PnRzcHRyLT50c3RhdGUgPj4gOCkgJiAweGYzZik7Ci0gICAgUFVUX0NXUDY0KGVudiwgZW52LT50 c3B0ci0+dHN0YXRlICYgMHhmZik7CisgICAgdHJhcF9zdGF0ZSogdHNwdHIgPSBjcHVfdHNwdHIo ZW52KTsKKworICAgIGVudi0+cGMgPSB0c3B0ci0+dHBjOworICAgIGVudi0+bnBjID0gdHNwdHIt PnRucGMgKyA0OworICAgIFBVVF9DQ1IoZW52LCB0c3B0ci0+dHN0YXRlID4+IDMyKTsKKyAgICBl bnYtPmFzaSA9ICh0c3B0ci0+dHN0YXRlID4+IDI0KSAmIDB4ZmY7CisgICAgY2hhbmdlX3BzdGF0 ZSgodHNwdHItPnRzdGF0ZSA+PiA4KSAmIDB4ZjNmKTsKKyAgICBQVVRfQ1dQNjQoZW52LCB0c3B0 ci0+dHN0YXRlICYgMHhmZik7CiAgICAgZW52LT50bC0tOwotICAgIGVudi0+dHNwdHIgPSAmZW52 LT50c1tlbnYtPnRsICYgTUFYVExfTUFTS107CiB9CiAKIHZvaWQgaGVscGVyX3JldHJ5KHZvaWQp CiB7Ci0gICAgZW52LT5wYyA9IGVudi0+dHNwdHItPnRwYzsKLSAgICBlbnYtPm5wYyA9IGVudi0+ dHNwdHItPnRucGM7Ci0gICAgUFVUX0NDUihlbnYsIGVudi0+dHNwdHItPnRzdGF0ZSA+PiAzMik7 Ci0gICAgZW52LT5hc2kgPSAoZW52LT50c3B0ci0+dHN0YXRlID4+IDI0KSAmIDB4ZmY7Ci0gICAg Y2hhbmdlX3BzdGF0ZSgoZW52LT50c3B0ci0+dHN0YXRlID4+IDgpICYgMHhmM2YpOwotICAgIFBV VF9DV1A2NChlbnYsIGVudi0+dHNwdHItPnRzdGF0ZSAmIDB4ZmYpOworICAgIHRyYXBfc3RhdGUq IHRzcHRyID0gY3B1X3RzcHRyKGVudik7CisKKyAgICBlbnYtPnBjID0gdHNwdHItPnRwYzsKKyAg ICBlbnYtPm5wYyA9IHRzcHRyLT50bnBjOworICAgIFBVVF9DQ1IoZW52LCB0c3B0ci0+dHN0YXRl ID4+IDMyKTsKKyAgICBlbnYtPmFzaSA9ICh0c3B0ci0+dHN0YXRlID4+IDI0KSAmIDB4ZmY7Cisg ICAgY2hhbmdlX3BzdGF0ZSgodHNwdHItPnRzdGF0ZSA+PiA4KSAmIDB4ZjNmKTsKKyAgICBQVVRf Q1dQNjQoZW52LCB0c3B0ci0+dHN0YXRlICYgMHhmZik7CiAgICAgZW52LT50bC0tOwotICAgIGVu di0+dHNwdHIgPSAmZW52LT50c1tlbnYtPnRsICYgTUFYVExfTUFTS107CiB9CiAKIHZvaWQgaGVs cGVyX3NldF9zb2Z0aW50KHVpbnQ2NF90IHZhbHVlKQpAQCAtMzMzMSw5ICszMzM4LDE1IEBAIHN0 YXRpYyBjb25zdCBjaGFyICogY29uc3QgZXhjcF9uYW1lc1sweDgKIH07CiAjZW5kaWYKIAordHJh cF9zdGF0ZSogY3B1X3RzcHRyKENQVVN0YXRlKiBlbnYpCit7CisgICAgcmV0dXJuICZlbnYtPnRz W2Vudi0+dGwgJiBNQVhUTF9NQVNLXTsKK30KKwogdm9pZCBkb19pbnRlcnJ1cHQoQ1BVU3RhdGUg KmVudikKIHsKICAgICBpbnQgaW50bm8gPSBlbnYtPmV4Y2VwdGlvbl9pbmRleDsKKyAgICB0cmFw X3N0YXRlKiB0c3B0cjsKIAogI2lmZGVmIERFQlVHX1BDQUxMCiAgICAgaWYgKHFlbXVfbG9nbGV2 ZWxfbWFzayhDUFVfTE9HX0lOVCkpIHsKQEAgLTMzOTAsMTMgKzM0MDMsMTQgQEAgdm9pZCBkb19p bnRlcnJ1cHQoQ1BVU3RhdGUgKmVudikKICAgICAgICAgaWYgKGVudi0+dGwgPCBlbnYtPm1heHRs KQogICAgICAgICAgICAgZW52LT50bCsrOwogICAgIH0KLSAgICBlbnYtPnRzcHRyID0gJmVudi0+ dHNbZW52LT50bCAmIE1BWFRMX01BU0tdOwotICAgIGVudi0+dHNwdHItPnRzdGF0ZSA9ICgodWlu dDY0X3QpR0VUX0NDUihlbnYpIDw8IDMyKSB8CisgICAgdHNwdHIgPSBjcHVfdHNwdHIoZW52KTsK KworICAgIHRzcHRyLT50c3RhdGUgPSAoKHVpbnQ2NF90KUdFVF9DQ1IoZW52KSA8PCAzMikgfAog ICAgICAgICAoKGVudi0+YXNpICYgMHhmZikgPDwgMjQpIHwgKChlbnYtPnBzdGF0ZSAmIDB4ZjNm KSA8PCA4KSB8CiAgICAgICAgIEdFVF9DV1A2NChlbnYpOwotICAgIGVudi0+dHNwdHItPnRwYyA9 IGVudi0+cGM7Ci0gICAgZW52LT50c3B0ci0+dG5wYyA9IGVudi0+bnBjOwotICAgIGVudi0+dHNw dHItPnR0ID0gaW50bm87CisgICAgdHNwdHItPnRwYyA9IGVudi0+cGM7CisgICAgdHNwdHItPnRu cGMgPSBlbnYtPm5wYzsKKyAgICB0c3B0ci0+dHQgPSBpbnRubzsKIAogICAgIHN3aXRjaCAoaW50 bm8pIHsKICAgICBjYXNlIFRUX0lWRUM6CkluZGV4OiBxZW11LXRydW5rL3RhcmdldC1zcGFyYy9o ZWxwZXIuYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09Ci0tLSBxZW11LXRydW5rLm9yaWcvdGFyZ2V0LXNwYXJjL2hlbHBl ci5jCisrKyBxZW11LXRydW5rL3RhcmdldC1zcGFyYy9oZWxwZXIuYwpAQCAtNjg3LDcgKzY4Nyw3 IEBAIHZvaWQgY3B1X3Jlc2V0KENQVVNQQVJDU3RhdGUgKmVudikKICNpZmRlZiBUQVJHRVRfU1BB UkM2NAogICAgIGVudi0+cHN0YXRlID0gUFNfUFJJVjsKICAgICBlbnYtPmhwc3RhdGUgPSBIU19Q UklWOwotICAgIGVudi0+dHNwdHIgPSAmZW52LT50c1tlbnYtPnRsICYgTUFYVExfTUFTS107Cisg ICAgZW52LT50bCA9IDA7CiAgICAgZW52LT5sc3UgPSAwOwogI2Vsc2UKICAgICBlbnYtPm1tdXJl Z3NbMF0gJj0gfihNTVVfRSB8IE1NVV9ORik7CkluZGV4OiBxZW11LXRydW5rL3RhcmdldC1zcGFy Yy9tYWNoaW5lLmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQotLS0gcWVtdS10cnVuay5vcmlnL3RhcmdldC1zcGFyYy9t YWNoaW5lLmMKKysrIHFlbXUtdHJ1bmsvdGFyZ2V0LXNwYXJjL21hY2hpbmUuYwpAQCAtMTY0LDcg KzE2NCw2IEBAIGludCBjcHVfbG9hZChRRU1VRmlsZSAqZiwgdm9pZCAqb3BhcXVlLCAKICAgICBx ZW11X2dldF9iZTMycyhmLCAmZW52LT5hc2kpOwogICAgIHFlbXVfZ2V0X2JlMzJzKGYsICZlbnYt PnBzdGF0ZSk7CiAgICAgcWVtdV9nZXRfYmUzMnMoZiwgJmVudi0+dGwpOwotICAgIGVudi0+dHNw dHIgPSAmZW52LT50c1tlbnYtPnRsICYgTUFYVExfTUFTS107CiAgICAgcWVtdV9nZXRfYmUzMnMo ZiwgJmVudi0+Y2Fuc2F2ZSk7CiAgICAgcWVtdV9nZXRfYmUzMnMoZiwgJmVudi0+Y2FucmVzdG9y ZSk7CiAgICAgcWVtdV9nZXRfYmUzMnMoZiwgJmVudi0+b3RoZXJ3aW4pOwpJbmRleDogcWVtdS10 cnVuay9saW51eC11c2VyL21haW4uYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBxZW11LXRydW5rLm9yaWcvbGlu dXgtdXNlci9tYWluLmMKKysrIHFlbXUtdHJ1bmsvbGludXgtdXNlci9tYWluLmMKQEAgLTk2Miw3 ICs5NjIsNyBAQCB2b2lkIGNwdV9sb29wIChDUFVTUEFSQ1N0YXRlICplbnYpCiAgICAgICAgICAg ICAgICAgaWYgKHRyYXBuciA9PSBUVF9ERkFVTFQpCiAgICAgICAgICAgICAgICAgICAgIGluZm8u X3NpZmllbGRzLl9zaWdmYXVsdC5fYWRkciA9IGVudi0+ZG1tdXJlZ3NbNF07CiAgICAgICAgICAg ICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAgICBpbmZvLl9zaWZpZWxkcy5fc2lnZmF1bHQu X2FkZHIgPSBlbnYtPnRzcHRyLT50cGM7CisgICAgICAgICAgICAgICAgICAgIGluZm8uX3NpZmll bGRzLl9zaWdmYXVsdC5fYWRkciA9IGNwdV90c3B0cihlbnYpLT50cGM7CiAgICAgICAgICAgICAg ICAgcXVldWVfc2lnbmFsKGVudiwgaW5mby5zaV9zaWdubywgJmluZm8pOwogICAgICAgICAgICAg fQogICAgICAgICAgICAgYnJlYWs7Cg== --0016e64987c061392e046f159512--