From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1NuWpM-000817-So for qemu-devel@nongnu.org; Wed, 24 Mar 2010 16:05:20 -0400 Received: from [140.186.70.92] (port=60804 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NuWpH-0007zt-FU for qemu-devel@nongnu.org; Wed, 24 Mar 2010 16:05:18 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1NuWpE-000419-Au for qemu-devel@nongnu.org; Wed, 24 Mar 2010 16:05:15 -0400 Received: from mail-pz0-f194.google.com ([209.85.222.194]:57769) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1NuWpD-00040n-MJ for qemu-devel@nongnu.org; Wed, 24 Mar 2010 16:05:12 -0400 Received: by pzk32 with SMTP id 32so1243260pzk.4 for ; Wed, 24 Mar 2010 13:05:10 -0700 (PDT) MIME-Version: 1.0 In-Reply-To: <20100324193903.GA11004@redhat.com> References: <20100324193903.GA11004@redhat.com> Date: Wed, 24 Mar 2010 22:05:10 +0200 Message-ID: From: Blue Swirl Content-Type: multipart/mixed; boundary=001636b1495a876e400482917231 Subject: [Qemu-devel] Re: Compile files only once: some planning List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: "Michael S. Tsirkin" Cc: qemu-devel --001636b1495a876e400482917231 Content-Type: text/plain; charset=UTF-8 On 3/24/10, Michael S. Tsirkin wrote: > On Tue, Mar 23, 2010 at 11:43:51PM +0200, Blue Swirl wrote: > > rtl8139.c, e1000.c: need to convert ldl/stl to cpu_physical_memory_read/write. > > > I don't see how it would help. These still get target_phys_addr_t which > is per-target. Further, a ton of devices do > cpu_register_physical_memory/qemu_register_coalesced_mmio. > These are also per target. I don't know what I was eating yesterday: there are no references to ldl/stl in either rtl8139 or e1000. In fact, the conversion is simple for the device itself, just add a property "be". The attached patch performs this part. But now there is a bigger problem, how to pass the property to the device. It's not fair to require the user to remember to set it. > A simple solution would be to change all of cpu_XX functions to > get a 64 bit address. This is a lot of churn, if we do this > anyway we should also pass length to callbacks, this way > rwhandler will get very small or go away completely. It's not too much effort to keep the target_phys_addr_t type. --001636b1495a876e400482917231 Content-Type: text/x-diff; charset=US-ASCII; name="0001-Compile-rtl8139-and-e1000-only-once.patch" Content-Disposition: attachment; filename="0001-Compile-rtl8139-and-e1000-only-once.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_g76k6pcn RnJvbSBlMGFiNWNjNDFjNjgyMDdiZTU1OGNjYjMzMGY0ZmI4M2ZiYTRlZTZmIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBCbHVlIFN3aXJsIDxibGF1d2lyYmVsQGdtYWlsLmNvbT4KRGF0 ZTogV2VkLCAyNCBNYXIgMjAxMCAxOTo1NDowNSArMDAwMApTdWJqZWN0OiBbUEFUQ0hdIENvbXBp bGUgcnRsODEzOSBhbmQgZTEwMDAgb25seSBvbmNlCgpXSVAKClNpZ25lZC1vZmYtYnk6IEJsdWUg U3dpcmwgPGJsYXV3aXJiZWxAZ21haWwuY29tPgotLS0KIE1ha2VmaWxlLm9ianMgICB8ICAgIDIg KwogTWFrZWZpbGUudGFyZ2V0IHwgICAgNCAtLQogaHcvZTEwMDAuYyAgICAgIHwgIDEwOCArKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0KIGh3L3J0 bDgxMzkuYyAgICB8ICAgODIgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0t LS0tCiA0IGZpbGVzIGNoYW5nZWQsIDE0NyBpbnNlcnRpb25zKCspLCA0OSBkZWxldGlvbnMoLSkK CmRpZmYgLS1naXQgYS9NYWtlZmlsZS5vYmpzIGIvTWFrZWZpbGUub2JqcwppbmRleCAyODFmN2E2 Li41NDg5NWY4IDEwMDY0NAotLS0gYS9NYWtlZmlsZS5vYmpzCisrKyBiL01ha2VmaWxlLm9ianMK QEAgLTE1NSw2ICsxNTUsOCBAQCBody1vYmoteSArPSBtc2l4Lm8KIGh3LW9iai15ICs9IG5lMjAw MC5vCiBody1vYmoteSArPSBlZXBybzEwMC5vCiBody1vYmoteSArPSBwY25ldC5vCitody1vYmot eSArPSBydGw4MTM5Lm8KK2h3LW9iai15ICs9IGUxMDAwLm8KIAogaHctb2JqLSQoQ09ORklHX1NN QzkxQzExMSkgKz0gc21jOTFjMTExLm8KIGh3LW9iai0kKENPTkZJR19MQU45MTE4KSArPSBsYW45 MTE4Lm8KZGlmZiAtLWdpdCBhL01ha2VmaWxlLnRhcmdldCBiL01ha2VmaWxlLnRhcmdldAppbmRl eCBlYjRkMDEwLi4xYTg2ZmM0IDEwMDY0NAotLS0gYS9NYWtlZmlsZS50YXJnZXQKKysrIGIvTWFr ZWZpbGUudGFyZ2V0CkBAIC0xNzYsMTAgKzE3Niw2IEBAIFFFTVVfQ0ZMQUdTICs9ICQoVk5DX1NB U0xfQ0ZMQUdTKQogIyB4ZW4gYmFja2VuZCBkcml2ZXIgc3VwcG9ydAogb2JqLSQoQ09ORklHX1hF TikgKz0geGVuX21hY2hpbmVfcHYubyB4ZW5fZG9tYWluYnVpbGQubwogCi0jIFBDSSBuZXR3b3Jr IGNhcmRzCi1vYmoteSArPSBydGw4MTM5Lm8KLW9iai15ICs9IGUxMDAwLm8KLQogIyBIYXJkd2Fy ZSBzdXBwb3J0CiBvYmotaTM4Ni15ID0gaWRlL2NvcmUubwogb2JqLWkzODYteSArPSBwY2tiZC5v IGRtYS5vCmRpZmYgLS1naXQgYS9ody9lMTAwMC5jIGIvaHcvZTEwMDAuYwppbmRleCBmZDMwNTlh Li4wZjcyZGI4IDEwMDY0NAotLS0gYS9ody9lMTAwMC5jCisrKyBiL2h3L2UxMDAwLmMKQEAgLTEy MSw2ICsxMjEsNyBAQCB0eXBlZGVmIHN0cnVjdCBFMTAwMFN0YXRlX3N0IHsKICAgICAgICAgdWlu dDE2X3QgcmVhZGluZzsKICAgICAgICAgdWludDMyX3Qgb2xkX2VlY2Q7CiAgICAgfSBlZWNkX3N0 YXRlOworICAgIHVpbnQzMl90IGJlOwogfSBFMTAwMFN0YXRlOwogCiAjZGVmaW5lCWRlZnJlZyh4 KQl4ID0gKEUxMDAwXyMjeD4+MikKQEAgLTgyNSwxNCArODI2LDExIEBAIHN0YXRpYyB2b2lkICgq bWFjcmVnX3dyaXRlb3BzW10pKEUxMDAwU3RhdGUgKiwgaW50LCB1aW50MzJfdCkgPSB7CiBlbnVt IHsgTldSSVRFT1BTID0gQVJSQVlfU0laRShtYWNyZWdfd3JpdGVvcHMpIH07CiAKIHN0YXRpYyB2 b2lkCi1lMTAwMF9tbWlvX3dyaXRlbCh2b2lkICpvcGFxdWUsIHRhcmdldF9waHlzX2FkZHJfdCBh ZGRyLCB1aW50MzJfdCB2YWwpCitlMTAwMF9tbWlvX3dyaXRlbF9sZSh2b2lkICpvcGFxdWUsIHRh cmdldF9waHlzX2FkZHJfdCBhZGRyLCB1aW50MzJfdCB2YWwpCiB7CiAgICAgRTEwMDBTdGF0ZSAq cyA9IG9wYXF1ZTsKICAgICB1bnNpZ25lZCBpbnQgaW5kZXggPSAoYWRkciAmIDB4MWZmZmYpID4+ IDI7CiAKLSNpZmRlZiBUQVJHRVRfV09SRFNfQklHRU5ESUFOCi0gICAgdmFsID0gYnN3YXAzMih2 YWwpOwotI2VuZGlmCiAgICAgaWYgKGluZGV4IDwgTldSSVRFT1BTICYmIG1hY3JlZ193cml0ZW9w c1tpbmRleF0pCiAgICAgICAgIG1hY3JlZ193cml0ZW9wc1tpbmRleF0ocywgaW5kZXgsIHZhbCk7 CiAgICAgZWxzZSBpZiAoaW5kZXggPCBOUkVBRE9QUyAmJiBtYWNyZWdfcmVhZG9wc1tpbmRleF0p CkBAIC04NDEsMjUgKzgzOSw0NyBAQCBlMTAwMF9tbWlvX3dyaXRlbCh2b2lkICpvcGFxdWUsIHRh cmdldF9waHlzX2FkZHJfdCBhZGRyLCB1aW50MzJfdCB2YWwpCiAgICAgICAgIERCR09VVChVTktO T1dOLCAiTU1JTyB1bmtub3duIHdyaXRlIGFkZHI9MHglMDh4LHZhbD0weCUwOHhcbiIsCiAgICAg ICAgICAgICAgICBpbmRleDw8MiwgdmFsKTsKIH0KK3N0YXRpYyB2b2lkCitlMTAwMF9tbWlvX3dy aXRlbF9iZSh2b2lkICpvcGFxdWUsIHRhcmdldF9waHlzX2FkZHJfdCBhZGRyLCB1aW50MzJfdCB2 YWwpCit7CisgICAgdmFsID0gYnN3YXAzMih2YWwpOworICAgIGUxMDAwX21taW9fd3JpdGVsX2xl KG9wYXF1ZSwgYWRkciwgdmFsKTsKK30KIAogc3RhdGljIHZvaWQKLWUxMDAwX21taW9fd3JpdGV3 KHZvaWQgKm9wYXF1ZSwgdGFyZ2V0X3BoeXNfYWRkcl90IGFkZHIsIHVpbnQzMl90IHZhbCkKK2Ux MDAwX21taW9fd3JpdGV3X2xlKHZvaWQgKm9wYXF1ZSwgdGFyZ2V0X3BoeXNfYWRkcl90IGFkZHIs IHVpbnQzMl90IHZhbCkKIHsKICAgICAvLyBlbXVsYXRlIGh3IHdpdGhvdXQgYnl0ZSBlbmFibGVz OiBubyBSTVcKLSAgICBlMTAwMF9tbWlvX3dyaXRlbChvcGFxdWUsIGFkZHIgJiB+MywKLSAgICAg ICAgICAgICAgICAgICAgICAodmFsICYgMHhmZmZmKSA8PCAoOCooYWRkciAmIDMpKSk7CisgICAg ZTEwMDBfbW1pb193cml0ZWxfbGUob3BhcXVlLCBhZGRyICYgfjMsCisgICAgICAgICAgICAgICAg ICAgICAgICAgKHZhbCAmIDB4ZmZmZikgPDwgKDgqKGFkZHIgJiAzKSkpOwogfQogCiBzdGF0aWMg dm9pZAotZTEwMDBfbW1pb193cml0ZWIodm9pZCAqb3BhcXVlLCB0YXJnZXRfcGh5c19hZGRyX3Qg YWRkciwgdWludDMyX3QgdmFsKQorZTEwMDBfbW1pb193cml0ZXdfYmUodm9pZCAqb3BhcXVlLCB0 YXJnZXRfcGh5c19hZGRyX3QgYWRkciwgdWludDMyX3QgdmFsKQogewogICAgIC8vIGVtdWxhdGUg aHcgd2l0aG91dCBieXRlIGVuYWJsZXM6IG5vIFJNVwotICAgIGUxMDAwX21taW9fd3JpdGVsKG9w YXF1ZSwgYWRkciAmIH4zLAotICAgICAgICAgICAgICAgICAgICAgICh2YWwgJiAweGZmKSA8PCAo OCooYWRkciAmIDMpKSk7CisgICAgZTEwMDBfbW1pb193cml0ZWxfYmUob3BhcXVlLCBhZGRyICYg fjMsCisgICAgICAgICAgICAgICAgICAgICAgICAgKHZhbCAmIDB4ZmZmZikgPDwgKDgqKGFkZHIg JiAzKSkpOworfQorCitzdGF0aWMgdm9pZAorZTEwMDBfbW1pb193cml0ZWJfYmUodm9pZCAqb3Bh cXVlLCB0YXJnZXRfcGh5c19hZGRyX3QgYWRkciwgdWludDMyX3QgdmFsKQoreworICAgIC8vIGVt dWxhdGUgaHcgd2l0aG91dCBieXRlIGVuYWJsZXM6IG5vIFJNVworICAgIGUxMDAwX21taW9fd3Jp dGVsX2JlKG9wYXF1ZSwgYWRkciAmIH4zLAorICAgICAgICAgICAgICAgICAgICAgICAgICh2YWwg JiAweGZmKSA8PCAoOCooYWRkciAmIDMpKSk7Cit9CisKK3N0YXRpYyB2b2lkCitlMTAwMF9tbWlv X3dyaXRlYl9sZSh2b2lkICpvcGFxdWUsIHRhcmdldF9waHlzX2FkZHJfdCBhZGRyLCB1aW50MzJf dCB2YWwpCit7CisgICAgLy8gZW11bGF0ZSBodyB3aXRob3V0IGJ5dGUgZW5hYmxlczogbm8gUk1X CisgICAgZTEwMDBfbW1pb193cml0ZWxfbGUob3BhcXVlLCBhZGRyICYgfjMsCisgICAgICAgICAg ICAgICAgICAgICAgICAgKHZhbCAmIDB4ZmYpIDw8ICg4KihhZGRyICYgMykpKTsKIH0KIAogc3Rh dGljIHVpbnQzMl90Ci1lMTAwMF9tbWlvX3JlYWRsKHZvaWQgKm9wYXF1ZSwgdGFyZ2V0X3BoeXNf YWRkcl90IGFkZHIpCitlMTAwMF9tbWlvX3JlYWRsX2xlKHZvaWQgKm9wYXF1ZSwgdGFyZ2V0X3Bo eXNfYWRkcl90IGFkZHIpCiB7CiAgICAgRTEwMDBTdGF0ZSAqcyA9IG9wYXF1ZTsKICAgICB1bnNp Z25lZCBpbnQgaW5kZXggPSAoYWRkciAmIDB4MWZmZmYpID4+IDI7CkBAIC04NjcsOSArODg3LDYg QEAgZTEwMDBfbW1pb19yZWFkbCh2b2lkICpvcGFxdWUsIHRhcmdldF9waHlzX2FkZHJfdCBhZGRy KQogICAgIGlmIChpbmRleCA8IE5SRUFET1BTICYmIG1hY3JlZ19yZWFkb3BzW2luZGV4XSkKICAg ICB7CiAgICAgICAgIHVpbnQzMl90IHZhbCA9IG1hY3JlZ19yZWFkb3BzW2luZGV4XShzLCBpbmRl eCk7Ci0jaWZkZWYgVEFSR0VUX1dPUkRTX0JJR0VORElBTgotICAgICAgICB2YWwgPSBic3dhcDMy KHZhbCk7Ci0jZW5kaWYKICAgICAgICAgcmV0dXJuIHZhbDsKICAgICB9CiAgICAgREJHT1VUKFVO S05PV04sICJNTUlPIHVua25vd24gcmVhZCBhZGRyPTB4JTA4eFxuIiwgaW5kZXg8PDIpOwpAQCAt ODc3LDE2ICs4OTQsMzggQEAgZTEwMDBfbW1pb19yZWFkbCh2b2lkICpvcGFxdWUsIHRhcmdldF9w aHlzX2FkZHJfdCBhZGRyKQogfQogCiBzdGF0aWMgdWludDMyX3QKLWUxMDAwX21taW9fcmVhZGIo dm9pZCAqb3BhcXVlLCB0YXJnZXRfcGh5c19hZGRyX3QgYWRkcikKK2UxMDAwX21taW9fcmVhZGxf YmUodm9pZCAqb3BhcXVlLCB0YXJnZXRfcGh5c19hZGRyX3QgYWRkcikKIHsKLSAgICByZXR1cm4g KChlMTAwMF9tbWlvX3JlYWRsKG9wYXF1ZSwgYWRkciAmIH4zKSkgPj4KKyAgICB1aW50MzJfdCB2 YWwgPSBlMTAwMF9tbWlvX3JlYWRsX2xlKG9wYXF1ZSwgYWRkcik7CisgICAgdmFsID0gYnN3YXAz Mih2YWwpOworICAgIHJldHVybiB2YWw7Cit9CisKK3N0YXRpYyB1aW50MzJfdAorZTEwMDBfbW1p b19yZWFkYl9iZSh2b2lkICpvcGFxdWUsIHRhcmdldF9waHlzX2FkZHJfdCBhZGRyKQoreworICAg IHJldHVybiAoKGUxMDAwX21taW9fcmVhZGxfYmUob3BhcXVlLCBhZGRyICYgfjMpKSA+PgogICAg ICAgICAgICAgKDggKiAoYWRkciAmIDMpKSkgJiAweGZmOwogfQogCiBzdGF0aWMgdWludDMyX3QK LWUxMDAwX21taW9fcmVhZHcodm9pZCAqb3BhcXVlLCB0YXJnZXRfcGh5c19hZGRyX3QgYWRkcikK K2UxMDAwX21taW9fcmVhZGJfbGUodm9pZCAqb3BhcXVlLCB0YXJnZXRfcGh5c19hZGRyX3QgYWRk cikKK3sKKyAgICByZXR1cm4gKChlMTAwMF9tbWlvX3JlYWRsX2xlKG9wYXF1ZSwgYWRkciAmIH4z KSkgPj4KKyAgICAgICAgICAgICg4ICogKGFkZHIgJiAzKSkpICYgMHhmZjsKK30KKworc3RhdGlj IHVpbnQzMl90CitlMTAwMF9tbWlvX3JlYWR3X2xlKHZvaWQgKm9wYXF1ZSwgdGFyZ2V0X3BoeXNf YWRkcl90IGFkZHIpCit7CisgICAgcmV0dXJuICgoZTEwMDBfbW1pb19yZWFkbF9sZShvcGFxdWUs IGFkZHIgJiB+MykpID4+CisgICAgICAgICAgICAoOCAqIChhZGRyICYgMykpKSAmIDB4ZmZmZjsK K30KKworc3RhdGljIHVpbnQzMl90CitlMTAwMF9tbWlvX3JlYWR3X2JlKHZvaWQgKm9wYXF1ZSwg dGFyZ2V0X3BoeXNfYWRkcl90IGFkZHIpCiB7Ci0gICAgcmV0dXJuICgoZTEwMDBfbW1pb19yZWFk bChvcGFxdWUsIGFkZHIgJiB+MykpID4+CisgICAgcmV0dXJuICgoZTEwMDBfbW1pb19yZWFkbF9i ZShvcGFxdWUsIGFkZHIgJiB+MykpID4+CiAgICAgICAgICAgICAoOCAqIChhZGRyICYgMykpKSAm IDB4ZmZmZjsKIH0KIApAQCAtMTAwOCwxMyArMTA0NywyOCBAQCBzdGF0aWMgY29uc3QgdWludDMy X3QgbWFjX3JlZ19pbml0W10gPSB7CiB9OwogCiAvKiBQQ0kgaW50ZXJmYWNlICovCitzdGF0aWMg Q1BVV3JpdGVNZW1vcnlGdW5jICogY29uc3QgZTEwMDBfbW1pb193cml0ZV9iZVtdID0geworICAg IGUxMDAwX21taW9fd3JpdGViX2JlLAorICAgIGUxMDAwX21taW9fd3JpdGV3X2JlLAorICAgIGUx MDAwX21taW9fd3JpdGVsX2JlCit9OwogCi1zdGF0aWMgQ1BVV3JpdGVNZW1vcnlGdW5jICogY29u c3QgZTEwMDBfbW1pb193cml0ZVtdID0gewotICAgIGUxMDAwX21taW9fd3JpdGViLAllMTAwMF9t bWlvX3dyaXRldywJZTEwMDBfbW1pb193cml0ZWwKK3N0YXRpYyBDUFVSZWFkTWVtb3J5RnVuYyAq IGNvbnN0IGUxMDAwX21taW9fcmVhZF9iZVtdID0geworICAgIGUxMDAwX21taW9fcmVhZGJfYmUs CisgICAgZTEwMDBfbW1pb19yZWFkd19iZSwKKyAgICBlMTAwMF9tbWlvX3JlYWRsX2JlCiB9Owog Ci1zdGF0aWMgQ1BVUmVhZE1lbW9yeUZ1bmMgKiBjb25zdCBlMTAwMF9tbWlvX3JlYWRbXSA9IHsK LSAgICBlMTAwMF9tbWlvX3JlYWRiLAllMTAwMF9tbWlvX3JlYWR3LAllMTAwMF9tbWlvX3JlYWRs CitzdGF0aWMgQ1BVV3JpdGVNZW1vcnlGdW5jICogY29uc3QgZTEwMDBfbW1pb193cml0ZV9sZVtd ID0geworICAgIGUxMDAwX21taW9fd3JpdGViX2xlLAorICAgIGUxMDAwX21taW9fd3JpdGV3X2xl LAorICAgIGUxMDAwX21taW9fd3JpdGVsX2xlCit9OworCitzdGF0aWMgQ1BVUmVhZE1lbW9yeUZ1 bmMgKiBjb25zdCBlMTAwMF9tbWlvX3JlYWRfbGVbXSA9IHsKKyAgICBlMTAwMF9tbWlvX3JlYWRi X2xlLAorICAgIGUxMDAwX21taW9fcmVhZHdfbGUsCisgICAgZTEwMDBfbW1pb19yZWFkbF9sZQog fTsKIAogc3RhdGljIHZvaWQKQEAgLTExMDIsOCArMTE1NiwxMyBAQCBzdGF0aWMgaW50IHBjaV9l MTAwMF9pbml0KFBDSURldmljZSAqcGNpX2RldikKICAgICAvKiBUT0RPOiBSU1QjIHZhbHVlIHNo b3VsZCBiZSAwIGlmIHByb2dyYW1tYWJsZSwgUENJIHNwZWMgNi4yLjQgKi8KICAgICBwY2lfY29u ZltQQ0lfSU5URVJSVVBUX1BJTl0gPSAxOyAvLyBpbnRlcnJ1cHQgcGluIDAKIAotICAgIGQtPm1t aW9faW5kZXggPSBjcHVfcmVnaXN0ZXJfaW9fbWVtb3J5KGUxMDAwX21taW9fcmVhZCwKLSAgICAg ICAgICAgIGUxMDAwX21taW9fd3JpdGUsIGQpOworICAgIGlmIChkLT5iZSkgeworICAgICAgICBk LT5tbWlvX2luZGV4ID0gY3B1X3JlZ2lzdGVyX2lvX21lbW9yeShlMTAwMF9tbWlvX3JlYWRfYmUs CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGUxMDAwX21t aW9fd3JpdGVfYmUsIGQpOworICAgIH0gZWxzZSB7CisgICAgICAgIGQtPm1taW9faW5kZXggPSBj cHVfcmVnaXN0ZXJfaW9fbWVtb3J5KGUxMDAwX21taW9fcmVhZF9sZSwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZTEwMDBfbW1pb193cml0ZV9sZSwgZCk7 CisgICAgfQogCiAgICAgcGNpX3JlZ2lzdGVyX2JhcigoUENJRGV2aWNlICopZCwgMCwgUE5QTU1J T19TSVpFLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgUENJX0JBU0VfQUREUkVTU19TUEFD RV9NRU1PUlksIGUxMDAwX21taW9fbWFwKTsKQEAgLTExNDYsNiArMTIwNSw3IEBAIHN0YXRpYyBQ Q0lEZXZpY2VJbmZvIGUxMDAwX2luZm8gPSB7CiAgICAgLnJvbWZpbGUgICAgPSAicHhlLWUxMDAw LmJpbiIsCiAgICAgLnFkZXYucHJvcHMgPSAoUHJvcGVydHlbXSkgewogICAgICAgICBERUZJTkVf TklDX1BST1BFUlRJRVMoRTEwMDBTdGF0ZSwgY29uZiksCisgICAgICAgIERFRklORV9QUk9QX1VJ TlQzMigiYmUiLCBFMTAwMFN0YXRlLCBiZSwgMCksCiAgICAgICAgIERFRklORV9QUk9QX0VORF9P Rl9MSVNUKCksCiAgICAgfQogfTsKZGlmZiAtLWdpdCBhL2h3L3J0bDgxMzkuYyBiL2h3L3J0bDgx MzkuYwppbmRleCA3MmUyMjQyLi5lZjVmMWZkIDEwMDY0NAotLS0gYS9ody9ydGw4MTM5LmMKKysr IGIvaHcvcnRsODEzOS5jCkBAIC00OTMsNyArNDkzLDcgQEAgdHlwZWRlZiBzdHJ1Y3QgUlRMODEz OVN0YXRlIHsKICAgICAvKiBQQ0kgaW50ZXJydXB0IHRpbWVyICovCiAgICAgUUVNVVRpbWVyICp0 aW1lcjsKICAgICBpbnQ2NF90IFRpbWVyRXhwaXJlOwotCisgICAgdWludDMyX3QgYmU7CiB9IFJU TDgxMzlTdGF0ZTsKIAogc3RhdGljIHZvaWQgcnRsODEzOV9zZXRfbmV4dF90Y3RyX3RpbWUoUlRM ODEzOVN0YXRlICpzLCBpbnQ2NF90IGN1cnJlbnRfdGltZSk7CkBAIC0zMTIzLDE5ICszMTIzLDI5 IEBAIHN0YXRpYyB2b2lkIHJ0bDgxMzlfbW1pb193cml0ZWIodm9pZCAqb3BhcXVlLCB0YXJnZXRf cGh5c19hZGRyX3QgYWRkciwgdWludDMyX3QKICAgICBydGw4MTM5X2lvX3dyaXRlYihvcGFxdWUs IGFkZHIgJiAweEZGLCB2YWwpOwogfQogCi1zdGF0aWMgdm9pZCBydGw4MTM5X21taW9fd3JpdGV3 KHZvaWQgKm9wYXF1ZSwgdGFyZ2V0X3BoeXNfYWRkcl90IGFkZHIsIHVpbnQzMl90IHZhbCkKK3N0 YXRpYyB2b2lkIHJ0bDgxMzlfbW1pb193cml0ZXdfYmUodm9pZCAqb3BhcXVlLCB0YXJnZXRfcGh5 c19hZGRyX3QgYWRkciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMy X3QgdmFsKQogewotI2lmZGVmIFRBUkdFVF9XT1JEU19CSUdFTkRJQU4KICAgICB2YWwgPSBic3dh cDE2KHZhbCk7Ci0jZW5kaWYKICAgICBydGw4MTM5X2lvX3dyaXRldyhvcGFxdWUsIGFkZHIgJiAw eEZGLCB2YWwpOwogfQogCi1zdGF0aWMgdm9pZCBydGw4MTM5X21taW9fd3JpdGVsKHZvaWQgKm9w YXF1ZSwgdGFyZ2V0X3BoeXNfYWRkcl90IGFkZHIsIHVpbnQzMl90IHZhbCkKK3N0YXRpYyB2b2lk IHJ0bDgxMzlfbW1pb193cml0ZXdfbGUodm9pZCAqb3BhcXVlLCB0YXJnZXRfcGh5c19hZGRyX3Qg YWRkciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgdmFsKQor eworICAgIHJ0bDgxMzlfaW9fd3JpdGV3KG9wYXF1ZSwgYWRkciAmIDB4RkYsIHZhbCk7Cit9CisK K3N0YXRpYyB2b2lkIHJ0bDgxMzlfbW1pb193cml0ZWxfYmUodm9pZCAqb3BhcXVlLCB0YXJnZXRf cGh5c19hZGRyX3QgYWRkciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWlu dDMyX3QgdmFsKQogewotI2lmZGVmIFRBUkdFVF9XT1JEU19CSUdFTkRJQU4KICAgICB2YWwgPSBi c3dhcDMyKHZhbCk7Ci0jZW5kaWYKKyAgICBydGw4MTM5X2lvX3dyaXRlbChvcGFxdWUsIGFkZHIg JiAweEZGLCB2YWwpOworfQorCitzdGF0aWMgdm9pZCBydGw4MTM5X21taW9fd3JpdGVsX2xlKHZv aWQgKm9wYXF1ZSwgdGFyZ2V0X3BoeXNfYWRkcl90IGFkZHIsCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHVpbnQzMl90IHZhbCkKK3sKICAgICBydGw4MTM5X2lvX3dyaXRlbChv cGFxdWUsIGFkZHIgJiAweEZGLCB2YWwpOwogfQogCkBAIC0zMTQ0LDIxICszMTU0LDMxIEBAIHN0 YXRpYyB1aW50MzJfdCBydGw4MTM5X21taW9fcmVhZGIodm9pZCAqb3BhcXVlLCB0YXJnZXRfcGh5 c19hZGRyX3QgYWRkcikKICAgICByZXR1cm4gcnRsODEzOV9pb19yZWFkYihvcGFxdWUsIGFkZHIg JiAweEZGKTsKIH0KIAotc3RhdGljIHVpbnQzMl90IHJ0bDgxMzlfbW1pb19yZWFkdyh2b2lkICpv cGFxdWUsIHRhcmdldF9waHlzX2FkZHJfdCBhZGRyKQorc3RhdGljIHVpbnQzMl90IHJ0bDgxMzlf bW1pb19yZWFkd19iZSh2b2lkICpvcGFxdWUsIHRhcmdldF9waHlzX2FkZHJfdCBhZGRyKQogewog ICAgIHVpbnQzMl90IHZhbCA9IHJ0bDgxMzlfaW9fcmVhZHcob3BhcXVlLCBhZGRyICYgMHhGRik7 Ci0jaWZkZWYgVEFSR0VUX1dPUkRTX0JJR0VORElBTgogICAgIHZhbCA9IGJzd2FwMTYodmFsKTsK LSNlbmRpZgogICAgIHJldHVybiB2YWw7CiB9CiAKLXN0YXRpYyB1aW50MzJfdCBydGw4MTM5X21t aW9fcmVhZGwodm9pZCAqb3BhcXVlLCB0YXJnZXRfcGh5c19hZGRyX3QgYWRkcikKK3N0YXRpYyB1 aW50MzJfdCBydGw4MTM5X21taW9fcmVhZHdfbGUodm9pZCAqb3BhcXVlLCB0YXJnZXRfcGh5c19h ZGRyX3QgYWRkcikKK3sKKyAgICB1aW50MzJfdCB2YWwgPSBydGw4MTM5X2lvX3JlYWR3KG9wYXF1 ZSwgYWRkciAmIDB4RkYpOworCisgICAgcmV0dXJuIHZhbDsKK30KKworc3RhdGljIHVpbnQzMl90 IHJ0bDgxMzlfbW1pb19yZWFkbF9iZSh2b2lkICpvcGFxdWUsIHRhcmdldF9waHlzX2FkZHJfdCBh ZGRyKQogewogICAgIHVpbnQzMl90IHZhbCA9IHJ0bDgxMzlfaW9fcmVhZGwob3BhcXVlLCBhZGRy ICYgMHhGRik7Ci0jaWZkZWYgVEFSR0VUX1dPUkRTX0JJR0VORElBTgogICAgIHZhbCA9IGJzd2Fw MzIodmFsKTsKLSNlbmRpZgorICAgIHJldHVybiB2YWw7Cit9CisKK3N0YXRpYyB1aW50MzJfdCBy dGw4MTM5X21taW9fcmVhZGxfbGUodm9pZCAqb3BhcXVlLCB0YXJnZXRfcGh5c19hZGRyX3QgYWRk cikKK3sKKyAgICB1aW50MzJfdCB2YWwgPSBydGw4MTM5X2lvX3JlYWRsKG9wYXF1ZSwgYWRkciAm IDB4RkYpOworCiAgICAgcmV0dXJuIHZhbDsKIH0KIApAQCAtMzI5MiwxNiArMzMxMiwyOCBAQCBz dGF0aWMgdm9pZCBydGw4MTM5X2lvcG9ydF9tYXAoUENJRGV2aWNlICpwY2lfZGV2LCBpbnQgcmVn aW9uX251bSwKICAgICByZWdpc3Rlcl9pb3BvcnRfcmVhZCggYWRkciwgMHgxMDAsIDQsIHJ0bDgx MzlfaW9wb3J0X3JlYWRsLCAgcyk7CiB9CiAKLXN0YXRpYyBDUFVSZWFkTWVtb3J5RnVuYyAqIGNv bnN0IHJ0bDgxMzlfbW1pb19yZWFkWzNdID0geworc3RhdGljIENQVVJlYWRNZW1vcnlGdW5jICog Y29uc3QgcnRsODEzOV9tbWlvX3JlYWRfYmVbM10gPSB7CiAgICAgcnRsODEzOV9tbWlvX3JlYWRi LAotICAgIHJ0bDgxMzlfbW1pb19yZWFkdywKLSAgICBydGw4MTM5X21taW9fcmVhZGwsCisgICAg cnRsODEzOV9tbWlvX3JlYWR3X2JlLAorICAgIHJ0bDgxMzlfbW1pb19yZWFkbF9iZSwKIH07CiAK LXN0YXRpYyBDUFVXcml0ZU1lbW9yeUZ1bmMgKiBjb25zdCBydGw4MTM5X21taW9fd3JpdGVbM10g PSB7CitzdGF0aWMgQ1BVV3JpdGVNZW1vcnlGdW5jICogY29uc3QgcnRsODEzOV9tbWlvX3dyaXRl X2JlWzNdID0gewogICAgIHJ0bDgxMzlfbW1pb193cml0ZWIsCi0gICAgcnRsODEzOV9tbWlvX3dy aXRldywKLSAgICBydGw4MTM5X21taW9fd3JpdGVsLAorICAgIHJ0bDgxMzlfbW1pb193cml0ZXdf YmUsCisgICAgcnRsODEzOV9tbWlvX3dyaXRlbF9iZSwKK307CisKK3N0YXRpYyBDUFVSZWFkTWVt b3J5RnVuYyAqIGNvbnN0IHJ0bDgxMzlfbW1pb19yZWFkX2xlWzNdID0geworICAgIHJ0bDgxMzlf bW1pb19yZWFkYiwKKyAgICBydGw4MTM5X21taW9fcmVhZHdfbGUsCisgICAgcnRsODEzOV9tbWlv X3JlYWRsX2xlLAorfTsKKworc3RhdGljIENQVVdyaXRlTWVtb3J5RnVuYyAqIGNvbnN0IHJ0bDgx MzlfbW1pb193cml0ZV9sZVszXSA9IHsKKyAgICBydGw4MTM5X21taW9fd3JpdGViLAorICAgIHJ0 bDgxMzlfbW1pb193cml0ZXdfbGUsCisgICAgcnRsODEzOV9tbWlvX3dyaXRlbF9sZSwKIH07CiAK IHN0YXRpYyB2b2lkIHJ0bDgxMzlfdGltZXIodm9pZCAqb3BhcXVlKQpAQCAtMzM2OSw4ICszNDAx LDE1IEBAIHN0YXRpYyBpbnQgcGNpX3J0bDgxMzlfaW5pdChQQ0lEZXZpY2UgKmRldikKICAgICBw Y2lfY29uZltQQ0lfQ0FQQUJJTElUWV9MSVNUXSA9IDB4ZGM7CiAKICAgICAvKiBJL08gaGFuZGxl ciBmb3IgbWVtb3J5LW1hcHBlZCBJL08gKi8KLSAgICBzLT5ydGw4MTM5X21taW9faW9fYWRkciA9 Ci0gICAgICAgIGNwdV9yZWdpc3Rlcl9pb19tZW1vcnkocnRsODEzOV9tbWlvX3JlYWQsIHJ0bDgx MzlfbW1pb193cml0ZSwgcyk7CisgICAgaWYgKHMtPmJlKSB7CisgICAgICAgIHMtPnJ0bDgxMzlf bW1pb19pb19hZGRyID0KKyAgICAgICAgICAgIGNwdV9yZWdpc3Rlcl9pb19tZW1vcnkocnRsODEz OV9tbWlvX3JlYWRfYmUsIHJ0bDgxMzlfbW1pb193cml0ZV9iZSwKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgcyk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgcy0+cnRsODEzOV9t bWlvX2lvX2FkZHIgPQorICAgICAgICAgICAgY3B1X3JlZ2lzdGVyX2lvX21lbW9yeShydGw4MTM5 X21taW9fcmVhZF9sZSwgcnRsODEzOV9tbWlvX3dyaXRlX2xlLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBzKTsKKyAgICB9CiAKICAgICBwY2lfcmVnaXN0ZXJfYmFyKCZzLT5k ZXYsIDAsIDB4MTAwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgUENJX0JBU0VfQUREUkVT U19TUEFDRV9JTywgIHJ0bDgxMzlfaW9wb3J0X21hcCk7CkBAIC0zNDA0LDYgKzM0NDMsNyBAQCBz dGF0aWMgUENJRGV2aWNlSW5mbyBydGw4MTM5X2luZm8gPSB7CiAgICAgLnJvbWZpbGUgICAgPSAi cHhlLXJ0bDgxMzkuYmluIiwKICAgICAucWRldi5wcm9wcyA9IChQcm9wZXJ0eVtdKSB7CiAgICAg ICAgIERFRklORV9OSUNfUFJPUEVSVElFUyhSVEw4MTM5U3RhdGUsIGNvbmYpLAorICAgICAgICBE RUZJTkVfUFJPUF9VSU5UMzIoImJlIiwgUlRMODEzOVN0YXRlLCBiZSwgMCksCiAgICAgICAgIERF RklORV9QUk9QX0VORF9PRl9MSVNUKCksCiAgICAgfQogfTsKLS0gCjEuNS42LjUKCg== --001636b1495a876e400482917231--