From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1KZWZm-0007uP-1D for qemu-devel@nongnu.org; Sat, 30 Aug 2008 15:57:38 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1KZWZl-0007t1-1y for qemu-devel@nongnu.org; Sat, 30 Aug 2008 15:57:37 -0400 Received: from [199.232.76.173] (port=56893 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1KZWZk-0007su-Qj for qemu-devel@nongnu.org; Sat, 30 Aug 2008 15:57:36 -0400 Received: from wf-out-1314.google.com ([209.85.200.171]:48145) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1KZWZj-0004f4-O8 for qemu-devel@nongnu.org; Sat, 30 Aug 2008 15:57:36 -0400 Received: by wf-out-1314.google.com with SMTP id 27so1265717wfd.4 for ; Sat, 30 Aug 2008 12:57:34 -0700 (PDT) Message-ID: Date: Sat, 30 Aug 2008 22:57:34 +0300 From: "Blue Swirl" Subject: Re: [Qemu-devel] [PATCH v3 1/6] Use IO port for qemu<->guest BIOS communication. In-Reply-To: <20080829190041.GA18301@minantech.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_24252_26753066.1220126254136" References: <20080828165232.22851.77678.stgit@gleb-debian.qumranet.com.qumranet.com> <20080828165237.22851.1532.stgit@gleb-debian.qumranet.com.qumranet.com> <20080829190041.GA18301@minantech.com> 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 ------=_Part_24252_26753066.1220126254136 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Content-Disposition: inline On 8/29/08, Gleb Natapov wrote: > On Thu, Aug 28, 2008 at 09:04:11PM +0300, Blue Swirl wrote: > > On 8/28/08, Gleb Natapov wrote: > > > + fw_cfg_add(fw_cfg, FW_CFG_ID, (uint8_t *)&bios_cfg_id, > > > + sizeof(bios_cfg_id)); > > > > On second thought, this is in host byte order, which is not a good idea. > > > > Is there some function to convert from host byte order to target byte > order? I made an updated version of the patch 1/6, with explicit little endian conversions. I'm not very happy with that. Another way would be to add functions just to put different size numbers into device and they would hide the conversion. The second patch (after 6/6) adds keys for ram size, nographic flag, number of CPUs and machine ID. I noticed that the other fields like preloaded kernel location, initrd and command line should not be in read-only storage so that BIOS can clear them and they will not be valid after next reset. We could add a writable part to the configuration device or a way to delete some entries but I think NVRAM variables could be used instead. Then I made a patch that takes the new device into use on OpenBIOS/Sparc64. I found some bugs in the implementation, save and load were wrong and FWCfgEntry.data should be const. The prototypes with target_phys_addr_t cause compile failure on OpenBIOS, so protecting them with something else than __ASSEMBLY__ should be added. Maybe a PCI bridge or something between CPU and the device should do byte swapping for outw. But all in all, it seems to work. Sparc64 boots, UUID gets printed correctly and added to OF tree: OpenBIOS for Sparc64 Initializing PCI devices... ide0: [io ports 0x1f0-0x1f7,0x3f6] ide1: [io ports 0x170-0x177,0x376] drive0 [ATAPI cdrom]: QEMU DVD-ROM floppy_init FDC is a S82078B floppy_reset floppy_motor_off SENSEI 20 00 status = 80, reply_buffer= 20 0 fdc_specify FD_SPECIFY(c1, 11) set_drive status = 80, new_dor = 10 floppy_recalibrate fdc_state.version = 0062 Configuration device id QEMU version 1 kernel addr 404000 size 0 CPUs: 1 x SUNW,UltraSPARC-II UUID: 10000000-2000-3000-4000-500000000000 No disk found. Welcome to OpenBIOS v1.0RC1 built on Aug 30 2008 15:58 Type 'help' for detailed information [sparc64] Booting file 'disk' with parameters '' 0 > cd / ok 0 > .properties name "OpenBiosTeam,OpenBIOS" #address-cells 2 #size-cells 2 compatible "sun4u" uuid -- 10 : 10 0 0 0 20 0 30 0 40 0 50 0 0 0 0 0 idprom -- 20 : 1 80 52 54 0 12 34 56 0 0 0 0 0 0 0 f7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 clock-frequency 1dcd6500 ok ------=_Part_24252_26753066.1220126254136 Content-Type: plain/text; name=new_fw_abi.diff Content-Transfer-Encoding: base64 X-Attachment-Id: f_fkinbwaq Content-Disposition: attachment; filename=new_fw_abi.diff ICAgIFVzZSBJTyBwb3J0IGZvciBxZW11PC0+Z3Vlc3QgQklPUyBjb21tdW5pY2F0aW9uLgogICAg CiAgICBVc2UgUElPIHRvIGdldCBjb25maWd1cmF0aW9uIGluZm8gYmV0d2VlbiBxZW11IHByb2Nl c3MgYW5kIGd1ZXN0IEJJT1MuCiAgICAKICAgIFNpZ25lZC1vZmYtYnk6IEdsZWIgTmF0YXBvdiA8 Z2xlYkBxdW1yYW5ldC5jb20+CgpJbmRleDogcWVtdS9NYWtlZmlsZS50YXJnZXQKPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQotLS0gcWVtdS5vcmlnL01ha2VmaWxlLnRhcmdldAkyMDA4LTA4LTMwIDE1OjE1OjIwLjAwMDAw MDAwMCArMDAwMAorKysgcWVtdS9NYWtlZmlsZS50YXJnZXQJMjAwOC0wOC0zMCAxNToxNToyMy4w MDAwMDAwMDAgKzAwMDAKQEAgLTU3OCw2ICs1NzgsNyBAQAogaWZuZGVmIENPTkZJR19VU0VSX09O TFkKIAogT0JKUz12bC5vIG9zZGVwLm8gbW9uaXRvci5vIHBjaS5vIGxvYWRlci5vIGlzYV9tbWlv Lm8gbWFjaGluZS5vIG5ldC1jaGVja3N1bS5vCitPQkpTKz1md19jZmcubwogaWZkZWYgQ09ORklH X1dJTjMyCiBPQkpTKz1ibG9jay1yYXctd2luMzIubwogZWxzZQpJbmRleDogcWVtdS9ody9wYy5j Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KLS0tIHFlbXUub3JpZy9ody9wYy5jCTIwMDgtMDgtMzAgMTU6MTU6MjAuMDAw MDAwMDAwICswMDAwCisrKyBxZW11L2h3L3BjLmMJMjAwOC0wOC0zMCAxNToxNToyMy4wMDAwMDAw MDAgKzAwMDAKQEAgLTMyLDYgKzMyLDcgQEAKICNpbmNsdWRlICJzbWJ1cy5oIgogI2luY2x1ZGUg ImJvYXJkcy5oIgogI2luY2x1ZGUgImNvbnNvbGUuaCIKKyNpbmNsdWRlICJmd19jZmcuaCIKIAog Lyogb3V0cHV0IEJvY2hzIGJpb3MgaW5mbyBtZXNzYWdlcyAqLwogLy8jZGVmaW5lIERFQlVHX0JJ T1MKQEAgLTQ0LDYgKzQ1LDcgQEAKIAogLyogTGVhdmUgYSBjaHVuayBvZiBtZW1vcnkgYXQgdGhl IHRvcCBvZiBSQU0gZm9yIHRoZSBCSU9TIEFDUEkgdGFibGVzLiAgKi8KICNkZWZpbmUgQUNQSV9E QVRBX1NJWkUgICAgICAgMHgxMDAwMAorI2RlZmluZSBCSU9TX0NGR19JT1BPUlQgMHg1MTAKIAog I2RlZmluZSBNQVhfSURFX0JVUyAyCiAKQEAgLTQxNCw4ICs0MTYsMTIgQEAKICAgICB9CiB9CiAK K3N0YXRpYyB1aW50MzJfdCBiaW9zX2NmZ19pZDsKKwogc3RhdGljIHZvaWQgYm9jaHNfYmlvc19p bml0KHZvaWQpCiB7CisgICAgdm9pZCAqZndfY2ZnOworCiAgICAgcmVnaXN0ZXJfaW9wb3J0X3dy aXRlKDB4NDAwLCAxLCAyLCBib2Noc19iaW9zX3dyaXRlLCBOVUxMKTsKICAgICByZWdpc3Rlcl9p b3BvcnRfd3JpdGUoMHg0MDEsIDEsIDIsIGJvY2hzX2Jpb3Nfd3JpdGUsIE5VTEwpOwogICAgIHJl Z2lzdGVyX2lvcG9ydF93cml0ZSgweDQwMiwgMSwgMSwgYm9jaHNfYmlvc193cml0ZSwgTlVMTCk7 CkBAIC00MjYsNiArNDMyLDExIEBACiAgICAgcmVnaXN0ZXJfaW9wb3J0X3dyaXRlKDB4NTAyLCAx LCAyLCBib2Noc19iaW9zX3dyaXRlLCBOVUxMKTsKICAgICByZWdpc3Rlcl9pb3BvcnRfd3JpdGUo MHg1MDAsIDEsIDEsIGJvY2hzX2Jpb3Nfd3JpdGUsIE5VTEwpOwogICAgIHJlZ2lzdGVyX2lvcG9y dF93cml0ZSgweDUwMywgMSwgMSwgYm9jaHNfYmlvc193cml0ZSwgTlVMTCk7CisKKyAgICBmd19j ZmcgPSBmd19jZmdfaW5pdChCSU9TX0NGR19JT1BPUlQsIDApOworICAgIGJpb3NfY2ZnX2lkID0g Y3B1X3RvX2xlMzIoMSk7CisgICAgZndfY2ZnX2FkZChmd19jZmcsIEZXX0NGR19JRCwgKHVpbnQ4 X3QgKikmYmlvc19jZmdfaWQsCisgICAgICAgICAgICAgICBzaXplb2YoYmlvc19jZmdfaWQpKTsK IH0KIAogLyogR2VuZXJhdGUgYW4gaW5pdGlhbCBib290IHNlY3RvciB3aGljaCBzZXRzIHN0YXRl IGFuZCBqdW1wIHRvCkluZGV4OiBxZW11L2h3L3N1bjRtLmMKPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gcWVtdS5v cmlnL2h3L3N1bjRtLmMJMjAwOC0wOC0zMCAxNToxNToyMC4wMDAwMDAwMDAgKzAwMDAKKysrIHFl bXUvaHcvc3VuNG0uYwkyMDA4LTA4LTMwIDE1OjE1OjIzLjAwMDAwMDAwMCArMDAwMApAQCAtMzQs NiArMzQsNyBAQAogI2luY2x1ZGUgInNjc2kuaCIKICNpbmNsdWRlICJwYy5oIgogI2luY2x1ZGUg ImlzYS5oIgorI2luY2x1ZGUgImZ3X2NmZy5oIgogCiAvLyNkZWZpbmUgREVCVUdfSVJRCiAKQEAg LTc4LDYgKzc5LDcgQEAKICNkZWZpbmUgUFJPTV9TSVpFX01BWCAgICAgICAgKDUxMiAqIDEwMjQp CiAjZGVmaW5lIFBST01fVkFERFIgICAgICAgICAgIDB4ZmZkMDAwMDAKICNkZWZpbmUgUFJPTV9G SUxFTkFNRSAgICAgICAgIm9wZW5iaW9zLXNwYXJjMzIiCisjZGVmaW5lIENGR19BRERSICAgICAg ICAgICAgIDB4ZDAwMDAxMjM0VUxMCiAKIC8vIENvbnRyb2wgcGxhbmUsIDgtYml0IGFuZCAyNC1i aXQgcGxhbmVzCiAjZGVmaW5lIFRDWF9TSVpFICAgICAgICAgICAgICg5ICogMTAyNCAqIDEwMjQp CkBAIC0zOTEsNiArMzkzLDggQEAKICAgICByZXR1cm4ga2VybmVsX3NpemU7CiB9CiAKK3N0YXRp YyB1aW50MzJfdCBiaW9zX2NmZ19pZDsKKwogc3RhdGljIHZvaWQgc3VuNG1faHdfaW5pdChjb25z dCBzdHJ1Y3QgaHdkZWYgKmh3ZGVmLCByYW1fYWRkcl90IFJBTV9zaXplLAogICAgICAgICAgICAg ICAgICAgICAgICAgICBjb25zdCBjaGFyICpib290X2RldmljZSwKICAgICAgICAgICAgICAgICAg ICAgICAgICAgRGlzcGxheVN0YXRlICpkcywgY29uc3QgY2hhciAqa2VybmVsX2ZpbGVuYW1lLApA QCAtNDEwLDYgKzQxNCw3IEBACiAgICAgY2hhciBidWZbMTAyNF07CiAgICAgQmxvY2tEcml2ZXJT dGF0ZSAqZmRbTUFYX0ZEXTsKICAgICBpbnQgZHJpdmVfaW5kZXg7CisgICAgdm9pZCAqZndfY2Zn OwogCiAgICAgLyogaW5pdCBDUFVzICovCiAgICAgaWYgKCFjcHVfbW9kZWwpCkBAIC01NzAsNiAr NTc1LDExIEBACiAgICAgaWYgKGh3ZGVmLT5lY2NfYmFzZSAhPSAodGFyZ2V0X3BoeXNfYWRkcl90 KS0xKQogICAgICAgICBlY2NfaW5pdChod2RlZi0+ZWNjX2Jhc2UsIHNsYXZpb19pcnFbaHdkZWYt PmVjY19pcnFdLAogICAgICAgICAgICAgICAgICBod2RlZi0+ZWNjX3ZlcnNpb24pOworCisgICAg ZndfY2ZnID0gZndfY2ZnX2luaXQoMCwgQ0ZHX0FERFIpOworICAgIGJpb3NfY2ZnX2lkID0gY3B1 X3RvX2xlMzIoMSk7CisgICAgZndfY2ZnX2FkZChmd19jZmcsIEZXX0NGR19JRCwgKHVpbnQ4X3Qg KikmYmlvc19jZmdfaWQsCisgICAgICAgICAgICAgICBzaXplb2YoYmlvc19jZmdfaWQpKTsKIH0K IAogc3RhdGljIHZvaWQgc3VuNGNfaHdfaW5pdChjb25zdCBzdHJ1Y3QgaHdkZWYgKmh3ZGVmLCBy YW1fYWRkcl90IFJBTV9zaXplLApAQCAtNTg5LDYgKzU5OSw3IEBACiAgICAgY2hhciBidWZbMTAy NF07CiAgICAgQmxvY2tEcml2ZXJTdGF0ZSAqZmRbTUFYX0ZEXTsKICAgICBpbnQgZHJpdmVfaW5k ZXg7CisgICAgdm9pZCAqZndfY2ZnOwogCiAgICAgLyogaW5pdCBDUFUgKi8KICAgICBpZiAoIWNw dV9tb2RlbCkKQEAgLTcxNSw2ICs3MjYsMTEgQEAKICAgICBudnJhbV9pbml0KG52cmFtLCAodWlu dDhfdCAqKSZuZF90YWJsZVswXS5tYWNhZGRyLCBrZXJuZWxfY21kbGluZSwKICAgICAgICAgICAg ICAgIGJvb3RfZGV2aWNlLCBSQU1fc2l6ZSwga2VybmVsX3NpemUsIGdyYXBoaWNfd2lkdGgsCiAg ICAgICAgICAgICAgICBncmFwaGljX2hlaWdodCwgZ3JhcGhpY19kZXB0aCwgaHdkZWYtPm1hY2hp bmVfaWQsICJTdW40YyIpOworCisgICAgZndfY2ZnID0gZndfY2ZnX2luaXQoMCwgQ0ZHX0FERFIp OworICAgIGJpb3NfY2ZnX2lkID0gY3B1X3RvX2xlMzIoMSk7CisgICAgZndfY2ZnX2FkZChmd19j ZmcsIEZXX0NGR19JRCwgKHVpbnQ4X3QgKikmYmlvc19jZmdfaWQsCisgICAgICAgICAgICAgICBz aXplb2YoYmlvc19jZmdfaWQpKTsKIH0KIAogc3RhdGljIGNvbnN0IHN0cnVjdCBod2RlZiBod2Rl ZnNbXSA9IHsKQEAgLTE0MDUsNiArMTQyMSw3IEBACiAgICAgaW50IHJldDsKICAgICBjaGFyIGJ1 ZlsxMDI0XTsKICAgICBpbnQgZHJpdmVfaW5kZXg7CisgICAgdm9pZCAqZndfY2ZnOwogCiAgICAg LyogaW5pdCBDUFVzICovCiAgICAgaWYgKCFjcHVfbW9kZWwpCkBAIC0xNTI4LDYgKzE1NDUsMTEg QEAKICAgICBudnJhbV9pbml0KG52cmFtLCAodWludDhfdCAqKSZuZF90YWJsZVswXS5tYWNhZGRy LCBrZXJuZWxfY21kbGluZSwKICAgICAgICAgICAgICAgIGJvb3RfZGV2aWNlLCBSQU1fc2l6ZSwg a2VybmVsX3NpemUsIGdyYXBoaWNfd2lkdGgsCiAgICAgICAgICAgICAgICBncmFwaGljX2hlaWdo dCwgZ3JhcGhpY19kZXB0aCwgaHdkZWYtPm1hY2hpbmVfaWQsICJTdW40ZCIpOworCisgICAgZndf Y2ZnID0gZndfY2ZnX2luaXQoMCwgQ0ZHX0FERFIpOworICAgIGJpb3NfY2ZnX2lkID0gY3B1X3Rv X2xlMzIoMSk7CisgICAgZndfY2ZnX2FkZChmd19jZmcsIEZXX0NGR19JRCwgKHVpbnQ4X3QgKikm Ymlvc19jZmdfaWQsCisgICAgICAgICAgICAgICBzaXplb2YoYmlvc19jZmdfaWQpKTsKIH0KIAog LyogU1BBUkNzZXJ2ZXIgMTAwMCBoYXJkd2FyZSBpbml0aWFsaXNhdGlvbiAqLwpJbmRleDogcWVt dS9ody9zdW40dS5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHFlbXUub3JpZy9ody9zdW40dS5jCTIwMDgtMDgt MzAgMTU6MTU6MjAuMDAwMDAwMDAwICswMDAwCisrKyBxZW11L2h3L3N1bjR1LmMJMjAwOC0wOC0z MCAxNToxNToyMy4wMDAwMDAwMDAgKzAwMDAKQEAgLTMxLDYgKzMxLDcgQEAKICNpbmNsdWRlICJz eXNlbXUuaCIKICNpbmNsdWRlICJib2FyZHMuaCIKICNpbmNsdWRlICJmaXJtd2FyZV9hYmkuaCIK KyNpbmNsdWRlICJmd19jZmcuaCIKIAogI2RlZmluZSBLRVJORUxfTE9BRF9BRERSICAgICAweDAw NDA0MDAwCiAjZGVmaW5lIENNRExJTkVfQUREUiAgICAgICAgIDB4MDAzZmYwMDAKQEAgLTQ0LDYg KzQ1LDcgQEAKICNkZWZpbmUgUFJPTV9GSUxFTkFNRSAgICAgICAgIm9wZW5iaW9zLXNwYXJjNjQi CiAjZGVmaW5lIE5WUkFNX1NJWkUgICAgICAgICAgIDB4MjAwMAogI2RlZmluZSBNQVhfSURFX0JV UyAgICAgICAgICAyCisjZGVmaW5lIEJJT1NfQ0ZHX0lPUE9SVCAgICAgIDB4NTEwCiAKIHN0cnVj dCBod2RlZiB7CiAgICAgY29uc3QgY2hhciAqIGNvbnN0IGRlZmF1bHRfY3B1X21vZGVsOwpAQCAt MjUyLDYgKzI1NCw4IEBACiAKIHN0YXRpYyBmZGN0cmxfdCAqZmxvcHB5X2NvbnRyb2xsZXI7CiAK K3N0YXRpYyB1aW50MzJfdCBiaW9zX2NmZ19pZDsKKwogc3RhdGljIHZvaWQgc3VuNHV2X2luaXQo cmFtX2FkZHJfdCBSQU1fc2l6ZSwgaW50IHZnYV9yYW1fc2l6ZSwKICAgICAgICAgICAgICAgICAg ICAgICAgIGNvbnN0IGNoYXIgKmJvb3RfZGV2aWNlcywgRGlzcGxheVN0YXRlICpkcywKICAgICAg ICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmtlcm5lbF9maWxlbmFtZSwgY29uc3QgY2hh ciAqa2VybmVsX2NtZGxpbmUsCkBAIC0yNzAsNiArMjc0LDcgQEAKICAgICBpbnQgZHJpdmVfaW5k ZXg7CiAgICAgQmxvY2tEcml2ZXJTdGF0ZSAqaGRbTUFYX0lERV9CVVMgKiBNQVhfSURFX0RFVlNd OwogICAgIEJsb2NrRHJpdmVyU3RhdGUgKmZkW01BWF9GRF07CisgICAgdm9pZCAqZndfY2ZnOwog CiAgICAgbGludXhfYm9vdCA9IChrZXJuZWxfZmlsZW5hbWUgIT0gTlVMTCk7CiAKQEAgLTQxNSw2 ICs0MjAsMTAgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyYXBoaWNfd2lkdGgsIGdy YXBoaWNfaGVpZ2h0LCBncmFwaGljX2RlcHRoLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg KHVpbnQ4X3QgKikmbmRfdGFibGVbMF0ubWFjYWRkcik7CiAKKyAgICBmd19jZmcgPSBmd19jZmdf aW5pdChCSU9TX0NGR19JT1BPUlQsIDApOworICAgIGJpb3NfY2ZnX2lkID0gY3B1X3RvX2xlMzIo MSk7CisgICAgZndfY2ZnX2FkZChmd19jZmcsIEZXX0NGR19JRCwgKHVpbnQ4X3QgKikmYmlvc19j ZmdfaWQsCisgICAgICAgICAgICAgICBzaXplb2YoYmlvc19jZmdfaWQpKTsKIH0KIAogc3RhdGlj IGNvbnN0IHN0cnVjdCBod2RlZiBod2RlZnNbXSA9IHsKSW5kZXg6IHFlbXUvaHcvZndfY2ZnLmMK PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQotLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICsw MDAwCisrKyBxZW11L2h3L2Z3X2NmZy5jCTIwMDgtMDgtMzAgMTU6MTU6MzUuMDAwMDAwMDAwICsw MDAwCkBAIC0wLDAgKzEsMTg3IEBACisvKgorICogUUVNVSBGaXJtd2FyZSBjb25maWd1cmF0aW9u IGRldmljZSBlbXVsYXRpb24KKyAqCisgKiBDb3B5cmlnaHQgKGMpIDIwMDggR2xlYiBOYXRhcG92 CisgKgorICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRv IGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weQorICogb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNz b2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksIHRvIGRlYWwKKyAq IGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBs aW1pdGF0aW9uIHRoZSByaWdodHMKKyAqIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVi bGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwKKyAqIGNvcGllcyBvZiB0 aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBp cworICogZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0 aW9uczoKKyAqCisgKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNz aW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbgorICogYWxsIGNvcGllcyBvciBzdWJzdGFu dGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuCisgKgorICogVEhFIFNPRlRXQVJFIElTIFBS T1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IK KyAqIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMg T0YgTUVSQ0hBTlRBQklMSVRZLAorICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Ug QU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwKKyAqIFRIRSBBVVRIT1JTIE9S IENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9U SEVSCisgKiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JU IE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLAorICogT1VUIE9GIE9SIElOIENPTk5FQ1RJT04g V0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTgorICogVEhF IFNPRlRXQVJFLgorICovCisjaW5jbHVkZSAiaHcuaCIKKyNpbmNsdWRlICJpc2EuaCIKKyNpbmNs dWRlICJmd19jZmcuaCIKKworLyogZGVidWcgZmlybXdhcmUgY29uZmlnICovCisvLyNkZWZpbmUg REVCVUdfRldfQ0ZHCisKKyNpZmRlZiBERUJVR19GV19DRkcKKyNkZWZpbmUgRldfQ0ZHX0RQUklO VEYoZm10LCBhcmdzLi4uKSAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBkbyB7IHByaW50Zigi RldfQ0ZHOiAiIGZtdCAsICMjYXJncyk7IH0gd2hpbGUgKDApCisjZWxzZQorI2RlZmluZSBGV19D RkdfRFBSSU5URihmbXQsIGFyZ3MuLi4pCisjZW5kaWYKKworI2RlZmluZSBGV19DRkdfU0laRSAy CisKK3R5cGVkZWYgc3RydWN0IF9GV0NmZ0VudHJ5IHsKKyAgICB1aW50MTZfdCBsZW47CisgICAg Y29uc3QgdWludDhfdCAqZGF0YTsKK30gRldDZmdFbnRyeTsKKwordHlwZWRlZiBzdHJ1Y3QgX0ZX Q2ZnU3RhdGUgeworICAgIEZXQ2ZnRW50cnkgZW50cmllc1syXVtGV19DRkdfTUFYX0VOVFJZXTsK KyAgICB1aW50MTZfdCBjdXJfZW50cnk7CisgICAgdWludDE2X3QgY3VyX29mZnNldDsKK30gRldD ZmdTdGF0ZTsKKworc3RhdGljIGludCBmd19jZmdfc2VsZWN0KEZXQ2ZnU3RhdGUgKnMsIHVpbnQx Nl90IGtleSkKK3sKKyAgICBpbnQgcmV0OworCisgICAgcy0+Y3VyX29mZnNldCA9IDA7CisgICAg aWYgKChrZXkgJiB+RldfQ0ZHX0FSQ0hfTE9DQUwpID49IEZXX0NGR19NQVhfRU5UUlkpIHsKKyAg ICAgICAgcy0+Y3VyX2VudHJ5ID0gMDsKKyAgICAgICAgcmV0ID0gMDsKKyAgICB9IGVsc2Ugewor ICAgICAgICBzLT5jdXJfZW50cnkgPSBrZXk7CisgICAgICAgIHJldCA9IDE7CisgICAgfQorCisg ICAgRldfQ0ZHX0RQUklOVEYoInNlbGVjdCBrZXkgJWQgKCVzZm91bmQpXG4iLCBrZXksIHJldCA/ ICIiIDogIm5vdCAiKTsKKworICAgIHJldHVybiByZXQ7Cit9CisKK3N0YXRpYyB1aW50OF90IGZ3 X2NmZ19yZWFkKEZXQ2ZnU3RhdGUgKnMpCit7CisgICAgaW50IGFyY2ggPSAhIShzLT5jdXJfZW50 cnkgJiBGV19DRkdfQVJDSF9MT0NBTCk7CisgICAgRldDZmdFbnRyeSAqZSA9ICZzLT5lbnRyaWVz W2FyY2hdW3MtPmN1cl9lbnRyeV07CisgICAgdWludDhfdCByZXQ7CisKKyAgICBpZiAoIWUgfHwg IWUtPmRhdGEgfHwgcy0+Y3VyX29mZnNldCA+PSBlLT5sZW4pCisgICAgICAgIHJldCA9IDA7Cisg ICAgZWxzZQorICAgICAgICByZXQgPSBlLT5kYXRhW3MtPmN1cl9vZmZzZXQrK107CisKKyAgICBG V19DRkdfRFBSSU5URigicmVhZCAlZFxuIiwgcmV0KTsKKworICAgIHJldHVybiByZXQ7Cit9CisK K3N0YXRpYyB1aW50MzJfdCBmd19jZmdfaW9fcmVhZGIodm9pZCAqb3BhcXVlLCB1aW50MzJfdCBh ZGRyKQoreworICAgIHJldHVybiBmd19jZmdfcmVhZChvcGFxdWUpOworfQorCitzdGF0aWMgdm9p ZCBmd19jZmdfaW9fd3JpdGV3KHZvaWQgKm9wYXF1ZSwgdWludDMyX3QgYWRkciwgdWludDMyX3Qg dmFsdWUpCit7CisgICAgZndfY2ZnX3NlbGVjdChvcGFxdWUsICh1aW50MTZfdCl2YWx1ZSk7Cit9 CisKK3N0YXRpYyB1aW50MzJfdCBmd19jZmdfbWVtX3JlYWRiKHZvaWQgKm9wYXF1ZSwgdGFyZ2V0 X3BoeXNfYWRkcl90IGFkZHIpCit7CisgICAgcmV0dXJuIGZ3X2NmZ19yZWFkKG9wYXF1ZSk7Cit9 CisKK3N0YXRpYyB2b2lkIGZ3X2NmZ19tZW1fd3JpdGV3KHZvaWQgKm9wYXF1ZSwgdGFyZ2V0X3Bo eXNfYWRkcl90IGFkZHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCB2 YWx1ZSkKK3sKKyAgICBmd19jZmdfc2VsZWN0KG9wYXF1ZSwgKHVpbnQxNl90KXZhbHVlKTsKK30K Kworc3RhdGljIENQVVJlYWRNZW1vcnlGdW5jICpmd19jZmdfbWVtX3JlYWRbM10gPSB7CisgICAg ZndfY2ZnX21lbV9yZWFkYiwKKyAgICBOVUxMLAorICAgIE5VTEwsCit9OworCitzdGF0aWMgQ1BV V3JpdGVNZW1vcnlGdW5jICpmd19jZmdfbWVtX3dyaXRlWzNdID0geworICAgIE5VTEwsCisgICAg ZndfY2ZnX21lbV93cml0ZXcsCisgICAgTlVMTCwKK307CisKK3N0YXRpYyB2b2lkIGZ3X2NmZ19y ZXNldCh2b2lkICpvcGFxdWUpCit7CisgICAgRldDZmdTdGF0ZSAqcyA9IG9wYXF1ZTsKKworICAg IGZ3X2NmZ19zZWxlY3QocywgMCk7Cit9CisKK3N0YXRpYyB2b2lkIGZ3X2NmZ19zYXZlKFFFTVVG aWxlICpmLCB2b2lkICpvcGFxdWUpCit7CisgICAgRldDZmdTdGF0ZSAqcyA9IG9wYXF1ZTsKKwor ICAgIHFlbXVfcHV0X2JlMTZzKGYsICZzLT5jdXJfZW50cnkpOworICAgIHFlbXVfcHV0X2JlMTZz KGYsICZzLT5jdXJfb2Zmc2V0KTsKK30KKworc3RhdGljIGludCBmd19jZmdfbG9hZChRRU1VRmls ZSAqZiwgdm9pZCAqb3BhcXVlLCBpbnQgdmVyc2lvbl9pZCkKK3sKKyAgICBGV0NmZ1N0YXRlICpz ID0gb3BhcXVlOworCisgICAgaWYgKHZlcnNpb25faWQgPiAxKQorICAgICAgICByZXR1cm4gLUVJ TlZBTDsKKworICAgIHFlbXVfZ2V0X2JlMTZzKGYsICZzLT5jdXJfZW50cnkpOworICAgIHFlbXVf Z2V0X2JlMTZzKGYsICZzLT5jdXJfb2Zmc2V0KTsKKworICAgIHJldHVybiAwOworfQorCitpbnQg ZndfY2ZnX2FkZCh2b2lkICpvcGFxdWUsIHVpbnQxNl90IGtleSwgY29uc3QgdWludDhfdCAqZGF0 YSwgdWludDE2X3QgbGVuKQoreworICAgIEZXQ2ZnU3RhdGUgKnMgPSBvcGFxdWU7CisgICAgaW50 IGFyY2ggPSAhIShrZXkgJiBGV19DRkdfQVJDSF9MT0NBTCk7CisKKyAgICBrZXkgJj0gKH5GV19D RkdfQVJDSF9MT0NBTCk7CisKKyAgICBpZiAoa2V5ID49IEZXX0NGR19NQVhfRU5UUlkpCisgICAg ICAgIHJldHVybiAwOworCisgICAgcy0+ZW50cmllc1thcmNoXVtrZXldLmRhdGEgPSBkYXRhOwor ICAgIHMtPmVudHJpZXNbYXJjaF1ba2V5XS5sZW4gPSBsZW47CisKKyAgICByZXR1cm4gMTsKK30K Kwordm9pZCAqZndfY2ZnX2luaXQodWludDMyX3QgcG9ydCwgdGFyZ2V0X3BoeXNfYWRkcl90IGFk ZHIpCit7CisgICAgRldDZmdTdGF0ZSAqczsKKyAgICBpbnQgaW9fbWVtb3J5OworCisgICAgcyA9 IHFlbXVfbWFsbG9jeihzaXplb2YoRldDZmdTdGF0ZSkpOworICAgIGlmICghcykKKyAgICAgICAg cmV0dXJuIE5VTEw7CisKKyAgICBpZiAocG9ydCkgeworICAgICAgICByZWdpc3Rlcl9pb3BvcnRf cmVhZChwb3J0LCAxLCAxLCBmd19jZmdfaW9fcmVhZGIsIHMpOworICAgICAgICByZWdpc3Rlcl9p b3BvcnRfd3JpdGUocG9ydCwgMiwgMiwgZndfY2ZnX2lvX3dyaXRldywgcyk7CisgICAgfQorICAg IGlmIChhZGRyKSB7CisgICAgICAgIGlvX21lbW9yeSA9IGNwdV9yZWdpc3Rlcl9pb19tZW1vcnko MCwgZndfY2ZnX21lbV9yZWFkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGZ3X2NmZ19tZW1fd3JpdGUsIHMpOworICAgICAgICBjcHVfcmVnaXN0ZXJfcGh5c2lj YWxfbWVtb3J5KGFkZHIsIEZXX0NGR19TSVpFLCBpb19tZW1vcnkpOworCisgICAgfQorICAgIGZ3 X2NmZ19hZGQocywgRldfQ0ZHX1NJR05BVFVSRSwgKHVpbnQ4X3QgKikiUUVNVSIsIDQpOworICAg IHJlZ2lzdGVyX3NhdmV2bSgiZndfY2ZnIiwgLTEsIDEsIGZ3X2NmZ19zYXZlLCBmd19jZmdfbG9h ZCwgcyk7CisgICAgcWVtdV9yZWdpc3Rlcl9yZXNldChmd19jZmdfcmVzZXQsIHMpOworICAgIGZ3 X2NmZ19yZXNldChzKTsKKworICAgIHJldHVybiBzOworfQpJbmRleDogcWVtdS9ody9md19jZmcu aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09Ci0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAg KzAwMDAKKysrIHFlbXUvaHcvZndfY2ZnLmgJMjAwOC0wOC0zMCAxNToxNToyMy4wMDAwMDAwMDAg KzAwMDAKQEAgLTAsMCArMSwxNyBAQAorI2lmbmRlZiBGV19DRkdfSAorI2RlZmluZSBGV19DRkdf SAorCisjZGVmaW5lIEZXX0NGR19TSUdOQVRVUkUgICAgICAgIDB4MDAKKyNkZWZpbmUgRldfQ0ZH X0lEICAgICAgICAgICAgICAgMHgwMQorI2RlZmluZSBGV19DRkdfTUFYX0VOVFJZICAgICAgICAw eDEwCisKKyNkZWZpbmUgRldfQ0ZHX0FSQ0hfTE9DQUwgICAgICAgMHg4MDAwCisKKyNpZm5kZWYg X19BU1NFTUJMWV9fCisvKiBQbGVhc2UgdXNlIG9ubHkgbGl0dGxlIGVuZGlhbiBvciBlbmRpYW4g bmV1dHJhbCBkYXRhIGZvcm1hdHMsIG5ldmVyCisgICBob3N0IGVuZGlhbiAqLworaW50IGZ3X2Nm Z19hZGQodm9pZCAqb3BhcXVlLCB1aW50MTZfdCBrZXksIGNvbnN0IHVpbnQ4X3QgKmRhdGEsIHVp bnQxNl90IGxlbik7Cit2b2lkICpmd19jZmdfaW5pdCh1aW50MzJfdCBwb3J0LCB0YXJnZXRfcGh5 c19hZGRyX3QgYWRkcik7CisjZW5kaWYgLyogX19BU1NFTUJMWV9fICovCisKKyNlbmRpZgo= ------=_Part_24252_26753066.1220126254136 Content-Type: plain/text; name=fw_cfg_add_common_keys.diff Content-Transfer-Encoding: base64 X-Attachment-Id: f_fkinc4z5 Content-Disposition: attachment; filename=fw_cfg_add_common_keys.diff SW5kZXg6IHFlbXUvaHcvZndfY2ZnLmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gcWVtdS5vcmlnL2h3L2Z3X2Nm Zy5jCTIwMDgtMDgtMzAgMTU6MTU6NDguMDAwMDAwMDAwICswMDAwCisrKyBxZW11L2h3L2Z3X2Nm Zy5jCTIwMDgtMDgtMzAgMTk6MTY6MjIuMDAwMDAwMDAwICswMDAwCkBAIC0xNjAsNiArMTYwLDEw IEBACiAgICAgcmV0dXJuIDE7CiB9CiAKK2V4dGVybiBpbnQgbm9ncmFwaGljOworc3RhdGljIHVp bnQ4X3QgY2ZnX25vZ3JhcGhpYzsKK3N0YXRpYyB1aW50MTZfdCBjZmdfbmJfY3B1czsKKwogdm9p ZCAqZndfY2ZnX2luaXQodWludDMyX3QgcG9ydCwgdGFyZ2V0X3BoeXNfYWRkcl90IGFkZHIpCiB7 CiAgICAgRldDZmdTdGF0ZSAqczsKQEAgLTE4MSw2ICsxODUsMTAgQEAKICAgICB9CiAgICAgZndf Y2ZnX2FkZChzLCBGV19DRkdfU0lHTkFUVVJFLCAodWludDhfdCAqKSJRRU1VIiwgNCk7CiAgICAg ZndfY2ZnX2FkZChzLCBGV19DRkdfVVVJRCwgcWVtdV91dWlkLCAxNik7CisgICAgY2ZnX25vZ3Jh cGhpYyA9ICh1aW50OF90KW5vZ3JhcGhpYzsKKyAgICBmd19jZmdfYWRkKHMsIEZXX0NGR19OT0dS QVBISUMsICZjZmdfbm9ncmFwaGljLCBzaXplb2YoY2ZnX25vZ3JhcGhpYykpOworICAgIGNmZ19u Yl9jcHVzID0gY3B1X3RvX2xlMTYoKHVpbnQxNl90KXNtcF9jcHVzKTsKKyAgICBmd19jZmdfYWRk KHMsIEZXX0NGR19OQl9DUFVTLCAodWludDhfdCAqKSZjZmdfbmJfY3B1cywgc2l6ZW9mKGNmZ19u Yl9jcHVzKSk7CiAgICAgcmVnaXN0ZXJfc2F2ZXZtKCJmd19jZmciLCAtMSwgMSwgZndfY2ZnX3Nh dmUsIGZ3X2NmZ19sb2FkLCBzKTsKICAgICBxZW11X3JlZ2lzdGVyX3Jlc2V0KGZ3X2NmZ19yZXNl dCwgcyk7CiAgICAgZndfY2ZnX3Jlc2V0KHMpOwpJbmRleDogcWVtdS9ody9md19jZmcuaAo9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09Ci0tLSBxZW11Lm9yaWcvaHcvZndfY2ZnLmgJMjAwOC0wOC0zMCAxNToxNTo0OC4wMDAw MDAwMDAgKzAwMDAKKysrIHFlbXUvaHcvZndfY2ZnLmgJMjAwOC0wOC0zMCAxNToxNTo1NC4wMDAw MDAwMDAgKzAwMDAKQEAgLTQsNiArNCwxMCBAQAogI2RlZmluZSBGV19DRkdfU0lHTkFUVVJFICAg ICAgICAweDAwCiAjZGVmaW5lIEZXX0NGR19JRCAgICAgICAgICAgICAgIDB4MDEKICNkZWZpbmUg RldfQ0ZHX1VVSUQgICAgICAgICAgICAgMHgwMgorI2RlZmluZSBGV19DRkdfUkFNX1NJWkUgICAg ICAgICAweDAzCisjZGVmaW5lIEZXX0NGR19OT0dSQVBISUMgICAgICAgIDB4MDQKKyNkZWZpbmUg RldfQ0ZHX05CX0NQVVMgICAgICAgICAgMHgwNQorI2RlZmluZSBGV19DRkdfTUFDSElORV9JRCAg ICAgICAweDA2CiAjZGVmaW5lIEZXX0NGR19NQVhfRU5UUlkgICAgICAgIDB4MTAKIAogI2RlZmlu ZSBGV19DRkdfQVJDSF9MT0NBTCAgICAgICAweDgwMDAKSW5kZXg6IHFlbXUvaHcvc3VuNHUuYwo9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09Ci0tLSBxZW11Lm9yaWcvaHcvc3VuNHUuYwkyMDA4LTA4LTMwIDE1OjE1OjIzLjAw MDAwMDAwMCArMDAwMAorKysgcWVtdS9ody9zdW40dS5jCTIwMDgtMDgtMzAgMTU6MTc6NDYuMDAw MDAwMDAwICswMDAwCkBAIC00OSw2ICs0OSw3IEBACiAKIHN0cnVjdCBod2RlZiB7CiAgICAgY29u c3QgY2hhciAqIGNvbnN0IGRlZmF1bHRfY3B1X21vZGVsOworICAgIHVpbnQ4X3QgbWFjaGluZV9p ZDsKIH07CiAKIGludCBETUFfZ2V0X2NoYW5uZWxfbW9kZSAoaW50IG5jaGFuKQpAQCAtMjU1LDYg KzI1Niw3IEBACiBzdGF0aWMgZmRjdHJsX3QgKmZsb3BweV9jb250cm9sbGVyOwogCiBzdGF0aWMg dWludDMyX3QgYmlvc19jZmdfaWQ7CitzdGF0aWMgdWludDY0X3QgYmlvc19jZmdfcmFtX3NpemU7 CiAKIHN0YXRpYyB2b2lkIHN1bjR1dl9pbml0KHJhbV9hZGRyX3QgUkFNX3NpemUsIGludCB2Z2Ff cmFtX3NpemUsCiAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpib290X2Rldmlj ZXMsIERpc3BsYXlTdGF0ZSAqZHMsCkBAIC00MjQsMTYgKzQyNiwyOCBAQAogICAgIGJpb3NfY2Zn X2lkID0gY3B1X3RvX2xlMzIoMSk7CiAgICAgZndfY2ZnX2FkZChmd19jZmcsIEZXX0NGR19JRCwg KHVpbnQ4X3QgKikmYmlvc19jZmdfaWQsCiAgICAgICAgICAgICAgICBzaXplb2YoYmlvc19jZmdf aWQpKTsKKyAgICBiaW9zX2NmZ19yYW1fc2l6ZSA9IGNwdV90b19sZTY0KHJhbV9zaXplKTsKKyAg ICBmd19jZmdfYWRkKGZ3X2NmZywgRldfQ0ZHX1JBTV9TSVpFLCAodWludDhfdCAqKSZiaW9zX2Nm Z19yYW1fc2l6ZSwKKyAgICAgICAgICAgICAgIHNpemVvZihiaW9zX2NmZ19yYW1fc2l6ZSkpOwor ICAgIGZ3X2NmZ19hZGQoZndfY2ZnLCBGV19DRkdfTUFDSElORV9JRCwgJmh3ZGVmLT5tYWNoaW5l X2lkLAorICAgICAgICAgICAgICAgc2l6ZW9mKGh3ZGVmLT5tYWNoaW5lX2lkKSk7CiB9CiAKK2Vu dW0geworICAgIHN1bjR1X2lkID0gMCwKKyAgICBzdW40dl9pZCA9IDY0LAorfTsKKwogc3RhdGlj IGNvbnN0IHN0cnVjdCBod2RlZiBod2RlZnNbXSA9IHsKICAgICAvKiBTdW40dSBnZW5lcmljIFBD LWxpa2UgbWFjaGluZSAqLwogICAgIHsKICAgICAgICAgLmRlZmF1bHRfY3B1X21vZGVsID0gIlRJ IFVsdHJhU3BhcmMgSUkiLAorICAgICAgICAubWFjaGluZV9pZCA9IHN1bjR1X2lkLAogICAgIH0s CiAgICAgLyogU3VuNHYgZ2VuZXJpYyBQQy1saWtlIG1hY2hpbmUgKi8KICAgICB7CiAgICAgICAg IC5kZWZhdWx0X2NwdV9tb2RlbCA9ICJTdW4gVWx0cmFTcGFyYyBUMSIsCisgICAgICAgIC5tYWNo aW5lX2lkID0gc3VuNHZfaWQsCiAgICAgfSwKIH07CiAKSW5kZXg6IHFlbXUvaHcvcGMuYwo9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09Ci0tLSBxZW11Lm9yaWcvaHcvcGMuYwkyMDA4LTA4LTMwIDE1OjE1OjUxLjAwMDAwMDAw MCArMDAwMAorKysgcWVtdS9ody9wYy5jCTIwMDgtMDgtMzAgMTU6MTU6NTQuMDAwMDAwMDAwICsw MDAwCkBAIC01MDIsNiArNTAyLDcgQEAKIH0KIAogc3RhdGljIHVpbnQzMl90IGJpb3NfY2ZnX2lk Oworc3RhdGljIHVpbnQ2NF90IGJpb3NfY2ZnX3JhbV9zaXplOwogCiBzdGF0aWMgdm9pZCBib2No c19iaW9zX2luaXQodm9pZCkKIHsKQEAgLTUyNyw2ICs1MjgsOSBAQAogICAgICAgICAgICAgICAg c2l6ZW9mKGJpb3NfY2ZnX2lkKSk7CiAgICAgZndfY2ZnX2FkZChmd19jZmcsIEZXX0NGR19QQ19D UFVTUEVFRCwgKHVpbnQ4X3QqKSZjcHVfc3BlZWQsCiAgICAgICAgICAgICAgICBzaXplb2YoY3B1 X3NwZWVkKSk7CisgICAgYmlvc19jZmdfcmFtX3NpemUgPSBjcHVfdG9fbGU2NChyYW1fc2l6ZSk7 CisgICAgZndfY2ZnX2FkZChmd19jZmcsIEZXX0NGR19SQU1fU0laRSwgKHVpbnQ4X3QgKikmYmlv c19jZmdfcmFtX3NpemUsCisgICAgICAgICAgICAgICBzaXplb2YoYmlvc19jZmdfcmFtX3NpemUp KTsKIH0KIAogLyogR2VuZXJhdGUgYW4gaW5pdGlhbCBib290IHNlY3RvciB3aGljaCBzZXRzIHN0 YXRlIGFuZCBqdW1wIHRvCkluZGV4OiBxZW11L2h3L3N1bjRtLmMKPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gcWVt dS5vcmlnL2h3L3N1bjRtLmMJMjAwOC0wOC0zMCAxNToxNToyMy4wMDAwMDAwMDAgKzAwMDAKKysr IHFlbXUvaHcvc3VuNG0uYwkyMDA4LTA4LTMwIDE1OjMyOjA5LjAwMDAwMDAwMCArMDAwMApAQCAt MTAxLDcgKzEwMSw4IEBACiAgICAgLy8gcmVnaXN0ZXIgYml0IG51bWJlcnMKICAgICBpbnQgaW50 Y3RsX2dfaW50ciwgZXNwX2lycSwgbGVfaXJxLCBjbG9ja19pcnEsIGNsb2NrMV9pcnE7CiAgICAg aW50IHNlcl9pcnEsIG1zX2tiX2lycSwgZmRfaXJxLCBtZV9pcnEsIGNzX2lycSwgZWNjX2lycTsK LSAgICBpbnQgbWFjaGluZV9pZDsgLy8gRm9yIE5WUkFNCisgICAgdWludDhfdCBudnJhbV9tYWNo aW5lX2lkOworICAgIHVpbnQ4X3QgbWFjaGluZV9pZDsKICAgICB1aW50MzJfdCBpb21tdV92ZXJz aW9uOwogICAgIHVpbnQzMl90IGludGJpdF90b19sZXZlbFszMl07CiAgICAgdWludDY0X3QgbWF4 X21lbTsKQEAgLTEyMiw3ICsxMjMsOCBAQAogICAgIC8vIElSUSBudW1iZXJzIGFyZSBub3QgUElM IG9uZXMsIGJ1dCBTQkkgcmVnaXN0ZXIgYml0IG51bWJlcnMKICAgICBpbnQgZXNwX2lycSwgbGVf aXJxLCBjbG9ja19pcnEsIGNsb2NrMV9pcnE7CiAgICAgaW50IHNlcl9pcnEsIG1zX2tiX2lycSwg bWVfaXJxOwotICAgIGludCBtYWNoaW5lX2lkOyAvLyBGb3IgTlZSQU0KKyAgICB1aW50OF90IG52 cmFtX21hY2hpbmVfaWQ7CisgICAgdWludDhfdCBtYWNoaW5lX2lkOwogICAgIHVpbnQzMl90IGlv dW5pdF92ZXJzaW9uOwogICAgIHVpbnQ2NF90IG1heF9tZW07CiAgICAgY29uc3QgY2hhciAqIGNv bnN0IGRlZmF1bHRfY3B1X21vZGVsOwpAQCAtMTc4LDcgKzE4MCw3IEBACiAgICAgICAgICAgICAg ICAgICAgICAgIGNvbnN0IGNoYXIgKmJvb3RfZGV2aWNlcywgcmFtX2FkZHJfdCBSQU1fc2l6ZSwK ICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qga2VybmVsX3NpemUsCiAgICAgICAgICAg ICAgICAgICAgICAgIGludCB3aWR0aCwgaW50IGhlaWdodCwgaW50IGRlcHRoLAotICAgICAgICAg ICAgICAgICAgICAgICBpbnQgbWFjaGluZV9pZCwgY29uc3QgY2hhciAqYXJjaCkKKyAgICAgICAg ICAgICAgICAgICAgICAgaW50IG52cmFtX21hY2hpbmVfaWQsIGNvbnN0IGNoYXIgKmFyY2gpCiB7 CiAgICAgdW5zaWduZWQgaW50IGk7CiAgICAgdWludDMyX3Qgc3RhcnQsIGVuZDsKQEAgLTI1MSw3 ICsyNTMsOCBAQAogICAgIGVuZCA9IDB4MWZkMDsKICAgICBPcGVuQklPU19maW5pc2hfcGFydGl0 aW9uKHBhcnRfaGVhZGVyLCBlbmQgLSBzdGFydCk7CiAKLSAgICBTdW5faW5pdF9oZWFkZXIoKHN0 cnVjdCBTdW5fbnZyYW0gKikmaW1hZ2VbMHgxZmQ4XSwgbWFjYWRkciwgbWFjaGluZV9pZCk7Cisg ICAgU3VuX2luaXRfaGVhZGVyKChzdHJ1Y3QgU3VuX252cmFtICopJmltYWdlWzB4MWZkOF0sIG1h Y2FkZHIsCisgICAgICAgICAgICAgICAgICAgIG52cmFtX21hY2hpbmVfaWQpOwogCiAgICAgZm9y IChpID0gMDsgaSA8IHNpemVvZihpbWFnZSk7IGkrKykKICAgICAgICAgbTQ4dDU5X3dyaXRlKG52 cmFtLCBpLCBpbWFnZVtpXSk7CkBAIC0zOTQsNiArMzk3LDcgQEAKIH0KIAogc3RhdGljIHVpbnQz Ml90IGJpb3NfY2ZnX2lkOworc3RhdGljIHVpbnQ2NF90IGJpb3NfY2ZnX3JhbV9zaXplOwogCiBz dGF0aWMgdm9pZCBzdW40bV9od19pbml0KGNvbnN0IHN0cnVjdCBod2RlZiAqaHdkZWYsIHJhbV9h ZGRyX3QgUkFNX3NpemUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmJv b3RfZGV2aWNlLApAQCAtNTcwLDcgKzU3NCw4IEBACiAKICAgICBudnJhbV9pbml0KG52cmFtLCAo dWludDhfdCAqKSZuZF90YWJsZVswXS5tYWNhZGRyLCBrZXJuZWxfY21kbGluZSwKICAgICAgICAg ICAgICAgIGJvb3RfZGV2aWNlLCBSQU1fc2l6ZSwga2VybmVsX3NpemUsIGdyYXBoaWNfd2lkdGgs Ci0gICAgICAgICAgICAgICBncmFwaGljX2hlaWdodCwgZ3JhcGhpY19kZXB0aCwgaHdkZWYtPm1h Y2hpbmVfaWQsICJTdW40bSIpOworICAgICAgICAgICAgICAgZ3JhcGhpY19oZWlnaHQsIGdyYXBo aWNfZGVwdGgsIGh3ZGVmLT5udnJhbV9tYWNoaW5lX2lkLAorICAgICAgICAgICAgICAgIlN1bjRt Iik7CiAKICAgICBpZiAoaHdkZWYtPmVjY19iYXNlICE9ICh0YXJnZXRfcGh5c19hZGRyX3QpLTEp CiAgICAgICAgIGVjY19pbml0KGh3ZGVmLT5lY2NfYmFzZSwgc2xhdmlvX2lycVtod2RlZi0+ZWNj X2lycV0sCkBAIC01ODAsNiArNTg1LDExIEBACiAgICAgYmlvc19jZmdfaWQgPSBjcHVfdG9fbGUz MigxKTsKICAgICBmd19jZmdfYWRkKGZ3X2NmZywgRldfQ0ZHX0lELCAodWludDhfdCAqKSZiaW9z X2NmZ19pZCwKICAgICAgICAgICAgICAgIHNpemVvZihiaW9zX2NmZ19pZCkpOworICAgIGJpb3Nf Y2ZnX3JhbV9zaXplID0gY3B1X3RvX2xlNjQocmFtX3NpemUpOworICAgIGZ3X2NmZ19hZGQoZndf Y2ZnLCBGV19DRkdfUkFNX1NJWkUsICh1aW50OF90ICopJmJpb3NfY2ZnX3JhbV9zaXplLAorICAg ICAgICAgICAgICAgc2l6ZW9mKGJpb3NfY2ZnX3JhbV9zaXplKSk7CisgICAgZndfY2ZnX2FkZChm d19jZmcsIEZXX0NGR19NQUNISU5FX0lELCAmaHdkZWYtPm1hY2hpbmVfaWQsCisgICAgICAgICAg ICAgICBzaXplb2YoaHdkZWYtPm1hY2hpbmVfaWQpKTsKIH0KIAogc3RhdGljIHZvaWQgc3VuNGNf aHdfaW5pdChjb25zdCBzdHJ1Y3QgaHdkZWYgKmh3ZGVmLCByYW1fYWRkcl90IFJBTV9zaXplLApA QCAtNzI1LDEzICs3MzUsMzQgQEAKIAogICAgIG52cmFtX2luaXQobnZyYW0sICh1aW50OF90ICop Jm5kX3RhYmxlWzBdLm1hY2FkZHIsIGtlcm5lbF9jbWRsaW5lLAogICAgICAgICAgICAgICAgYm9v dF9kZXZpY2UsIFJBTV9zaXplLCBrZXJuZWxfc2l6ZSwgZ3JhcGhpY193aWR0aCwKLSAgICAgICAg ICAgICAgIGdyYXBoaWNfaGVpZ2h0LCBncmFwaGljX2RlcHRoLCBod2RlZi0+bWFjaGluZV9pZCwg IlN1bjRjIik7CisgICAgICAgICAgICAgICBncmFwaGljX2hlaWdodCwgZ3JhcGhpY19kZXB0aCwg aHdkZWYtPm52cmFtX21hY2hpbmVfaWQsCisgICAgICAgICAgICAgICAiU3VuNGMiKTsKIAogICAg IGZ3X2NmZyA9IGZ3X2NmZ19pbml0KDAsIENGR19BRERSKTsKICAgICBiaW9zX2NmZ19pZCA9IGNw dV90b19sZTMyKDEpOwogICAgIGZ3X2NmZ19hZGQoZndfY2ZnLCBGV19DRkdfSUQsICh1aW50OF90 ICopJmJpb3NfY2ZnX2lkLAogICAgICAgICAgICAgICAgc2l6ZW9mKGJpb3NfY2ZnX2lkKSk7Ci19 CisgICAgYmlvc19jZmdfcmFtX3NpemUgPSBjcHVfdG9fbGU2NChyYW1fc2l6ZSk7CisgICAgZndf Y2ZnX2FkZChmd19jZmcsIEZXX0NGR19SQU1fU0laRSwgKHVpbnQ4X3QgKikmYmlvc19jZmdfcmFt X3NpemUsCisgICAgICAgICAgICAgICBzaXplb2YoYmlvc19jZmdfcmFtX3NpemUpKTsKKyAgICBm d19jZmdfYWRkKGZ3X2NmZywgRldfQ0ZHX01BQ0hJTkVfSUQsICZod2RlZi0+bWFjaGluZV9pZCwK KyAgICAgICAgICAgICAgIHNpemVvZihod2RlZi0+bWFjaGluZV9pZCkpOworfQorCitlbnVtIHsK KyAgICBzczJfaWQgPSAwLAorICAgIHNzNV9pZCA9IDMyLAorICAgIHNzMTBfaWQsCisgICAgc3M2 MDBtcF9pZCwKKyAgICBzczIwX2lkLAorICAgIHZnZXJfaWQsCisgICAgbHhfaWQsCisgICAgc3M0 X2lkLAorICAgIHNjbHNfaWQsCisgICAgc2Jvb2tfaWQsCisgICAgc3MxMDAwX2lkID0gNjQsCisg ICAgc3MyMDAwX2lkLAorfTsKIAogc3RhdGljIGNvbnN0IHN0cnVjdCBod2RlZiBod2RlZnNbXSA9 IHsKICAgICAvKiBTUy01ICovCkBAIC03NjcsNyArNzk4LDggQEAKICAgICAgICAgLmZkX2lycSA9 IDIyLAogICAgICAgICAubWVfaXJxID0gMzAsCiAgICAgICAgIC5jc19pcnEgPSA1LAotICAgICAg ICAubWFjaGluZV9pZCA9IDB4ODAsCisgICAgICAgIC5udnJhbV9tYWNoaW5lX2lkID0gMHg4MCwK KyAgICAgICAgLm1hY2hpbmVfaWQgPSBzczVfaWQsCiAgICAgICAgIC5pb21tdV92ZXJzaW9uID0g MHgwNTAwMDAwMCwKICAgICAgICAgLmludGJpdF90b19sZXZlbCA9IHsKICAgICAgICAgICAgIDIs IDMsIDUsIDcsIDksIDExLCAwLCAxNCwgICAzLCA1LCA3LCA5LCAxMSwgMTMsIDEyLCAxMiwKQEAg LTgxMSw3ICs4NDMsOCBAQAogICAgICAgICAubWVfaXJxID0gMzAsCiAgICAgICAgIC5jc19pcnEg PSAtMSwKICAgICAgICAgLmVjY19pcnEgPSAyOCwKLSAgICAgICAgLm1hY2hpbmVfaWQgPSAweDcy LAorICAgICAgICAubnZyYW1fbWFjaGluZV9pZCA9IDB4NzIsCisgICAgICAgIC5tYWNoaW5lX2lk ID0gc3MxMF9pZCwKICAgICAgICAgLmlvbW11X3ZlcnNpb24gPSAweDAzMDAwMDAwLAogICAgICAg ICAuaW50Yml0X3RvX2xldmVsID0gewogICAgICAgICAgICAgMiwgMywgNSwgNywgOSwgMTEsIDAs IDE0LCAgIDMsIDUsIDcsIDksIDExLCAxMywgMTIsIDEyLApAQCAtODU1LDcgKzg4OCw4IEBACiAg ICAgICAgIC5tZV9pcnEgPSAzMCwKICAgICAgICAgLmNzX2lycSA9IC0xLAogICAgICAgICAuZWNj X2lycSA9IDI4LAotICAgICAgICAubWFjaGluZV9pZCA9IDB4NzEsCisgICAgICAgIC5udnJhbV9t YWNoaW5lX2lkID0gMHg3MSwKKyAgICAgICAgLm1hY2hpbmVfaWQgPSBzczYwMG1wX2lkLAogICAg ICAgICAuaW9tbXVfdmVyc2lvbiA9IDB4MDEwMDAwMDAsCiAgICAgICAgIC5pbnRiaXRfdG9fbGV2 ZWwgPSB7CiAgICAgICAgICAgICAyLCAzLCA1LCA3LCA5LCAxMSwgMCwgMTQsICAgMywgNSwgNywg OSwgMTEsIDEzLCAxMiwgMTIsCkBAIC04OTksNyArOTMzLDggQEAKICAgICAgICAgLm1lX2lycSA9 IDMwLAogICAgICAgICAuY3NfaXJxID0gLTEsCiAgICAgICAgIC5lY2NfaXJxID0gMjgsCi0gICAg ICAgIC5tYWNoaW5lX2lkID0gMHg3MiwKKyAgICAgICAgLm52cmFtX21hY2hpbmVfaWQgPSAweDcy LAorICAgICAgICAubWFjaGluZV9pZCA9IHNzMjBfaWQsCiAgICAgICAgIC5pb21tdV92ZXJzaW9u ID0gMHgxMzAwMDAwMCwKICAgICAgICAgLmludGJpdF90b19sZXZlbCA9IHsKICAgICAgICAgICAg IDIsIDMsIDUsIDcsIDksIDExLCAwLCAxNCwgICAzLCA1LCA3LCA5LCAxMSwgMTMsIDEyLCAxMiwK QEAgLTkzOSw3ICs5NzQsOCBAQAogICAgICAgICAuZmRfaXJxID0gMSwKICAgICAgICAgLm1lX2ly cSA9IDEsCiAgICAgICAgIC5jc19pcnEgPSAtMSwKLSAgICAgICAgLm1hY2hpbmVfaWQgPSAweDU1 LAorICAgICAgICAubnZyYW1fbWFjaGluZV9pZCA9IDB4NTUsCisgICAgICAgIC5tYWNoaW5lX2lk ID0gc3MyX2lkLAogICAgICAgICAubWF4X21lbSA9IDB4MTAwMDAwMDAsCiAgICAgICAgIC5kZWZh dWx0X2NwdV9tb2RlbCA9ICJDeXByZXNzIENZN0M2MDEiLAogICAgIH0sCkBAIC05NzYsNyArMTAx Miw4IEBACiAgICAgICAgIC5mZF9pcnEgPSAyMiwKICAgICAgICAgLm1lX2lycSA9IDMwLAogICAg ICAgICAuY3NfaXJxID0gLTEsCi0gICAgICAgIC5tYWNoaW5lX2lkID0gMHg4MCwKKyAgICAgICAg Lm52cmFtX21hY2hpbmVfaWQgPSAweDgwLAorICAgICAgICAubWFjaGluZV9pZCA9IHZnZXJfaWQs CiAgICAgICAgIC5pb21tdV92ZXJzaW9uID0gMHgwNTAwMDAwMCwKICAgICAgICAgLmludGJpdF90 b19sZXZlbCA9IHsKICAgICAgICAgICAgIDIsIDMsIDUsIDcsIDksIDExLCAwLCAxNCwgICAzLCA1 LCA3LCA5LCAxMSwgMTMsIDEyLCAxMiwKQEAgLTEwMTgsNyArMTA1NSw4IEBACiAgICAgICAgIC5m ZF9pcnEgPSAyMiwKICAgICAgICAgLm1lX2lycSA9IDMwLAogICAgICAgICAuY3NfaXJxID0gLTEs Ci0gICAgICAgIC5tYWNoaW5lX2lkID0gMHg4MCwKKyAgICAgICAgLm52cmFtX21hY2hpbmVfaWQg PSAweDgwLAorICAgICAgICAubWFjaGluZV9pZCA9IGx4X2lkLAogICAgICAgICAuaW9tbXVfdmVy c2lvbiA9IDB4MDQwMDAwMDAsCiAgICAgICAgIC5pbnRiaXRfdG9fbGV2ZWwgPSB7CiAgICAgICAg ICAgICAyLCAzLCA1LCA3LCA5LCAxMSwgMCwgMTQsICAgMywgNSwgNywgOSwgMTEsIDEzLCAxMiwg MTIsCkBAIC0xMDYwLDcgKzEwOTgsOCBAQAogICAgICAgICAuZmRfaXJxID0gMjIsCiAgICAgICAg IC5tZV9pcnEgPSAzMCwKICAgICAgICAgLmNzX2lycSA9IDUsCi0gICAgICAgIC5tYWNoaW5lX2lk ID0gMHg4MCwKKyAgICAgICAgLm52cmFtX21hY2hpbmVfaWQgPSAweDgwLAorICAgICAgICAubWFj aGluZV9pZCA9IHNzNF9pZCwKICAgICAgICAgLmlvbW11X3ZlcnNpb24gPSAweDA1MDAwMDAwLAog ICAgICAgICAuaW50Yml0X3RvX2xldmVsID0gewogICAgICAgICAgICAgMiwgMywgNSwgNywgOSwg MTEsIDAsIDE0LCAgIDMsIDUsIDcsIDksIDExLCAxMywgMTIsIDEyLApAQCAtMTEwMiw3ICsxMTQx LDggQEAKICAgICAgICAgLmZkX2lycSA9IDIyLAogICAgICAgICAubWVfaXJxID0gMzAsCiAgICAg ICAgIC5jc19pcnEgPSAtMSwKLSAgICAgICAgLm1hY2hpbmVfaWQgPSAweDgwLAorICAgICAgICAu bnZyYW1fbWFjaGluZV9pZCA9IDB4ODAsCisgICAgICAgIC5tYWNoaW5lX2lkID0gc2Nsc19pZCwK ICAgICAgICAgLmlvbW11X3ZlcnNpb24gPSAweDA1MDAwMDAwLAogICAgICAgICAuaW50Yml0X3Rv X2xldmVsID0gewogICAgICAgICAgICAgMiwgMywgNSwgNywgOSwgMTEsIDAsIDE0LCAgIDMsIDUs IDcsIDksIDExLCAxMywgMTIsIDEyLApAQCAtMTE0NCw3ICsxMTg0LDggQEAKICAgICAgICAgLmZk X2lycSA9IDIyLAogICAgICAgICAubWVfaXJxID0gMzAsCiAgICAgICAgIC5jc19pcnEgPSAtMSwK LSAgICAgICAgLm1hY2hpbmVfaWQgPSAweDgwLAorICAgICAgICAubnZyYW1fbWFjaGluZV9pZCA9 IDB4ODAsCisgICAgICAgIC5tYWNoaW5lX2lkID0gc2Jvb2tfaWQsCiAgICAgICAgIC5pb21tdV92 ZXJzaW9uID0gMHgwNTAwMDAwMCwKICAgICAgICAgLmludGJpdF90b19sZXZlbCA9IHsKICAgICAg ICAgICAgIDIsIDMsIDUsIDcsIDksIDExLCAwLCAxNCwgICAzLCA1LCA3LCA5LCAxMSwgMTMsIDEy LCAxMiwKQEAgLTEzNjUsNyArMTQwNiw4IEBACiAgICAgICAgIC5jbG9jazFfaXJxID0gMTAsCiAg ICAgICAgIC5tc19rYl9pcnEgPSAxMiwKICAgICAgICAgLnNlcl9pcnEgPSAxMiwKLSAgICAgICAg Lm1hY2hpbmVfaWQgPSAweDgwLAorICAgICAgICAubnZyYW1fbWFjaGluZV9pZCA9IDB4ODAsCisg ICAgICAgIC5tYWNoaW5lX2lkID0gc3MxMDAwX2lkLAogICAgICAgICAuaW91bml0X3ZlcnNpb24g PSAweDAzMDAwMDAwLAogICAgICAgICAubWF4X21lbSA9IDB4ZjAwMDAwMDAwVUxMLAogICAgICAg ICAuZGVmYXVsdF9jcHVfbW9kZWwgPSAiVEkgU3VwZXJTcGFyYyBJSSIsCkBAIC0xMzk4LDcgKzE0 NDAsOCBAQAogICAgICAgICAuY2xvY2sxX2lycSA9IDEwLAogICAgICAgICAubXNfa2JfaXJxID0g MTIsCiAgICAgICAgIC5zZXJfaXJxID0gMTIsCi0gICAgICAgIC5tYWNoaW5lX2lkID0gMHg4MCwK KyAgICAgICAgLm52cmFtX21hY2hpbmVfaWQgPSAweDgwLAorICAgICAgICAubWFjaGluZV9pZCA9 IHNzMjAwMF9pZCwKICAgICAgICAgLmlvdW5pdF92ZXJzaW9uID0gMHgwMzAwMDAwMCwKICAgICAg ICAgLm1heF9tZW0gPSAweGYwMDAwMDAwMFVMTCwKICAgICAgICAgLmRlZmF1bHRfY3B1X21vZGVs ID0gIlRJIFN1cGVyU3BhcmMgSUkiLApAQCAtMTU0NCwxMiArMTU4NywxNyBAQAogCiAgICAgbnZy YW1faW5pdChudnJhbSwgKHVpbnQ4X3QgKikmbmRfdGFibGVbMF0ubWFjYWRkciwga2VybmVsX2Nt ZGxpbmUsCiAgICAgICAgICAgICAgICBib290X2RldmljZSwgUkFNX3NpemUsIGtlcm5lbF9zaXpl LCBncmFwaGljX3dpZHRoLAotICAgICAgICAgICAgICAgZ3JhcGhpY19oZWlnaHQsIGdyYXBoaWNf ZGVwdGgsIGh3ZGVmLT5tYWNoaW5lX2lkLCAiU3VuNGQiKTsKKyAgICAgICAgICAgICAgIGdyYXBo aWNfaGVpZ2h0LCBncmFwaGljX2RlcHRoLCBod2RlZi0+bnZyYW1fbWFjaGluZV9pZCwgIlN1bjRk Iik7CiAKICAgICBmd19jZmcgPSBmd19jZmdfaW5pdCgwLCBDRkdfQUREUik7CiAgICAgYmlvc19j ZmdfaWQgPSBjcHVfdG9fbGUzMigxKTsKICAgICBmd19jZmdfYWRkKGZ3X2NmZywgRldfQ0ZHX0lE LCAodWludDhfdCAqKSZiaW9zX2NmZ19pZCwKICAgICAgICAgICAgICAgIHNpemVvZihiaW9zX2Nm Z19pZCkpOworICAgIGJpb3NfY2ZnX3JhbV9zaXplID0gY3B1X3RvX2xlNjQocmFtX3NpemUpOwor ICAgIGZ3X2NmZ19hZGQoZndfY2ZnLCBGV19DRkdfUkFNX1NJWkUsICh1aW50OF90ICopJmJpb3Nf Y2ZnX3JhbV9zaXplLAorICAgICAgICAgICAgICAgc2l6ZW9mKGJpb3NfY2ZnX3JhbV9zaXplKSk7 CisgICAgZndfY2ZnX2FkZChmd19jZmcsIEZXX0NGR19NQUNISU5FX0lELCAmaHdkZWYtPm1hY2hp bmVfaWQsCisgICAgICAgICAgICAgICBzaXplb2YoaHdkZWYtPm1hY2hpbmVfaWQpKTsKIH0KIAog LyogU1BBUkNzZXJ2ZXIgMTAwMCBoYXJkd2FyZSBpbml0aWFsaXNhdGlvbiAqLwo= ------=_Part_24252_26753066.1220126254136 Content-Type: plain/text; name=openbios_new_fw_abi.diff Content-Transfer-Encoding: base64 X-Attachment-Id: f_fkincfix Content-Disposition: attachment; filename=openbios_new_fw_abi.diff SW5kZXg6IG9wZW5iaW9zLXF1aWx0L2luY2x1ZGUvb3BlbmJpb3MvZndfY2ZnLmgKPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQotLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCisrKyBv cGVuYmlvcy1xdWlsdC9pbmNsdWRlL29wZW5iaW9zL2Z3X2NmZy5oCTIwMDgtMDgtMzAgMTU6NDU6 MzUuMDAwMDAwMDAwICswMDAwCkBAIC0wLDAgKzEsMjIgQEAKKyNpZm5kZWYgRldfQ0ZHX0gKKyNk ZWZpbmUgRldfQ0ZHX0gKKworI2RlZmluZSBGV19DRkdfU0lHTkFUVVJFICAgICAgICAweDAwCisj ZGVmaW5lIEZXX0NGR19JRCAgICAgICAgICAgICAgIDB4MDEKKyNkZWZpbmUgRldfQ0ZHX1VVSUQg ICAgICAgICAgICAgMHgwMgorI2RlZmluZSBGV19DRkdfUkFNX1NJWkUgICAgICAgICAweDAzCisj ZGVmaW5lIEZXX0NGR19OT0dSQVBISUMgICAgICAgIDB4MDQKKyNkZWZpbmUgRldfQ0ZHX05CX0NQ VVMgICAgICAgICAgMHgwNQorI2RlZmluZSBGV19DRkdfTUFDSElORV9JRCAgICAgICAweDA2Cisj ZGVmaW5lIEZXX0NGR19NQVhfRU5UUlkgICAgICAgIDB4MTAKKworI2RlZmluZSBGV19DRkdfQVJD SF9MT0NBTCAgICAgICAweDgwMDAKKworI2lmbmRlZiBfX0FTU0VNQkxZX18KKy8qIFBsZWFzZSB1 c2Ugb25seSBsaXR0bGUgZW5kaWFuIG9yIGVuZGlhbiBuZXV0cmFsIGRhdGEgZm9ybWF0cywgbmV2 ZXIKKyAgIGhvc3QgZW5kaWFuICovCitpbnQgZndfY2ZnX2FkZCh2b2lkICpvcGFxdWUsIHVpbnQx Nl90IGtleSwgY29uc3QgdWludDhfdCAqZGF0YSwgdWludDE2X3QgbGVuKTsKK3ZvaWQgKmZ3X2Nm Z19pbml0KHVpbnQzMl90IHBvcnQsIHRhcmdldF9waHlzX2FkZHJfdCBhZGRyKTsKKyNlbmRpZiAv KiBfX0FTU0VNQkxZX18gKi8KKworI2VuZGlmCkluZGV4OiBvcGVuYmlvcy1xdWlsdC9hcmNoL3Nw YXJjNjQvZW50cnkuUwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBvcGVuYmlvcy1xdWlsdC5vcmlnL2FyY2gvc3Bh cmM2NC9lbnRyeS5TCTIwMDgtMDgtMzAgMTU6NDU6NTguMDAwMDAwMDAwICswMDAwCisrKyBvcGVu Ymlvcy1xdWlsdC9hcmNoL3NwYXJjNjQvZW50cnkuUwkyMDA4LTA4LTMwIDE2OjE4OjI2LjAwMDAw MDAwMCArMDAwMApAQCAtMTEsMTAgKzExLDEwIEBACiAjaW5jbHVkZSAiYXNpLmgiCiAjaW5jbHVk ZSAicHN0YXRlLmgiCiAjaW5jbHVkZSAibHN1LmgiCi0jZGVmaW5lIF9fQVNTRU1CTFlfXwotI2lu Y2x1ZGUgIm9wZW5iaW9zL2Zpcm13YXJlX2FiaS5oIgorI2luY2x1ZGUgIm9wZW5iaW9zL2Z3X2Nm Zy5oIgogCiAjZGVmaW5lIFBST01fQUREUiAweDFmZmYwMDAwMDAwCisjZGVmaW5lIENGR19BRERS ICAweDFmZTAyMDAwNTEwCiAKICAgICAgICAgLmdsb2JsCWVudHJ5LCBfZW50cnkKIApAQCAtNTIs NTggKzUyLDYxIEBACiAgICAgICAgICEgRGlzYWJsZSBJL0QgTU1VcyBhbmQgY2FjaGVzCiAgICAg ICAgIHN0eGEgICAgJWcwLCBbJWcwXSBBU0lfTFNVX0NPTlRST0wKIAotICAgICAgICAhIEdldCBt ZW1vcnkgc2l6ZSBmcm9tIE5WUkFNCi0gICAgICAgIHNldHggICAgMHgxZmUwMjAwMDA3NCwgJWcy LCAlZzUKLSAgICAgICAgbW92ICAgICBPSFdfUkFNX1NJWkUsICVnMgotICAgICAgICBzdGJhICAg ICVnMiwgWyVnNV0gQVNJX1BIWVNfQllQQVNTX0VDX0UKLSAgICAgICAgYWRkICAgICAlZzUsIDEs ICVnMQotICAgICAgICBzdGJhICAgICVnMCwgWyVnMV0gQVNJX1BIWVNfQllQQVNTX0VDX0UKLSAg ICAgICAgYWRkICAgICAlZzEsIDIsICVnMQotCWxkdWJhCVslZzFdIEFTSV9QSFlTX0JZUEFTU19F Q19FLCAlZzQKLQotICAgICAgICBzbGwgICAgICVnNCwgOCwgJWc0Ci0gICAgICAgIGluYyAgICAg JWcyCi0gICAgICAgIHN0YmEgICAgJWcyLCBbJWc1XSBBU0lfUEhZU19CWVBBU1NfRUNfRQotCWxk dWJhCVslZzFdIEFTSV9QSFlTX0JZUEFTU19FQ19FLCAlZzMKKyAgICAgICAgISBDaGVjayBzaWdu YXR1cmUgIlFFTVUiCisgICAgICAgIHNldHggICAgQ0ZHX0FERFIsICVnMiwgJWc1CisgICAgICAg IG1vdiAgICAgRldfQ0ZHX1NJR05BVFVSRSwgJWcyCisgICAgICAgIHN0aGEgICAgJWcyLCBbJWc1 XSBBU0lfUEhZU19CWVBBU1NfRUNfRQorICAgICAgICBsZHViYSAgIFslZzVdIEFTSV9QSFlTX0JZ UEFTU19FQ19FLCAlZzIKKyAgICAgICAgY21wICAgICAlZzIsICdRJworICAgICAgICBibmUgICAg IGJhZF9jb25mCisgICAgICAgICBub3AKKyAgICAgICAgbGR1YmEgICBbJWc1XSBBU0lfUEhZU19C WVBBU1NfRUNfRSwgJWcyCisgICAgICAgIGNtcCAgICAgJWcyLCAnRScKKyAgICAgICAgYm5lICAg ICBiYWRfY29uZgorICAgICAgICAgbm9wCisgICAgICAgIGxkdWJhICAgWyVnNV0gQVNJX1BIWVNf QllQQVNTX0VDX0UsICVnMgorICAgICAgICBjbXAgICAgICVnMiwgJ00nCisgICAgICAgIGJuZSAg ICAgYmFkX2NvbmYKKyAgICAgICAgIG5vcAorICAgICAgICBsZHViYSAgIFslZzVdIEFTSV9QSFlT X0JZUEFTU19FQ19FLCAlZzIKKyAgICAgICAgY21wICAgICAlZzIsICdVJworICAgICAgICBibmUg ICAgIGJhZF9jb25mCisgICAgICAgICBub3AKKworICAgICAgICAhIEdldCBtZW1vcnkgc2l6ZSBm cm9tIGNvbmZpZ3VyYXRpb24gZGV2aWNlCisgICAgICAgICEgTkI6IGxpdHRsZSBlbmRpYW4gZm9y bWF0CisgICAgICAgIG1vdiAgICAgRldfQ0ZHX1JBTV9TSVpFLCAlZzIKKyAgICAgICAgc3RoYSAg ICAlZzIsIFslZzVdIEFTSV9QSFlTX0JZUEFTU19FQ19FCisgICAgICAgIGxkdWJhICAgWyVnNV0g QVNJX1BIWVNfQllQQVNTX0VDX0UsICVnNAorCisgICAgICAgIGxkdWJhICAgWyVnNV0gQVNJX1BI WVNfQllQQVNTX0VDX0UsICVnMworICAgICAgICBzbGx4ICAgICVnMywgOCwgJWczCiAgICAgICAg IG9yICAgICAgJWczLCAlZzQsICVnNAogCi0gICAgICAgIHNsbCAgICAgJWc0LCA4LCAlZzQKLSAg ICAgICAgaW5jICAgICAlZzIKLSAgICAgICAgc3RiYSAgICAlZzIsIFslZzVdIEFTSV9QSFlTX0JZ UEFTU19FQ19FCi0JbGR1YmEJWyVnMV0gQVNJX1BIWVNfQllQQVNTX0VDX0UsICVnMworICAgICAg ICBsZHViYSAgIFslZzVdIEFTSV9QSFlTX0JZUEFTU19FQ19FLCAlZzMKKyAgICAgICAgc2xseCAg ICAlZzMsIDE2LCAlZzMKICAgICAgICAgb3IgICAgICAlZzMsICVnNCwgJWc0CiAKLSAgICAgICAg c2xsICAgICAlZzQsIDgsICVnNAotICAgICAgICBpbmMgICAgICVnMgotICAgICAgICBzdGJhICAg ICVnMiwgWyVnNV0gQVNJX1BIWVNfQllQQVNTX0VDX0UKLQlsZHViYQlbJWcxXSBBU0lfUEhZU19C WVBBU1NfRUNfRSwgJWczCisgICAgICAgIGxkdWJhICAgWyVnNV0gQVNJX1BIWVNfQllQQVNTX0VD X0UsICVnMworICAgICAgICBzbGx4ICAgICVnMywgMjQsICVnMwogICAgICAgICBvciAgICAgICVn MywgJWc0LCAlZzQKIAotICAgICAgICBzbGwgICAgICVnNCwgOCwgJWc0Ci0gICAgICAgIGluYyAg ICAgJWcyCi0gICAgICAgIHN0YmEgICAgJWcyLCBbJWc1XSBBU0lfUEhZU19CWVBBU1NfRUNfRQot CWxkdWJhCVslZzFdIEFTSV9QSFlTX0JZUEFTU19FQ19FLCAlZzMKKyAgICAgICAgbGR1YmEgICBb JWc1XSBBU0lfUEhZU19CWVBBU1NfRUNfRSwgJWczCisgICAgICAgIHNsbHggICAgJWczLCAzMiwg JWczCiAgICAgICAgIG9yICAgICAgJWczLCAlZzQsICVnNAogCi0gICAgICAgIHNsbCAgICAgJWc0 LCA4LCAlZzQKLSAgICAgICAgaW5jICAgICAlZzIKLSAgICAgICAgc3RiYSAgICAlZzIsIFslZzVd IEFTSV9QSFlTX0JZUEFTU19FQ19FCi0JbGR1YmEJWyVnMV0gQVNJX1BIWVNfQllQQVNTX0VDX0Us ICVnMworICAgICAgICBsZHViYSAgIFslZzVdIEFTSV9QSFlTX0JZUEFTU19FQ19FLCAlZzMKKyAg ICAgICAgc2xseCAgICAlZzMsIDQwLCAlZzMKICAgICAgICAgb3IgICAgICAlZzMsICVnNCwgJWc0 CiAKLSAgICAgICAgc2xsICAgICAlZzQsIDgsICVnNAotICAgICAgICBpbmMgICAgICVnMgotICAg ICAgICBzdGJhICAgICVnMiwgWyVnNV0gQVNJX1BIWVNfQllQQVNTX0VDX0UKLQlsZHViYQlbJWcx XSBBU0lfUEhZU19CWVBBU1NfRUNfRSwgJWczCisgICAgICAgIGxkdWJhICAgWyVnNV0gQVNJX1BI WVNfQllQQVNTX0VDX0UsICVnMworICAgICAgICBzbGx4ICAgICVnMywgNDgsICVnMwogICAgICAg ICBvciAgICAgICVnMywgJWc0LCAlZzQKIAotICAgICAgICBzbGwgICAgICVnNCwgOCwgJWc0Ci0g ICAgICAgIGluYyAgICAgJWcyCi0gICAgICAgIHN0YmEgICAgJWcyLCBbJWc1XSBBU0lfUEhZU19C WVBBU1NfRUNfRQotCWxkdWJhCVslZzFdIEFTSV9QSFlTX0JZUEFTU19FQ19FLCAlZzMKKyAgICAg ICAgbGR1YmEgICBbJWc1XSBBU0lfUEhZU19CWVBBU1NfRUNfRSwgJWczCisgICAgICAgIHNsbHgg ICAgJWczLCA1NiwgJWczCiAgICAgICAgIG9yICAgICAgJWczLCAlZzQsICVnMQotCSEgJWcxIGNv bnRhaW5zIGVuZCBvZiBtZW1vcnkKLQorICAgICAgICAhICVnMSBjb250YWlucyBlbmQgb2YgbWVt b3J5CiAKICAgICAgICAgc2V0eCAgICBfZW5kLCAlZzcsICVnMwogICAgICAgICBzZXQgICAgIDB4 ZmZmZiwgJWcyCkBAIC0zMDEsOCArMzA0LDcgQEAKIAogICAgICAgICAvKiBXZSBnZXQgaGVyZSB3 aGVuIHRoZSBtYWluIGNvbnRleHQgc3dpdGNoZXMgYmFjayB0bwogICAgICAgICAgKiB0aGUgYm9v dCBjb250ZXh0LgotICAgICAgICAgKiBSZXR1cm4gdG8gcHJldmlvdXMgYm9vdGxvYWRlci4KICAg ICAgICAgICovCi0gICAgICAgIHJldAorYmFkX2NvbmY6CisgICAgICAgIGIgICAgICAgYmFkX2Nv bmYKICAgICAgICAgIG5vcAotCkluZGV4OiBvcGVuYmlvcy1xdWlsdC9hcmNoL3NwYXJjNjQvb3Bl bmJpb3MuYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09Ci0tLSBvcGVuYmlvcy1xdWlsdC5vcmlnL2FyY2gvc3BhcmM2NC9v cGVuYmlvcy5jCTIwMDgtMDgtMzAgMTU6NDY6MTMuMDAwMDAwMDAwICswMDAwCisrKyBvcGVuYmlv cy1xdWlsdC9hcmNoL3NwYXJjNjQvb3BlbmJpb3MuYwkyMDA4LTA4LTMwIDE5OjI1OjU5LjAwMDAw MDAwMCArMDAwMApAQCAtMjQsNiArMjQsMTEgQEAKICNpbmNsdWRlICJhc2kuaCIKICNpbmNsdWRl ICJzcGl0ZmlyZS5oIgogI2luY2x1ZGUgImxpYmMvdnNwcmludGYuaCIKKyNkZWZpbmUgX19BU1NF TUJMWV9fCisjaW5jbHVkZSAib3BlbmJpb3MvZndfY2ZnLmgiCisjdW5kZWYgX19BU1NFTUJMWV9f CisKKyNkZWZpbmUgQklPU19DRkdfSU9QT1JUIDB4NTEwCiAKICNkZWZpbmUgUkVHSVNURVJfTkFN RURfTk9ERSggbmFtZSwgcGF0aCApICAgZG8geyAgICAgICAgICAgICAgICAgICAgICAgIFwKICAg ICAgICAgYmluZF9uZXdfbm9kZSggbmFtZSMjX2ZsYWdzXywgbmFtZSMjX3NpemVfLCAgICAgICAg ICAgICAgICAgICAgIFwKQEAgLTY3LDYgKzcyLDggQEAKICNkZWZpbmUgUEFHRV9NQVNLXzY0SyAg KDY0ICogMTAyNCAtIDEpCiAjZGVmaW5lIFBBR0VfTUFTS184SyAgICg4ICogMTAyNCAtIDEpCiAK KyNkZWZpbmUgVVVJRF9GTVQgIiUwMnglMDJ4JTAyeCUwMngtJTAyeCUwMngtJTAyeCUwMngtJTAy eCUwMngtJTAyeCUwMnglMDJ4JTAyeCUwMnglMDJ4IgorCiBzdGF0aWMgdm9pZAogbW11X29wZW4o dm9pZCkKIHsKQEAgLTQ1NCw2ICs0NjEsOCBAQAogICAgIGZvciAoOzspOwogfQogCitzdGF0aWMg Y2hhciBxZW11X3V1aWRbMTZdOworCiB2b2lkIGFyY2hfbnZyYW1fZ2V0KGNoYXIgKmRhdGEpCiB7 CiAgICAgdW5zaWduZWQgc2hvcnQgaTsKQEAgLTQ2MSw2ICs0NzAsOSBAQAogICAgIHVpbnQzMl90 IHNpemU7CiAgICAgY29uc3Qgc3RydWN0IGNwdWRlZiAqY3B1OwogICAgIGNvbnN0IGNoYXIgKmJv b3RwYXRoOworICAgIGNoYXIgYnVmWzI1Nl07CisgICAgdWludDMyX3QgdGVtcDsKKyAgICB1aW50 NjRfdCByYW1fc2l6ZTsKIAogICAgIGZvciAoaSA9IDA7IGkgPCBzaXplb2Yob2h3Y2ZnX3YzX3Qp OyBpKyspIHsKICAgICAgICAgb3V0YihpICYgMHhmZiwgMHg3NCk7CkBAIC00NjgsMTQgKzQ4MCwy MCBAQAogICAgICAgICAqbnZwdHIrKyA9IGluYigweDc3KTsKICAgICB9CiAKLSAgICBwcmludGso Ik52cmFtIGlkICVzLCB2ZXJzaW9uICVkXG4iLCBudl9pbmZvLnN0cnVjdF9pZGVudCwKLSAgICAg ICAgICAgbnZfaW5mby5zdHJ1Y3RfdmVyc2lvbik7Ci0gICAgaWYgKHN0cmNtcChudl9pbmZvLnN0 cnVjdF9pZGVudCwgIlFFTVVfQklPUyIpIHx8Ci0gICAgICAgIG52X2luZm8uc3RydWN0X3ZlcnNp b24gIT0gMyB8fAotICAgICAgICBPSFdfY29tcHV0ZV9jcmMoJm52X2luZm8sIDB4MDAsIDB4Rjgp ICE9IG52X2luZm8uY3JjKSB7Ci0gICAgICAgIHByaW50aygiVW5rbm93biBudnJhbSwgZnJlZXpp bmchXG4iKTsKLSAgICAgICAgZm9yICg7Oyk7CisgICAgb3V0dyhfX2NwdV90b19sZTE2KEZXX0NG R19TSUdOQVRVUkUpLCBCSU9TX0NGR19JT1BPUlQpOworICAgIGZvciAoaSA9IDA7IGkgPCA0OyBp KyspIHsKKyAgICAgICAgYnVmW2ldID0gaW5iKEJJT1NfQ0ZHX0lPUE9SVCk7CiAgICAgfQorICAg IGJ1Zls0XSA9ICdcMCc7CisKKyAgICBwcmludGsoIkNvbmZpZ3VyYXRpb24gZGV2aWNlIGlkICVz IiwgYnVmKTsKKworICAgIG91dHcoX19jcHVfdG9fbGUxNihGV19DRkdfSUQpLCBCSU9TX0NGR19J T1BPUlQpOworICAgIGZvciAoaSA9IDA7IGkgPCA0OyBpKyspIHsKKyAgICAgICAgYnVmW2ldID0g aW5iKEJJT1NfQ0ZHX0lPUE9SVCk7CisgICAgfQorICAgIHRlbXAgPSBfX2xlMzJfdG9fY3B1KCoo dWludDMyX3QgKilidWYpOworICAgIHByaW50aygiIHZlcnNpb24gJWRcbiIsIHRlbXApOwogCiAg ICAga2VybmVsX2ltYWdlID0gbnZfaW5mby5rZXJuZWxfaW1hZ2U7CiAgICAga2VybmVsX3NpemUg PSBudl9pbmZvLmtlcm5lbF9zaXplOwpAQCAtNDk4LDE2ICs1MTYsNDAgQEAKICAgICAgICAgZGF0 YVtpXSA9IGluYigweDc3KTsKICAgICB9CiAKLSAgICBwcmludGsoIkNQVXM6ICV4IiwgbnZfaW5m by5uYl9jcHVzKTsKKyAgICBvdXR3KF9fY3B1X3RvX2xlMTYoRldfQ0ZHX05CX0NQVVMpLCBCSU9T X0NGR19JT1BPUlQpOworICAgIGZvciAoaSA9IDA7IGkgPCA0OyBpKyspIHsKKyAgICAgICAgYnVm W2ldID0gaW5iKEJJT1NfQ0ZHX0lPUE9SVCk7CisgICAgfQorICAgIHRlbXAgPSBfX2xlMzJfdG9f Y3B1KCoodWludDMyX3QgKilidWYpOworCisgICAgcHJpbnRrKCJDUFVzOiAleCIsIHRlbXApOwor CiAgICAgY3B1ID0gaWRfY3B1KCk7CiAgICAgLy9jcHUtPmluaXRmbigpOwogICAgIGNwdV9nZW5l cmljX2luaXQoY3B1KTsKICAgICBwcmludGsoIiB4ICVzXG4iLCBjcHUtPm5hbWUpOwogCi0gICAg Ly8gQWRkIC9pZHByb20KKyAgICAvLyBBZGQgL3V1aWQKKyAgICBvdXR3KF9fY3B1X3RvX2xlMTYo RldfQ0ZHX1VVSUQpLCBCSU9TX0NGR19JT1BPUlQpOworICAgIGZvciAoaSA9IDA7IGkgPCAxNjsg aSsrKSB7CisgICAgICAgIHFlbXVfdXVpZFtpXSA9IGluYihCSU9TX0NGR19JT1BPUlQpOworICAg IH0KKyAgICBwcmludGsoIlVVSUQ6ICIgVVVJRF9GTVQgIlxuIiwgcWVtdV91dWlkWzBdLCBxZW11 X3V1aWRbMV0sIHFlbXVfdXVpZFsyXSwKKyAgICAgICAgICAgcWVtdV91dWlkWzNdLCBxZW11X3V1 aWRbNF0sIHFlbXVfdXVpZFs1XSwgcWVtdV91dWlkWzZdLAorICAgICAgICAgICBxZW11X3V1aWRb N10sIHFlbXVfdXVpZFs4XSwgcWVtdV91dWlkWzldLCBxZW11X3V1aWRbMTBdLAorICAgICAgICAg ICBxZW11X3V1aWRbMTFdLCBxZW11X3V1aWRbMTJdLCBxZW11X3V1aWRbMTNdLCBxZW11X3V1aWRb MTRdLAorICAgICAgICAgICBxZW11X3V1aWRbMTVdKTsKKwogICAgIHB1c2hfc3RyKCIvIik7CiAg ICAgZndvcmQoImZpbmQtZGV2aWNlIik7CiAKKyAgICBQVVNIKChsb25nKSZxZW11X3V1aWQpOwor ICAgIFBVU0goMTYpOworICAgIGZ3b3JkKCJlbmNvZGUtYnl0ZXMiKTsKKyAgICBwdXNoX3N0cigi dXVpZCIpOworICAgIGZ3b3JkKCJwcm9wZXJ0eSIpOworCisgICAgLy8gQWRkIC9pZHByb20KICAg ICBmb3IgKGkgPSAwOyBpIDwgMzI7IGkrKykgewogICAgICAgICBvdXRiKChpICsgMHgxZmQ4KSAm IDB4ZmYsIDB4NzQpOwogICAgICAgICBvdXRiKChpICsgMHgxZmQ4KSA+PiA4LCAweDc1KTsKQEAg LTUyOCwxNiArNTcwLDIyIEBACiAgICAgcHVzaF9zdHIoIi9tZW1vcnkiKTsKICAgICBmd29yZCgi ZmluZC1kZXZpY2UiKTsKIAorICAgIG91dHcoX19jcHVfdG9fbGUxNihGV19DRkdfUkFNX1NJWkUp LCBCSU9TX0NGR19JT1BPUlQpOworICAgIGZvciAoaSA9IDA7IGkgPCA4OyBpKyspIHsKKyAgICAg ICAgYnVmW2ldID0gaW5iKEJJT1NfQ0ZHX0lPUE9SVCk7CisgICAgfQorICAgIHJhbV9zaXplID0g X19sZTY0X3RvX2NwdSgqKHVpbnQ2NF90ICopYnVmKTsKKwogICAgIC8vIEFsbCBtZW1vcnk6IDAg dG8gUkFNX3NpemUKICAgICBQVVNIKDApOwogICAgIGZ3b3JkKCJlbmNvZGUtaW50Iik7CiAgICAg UFVTSCgwKTsKICAgICBmd29yZCgiZW5jb2RlLWludCIpOwogICAgIGZ3b3JkKCJlbmNvZGUrIik7 Ci0gICAgUFVTSCgoaW50KShudl9pbmZvLlJBTTBfc2l6ZSA+PiAzMikpOworICAgIFBVU0goKGlu dCkocmFtX3NpemUgPj4gMzIpKTsKICAgICBmd29yZCgiZW5jb2RlLWludCIpOwogICAgIGZ3b3Jk KCJlbmNvZGUrIik7Ci0gICAgUFVTSCgoaW50KShudl9pbmZvLlJBTTBfc2l6ZSAmIDB4ZmZmZmZm ZmYpKTsKKyAgICBQVVNIKChpbnQpKHJhbV9zaXplICYgMHhmZmZmZmZmZikpOwogICAgIGZ3b3Jk KCJlbmNvZGUtaW50Iik7CiAgICAgZndvcmQoImVuY29kZSsiKTsKICAgICBwdXNoX3N0cigicmVn Iik7Cg== ------=_Part_24252_26753066.1220126254136--