From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1HuBTS-0000CY-Uy for qemu-devel@nongnu.org; Fri, 01 Jun 2007 14:03:42 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1HuBTS-0000Ab-0h for qemu-devel@nongnu.org; Fri, 01 Jun 2007 14:03:42 -0400 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1HuBTR-0000AP-RT for qemu-devel@nongnu.org; Fri, 01 Jun 2007 14:03:41 -0400 Received: from wr-out-0506.google.com ([64.233.184.231]) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1HuBTQ-0008Ug-Q6 for qemu-devel@nongnu.org; Fri, 01 Jun 2007 14:03:41 -0400 Received: by wr-out-0506.google.com with SMTP id i22so562275wra for ; Fri, 01 Jun 2007 11:03:39 -0700 (PDT) Message-ID: Date: Fri, 1 Jun 2007 21:03:38 +0300 From: "Blue Swirl" MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_6219_7658697.1180721018370" Subject: [Qemu-devel] PATCH/RFC: target_ulong fixes 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 ------=_Part_6219_7658697.1180721018370 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline Hi, This patch converts most hw device target_ulong use to target_phys_addr_t. I didn't touch PPC CPU registers or Alpha PAL code, maybe they really are 32-bit or 64-bit depending on the CPU. Also kernel and initrd addresses should not be target_phys_addr_t type. Is this OK? At least it compiles. ------=_Part_6219_7658697.1180721018370 Content-Type: text/x-diff; name=target_ulong_fixes.diff; charset=ANSI_X3.4-1968 Content-Transfer-Encoding: base64 X-Attachment-Id: f_f2eyl9gs Content-Disposition: attachment; filename="target_ulong_fixes.diff" SW5kZXg6IHFlbXUvaHcvZG1hLmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gcWVtdS5vcmlnL2h3L2RtYS5jCTIw MDctMDYtMDEgMTY6NDI6MDEuMDAwMDAwMDAwICswMDAwCisrKyBxZW11L2h3L2RtYS5jCTIwMDct MDYtMDEgMTY6NDI6NTYuMDAwMDAwMDAwICswMDAwCkBAIC0zODMsNyArMzgzLDcgQEAKIGludCBE TUFfcmVhZF9tZW1vcnkgKGludCBuY2hhbiwgdm9pZCAqYnVmLCBpbnQgcG9zLCBpbnQgbGVuKQog ewogICAgIHN0cnVjdCBkbWFfcmVncyAqciA9ICZkbWFfY29udHJvbGxlcnNbbmNoYW4gPiAzXS5y ZWdzW25jaGFuICYgM107Ci0gICAgdGFyZ2V0X3Vsb25nIGFkZHIgPSAoKHItPnBhZ2VoICYgMHg3 ZikgPDwgMjQpIHwgKHItPnBhZ2UgPDwgMTYpIHwgci0+bm93W0FERFJdOworICAgIHRhcmdldF9w aHlzX2FkZHJfdCBhZGRyID0gKChyLT5wYWdlaCAmIDB4N2YpIDw8IDI0KSB8IChyLT5wYWdlIDw8 IDE2KSB8IHItPm5vd1tBRERSXTsKIAogICAgIGlmIChyLT5tb2RlICYgMHgyMCkgewogICAgICAg ICBpbnQgaTsKQEAgLTQwNSw3ICs0MDUsNyBAQAogaW50IERNQV93cml0ZV9tZW1vcnkgKGludCBu Y2hhbiwgdm9pZCAqYnVmLCBpbnQgcG9zLCBpbnQgbGVuKQogewogICAgIHN0cnVjdCBkbWFfcmVn cyAqciA9ICZkbWFfY29udHJvbGxlcnNbbmNoYW4gPiAzXS5yZWdzW25jaGFuICYgM107Ci0gICAg dGFyZ2V0X3Vsb25nIGFkZHIgPSAoKHItPnBhZ2VoICYgMHg3ZikgPDwgMjQpIHwgKHItPnBhZ2Ug PDwgMTYpIHwgci0+bm93W0FERFJdOworICAgIHRhcmdldF9waHlzX2FkZHJfdCBhZGRyID0gKChy LT5wYWdlaCAmIDB4N2YpIDw8IDI0KSB8IChyLT5wYWdlIDw8IDE2KSB8IHItPm5vd1tBRERSXTsK IAogICAgIGlmIChyLT5tb2RlICYgMHgyMCkgewogICAgICAgICBpbnQgaTsKSW5kZXg6IHFlbXUv aHcvZHMxMjI1eS5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHFlbXUub3JpZy9ody9kczEyMjV5LmMJMjAwNy0w Ni0wMSAxNjo0MjowMS4wMDAwMDAwMDAgKzAwMDAKKysrIHFlbXUvaHcvZHMxMjI1eS5jCTIwMDct MDYtMDEgMTY6NDI6NTYuMDAwMDAwMDAwICswMDAwCkBAIC0zMyw3ICszMyw3IEBACiANCiBzdHJ1 Y3QgZHMxMjI1eV90DQogew0KLSAgICB0YXJnZXRfdWxvbmcgbWVtX2Jhc2U7DQorICAgIHRhcmdl dF9waHlzX2FkZHJfdCBtZW1fYmFzZTsNCiAgICAgdWludDMyX3QgY2FwYWNpdHk7DQogICAgIGNv bnN0IGNoYXIgKmZpbGVuYW1lOw0KICAgICBRRU1VRmlsZSAqZmlsZTsNCkBAIC05OSw3ICs5OSw3 IEBACiB9Ow0KIA0KIC8qIEluaXRpYWxpc2F0aW9uIHJvdXRpbmUgKi8NCi1kczEyMjV5X3QgKmRz MTIyNXlfaW5pdCh0YXJnZXRfdWxvbmcgbWVtX2Jhc2UsIGNvbnN0IGNoYXIgKmZpbGVuYW1lKQ0K K2RzMTIyNXlfdCAqZHMxMjI1eV9pbml0KHRhcmdldF9waHlzX2FkZHJfdCBtZW1fYmFzZSwgY29u c3QgY2hhciAqZmlsZW5hbWUpDQogew0KICAgICBkczEyMjV5X3QgKnM7DQogICAgIGludCBtZW1f aW5kZXgxLCBtZW1faW5kZXgyOw0KSW5kZXg6IHFlbXUvaHcvcGNrYmQuYwo9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t LSBxZW11Lm9yaWcvaHcvcGNrYmQuYwkyMDA3LTA2LTAxIDE2OjQyOjAxLjAwMDAwMDAwMCArMDAw MAorKysgcWVtdS9ody9wY2tiZC5jCTIwMDctMDYtMDEgMTY6NDI6NTYuMDAwMDAwMDAwICswMDAw CkBAIC00MjEsOCArNDIxLDggQEAKICAgICAma2JkX21tX3dyaXRlYiwKIH07CiAKLXZvaWQgaTgw NDJfbW1faW5pdChxZW11X2lycSBrYmRfaXJxLCBxZW11X2lycSBtb3VzZV9pcnEsIHRhcmdldF91 bG9uZyBiYXNlLAotICAgICAgICAgICAgICAgICAgIGludCBpdF9zaGlmdCkKK3ZvaWQgaTgwNDJf bW1faW5pdChxZW11X2lycSBrYmRfaXJxLCBxZW11X2lycSBtb3VzZV9pcnEsCisgICAgICAgICAg ICAgICAgICAgdGFyZ2V0X3BoeXNfYWRkcl90IGJhc2UsIGludCBpdF9zaGlmdCkKIHsKICAgICBL QkRTdGF0ZSAqcyA9ICZrYmRfc3RhdGU7CiAgICAgaW50IHNfaW9fbWVtb3J5OwpJbmRleDogcWVt dS9ody9wZmxhc2hfY2ZpMDIuYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBxZW11Lm9yaWcvaHcvcGZsYXNoX2Nm aTAyLmMJMjAwNy0wNi0wMSAxNjo0MjowMS4wMDAwMDAwMDAgKzAwMDAKKysrIHFlbXUvaHcvcGZs YXNoX2NmaTAyLmMJMjAwNy0wNi0wMSAxNjo0Mjo1Ni4wMDAwMDAwMDAgKzAwMDAKQEAgLTUwLDkg KzUwLDkgQEAKIAogc3RydWN0IHBmbGFzaF90IHsKICAgICBCbG9ja0RyaXZlclN0YXRlICpiczsK LSAgICB0YXJnZXRfdWxvbmcgYmFzZTsKLSAgICB0YXJnZXRfdWxvbmcgc2VjdG9yX2xlbjsKLSAg ICB0YXJnZXRfdWxvbmcgdG90YWxfbGVuOworICAgIHRhcmdldF9waHlzX2FkZHJfdCBiYXNlOwor ICAgIHVpbnQzMl90IHNlY3Rvcl9sZW47CisgICAgdWludDMyX3QgdG90YWxfbGVuOwogICAgIGlu dCB3aWR0aDsKICAgICBpbnQgd2N5Y2xlOyAvKiBpZiAwLCB0aGUgZmxhc2ggaXMgcmVhZCBub3Jt YWxseSAqLwogICAgIGludCBieXBhc3M7CkBAIC04NSw5ICs4NSw5IEBACiAgICAgcGZsLT5jbWQg PSAwOwogfQogCi1zdGF0aWMgdWludDMyX3QgcGZsYXNoX3JlYWQgKHBmbGFzaF90ICpwZmwsIHRh cmdldF91bG9uZyBvZmZzZXQsIGludCB3aWR0aCkKK3N0YXRpYyB1aW50MzJfdCBwZmxhc2hfcmVh ZCAocGZsYXNoX3QgKnBmbCwgdWludDMyX3Qgb2Zmc2V0LCBpbnQgd2lkdGgpCiB7Ci0gICAgdGFy Z2V0X3Vsb25nIGJvZmY7CisgICAgdWludDMyX3QgYm9mZjsKICAgICB1aW50MzJfdCByZXQ7CiAg ICAgdWludDhfdCAqcDsKIApAQCAtMTk5LDEwICsxOTksMTAgQEAKICAgICB9CiB9CiAKLXN0YXRp YyB2b2lkIHBmbGFzaF93cml0ZSAocGZsYXNoX3QgKnBmbCwgdGFyZ2V0X3Vsb25nIG9mZnNldCwg dWludDMyX3QgdmFsdWUsCitzdGF0aWMgdm9pZCBwZmxhc2hfd3JpdGUgKHBmbGFzaF90ICpwZmws IHVpbnQzMl90IG9mZnNldCwgdWludDMyX3QgdmFsdWUsCiAgICAgICAgICAgICAgICAgICAgICAg ICAgIGludCB3aWR0aCkKIHsKLSAgICB0YXJnZXRfdWxvbmcgYm9mZjsKKyAgICB1aW50MzJfdCBi b2ZmOwogICAgIHVpbnQ4X3QgKnA7CiAgICAgdWludDhfdCBjbWQ7CiAKQEAgLTIxOSw3ICsyMTks NyBAQAogICAgIERQUklOVEYoIiVzOiBvZmZzZXQgIiBUQVJHRVRfRk1UX2x4ICIgJTA4eCAlZCAl ZFxuIiwgX19mdW5jX18sCiAgICAgICAgICAgICBvZmZzZXQsIHZhbHVlLCB3aWR0aCwgcGZsLT53 Y3ljbGUpOwogICAgIGlmIChwZmwtPndjeWNsZSA9PSAwKQotICAgICAgICBvZmZzZXQgLT0gKHRh cmdldF91bG9uZykobG9uZylwZmwtPnN0b3JhZ2U7CisgICAgICAgIG9mZnNldCAtPSAodWludDMy X3QpKGxvbmcpcGZsLT5zdG9yYWdlOwogICAgIGVsc2UKICAgICAgICAgb2Zmc2V0IC09IHBmbC0+ YmFzZTsKICAgICAgICAgCkBAIC01MjEsMTQgKzUyMSwxNCBAQAogICAgIHJldHVybiByZXQ7CiB9 CiAKLXBmbGFzaF90ICpwZmxhc2hfcmVnaXN0ZXIgKHRhcmdldF91bG9uZyBiYXNlLCByYW1fYWRk cl90IG9mZiwKK3BmbGFzaF90ICpwZmxhc2hfcmVnaXN0ZXIgKHRhcmdldF9waHlzX2FkZHJfdCBi YXNlLCByYW1fYWRkcl90IG9mZiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsb2NrRHJp dmVyU3RhdGUgKmJzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0X3Vsb25nIHNl Y3Rvcl9sZW4sIGludCBuYl9ibG9jcywgaW50IHdpZHRoLAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgdWludDMyX3Qgc2VjdG9yX2xlbiwgaW50IG5iX2Jsb2NzLCBpbnQgd2lkdGgsCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCBpZDAsIHVpbnQxNl90IGlkMSwgCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCBpZDIsIHVpbnQxNl90IGlkMykKIHsKICAg ICBwZmxhc2hfdCAqcGZsOwotICAgIHRhcmdldF9sb25nIHRvdGFsX2xlbjsKKyAgICBpbnQzMl90 IHRvdGFsX2xlbjsKIAogICAgIHRvdGFsX2xlbiA9IHNlY3Rvcl9sZW4gKiBuYl9ibG9jczsKICAg ICAvKiBYWFg6IHRvIGJlIGZpeGVkICovCkluZGV4OiBxZW11L2h3L3NlcmlhbC5jCj09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KLS0tIHFlbXUub3JpZy9ody9zZXJpYWwuYwkyMDA3LTA2LTAxIDE2OjQyOjAxLjAwMDAwMDAw MCArMDAwMAorKysgcWVtdS9ody9zZXJpYWwuYwkyMDA3LTA2LTAxIDE2OjQyOjU2LjAwMDAwMDAw MCArMDAwMApAQCAtODYsNyArODYsNyBAQAogICAgIHFlbXVfaXJxIGlycTsKICAgICBDaGFyRHJp dmVyU3RhdGUgKmNocjsKICAgICBpbnQgbGFzdF9icmVha19lbmFibGU7Ci0gICAgdGFyZ2V0X3Vs b25nIGJhc2U7CisgICAgdGFyZ2V0X3BoeXNfYWRkcl90IGJhc2U7CiAgICAgaW50IGl0X3NoaWZ0 OwogfTsKIApAQCAtNDIzLDcgKzQyMyw3IEBACiAgICAgJnNlcmlhbF9tbV93cml0ZWwsCiB9Owog Ci1TZXJpYWxTdGF0ZSAqc2VyaWFsX21tX2luaXQgKHRhcmdldF91bG9uZyBiYXNlLCBpbnQgaXRf c2hpZnQsCitTZXJpYWxTdGF0ZSAqc2VyaWFsX21tX2luaXQgKHRhcmdldF9waHlzX2FkZHJfdCBi YXNlLCBpbnQgaXRfc2hpZnQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHFlbXVfaXJx IGlycSwgQ2hhckRyaXZlclN0YXRlICpjaHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGludCBpb3JlZ2lzdGVyKQogewpJbmRleDogcWVtdS92bC5oCj09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHFlbXUu b3JpZy92bC5oCTIwMDctMDYtMDEgMTY6NDI6NTQuMDAwMDAwMDAwICswMDAwCisrKyBxZW11L3Zs LmgJMjAwNy0wNi0wMSAxNjo0Mjo1Ni4wMDAwMDAwMDAgKzAwMDAKQEAgLTk5MSw3ICs5OTEsNyBA QAogCiAvKiBkczEyMjV5LmMgKi8KIHR5cGVkZWYgc3RydWN0IGRzMTIyNXlfdCBkczEyMjV5X3Q7 Ci1kczEyMjV5X3QgKmRzMTIyNXlfaW5pdCh0YXJnZXRfdWxvbmcgbWVtX2Jhc2UsIGNvbnN0IGNo YXIgKmZpbGVuYW1lKTsKK2RzMTIyNXlfdCAqZHMxMjI1eV9pbml0KHRhcmdldF9waHlzX2FkZHJf dCBtZW1fYmFzZSwgY29uc3QgY2hhciAqZmlsZW5hbWUpOwogCiAvKiBlczEzNzAuYyAqLwogaW50 IGVzMTM3MF9pbml0IChQQ0lCdXMgKmJ1cywgQXVkaW9TdGF0ZSAqcyk7CkBAIC0xMDU2LDcgKzEw NTYsOCBAQAogLyogcGNrYmQuYyAqLwogCiB2b2lkIGk4MDQyX2luaXQocWVtdV9pcnEga2JkX2ly cSwgcWVtdV9pcnEgbW91c2VfaXJxLCB1aW50MzJfdCBpb19iYXNlKTsKLXZvaWQgaTgwNDJfbW1f aW5pdChxZW11X2lycSBrYmRfaXJxLCBxZW11X2lycSBtb3VzZV9pcnEsIHRhcmdldF91bG9uZyBi YXNlLCBpbnQgaXRfc2hpZnQpOwordm9pZCBpODA0Ml9tbV9pbml0KHFlbXVfaXJxIGtiZF9pcnEs IHFlbXVfaXJxIG1vdXNlX2lycSwKKyAgICAgICAgICAgICAgICAgICB0YXJnZXRfcGh5c19hZGRy X3QgYmFzZSwgaW50IGl0X3NoaWZ0KTsKIAogLyogbWMxNDY4MThydGMuYyAqLwogCkBAIC0xMDcx LDcgKzEwNzIsNyBAQAogCiB0eXBlZGVmIHN0cnVjdCBTZXJpYWxTdGF0ZSBTZXJpYWxTdGF0ZTsK IFNlcmlhbFN0YXRlICpzZXJpYWxfaW5pdChpbnQgYmFzZSwgcWVtdV9pcnEgaXJxLCBDaGFyRHJp dmVyU3RhdGUgKmNocik7Ci1TZXJpYWxTdGF0ZSAqc2VyaWFsX21tX2luaXQgKHRhcmdldF91bG9u ZyBiYXNlLCBpbnQgaXRfc2hpZnQsCitTZXJpYWxTdGF0ZSAqc2VyaWFsX21tX2luaXQgKHRhcmdl dF9waHlzX2FkZHJfdCBiYXNlLCBpbnQgaXRfc2hpZnQsCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHFlbXVfaXJxIGlycSwgQ2hhckRyaXZlclN0YXRlICpjaHIsCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGludCBpb3JlZ2lzdGVyKTsKIHVpbnQzMl90IHNlcmlhbF9tbV9yZWFk YiAodm9pZCAqb3BhcXVlLCB0YXJnZXRfcGh5c19hZGRyX3QgYWRkcik7CkBAIC0xNDgyLDkgKzE0 ODMsOSBAQAogZXh0ZXJuIEJsb2NrRHJpdmVyU3RhdGUgKnBmbGFzaF90YWJsZVtNQVhfUEZMQVNI XTsKIHR5cGVkZWYgc3RydWN0IHBmbGFzaF90IHBmbGFzaF90OwogCi1wZmxhc2hfdCAqcGZsYXNo X3JlZ2lzdGVyICh0YXJnZXRfdWxvbmcgYmFzZSwgcmFtX2FkZHJfdCBvZmYsCitwZmxhc2hfdCAq cGZsYXNoX3JlZ2lzdGVyICh0YXJnZXRfcGh5c19hZGRyX3QgYmFzZSwgcmFtX2FkZHJfdCBvZmYs CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBCbG9ja0RyaXZlclN0YXRlICpicywKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgIHRhcmdldF91bG9uZyBzZWN0b3JfbGVuLCBpbnQgbmJfYmxv Y3MsIGludCB3aWR0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNlY3Rv cl9sZW4sIGludCBuYl9ibG9jcywgaW50IHdpZHRoLAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgdWludDE2X3QgaWQwLCB1aW50MTZfdCBpZDEsIAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgdWludDE2X3QgaWQyLCB1aW50MTZfdCBpZDMpOwogCkluZGV4OiBxZW11L2h3L3BwYzQwNS5o Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KLS0tIHFlbXUub3JpZy9ody9wcGM0MDUuaAkyMDA3LTA2LTAxIDE2OjQyOjAx LjAwMDAwMDAwMCArMDAwMAorKysgcWVtdS9ody9wcGM0MDUuaAkyMDA3LTA2LTAxIDE2OjQyOjU2 LjAwMDAwMDAwMCArMDAwMApAQCAtODMsNyArODMsOCBAQAogICAgICAgICAgICAgICAgICAgICAg ICB1aW50MzJfdCBkY3JfYmFzZSwgaW50IGhhc19zc3IsIGludCBoYXNfdnIpOwogLyogU0RSQU0g Y29udHJvbGxlciAqLwogdm9pZCBwcGM0MDVfc2RyYW1faW5pdCAoQ1BVU3RhdGUgKmVudiwgcWVt dV9pcnEgaXJxLCBpbnQgbmJhbmtzLAotICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0X3Vs b25nICpyYW1fYmFzZXMsIHRhcmdldF91bG9uZyAqcmFtX3NpemVzLAorICAgICAgICAgICAgICAg ICAgICAgICAgdGFyZ2V0X3BoeXNfYWRkcl90ICpyYW1fYmFzZXMsCisgICAgICAgICAgICAgICAg ICAgICAgICB0YXJnZXRfcGh5c19hZGRyX3QgKnJhbV9zaXplcywKICAgICAgICAgICAgICAgICAg ICAgICAgIGludCBkb19pbml0KTsKIC8qIFBlcmlwaGVyYWwgY29udHJvbGxlciAqLwogdm9pZCBw cGM0MDVfZWJjX2luaXQgKENQVVN0YXRlICplbnYpOwpAQCAtMTA3LDE1ICsxMDgsMTcgQEAKIC8q IE1lbW9yeSBhY2Nlc3MgbGF5ZXIgKi8KIHZvaWQgcHBjNDA1X21hbF9pbml0IChDUFVTdGF0ZSAq ZW52LCBxZW11X2lycSBpcnFzWzRdKTsKIC8qIFBvd2VyUEMgNDA1IG1pY3JvY29udHJvbGxlcnMg Ki8KLUNQVVN0YXRlICpwcGM0MDVjcl9pbml0ICh0YXJnZXRfdWxvbmcgcmFtX2Jhc2VzWzRdLCB0 YXJnZXRfdWxvbmcgcmFtX3NpemVzWzRdLAorQ1BVU3RhdGUgKnBwYzQwNWNyX2luaXQgKHRhcmdl dF9waHlzX2FkZHJfdCByYW1fYmFzZXNbNF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgdGFy Z2V0X3BoeXNfYWRkcl90IHJhbV9zaXplc1s0XSwKICAgICAgICAgICAgICAgICAgICAgICAgICB1 aW50MzJfdCBzeXNjbGssIHFlbXVfaXJxICoqcGljcCwKICAgICAgICAgICAgICAgICAgICAgICAg ICByYW1fYWRkcl90ICpvZmZzZXRwLCBpbnQgZG9faW5pdCk7Ci1DUFVTdGF0ZSAqcHBjNDA1ZXBf aW5pdCAodGFyZ2V0X3Vsb25nIHJhbV9iYXNlc1syXSwgdGFyZ2V0X3Vsb25nIHJhbV9zaXplc1sy XSwKK0NQVVN0YXRlICpwcGM0MDVlcF9pbml0ICh0YXJnZXRfcGh5c19hZGRyX3QgcmFtX2Jhc2Vz WzJdLAorICAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldF9waHlzX2FkZHJfdCByYW1fc2l6 ZXNbMl0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc3lzY2xrLCBxZW11X2ly cSAqKnBpY3AsCiAgICAgICAgICAgICAgICAgICAgICAgICAgcmFtX2FkZHJfdCAqb2Zmc2V0cCwg aW50IGRvX2luaXQpOwogLyogSUJNIFNUQnh4eCBtaWNyb2NvbnRyb2xsZXJzICovCi1DUFVTdGF0 ZSAqcHBjX3N0YjAyNV9pbml0ICh0YXJnZXRfdWxvbmcgcmFtX2Jhc2VzWzJdLAotICAgICAgICAg ICAgICAgICAgICAgICAgICAgdGFyZ2V0X3Vsb25nIHJhbV9zaXplc1syXSwKK0NQVVN0YXRlICpw cGNfc3RiMDI1X2luaXQgKHRhcmdldF9waHlzX2FkZHJfdCByYW1fYmFzZXNbMl0sCisgICAgICAg ICAgICAgICAgICAgICAgICAgICB0YXJnZXRfcGh5c19hZGRyX3QgcmFtX3NpemVzWzJdLAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc3lzY2xrLCBxZW11X2lycSAqKnBpY3As CiAgICAgICAgICAgICAgICAgICAgICAgICAgICByYW1fYWRkcl90ICpvZmZzZXRwKTsKIApJbmRl eDogcWVtdS9ody9wcGM0MDVfYm9hcmRzLmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gcWVtdS5vcmlnL2h3L3Bw YzQwNV9ib2FyZHMuYwkyMDA3LTA2LTAxIDE2OjQyOjAxLjAwMDAwMDAwMCArMDAwMAorKysgcWVt dS9ody9wcGM0MDVfYm9hcmRzLmMJMjAwNy0wNi0wMSAxNjo0Mjo1Ni4wMDAwMDAwMDAgKzAwMDAK QEAgLTE4NCw3ICsxODQsNyBAQAogICAgIENQVVBQQ1N0YXRlICplbnY7CiAgICAgcWVtdV9pcnEg KnBpYzsKICAgICByYW1fYWRkcl90IHNyYW1fb2Zmc2V0LCBiaW9zX29mZnNldCwgYmRsb2M7Ci0g ICAgdGFyZ2V0X3Vsb25nIHJhbV9iYXNlc1syXSwgcmFtX3NpemVzWzJdOworICAgIHRhcmdldF9w aHlzX2FkZHJfdCByYW1fYmFzZXNbMl0sIHJhbV9zaXplc1syXTsKICAgICB0YXJnZXRfdWxvbmcg c3JhbV9zaXplLCBiaW9zX3NpemU7CiAgICAgLy9pbnQgcGh5X2FkZHIgPSAwOwogICAgIC8vc3Rh dGljIGludCBwaHlfYWRkciA9IDE7CkBAIC01MDYsNyArNTA2LDcgQEAKICAgICBDUFVQUENTdGF0 ZSAqZW52OwogICAgIHFlbXVfaXJxICpwaWM7CiAgICAgcmFtX2FkZHJfdCBiaW9zX29mZnNldDsK LSAgICB0YXJnZXRfdWxvbmcgcmFtX2Jhc2VzWzJdLCByYW1fc2l6ZXNbMl07CisgICAgdGFyZ2V0 X3BoeXNfYWRkcl90IHJhbV9iYXNlc1syXSwgcmFtX3NpemVzWzJdOwogICAgIHRhcmdldF91bG9u ZyBiaW9zX3NpemU7CiAgICAgdGFyZ2V0X3Vsb25nIGtlcm5lbF9iYXNlLCBrZXJuZWxfc2l6ZSwg aW5pdHJkX2Jhc2UsIGluaXRyZF9zaXplOwogICAgIGludCBsaW51eF9ib290OwpJbmRleDogcWVt dS9ody9wcGM0MDVfdWMuYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBxZW11Lm9yaWcvaHcvcHBjNDA1X3VjLmMJ MjAwNy0wNi0wMSAxNjo0MjowMS4wMDAwMDAwMDAgKzAwMDAKKysrIHFlbXUvaHcvcHBjNDA1X3Vj LmMJMjAwNy0wNi0wMSAxNjo0Mjo1Ni4wMDAwMDAwMDAgKzAwMDAKQEAgLTkwMyw4ICs5MDMsOCBA QAogc3RydWN0IHBwYzR4eF9zZHJhbV90IHsKICAgICB1aW50MzJfdCBhZGRyOwogICAgIGludCBu YmFua3M7Ci0gICAgdGFyZ2V0X3Vsb25nIHJhbV9iYXNlc1s0XTsKLSAgICB0YXJnZXRfdWxvbmcg cmFtX3NpemVzWzRdOworICAgIHRhcmdldF9waHlzX2FkZHJfdCByYW1fYmFzZXNbNF07CisgICAg dGFyZ2V0X3BoeXNfYWRkcl90IHJhbV9zaXplc1s0XTsKICAgICB1aW50MzJfdCBiZXNyMDsKICAg ICB1aW50MzJfdCBiZXNyMTsKICAgICB1aW50MzJfdCBiZWFyOwpAQCAtOTI0LDcgKzkyNCw3IEBA CiAgICAgU0RSQU0wX0NGR0RBVEEgPSAweDAxMSwKIH07CiAKLXN0YXRpYyB1aW50MzJfdCBzZHJh bV9iY3IgKHRhcmdldF91bG9uZyByYW1fYmFzZSwgdGFyZ2V0X3Vsb25nIHJhbV9zaXplKQorc3Rh dGljIHVpbnQzMl90IHNkcmFtX2JjciAodGFyZ2V0X3BoeXNfYWRkcl90IHJhbV9iYXNlLCB0YXJn ZXRfcGh5c19hZGRyX3QgcmFtX3NpemUpCiB7CiAgICAgdWludDMyX3QgYmNyOwogCkBAIC05NjAs NyArOTYwLDcgQEAKICAgICByZXR1cm4gYmNyOwogfQogCi1zdGF0aWMgaW5saW5lIHRhcmdldF91 bG9uZyBzZHJhbV9iYXNlICh1aW50MzJfdCBiY3IpCitzdGF0aWMgaW5saW5lIHRhcmdldF9waHlz X2FkZHJfdCBzZHJhbV9iYXNlICh1aW50MzJfdCBiY3IpCiB7CiAgICAgcmV0dXJuIGJjciAmIDB4 RkY4MDAwMDA7CiB9CkBAIC0xMjA2LDcgKzEyMDYsOCBAQAogfQogCiB2b2lkIHBwYzQwNV9zZHJh bV9pbml0IChDUFVTdGF0ZSAqZW52LCBxZW11X2lycSBpcnEsIGludCBuYmFua3MsCi0gICAgICAg ICAgICAgICAgICAgICAgICB0YXJnZXRfdWxvbmcgKnJhbV9iYXNlcywgdGFyZ2V0X3Vsb25nICpy YW1fc2l6ZXMsCisgICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXRfcGh5c19hZGRyX3QgKnJh bV9iYXNlcywKKyAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldF9waHlzX2FkZHJfdCAqcmFt X3NpemVzLAogICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRvX2luaXQpCiB7CiAgICAgcHBj NHh4X3NkcmFtX3QgKnNkcmFtOwpAQCAtMTIxNSwxMCArMTIxNiwxMCBAQAogICAgIGlmIChzZHJh bSAhPSBOVUxMKSB7CiAgICAgICAgIHNkcmFtLT5pcnEgPSBpcnE7CiAgICAgICAgIHNkcmFtLT5u YmFua3MgPSBuYmFua3M7Ci0gICAgICAgIG1lbXNldChzZHJhbS0+cmFtX2Jhc2VzLCAwLCA0ICog c2l6ZW9mKHRhcmdldF91bG9uZykpOwotICAgICAgICBtZW1jcHkoc2RyYW0tPnJhbV9iYXNlcywg cmFtX2Jhc2VzLCBuYmFua3MgKiBzaXplb2YodGFyZ2V0X3Vsb25nKSk7Ci0gICAgICAgIG1lbXNl dChzZHJhbS0+cmFtX3NpemVzLCAwLCA0ICogc2l6ZW9mKHRhcmdldF91bG9uZykpOwotICAgICAg ICBtZW1jcHkoc2RyYW0tPnJhbV9zaXplcywgcmFtX3NpemVzLCBuYmFua3MgKiBzaXplb2YodGFy Z2V0X3Vsb25nKSk7CisgICAgICAgIG1lbXNldChzZHJhbS0+cmFtX2Jhc2VzLCAwLCA0ICogc2l6 ZW9mKHRhcmdldF9waHlzX2FkZHJfdCkpOworICAgICAgICBtZW1jcHkoc2RyYW0tPnJhbV9iYXNl cywgcmFtX2Jhc2VzLCBuYmFua3MgKiBzaXplb2YodGFyZ2V0X3BoeXNfYWRkcl90KSk7CisgICAg ICAgIG1lbXNldChzZHJhbS0+cmFtX3NpemVzLCAwLCA0ICogc2l6ZW9mKHRhcmdldF9waHlzX2Fk ZHJfdCkpOworICAgICAgICBtZW1jcHkoc2RyYW0tPnJhbV9zaXplcywgcmFtX3NpemVzLCBuYmFu a3MgKiBzaXplb2YodGFyZ2V0X3BoeXNfYWRkcl90KSk7CiAgICAgICAgIHNkcmFtX3Jlc2V0KHNk cmFtKTsKICAgICAgICAgcWVtdV9yZWdpc3Rlcl9yZXNldCgmc2RyYW1fcmVzZXQsIHNkcmFtKTsK ICAgICAgICAgcHBjX2Rjcl9yZWdpc3RlcihlbnYsIFNEUkFNMF9DRkdBRERSLApAQCAtMzAxNyw3 ICszMDE4LDggQEAKICAgICB9CiB9CiAKLUNQVVN0YXRlICpwcGM0MDVjcl9pbml0ICh0YXJnZXRf dWxvbmcgcmFtX2Jhc2VzWzRdLCB0YXJnZXRfdWxvbmcgcmFtX3NpemVzWzRdLAorQ1BVU3RhdGUg KnBwYzQwNWNyX2luaXQgKHRhcmdldF9waHlzX2FkZHJfdCByYW1fYmFzZXNbNF0sCisgICAgICAg ICAgICAgICAgICAgICAgICAgdGFyZ2V0X3BoeXNfYWRkcl90IHJhbV9zaXplc1s0XSwKICAgICAg ICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzeXNjbGssIHFlbXVfaXJxICoqcGljcCwKICAg ICAgICAgICAgICAgICAgICAgICAgICByYW1fYWRkcl90ICpvZmZzZXRwLCBpbnQgZG9faW5pdCkK IHsKQEAgLTMzNjUsNyArMzM2Nyw4IEBACiAgICAgfQogfQogCi1DUFVTdGF0ZSAqcHBjNDA1ZXBf aW5pdCAodGFyZ2V0X3Vsb25nIHJhbV9iYXNlc1syXSwgdGFyZ2V0X3Vsb25nIHJhbV9zaXplc1sy XSwKK0NQVVN0YXRlICpwcGM0MDVlcF9pbml0ICh0YXJnZXRfcGh5c19hZGRyX3QgcmFtX2Jhc2Vz WzJdLAorICAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldF9waHlzX2FkZHJfdCByYW1fc2l6 ZXNbMl0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc3lzY2xrLCBxZW11X2ly cSAqKnBpY3AsCiAgICAgICAgICAgICAgICAgICAgICAgICAgcmFtX2FkZHJfdCAqb2Zmc2V0cCwg aW50IGRvX2luaXQpCiB7Cg== ------=_Part_6219_7658697.1180721018370--