From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1NxlRU-0001kq-AL for qemu-devel@nongnu.org; Fri, 02 Apr 2010 14:18:04 -0400 Received: from [140.186.70.92] (port=46475 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NxlRS-0001kA-Kb for qemu-devel@nongnu.org; Fri, 02 Apr 2010 14:18:03 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1NxlRP-0000E5-QV for qemu-devel@nongnu.org; Fri, 02 Apr 2010 14:18:02 -0400 Received: from mail-pv0-f173.google.com ([74.125.83.173]:63952) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1NxlRP-0000Dq-I2 for qemu-devel@nongnu.org; Fri, 02 Apr 2010 14:17:59 -0400 Received: by pvc21 with SMTP id 21so969452pvc.4 for ; Fri, 02 Apr 2010 11:17:58 -0700 (PDT) MIME-Version: 1.0 In-Reply-To: <4BB62A74.6090109@redhat.com> References: <1270227919-31031-1-git-send-email-pbonzini@redhat.com> <4BB62A74.6090109@redhat.com> Date: Fri, 2 Apr 2010 21:17:58 +0300 Message-ID: From: Blue Swirl Content-Type: multipart/mixed; boundary=000e0cd13ababf6f58048344ff2b Subject: [Qemu-devel] Re: [PATCH] provide a stub version of kvm-all.c if !CONFIG_KVM List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Paolo Bonzini Cc: qemu-devel@nongnu.org --000e0cd13ababf6f58048344ff2b Content-Type: text/plain; charset=UTF-8 On 4/2/10, Paolo Bonzini wrote: > On 04/02/2010 07:29 PM, Blue Swirl wrote: > > > Could you stub also kvm_init? > > > > It is stubbed, but it returns ENOSYS: > > +int kvm_init(int smp_cpus) > +{ > + return -ENOSYS; > +} > + Sorry, I expected this to be near the end. > and in fact I'm relying this to remove this: > > if (!(kvm_available())) { > printf("Option %s not supported for this target\n", popt->name); > exit(1); > } > > and instead looking for an error when I call kvm_init. I don't see why > kvm_init should be called if not passing -enable-kvm (which is kvm_allowed). > > > > Then this part would be simpler because > > you can call unconditionally kvm_init. I guess there would be no need > > to export kvm_allowed for !CONFIG_KVM case. > > > > I don't understand what you mean. If this doesn't clarify enough, feel > free to pick up the patch and tweak it; I'm not going to spend much time on > QEMU for a while. I merged your patch and mine. Does it still look reasonable? --000e0cd13ababf6f58048344ff2b Content-Type: text/x-diff; charset=US-ASCII; name="0001-provide-a-stub-version-of-kvm-all.c-if-CONFIG_KVM.patch" Content-Disposition: attachment; filename="0001-provide-a-stub-version-of-kvm-all.c-if-CONFIG_KVM.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_g7jbh99j RnJvbSBlY2RhODI0MmRmMTg3NDhiNzNhNjhkM2YzOWE4OWEyYWM0ODNhZjRkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBQYW9sbyBCb256aW5pIDxwYm9uemluaUByZWRoYXQuY29tPgpE YXRlOiBGcmksIDIgQXByIDIwMTAgMTg6MDc6NTUgKzAwMDAKU3ViamVjdDogW1BBVENIXSBwcm92 aWRlIGEgc3R1YiB2ZXJzaW9uIG9mIGt2bS1hbGwuYyBpZiAhQ09ORklHX0tWTQoKVGhpcyBhbGxv d3MgbGltaXRlZCB1c2Ugb2Yga3ZtIGZ1bmN0aW9ucyAod2hpY2ggd2lsbCByZXR1cm4gRU5PU1lT KQpldmVuIGluIG9uY2UtY29tcGlsZWQgbW9kdWxlcy4gIFRoZSBwYXRjaCBhbHNvIGltcHJvdmVz IGEgYml0IHRoZSBlcnJvcgptZXNzYWdlcyBmb3IgS1ZNIGluaXRpYWxpemF0aW9uLgoKU2lnbmVk LW9mZi1ieTogUGFvbG8gQm9uemluaSA8cGJvbnppbmlAcmVkaGF0LmNvbT4KU2lnbmVkLW9mZi1i eTogQmx1ZSBTd2lybCA8YmxhdXdpcmJlbEBnbWFpbC5jb20+Ci0tLQogTWFrZWZpbGUub2JqcyAg IHwgICAgMiArLQogTWFrZWZpbGUudGFyZ2V0IHwgICAgNCArLQoga3ZtLWFsbC5jICAgICAgIHwg ICAgOSArKystCiBrdm0tc3R1Yi5jICAgICAgfCAgMTM1ICsrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIGt2bS5oICAgICAgICAgICB8ICAgMTUg Ky0tLS0tCiBzeXNlbXUuaCAgICAgICAgfCAgICAxICsKIHZsLmMgICAgICAgICAgICB8ICAgMTMg KystLS0tCiA3IGZpbGVzIGNoYW5nZWQsIDE1NCBpbnNlcnRpb25zKCspLCAyNSBkZWxldGlvbnMo LSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBrdm0tc3R1Yi5jCgpkaWZmIC0tZ2l0IGEvTWFrZWZpbGUu b2JqcyBiL01ha2VmaWxlLm9ianMKaW5kZXggMTFlNDRhMC4uY2IyZWMyYyAxMDA2NDQKLS0tIGEv TWFrZWZpbGUub2JqcworKysgYi9NYWtlZmlsZS5vYmpzCkBAIC0xMjgsNyArMTI4LDcgQEAgdXNl ci1vYmoteSArPSBjdXRpbHMubyBjYWNoZS11dGlscy5vCiAjIGxpYmh3CiAKIGh3LW9iai15ID0K LWh3LW9iai15ICs9IGxvYWRlci5vCitody1vYmoteSArPSB2bC5vIGxvYWRlci5vCiBody1vYmot eSArPSB2aXJ0aW8ubyB2aXJ0aW8tY29uc29sZS5vCiBody1vYmoteSArPSBmd19jZmcubyBwY2ku byBwY2lfaG9zdC5vIHBjaWVfaG9zdC5vCiBody1vYmoteSArPSB3YXRjaGRvZy5vCmRpZmYgLS1n aXQgYS9NYWtlZmlsZS50YXJnZXQgYi9NYWtlZmlsZS50YXJnZXQKaW5kZXggMTY3ZmM4ZC4uYzFi ZmM0MSAxMDA2NDQKLS0tIGEvTWFrZWZpbGUudGFyZ2V0CisrKyBiL01ha2VmaWxlLnRhcmdldApA QCAtMSw2ICsxLDcgQEAKICMgLSotIE1vZGU6IG1ha2VmaWxlIC0qLQogCiBHRU5FUkFURURfSEVB REVSUyA9IGNvbmZpZy10YXJnZXQuaAorQ09ORklHX05PX0tWTSA9ICQoaWYgJChzdWJzdCBuLCwk KENPTkZJR19LVk0pKSxuLHkpCiAKIGluY2x1ZGUgLi4vY29uZmlnLWhvc3QubWFrCiBpbmNsdWRl IGNvbmZpZy1kZXZpY2VzLm1hawpAQCAtMTYxLDcgKzE2Miw3IEBAIGVuZGlmICNDT05GSUdfQlNE X1VTRVIKICMgU3lzdGVtIGVtdWxhdG9yIHRhcmdldAogaWZkZWYgQ09ORklHX1NPRlRNTVUKIAot b2JqLXkgPSBhcmNoX2luaXQubyBjcHVzLm8gbW9uaXRvci5vIG1hY2hpbmUubyBnZGJzdHViLm8g dmwubworb2JqLXkgPSBhcmNoX2luaXQubyBjcHVzLm8gbW9uaXRvci5vIG1hY2hpbmUubyBnZGJz dHViLm8KICMgdmlydGlvIGhhcyB0byBiZSBoZXJlIGR1ZSB0byB3ZWlyZCBkZXBlbmRlbmN5IGJl dHdlZW4gUENJIGFuZCB2aXJ0aW8tbmV0LgogIyBuZWVkIHRvIGZpeCB0aGlzIHByb3Blcmx5CiBv YmoteSArPSB2aXJ0aW8tYmxrLm8gdmlydGlvLWJhbGxvb24ubyB2aXJ0aW8tbmV0Lm8gdmlydGlv LXBjaS5vIHZpcnRpby1zZXJpYWwtYnVzLm8KQEAgLTE3MCw2ICsxNzEsNyBAQCBvYmoteSArPSB2 aG9zdF9uZXQubwogb2JqLSQoQ09ORklHX1ZIT1NUX05FVCkgKz0gdmhvc3Qubwogb2JqLXkgKz0g cndoYW5kbGVyLm8KIG9iai0kKENPTkZJR19LVk0pICs9IGt2bS5vIGt2bS1hbGwubworb2JqLSQo Q09ORklHX05PX0tWTSkgKz0ga3ZtLXN0dWIubwogTElCUys9LWx6CiAKIFFFTVVfQ0ZMQUdTICs9 ICQoVk5DX1RMU19DRkxBR1MpCmRpZmYgLS1naXQgYS9rdm0tYWxsLmMgYi9rdm0tYWxsLmMKaW5k ZXggN2FhNWU1Ny4uZjYzMTdlZSAxMDA2NDQKLS0tIGEva3ZtLWFsbC5jCisrKyBiL2t2bS1hbGwu YwpAQCAtNTEsNiArNTEsOCBAQCB0eXBlZGVmIHN0cnVjdCBLVk1TbG90CiAKIHR5cGVkZWYgc3Ry dWN0IGt2bV9kaXJ0eV9sb2cgS1ZNRGlydHlMb2c7CiAKK2ludCBrdm1fYWxsb3dlZCA9IDA7CisK IHN0cnVjdCBLVk1TdGF0ZQogewogICAgIEtWTVNsb3Qgc2xvdHNbMzJdOwpAQCAtNjcwLDYgKzY3 Miw3IEBAIGludCBrdm1faW5pdChpbnQgc21wX2NwdXMpCiAKICAgICBrdm1fc3RhdGUgPSBzOwog ICAgIGNwdV9yZWdpc3Rlcl9waHlzX21lbW9yeV9jbGllbnQoJmt2bV9jcHVfcGh5c19tZW1vcnlf Y2xpZW50KTsKKyAgICBrdm1fYWxsb3dlZCA9IDE7CiAKICAgICByZXR1cm4gMDsKIApAQCAtMTE1 Nyw5ICsxMTYwLDkgQEAgaW50IGt2bV9zZXRfc2lnbmFsX21hc2soQ1BVU3RhdGUgKmVudiwgY29u c3Qgc2lnc2V0X3QgKnNpZ3NldCkKICAgICByZXR1cm4gcjsKIH0KIAotI2lmZGVmIEtWTV9JT0VW RU5URkQKIGludCBrdm1fc2V0X2lvZXZlbnRmZF9waW9fd29yZChpbnQgZmQsIHVpbnQxNl90IGFk ZHIsIHVpbnQxNl90IHZhbCwgYm9vbCBhc3NpZ24pCiB7CisjaWZkZWYgS1ZNX0lPRVZFTlRGRAog ICAgIHN0cnVjdCBrdm1faW9ldmVudGZkIGtpY2sgPSB7CiAgICAgICAgIC5kYXRhbWF0Y2ggPSB2 YWwsCiAgICAgICAgIC5hZGRyID0gYWRkciwKQEAgLTExNzYsNSArMTE3OSw3IEBAIGludCBrdm1f c2V0X2lvZXZlbnRmZF9waW9fd29yZChpbnQgZmQsIHVpbnQxNl90IGFkZHIsIHVpbnQxNl90IHZh bCwgYm9vbCBhc3NpZ24pCiAgICAgaWYgKHIgPCAwKQogICAgICAgICByZXR1cm4gcjsKICAgICBy ZXR1cm4gMDsKLX0KKyNlbHNlCisgICAgcmV0dXJuIC1FTk9TWVM7CiAjZW5kaWYKK30KZGlmZiAt LWdpdCBhL2t2bS1zdHViLmMgYi9rdm0tc3R1Yi5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDAwMDAwMDAuLjgwYmI5MDgKLS0tIC9kZXYvbnVsbAorKysgYi9rdm0tc3R1Yi5jCkBAIC0wLDAg KzEsMTM1IEBACisvKgorICogUUVNVSBLVk0gc3R1YgorICoKKyAqIENvcHlyaWdodCBSZWQgSGF0 LCBJbmMuIDIwMTAKKyAqCisgKiBBdXRob3I6IFBhb2xvIEJvbnppbmkgICAgIDxwYm9uemluaUBy ZWRoYXQuY29tPgorICoKKyAqIFRoaXMgd29yayBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMg b2YgdGhlIEdOVSBHUEwsIHZlcnNpb24gMiBvciBsYXRlci4KKyAqIFNlZSB0aGUgQ09QWUlORyBm aWxlIGluIHRoZSB0b3AtbGV2ZWwgZGlyZWN0b3J5LgorICoKKyAqLworCisjaW5jbHVkZSAicWVt dS1jb21tb24uaCIKKyNpbmNsdWRlICJzeXNlbXUuaCIKKyNpbmNsdWRlICJody9ody5oIgorI2lu Y2x1ZGUgImdkYnN0dWIuaCIKKyNpbmNsdWRlICJrdm0uaCIKKworaW50IGt2bV9pcnFjaGlwX2lu X2tlcm5lbCh2b2lkKQoreworICAgIHJldHVybiAwOworfQorCitpbnQga3ZtX3BpdF9pbl9rZXJu ZWwodm9pZCkKK3sKKyAgICByZXR1cm4gMDsKK30KKworCitpbnQga3ZtX2luaXRfdmNwdShDUFVT dGF0ZSAqZW52KQoreworICAgIHJldHVybiAtRU5PU1lTOworfQorCitpbnQga3ZtX2xvZ19zdGFy dCh0YXJnZXRfcGh5c19hZGRyX3QgcGh5c19hZGRyLCByYW1fYWRkcl90IHNpemUpCit7CisgICAg cmV0dXJuIC1FTk9TWVM7Cit9CisKK2ludCBrdm1fbG9nX3N0b3AodGFyZ2V0X3BoeXNfYWRkcl90 IHBoeXNfYWRkciwgcmFtX2FkZHJfdCBzaXplKQoreworICAgIHJldHVybiAtRU5PU1lTOworfQor CitpbnQga3ZtX2NvYWxlc2NlX21taW9fcmVnaW9uKHRhcmdldF9waHlzX2FkZHJfdCBzdGFydCwg cmFtX2FkZHJfdCBzaXplKQoreworICAgIHJldHVybiAtRU5PU1lTOworfQorCitpbnQga3ZtX3Vu Y29hbGVzY2VfbW1pb19yZWdpb24odGFyZ2V0X3BoeXNfYWRkcl90IHN0YXJ0LCByYW1fYWRkcl90 IHNpemUpCit7CisgICAgcmV0dXJuIC1FTk9TWVM7Cit9CisKK2ludCBrdm1fY2hlY2tfZXh0ZW5z aW9uKEtWTVN0YXRlICpzLCB1bnNpZ25lZCBpbnQgZXh0ZW5zaW9uKQoreworICAgIHJldHVybiAw OworfQorCitpbnQga3ZtX2luaXQoaW50IHNtcF9jcHVzKQoreworICAgIHJldHVybiAtRU5PU1lT OworfQorCit2b2lkIGt2bV9mbHVzaF9jb2FsZXNjZWRfbW1pb19idWZmZXIodm9pZCkKK3sKK30K Kwordm9pZCBrdm1fY3B1X3N5bmNocm9uaXplX3N0YXRlKENQVVN0YXRlICplbnYpCit7Cit9CisK K3ZvaWQga3ZtX2NwdV9zeW5jaHJvbml6ZV9wb3N0X3Jlc2V0KENQVVN0YXRlICplbnYpCit7Cit9 CisKK3ZvaWQga3ZtX2NwdV9zeW5jaHJvbml6ZV9wb3N0X2luaXQoQ1BVU3RhdGUgKmVudikKK3sK K30KKworaW50IGt2bV9jcHVfZXhlYyhDUFVTdGF0ZSAqZW52KQoreworICAgIGFib3J0ICgpOwor fQorCitpbnQga3ZtX2hhc19zeW5jX21tdSh2b2lkKQoreworICAgIHJldHVybiAwOworfQorCitp bnQga3ZtX2hhc192Y3B1X2V2ZW50cyh2b2lkKQoreworICAgIHJldHVybiAwOworfQorCitpbnQg a3ZtX2hhc19yb2J1c3Rfc2luZ2xlc3RlcCh2b2lkKQoreworICAgIHJldHVybiAwOworfQorCit2 b2lkIGt2bV9zZXR1cF9ndWVzdF9tZW1vcnkodm9pZCAqc3RhcnQsIHNpemVfdCBzaXplKQorewor fQorCitpbnQga3ZtX3VwZGF0ZV9ndWVzdF9kZWJ1ZyhDUFVTdGF0ZSAqZW52LCB1bnNpZ25lZCBs b25nIHJlaW5qZWN0X3RyYXApCit7CisgICAgdGJfZmx1c2goZW52KTsKKyAgICByZXR1cm4gMDsK K30KKworaW50IGt2bV9pbnNlcnRfYnJlYWtwb2ludChDUFVTdGF0ZSAqY3VycmVudF9lbnYsIHRh cmdldF91bG9uZyBhZGRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXRfdWxvbmcg bGVuLCBpbnQgdHlwZSkKK3sKKyAgICByZXR1cm4gLUVJTlZBTDsKK30KKworaW50IGt2bV9yZW1v dmVfYnJlYWtwb2ludChDUFVTdGF0ZSAqY3VycmVudF9lbnYsIHRhcmdldF91bG9uZyBhZGRyLAor ICAgICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXRfdWxvbmcgbGVuLCBpbnQgdHlwZSkKK3sK KyAgICByZXR1cm4gLUVJTlZBTDsKK30KKwordm9pZCBrdm1fcmVtb3ZlX2FsbF9icmVha3BvaW50 cyhDUFVTdGF0ZSAqY3VycmVudF9lbnYpCit7Cit9CisKK2ludCBrdm1fc2V0X3NpZ25hbF9tYXNr KENQVVN0YXRlICplbnYsIGNvbnN0IHNpZ3NldF90ICpzaWdzZXQpCit7CisgICAgYWJvcnQoKTsK K30KKworaW50IGt2bV9zZXRfaW9ldmVudGZkX3Bpb193b3JkKGludCBmZCwgdWludDE2X3QgYWRk ciwgdWludDE2X3QgdmFsLCBib29sIGFzc2lnbikKK3sKKyAgICByZXR1cm4gLUVOT1NZUzsKK30K ZGlmZiAtLWdpdCBhL2t2bS5oIGIva3ZtLmgKaW5kZXggMWU1YmUyNy4uZWM2NmIyZiAxMDA2NDQK LS0tIGEva3ZtLmgKKysrIGIva3ZtLmgKQEAgLTIzLDggKzIzLDkgQEAKICNpbmNsdWRlIDxsaW51 eC9rdm0uaD4KICNlbmRpZgogCi0jaWZkZWYgQ09ORklHX0tWTQorI2lmIGRlZmluZWQgQ09ORklH X0tWTSB8fCAhZGVmaW5lZCBORUVEX0NQVV9ICiBleHRlcm4gaW50IGt2bV9hbGxvd2VkOworCiAj ZGVmaW5lIGt2bV9lbmFibGVkKCkgKGt2bV9hbGxvd2VkKQogI2Vsc2UKICNkZWZpbmUga3ZtX2Vu YWJsZWQoKSAoMCkKQEAgLTM0LDggKzM1LDYgQEAgc3RydWN0IGt2bV9ydW47CiAKIC8qIGV4dGVy bmFsIEFQSSAqLwogCi1pbnQga3ZtX2luaXQoaW50IHNtcF9jcHVzKTsKLQogI2lmZGVmIE5FRURf Q1BVX0gKIGludCBrdm1faW5pdF92Y3B1KENQVVN0YXRlICplbnYpOwogCkBAIC0xNjcsMTUgKzE2 Niw3IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBjcHVfc3luY2hyb25pemVfcG9zdF9pbml0KENQVVN0 YXRlICplbnYpCiAgICAgfQogfQogCi0jaWYgZGVmaW5lZChLVk1fSU9FVkVOVEZEKSAmJiBkZWZp bmVkKENPTkZJR19LVk0pCi1pbnQga3ZtX3NldF9pb2V2ZW50ZmRfcGlvX3dvcmQoaW50IGZkLCB1 aW50MTZfdCBhZHIsIHVpbnQxNl90IHZhbCwgYm9vbCBhc3NpZ24pOwotI2Vsc2UKLXN0YXRpYyBp bmxpbmUKLWludCBrdm1fc2V0X2lvZXZlbnRmZF9waW9fd29yZChpbnQgZmQsIHVpbnQxNl90IGFk ciwgdWludDE2X3QgdmFsLCBib29sIGFzc2lnbikKLXsKLSAgICByZXR1cm4gLUVOT1NZUzsKLX0K ICNlbmRpZgogCi0jZW5kaWYKK2ludCBrdm1fc2V0X2lvZXZlbnRmZF9waW9fd29yZChpbnQgZmQs IHVpbnQxNl90IGFkciwgdWludDE2X3QgdmFsLCBib29sIGFzc2lnbik7CiAjZW5kaWYKZGlmZiAt LWdpdCBhL3N5c2VtdS5oIGIvc3lzZW11LmgKaW5kZXggZDBlZmZhMC4uMGI0MjNkYiAxMDA2NDQK LS0tIGEvc3lzZW11LmgKKysrIGIvc3lzZW11LmgKQEAgLTI0Myw0ICsyNDMsNSBAQCB2b2lkIHJ0 Y19jaGFuZ2VfbW9uX2V2ZW50KHN0cnVjdCB0bSAqdG0pOwogCiB2b2lkIHJlZ2lzdGVyX2Rldmlj ZXModm9pZCk7CiAKK2ludCBrdm1faW5pdChpbnQgc21wX2NwdXMpOwogI2VuZGlmCmRpZmYgLS1n aXQgYS92bC5jIGIvdmwuYwppbmRleCA2NzY4Y2YxLi42MDBkYzdmIDEwMDY0NAotLS0gYS92bC5j CisrKyBiL3ZsLmMKQEAgLTE0NSw3ICsxNDUsNiBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAq KmFyZ3YpCiAjaW5jbHVkZSAiZG1hLmgiCiAjaW5jbHVkZSAiYXVkaW8vYXVkaW8uaCIKICNpbmNs dWRlICJtaWdyYXRpb24uaCIKLSNpbmNsdWRlICJrdm0uaCIKICNpbmNsdWRlICJiYWxsb29uLmgi CiAjaW5jbHVkZSAicWVtdS1vcHRpb24uaCIKICNpbmNsdWRlICJxZW11LWNvbmZpZy5oIgpAQCAt MjQxLDcgKzI0MCw2IEBAIHVpbnQ4X3QgcWVtdV91dWlkWzE2XTsKIHN0YXRpYyBRRU1VQm9vdFNl dEhhbmRsZXIgKmJvb3Rfc2V0X2hhbmRsZXI7CiBzdGF0aWMgdm9pZCAqYm9vdF9zZXRfb3BhcXVl OwogCi1pbnQga3ZtX2FsbG93ZWQgPSAwOwogdWludDMyX3QgeGVuX2RvbWlkOwogZW51bSB4ZW5f bW9kZSB4ZW5fbW9kZSA9IFhFTl9FTVVMQVRFOwogCkBAIC0yNjQ5LDYgKzI2NDcsNyBAQCBpbnQg bWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YsIGNoYXIgKiplbnZwKQogI2VuZGlmCiAgICAgaW50 IHNob3dfdm5jX3BvcnQgPSAwOwogICAgIGludCBkZWZjb25maWcgPSAxOworICAgIGludCBlbmFi bGVfa3ZtID0gMDsKIAogICAgIGVycm9yX3NldF9wcm9nbmFtZShhcmd2WzBdKTsKIApAQCAtMzIz NSwxMSArMzIzNCw3IEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndiwgY2hhciAqKmVu dnApCiAgICAgICAgICAgICAgICAgZG9fc21iaW9zX29wdGlvbihvcHRhcmcpOwogICAgICAgICAg ICAgICAgIGJyZWFrOwogICAgICAgICAgICAgY2FzZSBRRU1VX09QVElPTl9lbmFibGVfa3ZtOgot ICAgICAgICAgICAgICAgIGlmICghKGt2bV9hdmFpbGFibGUoKSkpIHsKLSAgICAgICAgICAgICAg ICAgICAgcHJpbnRmKCJPcHRpb24gJXMgbm90IHN1cHBvcnRlZCBmb3IgdGhpcyB0YXJnZXRcbiIs IHBvcHQtPm5hbWUpOwotICAgICAgICAgICAgICAgICAgICBleGl0KDEpOwotICAgICAgICAgICAg ICAgIH0KLSAgICAgICAgICAgICAgICBrdm1fYWxsb3dlZCA9IDE7CisgICAgICAgICAgICAgICAg ZW5hYmxlX2t2bSA9IDE7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICBjYXNl IFFFTVVfT1BUSU9OX3VzYjoKICAgICAgICAgICAgICAgICB1c2JfZW5hYmxlZCA9IDE7CkBAIC0z NTg1LDEyICszNTgwLDEyIEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndiwgY2hhciAq KmVudnApCiAgICAgICAgIGV4aXQoMSk7CiAgICAgfQogCi0gICAgaWYgKGt2bV9lbmFibGVkKCkp IHsKKyAgICBpZiAoZW5hYmxlX2t2bSkgewogICAgICAgICBpbnQgcmV0OwogCiAgICAgICAgIHJl dCA9IGt2bV9pbml0KHNtcF9jcHVzKTsKICAgICAgICAgaWYgKHJldCA8IDApIHsKLSAgICAgICAg ICAgIGZwcmludGYoc3RkZXJyLCAiZmFpbGVkIHRvIGluaXRpYWxpemUgS1ZNXG4iKTsKKyAgICAg ICAgICAgIGZwcmludGYoc3RkZXJyLCAiZmFpbGVkIHRvIGluaXRpYWxpemUgS1ZNOiAlc1xuIiwg c3RyZXJyb3IoLXJldCkpOwogICAgICAgICAgICAgZXhpdCgxKTsKICAgICAgICAgfQogICAgIH0K LS0gCjEuNS42LjUKCg== --000e0cd13ababf6f58048344ff2b--