From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1MGhdi-0002Hq-Pb for qemu-devel@nongnu.org; Tue, 16 Jun 2009 19:00:26 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1MGhde-0002HF-K1 for qemu-devel@nongnu.org; Tue, 16 Jun 2009 19:00:26 -0400 Received: from [199.232.76.173] (port=38306 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MGhde-0002HC-Fy for qemu-devel@nongnu.org; Tue, 16 Jun 2009 19:00:22 -0400 Received: from mail-bw0-f223.google.com ([209.85.218.223]:63193) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1MGhdd-0000Ss-G4 for qemu-devel@nongnu.org; Tue, 16 Jun 2009 19:00:22 -0400 Received: by bwz23 with SMTP id 23so3958814bwz.34 for ; Tue, 16 Jun 2009 16:00:19 -0700 (PDT) MIME-Version: 1.0 Date: Wed, 17 Jun 2009 03:00:19 +0400 Message-ID: From: Igor Kovalenko Content-Type: multipart/mixed; boundary=0016e6d460b8869845046c7f234f Subject: [Qemu-devel] [PATCH] sparc64: use pci_mem_base List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org --0016e6d460b8869845046c7f234f Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit ultrasparc II maps pci memory space at offset 0x1ff00000000 (or another large offset, depending on cpu type) so we need to provide offset for e.g. vga to map it's video memory there. Currently video memory shows up in the area used by sparc silo boot loader to store kernel and initrd, which leads to corrupted memory and funny video patterns around kernel panic traces. Fortunately there exists global pci_mem_base variable which is used by pci_to_cpu_addr() but it seems to be only called while clearing pci memory mapping. This patch adds missing translation call to pci_update_mappings() and initializes pci_mem_base to 0 by default. Then sun4u sets required pci memory space offset using pci_mem_base. PCIMapIORegionFunc parameter addr type changed to target_phys_addr_t and all uses changed accordingly, including printf parameter in e1000.c Signed-off-by: Igor V. Kovalenko -- Kind regards, Igor V. Kovalenko --0016e6d460b8869845046c7f234f Content-Type: application/octet-stream; name="sparc64-pci-space.patch" Content-Disposition: attachment; filename="sparc64-pci-space.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_fw172qti0 SW5kZXg6IHFlbXUtdHJ1bmsvaHcvc3VuNHUuYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBxZW11LXRydW5rLm9y aWcvaHcvc3VuNHUuYworKysgcWVtdS10cnVuay9ody9zdW40dS5jCkBAIC0yODgsNyArMjg4LDcg QEAgc3RhdGljIGNvbnN0IGludCBwYXJhbGxlbF9pcnFbTUFYX1BBUkFMTAogc3RhdGljIGZkY3Ry bF90ICpmbG9wcHlfY29udHJvbGxlcjsKIAogc3RhdGljIHZvaWQgZWJ1c19tbWlvX21hcGZ1bmMo UENJRGV2aWNlICpwY2lfZGV2LCBpbnQgcmVnaW9uX251bSwKLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHVpbnQzMl90IGFkZHIsIHVpbnQzMl90IHNpemUsIGludCB0eXBlKQorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0X3BoeXNfYWRkcl90IGFkZHIsIHVpbnQzMl90 IHNpemUsIGludCB0eXBlKQogewogICAgIERQUklOVEYoIk1hcHBpbmcgcmVnaW9uICVkIHJlZ2lz dGVycyBhdCAlMDh4XG4iLCByZWdpb25fbnVtLCBhZGRyKTsKICAgICBzd2l0Y2ggKHJlZ2lvbl9u dW0pIHsKQEAgLTQ1Myw2ICs0NTMsNyBAQCBzdGF0aWMgdm9pZCBzdW40dXZfaW5pdChyYW1fYWRk cl90IFJBTV9zCiAgICAgcGNpX2J1cyA9IHBjaV9hcGJfaW5pdChBUEJfU1BFQ0lBTF9CQVNFLCBB UEJfTUVNX0JBU0UsIE5VTEwsICZwY2lfYnVzMiwKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICZwY2lfYnVzMyk7CiAgICAgaXNhX21lbV9iYXNlID0gVkdBX0JBU0U7CisgICAgcGNpX21lbV9i YXNlID0gQVBCX01FTV9CQVNFOwogICAgIHBjaV92Z2FfaW5pdChwY2lfYnVzLCAwLCAwKTsKIAog ICAgIC8vIFhYWCBTaG91bGQgYmUgcGNpX2J1czMKSW5kZXg6IHFlbXUtdHJ1bmsvaHcvcGNpLmMK PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQotLS0gcWVtdS10cnVuay5vcmlnL2h3L3BjaS5jCisrKyBxZW11LXRydW5rL2h3 L3BjaS5jCkBAIC01MSw3ICs1MSw3IEBAIHN0cnVjdCBQQ0lCdXMgewogc3RhdGljIHZvaWQgcGNp X3VwZGF0ZV9tYXBwaW5ncyhQQ0lEZXZpY2UgKmQpOwogc3RhdGljIHZvaWQgcGNpX3NldF9pcnEo dm9pZCAqb3BhcXVlLCBpbnQgaXJxX251bSwgaW50IGxldmVsKTsKIAotdGFyZ2V0X3BoeXNfYWRk cl90IHBjaV9tZW1fYmFzZTsKK3RhcmdldF9waHlzX2FkZHJfdCBwY2lfbWVtX2Jhc2UgPSAwOwog c3RhdGljIHVpbnQxNl90IHBjaV9kZWZhdWx0X3N1Yl92ZW5kb3JfaWQgPSBQQ0lfU1VCVkVORE9S X0lEX1JFREhBVF9RVU1SQU5FVDsKIHN0YXRpYyB1aW50MTZfdCBwY2lfZGVmYXVsdF9zdWJfZGV2 aWNlX2lkID0gUENJX1NVQkRFVklDRV9JRF9RRU1VOwogc3RhdGljIFBDSUJ1cyAqZmlyc3RfYnVz OwpAQCAtNDI0LDcgKzQyNCw3IEBAIHN0YXRpYyB2b2lkIHBjaV91cGRhdGVfbWFwcGluZ3MoUENJ RGV2aWMKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgci0+YWRkciA9IG5ld19h ZGRyOwogICAgICAgICAgICAgICAgIGlmIChyLT5hZGRyICE9IC0xKSB7Ci0gICAgICAgICAgICAg ICAgICAgIHItPm1hcF9mdW5jKGQsIGksIHItPmFkZHIsIHItPnNpemUsIHItPnR5cGUpOworICAg ICAgICAgICAgICAgICAgICByLT5tYXBfZnVuYyhkLCBpLCBwY2lfdG9fY3B1X2FkZHIoci0+YWRk ciksIHItPnNpemUsIHItPnR5cGUpOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0K ICAgICAgICAgfQpJbmRleDogcWVtdS10cnVuay9ody9wY2kuaAo9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBxZW11 LXRydW5rLm9yaWcvaHcvcGNpLmgKKysrIHFlbXUtdHJ1bmsvaHcvcGNpLmgKQEAgLTc1LDcgKzc1 LDcgQEAgdHlwZWRlZiB2b2lkIFBDSUNvbmZpZ1dyaXRlRnVuYyhQQ0lEZXZpYwogdHlwZWRlZiB1 aW50MzJfdCBQQ0lDb25maWdSZWFkRnVuYyhQQ0lEZXZpY2UgKnBjaV9kZXYsCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGFkZHJlc3MsIGludCBsZW4pOwogdHlw ZWRlZiB2b2lkIFBDSU1hcElPUmVnaW9uRnVuYyhQQ0lEZXZpY2UgKnBjaV9kZXYsIGludCByZWdp b25fbnVtLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBhZGRyLCB1 aW50MzJfdCBzaXplLCBpbnQgdHlwZSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHRhcmdldF9waHlzX2FkZHJfdCBhZGRyLCB1aW50MzJfdCBzaXplLCBpbnQgdHlwZSk7CiB0eXBl ZGVmIGludCBQQ0lVbnJlZ2lzdGVyRnVuYyhQQ0lEZXZpY2UgKnBjaV9kZXYpOwogCiAjZGVmaW5l IFBDSV9BRERSRVNTX1NQQUNFX01FTQkJMHgwMApJbmRleDogcWVtdS10cnVuay9ody92aXJ0aW8t cGNpLmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQotLS0gcWVtdS10cnVuay5vcmlnL2h3L3ZpcnRpby1wY2kuYworKysg cWVtdS10cnVuay9ody92aXJ0aW8tcGNpLmMKQEAgLTIxMCw3ICsyMTAsNyBAQCBzdGF0aWMgdm9p ZCB2aXJ0aW9fcGNpX2NvbmZpZ193cml0ZWwodm9pCiB9CiAKIHN0YXRpYyB2b2lkIHZpcnRpb19t YXAoUENJRGV2aWNlICpwY2lfZGV2LCBpbnQgcmVnaW9uX251bSwKLSAgICAgICAgICAgICAgICAg ICAgICAgdWludDMyX3QgYWRkciwgdWludDMyX3Qgc2l6ZSwgaW50IHR5cGUpCisgICAgICAgICAg ICAgICAgICAgICAgIHRhcmdldF9waHlzX2FkZHJfdCBhZGRyLCB1aW50MzJfdCBzaXplLCBpbnQg dHlwZSkKIHsKICAgICBWaXJ0SU9QQ0lQcm94eSAqcHJveHkgPSBjb250YWluZXJfb2YocGNpX2Rl diwgVmlydElPUENJUHJveHksIHBjaV9kZXYpOwogICAgIFZpcnRJT0RldmljZSAqdmRldiA9IHBy b3h5LT52ZGV2OwpJbmRleDogcWVtdS10cnVuay9ody9hYzk3LmMKPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gcWVt dS10cnVuay5vcmlnL2h3L2FjOTcuYworKysgcWVtdS10cnVuay9ody9hYzk3LmMKQEAgLTEyNjcs NyArMTI2Nyw3IEBAIHN0YXRpYyBpbnQgYWM5N19sb2FkIChRRU1VRmlsZSAqZiwgdm9pZCAKIH0K IAogc3RhdGljIHZvaWQgYWM5N19tYXAgKFBDSURldmljZSAqcGNpX2RldiwgaW50IHJlZ2lvbl9u dW0sCi0gICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgYWRkciwgdWludDMyX3Qgc2l6ZSwg aW50IHR5cGUpCisgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0X3BoeXNfYWRkcl90IGFkZHIs IHVpbnQzMl90IHNpemUsIGludCB0eXBlKQogewogICAgIFBDSUFDOTdMaW5rU3RhdGUgKmQgPSAo UENJQUM5N0xpbmtTdGF0ZSAqKSBwY2lfZGV2OwogICAgIEFDOTdMaW5rU3RhdGUgKnMgPSAmZC0+ YWM5NzsKSW5kZXg6IHFlbXUtdHJ1bmsvaHcvY2lycnVzX3ZnYS5jCj09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHFl bXUtdHJ1bmsub3JpZy9ody9jaXJydXNfdmdhLmMKKysrIHFlbXUtdHJ1bmsvaHcvY2lycnVzX3Zn YS5jCkBAIC0zMjYwLDcgKzMyNjAsNyBAQCB2b2lkIGlzYV9jaXJydXNfdmdhX2luaXQodm9pZCkK ICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAKIHN0YXRpYyB2b2lk IGNpcnJ1c19wY2lfbGZiX21hcChQQ0lEZXZpY2UgKmQsIGludCByZWdpb25fbnVtLAotCQkJICAg ICAgIHVpbnQzMl90IGFkZHIsIHVpbnQzMl90IHNpemUsIGludCB0eXBlKQorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHRhcmdldF9waHlzX2FkZHJfdCBhZGRyLCB1aW50MzJfdCBzaXpl LCBpbnQgdHlwZSkKIHsKICAgICBDaXJydXNWR0FTdGF0ZSAqcyA9ICYoKFBDSUNpcnJ1c1ZHQVN0 YXRlICopZCktPmNpcnJ1c192Z2E7CiAKQEAgLTMyODEsNyArMzI4MSw3IEBAIHN0YXRpYyB2b2lk IGNpcnJ1c19wY2lfbGZiX21hcChQQ0lEZXZpY2UKIH0KIAogc3RhdGljIHZvaWQgY2lycnVzX3Bj aV9tbWlvX21hcChQQ0lEZXZpY2UgKmQsIGludCByZWdpb25fbnVtLAotCQkJCXVpbnQzMl90IGFk ZHIsIHVpbnQzMl90IHNpemUsIGludCB0eXBlKQorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB0YXJnZXRfcGh5c19hZGRyX3QgYWRkciwgdWludDMyX3Qgc2l6ZSwgaW50IHR5cGUpCiB7 CiAgICAgQ2lycnVzVkdBU3RhdGUgKnMgPSAmKChQQ0lDaXJydXNWR0FTdGF0ZSAqKWQpLT5jaXJy dXNfdmdhOwogCkluZGV4OiBxZW11LXRydW5rL2h3L2UxMDAwLmMKPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gcWVt dS10cnVuay5vcmlnL2h3L2UxMDAwLmMKKysrIHFlbXUtdHJ1bmsvaHcvZTEwMDAuYwpAQCAtMTQz LDEwICsxNDMsMTAgQEAgc3RhdGljIGNvbnN0IGNoYXIgcGh5X3JlZ2NhcFsweDIwXSA9IHsKIH07 CiAKIHN0YXRpYyB2b2lkCi1pb3BvcnRfbWFwKFBDSURldmljZSAqcGNpX2RldiwgaW50IHJlZ2lv bl9udW0sIHVpbnQzMl90IGFkZHIsCitpb3BvcnRfbWFwKFBDSURldmljZSAqcGNpX2RldiwgaW50 IHJlZ2lvbl9udW0sIHRhcmdldF9waHlzX2FkZHJfdCBhZGRyLAogICAgICAgICAgICB1aW50MzJf dCBzaXplLCBpbnQgdHlwZSkKIHsKLSAgICBEQkdPVVQoSU8sICJlMTAwMF9pb3BvcnRfbWFwIGFk ZHI9MHglMDR4IHNpemU9MHglMDh4XG4iLCBhZGRyLCBzaXplKTsKKyAgICBEQkdPVVQoSU8sICJl MTAwMF9pb3BvcnRfbWFwIGFkZHI9MHgiIFRBUkdFVF9GTVRfcGx4ICIgc2l6ZT0weCUwOHhcbiIs IGFkZHIsIHNpemUpOwogfQogCiBzdGF0aWMgdm9pZApAQCAtMTAyOCw3ICsxMDI4LDcgQEAgc3Rh dGljIENQVVJlYWRNZW1vcnlGdW5jICplMTAwMF9tbWlvX3JlYQogCiBzdGF0aWMgdm9pZAogZTEw MDBfbW1pb19tYXAoUENJRGV2aWNlICpwY2lfZGV2LCBpbnQgcmVnaW9uX251bSwKLSAgICAgICAg ICAgICAgICB1aW50MzJfdCBhZGRyLCB1aW50MzJfdCBzaXplLCBpbnQgdHlwZSkKKyAgICAgICAg ICAgICAgIHRhcmdldF9waHlzX2FkZHJfdCBhZGRyLCB1aW50MzJfdCBzaXplLCBpbnQgdHlwZSkK IHsKICAgICBFMTAwMFN0YXRlICpkID0gKEUxMDAwU3RhdGUgKilwY2lfZGV2OwogICAgIGludCBp OwpAQCAtMTAzOCw3ICsxMDM4LDcgQEAgZTEwMDBfbW1pb19tYXAoUENJRGV2aWNlICpwY2lfZGV2 LCBpbnQgcgogICAgIH07CiAKIAotICAgIERCR09VVChNTUlPLCAiZTEwMDBfbW1pb19tYXAgYWRk cj0weCUwOHggMHglMDh4XG4iLCBhZGRyLCBzaXplKTsKKyAgICBEQkdPVVQoTU1JTywgImUxMDAw X21taW9fbWFwIGFkZHI9MHgiIFRBUkdFVF9GTVRfcGx4ICIgMHglMDh4XG4iLCBhZGRyLCBzaXpl KTsKIAogICAgIGNwdV9yZWdpc3Rlcl9waHlzaWNhbF9tZW1vcnkoYWRkciwgUE5QTU1JT19TSVpF LCBkLT5tbWlvX2luZGV4KTsKICAgICBxZW11X3JlZ2lzdGVyX2NvYWxlc2NlZF9tbWlvKGFkZHIs IGV4Y2x1ZGVkX3JlZ3NbMF0pOwpJbmRleDogcWVtdS10cnVuay9ody9lZXBybzEwMC5jCj09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KLS0tIHFlbXUtdHJ1bmsub3JpZy9ody9lZXBybzEwMC5jCisrKyBxZW11LXRydW5rL2h3 L2VlcHJvMTAwLmMKQEAgLTEzNDUsNyArMTM0NSw3IEBAIHR5cGVkZWYgc3RydWN0IFBDSUVFUFJP MTAwU3RhdGUgewogfSBQQ0lFRVBSTzEwMFN0YXRlOwogCiBzdGF0aWMgdm9pZCBwY2lfbWFwKFBD SURldmljZSAqIHBjaV9kZXYsIGludCByZWdpb25fbnVtLAotICAgICAgICAgICAgICAgICAgICB1 aW50MzJfdCBhZGRyLCB1aW50MzJfdCBzaXplLCBpbnQgdHlwZSkKKyAgICAgICAgICAgICAgICAg ICAgdGFyZ2V0X3BoeXNfYWRkcl90IGFkZHIsIHVpbnQzMl90IHNpemUsIGludCB0eXBlKQogewog ICAgIFBDSUVFUFJPMTAwU3RhdGUgKmQgPSAoUENJRUVQUk8xMDBTdGF0ZSAqKSBwY2lfZGV2Owog ICAgIEVFUFJPMTAwU3RhdGUgKnMgPSAmZC0+ZWVwcm8xMDA7CkBAIC0xNDE5LDcgKzE0MTksNyBA QCBzdGF0aWMgQ1BVUmVhZE1lbW9yeUZ1bmMgKnBjaV9tbWlvX3JlYWRbCiB9OwogCiBzdGF0aWMg dm9pZCBwY2lfbW1pb19tYXAoUENJRGV2aWNlICogcGNpX2RldiwgaW50IHJlZ2lvbl9udW0sCi0g ICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgYWRkciwgdWludDMyX3Qgc2l6ZSwgaW50 IHR5cGUpCisgICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0X3BoeXNfYWRkcl90IGFkZHIs IHVpbnQzMl90IHNpemUsIGludCB0eXBlKQogewogICAgIFBDSUVFUFJPMTAwU3RhdGUgKmQgPSAo UENJRUVQUk8xMDBTdGF0ZSAqKSBwY2lfZGV2OwogCkluZGV4OiBxZW11LXRydW5rL2h3L2VzMTM3 MC5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0KLS0tIHFlbXUtdHJ1bmsub3JpZy9ody9lczEzNzAuYworKysgcWVtdS10 cnVuay9ody9lczEzNzAuYwpAQCAtOTEzLDcgKzkxMyw3IEBAIHN0YXRpYyB2b2lkIGVzMTM3MF9h ZGNfY2FsbGJhY2sgKHZvaWQgKm8KIH0KIAogc3RhdGljIHZvaWQgZXMxMzcwX21hcCAoUENJRGV2 aWNlICpwY2lfZGV2LCBpbnQgcmVnaW9uX251bSwKLSAgICAgICAgICAgICAgICAgICAgICAgIHVp bnQzMl90IGFkZHIsIHVpbnQzMl90IHNpemUsIGludCB0eXBlKQorICAgICAgICAgICAgICAgICAg ICAgICAgdGFyZ2V0X3BoeXNfYWRkcl90IGFkZHIsIHVpbnQzMl90IHNpemUsIGludCB0eXBlKQog ewogICAgIFBDSUVTMTM3MFN0YXRlICpkID0gKFBDSUVTMTM3MFN0YXRlICopIHBjaV9kZXY7CiAg ICAgRVMxMzcwU3RhdGUgKnMgPSAmZC0+ZXMxMzcwOwpJbmRleDogcWVtdS10cnVuay9ody9pZGUu Ywo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09Ci0tLSBxZW11LXRydW5rLm9yaWcvaHcvaWRlLmMKKysrIHFlbXUtdHJ1bmsv aHcvaWRlLmMKQEAgLTI5MTEsNyArMjkxMSw3IEBAIHZvaWQgaXNhX2lkZV9pbml0KGludCBpb2Jh c2UsIGludCBpb2Jhc2UKIHN0YXRpYyB2b2lkIGNtZDY0Nl91cGRhdGVfaXJxKFBDSUlERVN0YXRl ICpkKTsKIAogc3RhdGljIHZvaWQgaWRlX21hcChQQ0lEZXZpY2UgKnBjaV9kZXYsIGludCByZWdp b25fbnVtLAotICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBhZGRyLCB1aW50MzJfdCBzaXpl LCBpbnQgdHlwZSkKKyAgICAgICAgICAgICAgICAgICAgdGFyZ2V0X3BoeXNfYWRkcl90IGFkZHIs IHVpbnQzMl90IHNpemUsIGludCB0eXBlKQogewogICAgIFBDSUlERVN0YXRlICpkID0gKFBDSUlE RVN0YXRlICopcGNpX2RldjsKICAgICBJREVTdGF0ZSAqaWRlX3N0YXRlOwpAQCAtMzE0Miw3ICsz MTQyLDcgQEAgc3RhdGljIHZvaWQgYm1kbWFfYWRkcl93cml0ZWwodm9pZCAqb3BhcQogfQogCiBz dGF0aWMgdm9pZCBibWRtYV9tYXAoUENJRGV2aWNlICpwY2lfZGV2LCBpbnQgcmVnaW9uX251bSwK LSAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgYWRkciwgdWludDMyX3Qgc2l6ZSwgaW50IHR5 cGUpCisgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0X3BoeXNfYWRkcl90IGFkZHIsIHVpbnQz Ml90IHNpemUsIGludCB0eXBlKQogewogICAgIFBDSUlERVN0YXRlICpkID0gKFBDSUlERVN0YXRl ICopcGNpX2RldjsKICAgICBpbnQgaTsKSW5kZXg6IHFlbXUtdHJ1bmsvaHcvbHNpNTNjODk1YS5j Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KLS0tIHFlbXUtdHJ1bmsub3JpZy9ody9sc2k1M2M4OTVhLmMKKysrIHFlbXUt dHJ1bmsvaHcvbHNpNTNjODk1YS5jCkBAIC0xOTA3LDcgKzE5MDcsNyBAQCBzdGF0aWMgdm9pZCBs c2lfaW9fd3JpdGVsKHZvaWQgKm9wYXF1ZSwgCiB9CiAKIHN0YXRpYyB2b2lkIGxzaV9pb19tYXBm dW5jKFBDSURldmljZSAqcGNpX2RldiwgaW50IHJlZ2lvbl9udW0sCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICB1aW50MzJfdCBhZGRyLCB1aW50MzJfdCBzaXplLCBpbnQgdHlwZSkKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgIHRhcmdldF9waHlzX2FkZHJfdCBhZGRyLCB1aW50MzJfdCBz aXplLCBpbnQgdHlwZSkKIHsKICAgICBMU0lTdGF0ZSAqcyA9IChMU0lTdGF0ZSAqKXBjaV9kZXY7 CiAKQEAgLTE5MjIsNyArMTkyMiw3IEBAIHN0YXRpYyB2b2lkIGxzaV9pb19tYXBmdW5jKFBDSURl dmljZSAqcGMKIH0KIAogc3RhdGljIHZvaWQgbHNpX3JhbV9tYXBmdW5jKFBDSURldmljZSAqcGNp X2RldiwgaW50IHJlZ2lvbl9udW0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMy X3QgYWRkciwgdWludDMyX3Qgc2l6ZSwgaW50IHR5cGUpCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgdGFyZ2V0X3BoeXNfYWRkcl90IGFkZHIsIHVpbnQzMl90IHNpemUsIGludCB0eXBlKQog ewogICAgIExTSVN0YXRlICpzID0gKExTSVN0YXRlICopcGNpX2RldjsKIApAQCAtMTkzMiw3ICsx OTMyLDcgQEAgc3RhdGljIHZvaWQgbHNpX3JhbV9tYXBmdW5jKFBDSURldmljZSAqcAogfQogCiBz dGF0aWMgdm9pZCBsc2lfbW1pb19tYXBmdW5jKFBDSURldmljZSAqcGNpX2RldiwgaW50IHJlZ2lv bl9udW0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGFkZHIsIHVpbnQz Ml90IHNpemUsIGludCB0eXBlKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXRf cGh5c19hZGRyX3QgYWRkciwgdWludDMyX3Qgc2l6ZSwgaW50IHR5cGUpCiB7CiAgICAgTFNJU3Rh dGUgKnMgPSAoTFNJU3RhdGUgKilwY2lfZGV2OwogCkluZGV4OiBxZW11LXRydW5rL2h3L21hY2lv LmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQotLS0gcWVtdS10cnVuay5vcmlnL2h3L21hY2lvLmMKKysrIHFlbXUtdHJ1 bmsvaHcvbWFjaW8uYwpAQCAtNDAsNyArNDAsNyBAQCBzdHJ1Y3QgbWFjaW9fc3RhdGVfdCB7CiB9 OwogCiBzdGF0aWMgdm9pZCBtYWNpb19tYXAgKFBDSURldmljZSAqcGNpX2RldiwgaW50IHJlZ2lv bl9udW0sCi0gICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGFkZHIsIHVpbnQzMl90IHNp emUsIGludCB0eXBlKQorICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXRfcGh5c19hZGRyX3Qg YWRkciwgdWludDMyX3Qgc2l6ZSwgaW50IHR5cGUpCiB7CiAgICAgbWFjaW9fc3RhdGVfdCAqbWFj aW9fc3RhdGU7CiAgICAgaW50IGk7CkluZGV4OiBxZW11LXRydW5rL2h3L25lMjAwMC5jCj09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KLS0tIHFlbXUtdHJ1bmsub3JpZy9ody9uZTIwMDAuYworKysgcWVtdS10cnVuay9ody9u ZTIwMDAuYwpAQCAtNzc3LDcgKzc3Nyw3IEBAIHR5cGVkZWYgc3RydWN0IFBDSU5FMjAwMFN0YXRl IHsKIH0gUENJTkUyMDAwU3RhdGU7CiAKIHN0YXRpYyB2b2lkIG5lMjAwMF9tYXAoUENJRGV2aWNl ICpwY2lfZGV2LCBpbnQgcmVnaW9uX251bSwKLSAgICAgICAgICAgICAgICAgICAgICAgdWludDMy X3QgYWRkciwgdWludDMyX3Qgc2l6ZSwgaW50IHR5cGUpCisgICAgICAgICAgICAgICAgICAgICAg IHRhcmdldF9waHlzX2FkZHJfdCBhZGRyLCB1aW50MzJfdCBzaXplLCBpbnQgdHlwZSkKIHsKICAg ICBQQ0lORTIwMDBTdGF0ZSAqZCA9IChQQ0lORTIwMDBTdGF0ZSAqKXBjaV9kZXY7CiAgICAgTkUy MDAwU3RhdGUgKnMgPSAmZC0+bmUyMDAwOwpJbmRleDogcWVtdS10cnVuay9ody9vcGVucGljLmMK PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQotLS0gcWVtdS10cnVuay5vcmlnL2h3L29wZW5waWMuYworKysgcWVtdS10cnVu ay9ody9vcGVucGljLmMKQEAgLTEwMjYsNyArMTAyNiw3IEBAIHN0YXRpYyBDUFVSZWFkTWVtb3J5 RnVuYyAqb3BlbnBpY19yZWFkW10KIH07CiAKIHN0YXRpYyB2b2lkIG9wZW5waWNfbWFwKFBDSURl dmljZSAqcGNpX2RldiwgaW50IHJlZ2lvbl9udW0sCi0gICAgICAgICAgICAgICAgICAgICAgICB1 aW50MzJfdCBhZGRyLCB1aW50MzJfdCBzaXplLCBpbnQgdHlwZSkKKyAgICAgICAgICAgICAgICAg ICAgICAgIHRhcmdldF9waHlzX2FkZHJfdCBhZGRyLCB1aW50MzJfdCBzaXplLCBpbnQgdHlwZSkK IHsKICAgICBvcGVucGljX3QgKm9wcDsKIApJbmRleDogcWVtdS10cnVuay9ody9wY25ldC5jCj09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KLS0tIHFlbXUtdHJ1bmsub3JpZy9ody9wY25ldC5jCisrKyBxZW11LXRydW5rL2h3 L3BjbmV0LmMKQEAgLTE3NjIsNyArMTc2Miw3IEBAIHN0YXRpYyB1aW50MzJfdCBwY25ldF9pb3Bv cnRfcmVhZGwodm9pZCAKIH0KIAogc3RhdGljIHZvaWQgcGNuZXRfaW9wb3J0X21hcChQQ0lEZXZp Y2UgKnBjaV9kZXYsIGludCByZWdpb25fbnVtLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB1aW50MzJfdCBhZGRyLCB1aW50MzJfdCBzaXplLCBpbnQgdHlwZSkKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgdGFyZ2V0X3BoeXNfYWRkcl90IGFkZHIsIHVpbnQzMl90IHNpemUsIGlu dCB0eXBlKQogewogICAgIFBDTmV0U3RhdGUgKmQgPSAmKChQQ0lQQ05ldFN0YXRlICopcGNpX2Rl diktPnN0YXRlOwogCkBAIC0xOTc2LDcgKzE5NzYsNyBAQCBzdGF0aWMgQ1BVUmVhZE1lbW9yeUZ1 bmMgKnBjbmV0X21taW9fcmVhCiB9OwogCiBzdGF0aWMgdm9pZCBwY25ldF9tbWlvX21hcChQQ0lE ZXZpY2UgKnBjaV9kZXYsIGludCByZWdpb25fbnVtLAotICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHVpbnQzMl90IGFkZHIsIHVpbnQzMl90IHNpemUsIGludCB0eXBlKQorICAgICAgICAgICAg ICAgICAgICAgICAgICAgdGFyZ2V0X3BoeXNfYWRkcl90IGFkZHIsIHVpbnQzMl90IHNpemUsIGlu dCB0eXBlKQogewogICAgIFBDSVBDTmV0U3RhdGUgKmQgPSAoUENJUENOZXRTdGF0ZSAqKXBjaV9k ZXY7CiAKSW5kZXg6IHFlbXUtdHJ1bmsvaHcvcnRsODEzOS5jCj09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHFlbXUt dHJ1bmsub3JpZy9ody9ydGw4MTM5LmMKKysrIHFlbXUtdHJ1bmsvaHcvcnRsODEzOS5jCkBAIC0z MzMxLDcgKzMzMzEsNyBAQCB0eXBlZGVmIHN0cnVjdCBQQ0lSVEw4MTM5U3RhdGUgewogfSBQQ0lS VEw4MTM5U3RhdGU7CiAKIHN0YXRpYyB2b2lkIHJ0bDgxMzlfbW1pb19tYXAoUENJRGV2aWNlICpw Y2lfZGV2LCBpbnQgcmVnaW9uX251bSwKLSAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qg YWRkciwgdWludDMyX3Qgc2l6ZSwgaW50IHR5cGUpCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHRhcmdldF9waHlzX2FkZHJfdCBhZGRyLCB1aW50MzJfdCBzaXplLCBpbnQgdHlwZSkKIHsK ICAgICBQQ0lSVEw4MTM5U3RhdGUgKmQgPSAoUENJUlRMODEzOVN0YXRlICopcGNpX2RldjsKICAg ICBSVEw4MTM5U3RhdGUgKnMgPSAmZC0+cnRsODEzOTsKQEAgLTMzNDAsNyArMzM0MCw3IEBAIHN0 YXRpYyB2b2lkIHJ0bDgxMzlfbW1pb19tYXAoUENJRGV2aWNlICoKIH0KIAogc3RhdGljIHZvaWQg cnRsODEzOV9pb3BvcnRfbWFwKFBDSURldmljZSAqcGNpX2RldiwgaW50IHJlZ2lvbl9udW0sCi0g ICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGFkZHIsIHVpbnQzMl90IHNpemUsIGludCB0 eXBlKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldF9waHlzX2FkZHJfdCBh ZGRyLCB1aW50MzJfdCBzaXplLCBpbnQgdHlwZSkKIHsKICAgICBQQ0lSVEw4MTM5U3RhdGUgKmQg PSAoUENJUlRMODEzOVN0YXRlICopcGNpX2RldjsKICAgICBSVEw4MTM5U3RhdGUgKnMgPSAmZC0+ cnRsODEzOTsKSW5kZXg6IHFlbXUtdHJ1bmsvaHcvdXNiLW9oY2kuYwo9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBx ZW11LXRydW5rLm9yaWcvaHcvdXNiLW9oY2kuYworKysgcWVtdS10cnVuay9ody91c2Itb2hjaS5j CkBAIC0xNzA1LDcgKzE3MDUsNyBAQCB0eXBlZGVmIHN0cnVjdCB7CiB9IE9IQ0lQQ0lTdGF0ZTsK IAogc3RhdGljIHZvaWQgb2hjaV9tYXBmdW5jKFBDSURldmljZSAqcGNpX2RldiwgaW50IGksCi0g ICAgICAgICAgICB1aW50MzJfdCBhZGRyLCB1aW50MzJfdCBzaXplLCBpbnQgdHlwZSkKKyAgICAg ICAgICAgICAgICAgICAgICAgICB0YXJnZXRfcGh5c19hZGRyX3QgYWRkciwgdWludDMyX3Qgc2l6 ZSwgaW50IHR5cGUpCiB7CiAgICAgT0hDSVBDSVN0YXRlICpvaGNpID0gKE9IQ0lQQ0lTdGF0ZSAq KXBjaV9kZXY7CiAgICAgY3B1X3JlZ2lzdGVyX3BoeXNpY2FsX21lbW9yeShhZGRyLCBzaXplLCBv aGNpLT5zdGF0ZS5tZW0pOwpJbmRleDogcWVtdS10cnVuay9ody91c2ItdWhjaS5jCj09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KLS0tIHFlbXUtdHJ1bmsub3JpZy9ody91c2ItdWhjaS5jCisrKyBxZW11LXRydW5rL2h3L3Vz Yi11aGNpLmMKQEAgLTEwNTcsNyArMTA1Nyw3IEBAIHN0YXRpYyB2b2lkIHVoY2lfZnJhbWVfdGlt ZXIodm9pZCAqb3BhcXUKIH0KIAogc3RhdGljIHZvaWQgdWhjaV9tYXAoUENJRGV2aWNlICpwY2lf ZGV2LCBpbnQgcmVnaW9uX251bSwKLSAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgYWRkciwg dWludDMyX3Qgc2l6ZSwgaW50IHR5cGUpCisgICAgICAgICAgICAgICAgICAgICB0YXJnZXRfcGh5 c19hZGRyX3QgYWRkciwgdWludDMyX3Qgc2l6ZSwgaW50IHR5cGUpCiB7CiAgICAgVUhDSVN0YXRl ICpzID0gKFVIQ0lTdGF0ZSAqKXBjaV9kZXY7CiAKSW5kZXg6IHFlbXUtdHJ1bmsvaHcvdmdhLmMK PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQotLS0gcWVtdS10cnVuay5vcmlnL2h3L3ZnYS5jCisrKyBxZW11LXRydW5rL2h3 L3ZnYS5jCkBAIC0yMjM2LDcgKzIyMzYsNyBAQCB2b2lkIHZnYV9kaXJ0eV9sb2dfc3RhcnQoVkdB U3RhdGUgKnMpCiB9CiAKIHN0YXRpYyB2b2lkIHZnYV9tYXAoUENJRGV2aWNlICpwY2lfZGV2LCBp bnQgcmVnaW9uX251bSwKLSAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgYWRkciwgdWludDMy X3Qgc2l6ZSwgaW50IHR5cGUpCisgICAgICAgICAgICAgICAgICAgIHRhcmdldF9waHlzX2FkZHJf dCBhZGRyLCB1aW50MzJfdCBzaXplLCBpbnQgdHlwZSkKIHsKICAgICBQQ0lWR0FTdGF0ZSAqZCA9 IChQQ0lWR0FTdGF0ZSAqKXBjaV9kZXY7CiAgICAgVkdBU3RhdGUgKnMgPSAmZC0+dmdhX3N0YXRl OwpJbmRleDogcWVtdS10cnVuay9ody92bXdhcmVfdmdhLmMKPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gcWVtdS10 cnVuay5vcmlnL2h3L3Ztd2FyZV92Z2EuYworKysgcWVtdS10cnVuay9ody92bXdhcmVfdmdhLmMK QEAgLTExNzMsNyArMTE3Myw3IEBAIHN0YXRpYyBpbnQgcGNpX3Ztc3ZnYV9sb2FkKFFFTVVGaWxl ICpmLCAKIH0KIAogc3RhdGljIHZvaWQgcGNpX3Ztc3ZnYV9tYXBfaW9wb3J0KFBDSURldmljZSAq cGNpX2RldiwgaW50IHJlZ2lvbl9udW0sCi0gICAgICAgICAgICAgICAgdWludDMyX3QgYWRkciwg dWludDMyX3Qgc2l6ZSwgaW50IHR5cGUpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgdGFyZ2V0X3BoeXNfYWRkcl90IGFkZHIsIHVpbnQzMl90IHNpemUsIGludCB0eXBlKQogewog ICAgIHN0cnVjdCBwY2lfdm1zdmdhX3N0YXRlX3MgKmQgPSAoc3RydWN0IHBjaV92bXN2Z2Ffc3Rh dGVfcyAqKSBwY2lfZGV2OwogICAgIHN0cnVjdCB2bXN2Z2Ffc3RhdGVfcyAqcyA9ICZkLT5jaGlw OwpAQCAtMTE5Myw3ICsxMTkzLDcgQEAgc3RhdGljIHZvaWQgcGNpX3Ztc3ZnYV9tYXBfaW9wb3J0 KFBDSURldgogfQogCiBzdGF0aWMgdm9pZCBwY2lfdm1zdmdhX21hcF9tZW0oUENJRGV2aWNlICpw Y2lfZGV2LCBpbnQgcmVnaW9uX251bSwKLSAgICAgICAgICAgICAgICB1aW50MzJfdCBhZGRyLCB1 aW50MzJfdCBzaXplLCBpbnQgdHlwZSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0 YXJnZXRfcGh5c19hZGRyX3QgYWRkciwgdWludDMyX3Qgc2l6ZSwgaW50IHR5cGUpCiB7CiAgICAg c3RydWN0IHBjaV92bXN2Z2Ffc3RhdGVfcyAqZCA9IChzdHJ1Y3QgcGNpX3Ztc3ZnYV9zdGF0ZV9z ICopIHBjaV9kZXY7CiAgICAgc3RydWN0IHZtc3ZnYV9zdGF0ZV9zICpzID0gJmQtPmNoaXA7Cklu ZGV4OiBxZW11LXRydW5rL2h3L3dkdF9pNjMwMGVzYi5jCj09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHFlbXUtdHJ1 bmsub3JpZy9ody93ZHRfaTYzMDBlc2IuYworKysgcWVtdS10cnVuay9ody93ZHRfaTYzMDBlc2Iu YwpAQCAtMzUxLDcgKzM1MSw3IEBAIHN0YXRpYyB2b2lkIGk2MzAwZXNiX21lbV93cml0ZWwodm9p ZCAqdnAKIH0KIAogc3RhdGljIHZvaWQgaTYzMDBlc2JfbWFwKFBDSURldmljZSAqZGV2LCBpbnQg cmVnaW9uX251bSwKLSAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBhZGRyLCB1aW50 MzJfdCBzaXplLCBpbnQgdHlwZSkKKyAgICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXRfcGh5 c19hZGRyX3QgYWRkciwgdWludDMyX3Qgc2l6ZSwgaW50IHR5cGUpCiB7CiAgICAgc3RhdGljIENQ VVJlYWRNZW1vcnlGdW5jICptZW1fcmVhZFszXSA9IHsKICAgICAgICAgaTYzMDBlc2JfbWVtX3Jl YWRiLAo= --0016e6d460b8869845046c7f234f--