From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chunyan Liu Subject: [PATCH V17 5/6] domcreate: support pvusb in configuration file Date: Wed, 9 Mar 2016 10:10:13 +0800 Message-ID: <1457489414-885-6-git-send-email-cyliu@suse.com> References: <1457489414-885-1-git-send-email-cyliu@suse.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1457489414-885-1-git-send-email-cyliu@suse.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xen.org Cc: jgross@suse.com, wei.liu2@citrix.com, ian.campbell@citrix.com, george.dunlap@eu.citrix.com, Ian.Jackson@eu.citrix.com, Chunyan Liu , jfehlig@suse.com, Simon Cao List-Id: xen-devel@lists.xenproject.org QWRkIGNvZGUgdG8gc3VwcG9ydCBwdnVzYiBpbiBkb21haW4gY29uZmlnIGZpbGUuIE9uZSBjb3Vs ZCBzcGVjaWZ5CnVzYmN0cmwgYW5kIHVzYiBpbiBkb21haW4ncyBjb25maWd1cmF0aW9uIGZpbGUg YW5kIGNyZWF0ZSBkb21haW4sCnRoZW4gdXNiIGNvbnRyb2xsZXJzIHdpbGwgYmUgY3JlYXRlZCBh bmQgdXNiIGRldmljZSB3b3VsZCBiZSBhdHRhY2hlZAp0byBndWVzdCBhdXRvbWF0aWNhbGx5LgoK T25lIGNvdWxkIHNwZWNpZnkgdXNiIGNvbnRyb2xsZXJzIGFuZCB1c2IgZGV2aWNlcyBpbiBjb25m aWcgZmlsZQpsaWtlIHRoaXM6CnVzYmN0cmw9Wyd2ZXJzaW9uPTIscG9ydHM9NCcsICd2ZXJzaW9u PTEsIHBvcnRzPTQnLCBdCnVzYmRldj1bJ2hvc3RidXM9MiwgaG9zdGFkZHI9MSwgY29udHJvbGxl cj0wLHBvcnQ9MScsIF0KClNpZ25lZC1vZmYtYnk6IENodW55YW4gTGl1IDxjeWxpdUBzdXNlLmNv bT4KU2lnbmVkLW9mZi1ieTogU2ltb24gQ2FvIDxjYW9ib3NpbW9uQGdtYWlsLmNvbT4KUmV2aWV3 ZWQtYnk6IEdlb3JnZSBEdW5sYXAgPGdlb3JnZS5kdW5sYXBAY2l0cml4LmNvbT4KQWNrZWQtYnk6 IElhbiBKYWNrc29uIDxJYW4uSmFja3NvbkBldS5jaXRyaXguY29tPgotLS0KIGRvY3MvbWFuL3hs LmNmZy5wb2QuNSAgICAgICAgfCAgODQgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr CiB0b29scy9saWJ4bC9saWJ4bF9jcmVhdGUuYyAgIHwgIDczICsrKysrKysrKysrKysrKysrKysr KysrKysrKy0tCiB0b29scy9saWJ4bC9saWJ4bF9kZXZpY2UuYyAgIHwgICA0ICsrCiB0b29scy9s aWJ4bC9saWJ4bF9pbnRlcm5hbC5oIHwgICA4ICsrKysKIHRvb2xzL2xpYnhsL3hsX2NtZGltcGwu YyAgICAgfCAxMDcgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLQog NSBmaWxlcyBjaGFuZ2VkLCAyNzIgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKCmRpZmYg LS1naXQgYS9kb2NzL21hbi94bC5jZmcucG9kLjUgYi9kb2NzL21hbi94bC5jZmcucG9kLjUKaW5k ZXggNTZiMTExNy4uYjE1NmNhYSAxMDA2NDQKLS0tIGEvZG9jcy9tYW4veGwuY2ZnLnBvZC41Cisr KyBiL2RvY3MvbWFuL3hsLmNmZy5wb2QuNQpAQCAtNzIyLDYgKzcyMiw5MCBAQCBOb3RlIHRoaXMg bWF5IGJlIG92ZXJyaWRkZW4gYnkgcmRtX3BvbGljeSBvcHRpb24gaW4gUENJIGRldmljZSBjb25m aWd1cmF0aW9uLgogCiA9YmFjawogCis9aXRlbSBCPHVzYmN0cmw9WyAiVVNCQ1RSTF9TUEVDX1NU UklORyIsICJVU0JDVFJMX1NQRUNfU1RSSU5HIiwgLi4uIF0+CisKK1NwZWNpZmllcyB0aGUgVVNC IGNvbnRyb2xsZXJzIGNyZWF0ZWQgZm9yIHRoaXMgZ3Vlc3QuIEVhY2gKK0I8VVNCX1NQRUNfU1RS SU5HPiBoYXMgdGhlIGZvcm0gQzxLRVk9VkFMVUUsS0VZPVZBTFVFLC4uLj4gd2hlcmU6CisKKz1v dmVyIDQKKworPWl0ZW0gQjxLRVk9VkFMVUU+CisKK1Bvc3NpYmxlIEI8S0VZPnMgYXJlOgorCis9 b3ZlciA0CisKKz1pdGVtIEI8dHlwZT1UWVBFPgorCitTcGVjaWZpZXMgdGhlIHVzYiBjb250cm9s bGVyIHR5cGUuICBDdXJyZW50bHkgb25seSAncHYnIGFuZCAnYXV0bycKK2FyZSBzdXBwb3J0ZWQu CisKKz1pdGVtIEI8dmVyc2lvbj1WRVJTSU9OPgorCitTcGVjaWZpZXMgdGhlIHVzYiBjb250cm9s bGVyIHZlcnNpb24uICBQb3NzaWJsZSB2YWx1ZXMgaW5jbHVkZQorMSAoVVNCMS4xKSBhbmQgMiAo VVNCMi4wKS4gRGVmYXVsdCBpcyAyIChVU0IyLjApLgorCis9aXRlbSBCPHBvcnRzPVBPUlRTPgor CitTcGVjaWZpZXMgdGhlIHRvdGFsIHBvcnRzIG9mIHRoZSB1c2IgY29udHJvbGxlci4gVGhlIG1h eGltdW0KK251bWJlciBpcyAzMS4gRGVmYXVsdCBpcyA4LgorCitVU0IgY29udHJvbGVyIGlkcyBz dGFydCBmcm9tIDAuICBJbiBsaW5lIHdpdGggdGhlIFVTQiBzcGVjLCBob3dldmVyLAorcG9ydHMg b24gYSBjb250cm9sbGVyIHN0YXJ0IGZyb20gMS4KKworRS5nLgordXNiY3RybD1bInZlcnNpb249 MSxwb3J0cz00IiwgInZlcnNpb249Mixwb3J0cz04IixdCitUaGUgZmlyc3QgY29udHJvbGxlciBo YXM6Citjb250cm9sbGVyIGlkID0gMCwgYW5kIHBvcnQgMSwyLDMsNC4KK1RoZSBzZWNvbmQgY29u dHJvbGxlciBoYXM6Citjb250cm9sbGVyIGlkID0gMSwgYW5kIHBvcnQgMSwyLDMsNCw1LDYsNyw4 LgorCis9YmFjaworCis9YmFjaworCis9aXRlbSBCPHVzYmRldj1bICJVU0JfU1BFQ19TVFJJTkci LCAiVVNCX1NQRUNfU1RSSU5HIiwgLi4uIF0+CisKK1NwZWNpZmllcyB0aGUgVVNCIGRldmljZXMg dG8gYmUgYXR0YWNoZWQgdG8gdGhlIGd1ZXN0IGF0IGJvb3QuIEVhY2gKK0I8VVNCX1NQRUNfU1RS SU5HPiBoYXMgdGhlIGZvcm0gQzxLRVk9VkFMVUUsS0VZPVZBTFVFLC4uLj4gd2hlcmU6CisKKz1v dmVyIDQKKworPWl0ZW0gQjxLRVk9VkFMVUU+CisKK1Bvc3NpYmxlIEI8S0VZPnMgYXJlOgorCis9 b3ZlciA0CisKKz1pdGVtIEI8ZGV2dHlwZT1ob3N0ZGV2PgorCitTcGVjaWZpZXMgVVNCIGRldmlj ZSB0eXBlLiBDdXJyZW50bHkgb25seSBzdXBwb3J0ICdob3N0ZGV2Jy4KKworPWl0ZW0gQjxob3N0 YnVzPWJ1c251bT4KKworU3BlY2lmaWVzIGJ1c251bSBvZiB0aGUgVVNCIGRldmljZSBmcm9tIHRo ZSBob3N0IHBlcnNwZWN0aXZlLgorCis9aXRlbSBCPGhvc3RhZGRyPWRldm51bT4KKworU3BlY2lm aWVzIGRldm51bSBvZiB0aGUgVVNCIGRldmljZSBmcm9tIHRoZSBob3N0IHBlcnNwZWN0aXZlLgor Cis9aXRlbSBCPGNvbnRyb2xsZXI9Q09OVFJPTExFUj4KKworU3BlY2lmaWVzIFVTQiBjb250cm9s bGVyIGlkLCB0byB3aGljaCBjb250cm9sbGVyIHRoZSBVU0IgZGV2aWNlIGlzIGF0dGFjaGVkLgor Cis9aXRlbSBCPHBvcnQ9UE9SVD4KKworU3BlY2lmaWVzIFVTQiBwb3J0LCB0byB3aGljaCBwb3J0 IHRoZSBVU0IgZGV2aWNlIGlzIGF0dGFjaGVkLiBCPHBvcnQ9UE9SVD4KK2lzIHZhbGlkIG9ubHkg d2hlbiBCPGNvbnRyb2xsZXI9Q09OVFJPTExFUj4gaXMgc3BlY2lmaWVkLgorCis9YmFjaworCitJ ZiBubyBjb250cm9sbGVyIGlzIHNwZWNpZmllZCwgYW4gYXZhaWxhYmxlIGNvbnRyb2xsZXI6cG9y dCBjb21iaW5hdGlvbgord2lsbCBiZSB1c2VkLiAgSWYgdGhlcmUgYXJlIG5vIGF2YWlsYWJsZSBj b250cm9sbGVyOnBvcnQgb3B0aW9ucywKK2EgbmV3IGNvbnRyb2xsZXIgd2lsbCBiZSBjcmVhdGVk LgorCis9YmFjaworCiA9aXRlbSBCPHBjaT1bICJQQ0lfU1BFQ19TVFJJTkciLCAiUENJX1NQRUNf U1RSSU5HIiwgLi4uIF0+CiAKIFNwZWNpZmllcyB0aGUgaG9zdCBQQ0kgZGV2aWNlcyB0byBwYXNz dGhyb3VnaCB0byB0aGlzIGd1ZXN0LiBFYWNoIEI8UENJX1NQRUNfU1RSSU5HPgpkaWZmIC0tZ2l0 IGEvdG9vbHMvbGlieGwvbGlieGxfY3JlYXRlLmMgYi90b29scy9saWJ4bC9saWJ4bF9jcmVhdGUu YwppbmRleCBmMTAyOGJjLi42MWI1YzAxIDEwMDY0NAotLS0gYS90b29scy9saWJ4bC9saWJ4bF9j cmVhdGUuYworKysgYi90b29scy9saWJ4bC9saWJ4bF9jcmVhdGUuYwpAQCAtNzMzLDYgKzczMywx MCBAQCBzdGF0aWMgdm9pZCBkb21jcmVhdGVfbGF1bmNoX2RtKGxpYnhsX19lZ2MgKmVnYywgbGli eGxfX211bHRpZGV2ICphb2RldnMsCiAKIHN0YXRpYyB2b2lkIGRvbWNyZWF0ZV9hdHRhY2hfdnRw bXMobGlieGxfX2VnYyAqZWdjLCBsaWJ4bF9fbXVsdGlkZXYgKm11bHRpZGV2LAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmV0KTsKK3N0YXRpYyB2b2lkIGRvbWNyZWF0 ZV9hdHRhY2hfdXNiY3RybHMobGlieGxfX2VnYyAqZWdjLAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBsaWJ4bF9fbXVsdGlkZXYgKm11bHRpZGV2LCBpbnQgcmV0KTsKK3N0 YXRpYyB2b2lkIGRvbWNyZWF0ZV9hdHRhY2hfdXNiZGV2cyhsaWJ4bF9fZWdjICplZ2MsIGxpYnhs X19tdWx0aWRldiAqbXVsdGlkZXYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgaW50IHJldCk7CiBzdGF0aWMgdm9pZCBkb21jcmVhdGVfYXR0YWNoX3BjaShsaWJ4bF9fZWdj ICplZ2MsIGxpYnhsX19tdWx0aWRldiAqYW9kZXZzLAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgaW50IHJldCk7CiBzdGF0aWMgdm9pZCBkb21jcmVhdGVfYXR0YWNoX2R0ZGV2KGxp YnhsX19lZ2MgKmVnYywKQEAgLTE0MDEsMTMgKzE0MDUsMTMgQEAgc3RhdGljIHZvaWQgZG9tY3Jl YXRlX2F0dGFjaF92dHBtcyhsaWJ4bF9fZWdjICplZ2MsCiAgICBpZiAoZF9jb25maWctPm51bV92 dHBtcyA+IDApIHsKICAgICAgICAvKiBBdHRhY2ggdnRwbXMgKi8KICAgICAgICBsaWJ4bF9fbXVs dGlkZXZfYmVnaW4oYW8sICZkY3MtPm11bHRpZGV2KTsKLSAgICAgICBkY3MtPm11bHRpZGV2LmNh bGxiYWNrID0gZG9tY3JlYXRlX2F0dGFjaF9wY2k7CisgICAgICAgZGNzLT5tdWx0aWRldi5jYWxs YmFjayA9IGRvbWNyZWF0ZV9hdHRhY2hfdXNiY3RybHM7CiAgICAgICAgbGlieGxfX2FkZF92dHBt cyhlZ2MsIGFvLCBkb21pZCwgZF9jb25maWcsICZkY3MtPm11bHRpZGV2KTsKICAgICAgICBsaWJ4 bF9fbXVsdGlkZXZfcHJlcGFyZWQoZWdjLCAmZGNzLT5tdWx0aWRldiwgMCk7CiAgICAgICAgcmV0 dXJuOwogICAgfQogCi0gICBkb21jcmVhdGVfYXR0YWNoX3BjaShlZ2MsIG11bHRpZGV2LCAwKTsK KyAgIGRvbWNyZWF0ZV9hdHRhY2hfdXNiY3RybHMoZWdjLCBtdWx0aWRldiwgMCk7CiAgICByZXR1 cm47CiAKIGVycm9yX291dDoKQEAgLTE0MTUsNiArMTQxOSw2OSBAQCBlcnJvcl9vdXQ6CiAgICBk b21jcmVhdGVfY29tcGxldGUoZWdjLCBkY3MsIHJldCk7CiB9CiAKK3N0YXRpYyB2b2lkIGRvbWNy ZWF0ZV9hdHRhY2hfdXNiY3RybHMobGlieGxfX2VnYyAqZWdjLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fbXVsdGlkZXYgKm11bHRpZGV2LCBpbnQgcmV0KQor eworICAgIGxpYnhsX19kb21haW5fY3JlYXRlX3N0YXRlICpkY3MgPSBDT05UQUlORVJfT0YobXVs dGlkZXYsICpkY3MsIG11bHRpZGV2KTsKKyAgICBTVEFURV9BT19HQyhkY3MtPmFvKTsKKyAgICBp bnQgZG9taWQgPSBkY3MtPmd1ZXN0X2RvbWlkOworCisgICAgbGlieGxfZG9tYWluX2NvbmZpZyAq Y29uc3QgZF9jb25maWcgPSBkY3MtPmd1ZXN0X2NvbmZpZzsKKworICAgIGlmIChyZXQpIHsKKyAg ICAgICAgTE9HKEVSUk9SLCAidW5hYmxlIHRvIGFkZCB2dHBtIGRldmljZXMiKTsKKyAgICAgICAg Z290byBlcnJvcl9vdXQ7CisgICAgfQorCisgICAgaWYgKGRfY29uZmlnLT5udW1fdXNiY3RybHMg PiAwKSB7CisgICAgICAgIC8qIEF0dGFjaCB1c2JjdHJscyAqLworICAgICAgICBsaWJ4bF9fbXVs dGlkZXZfYmVnaW4oYW8sICZkY3MtPm11bHRpZGV2KTsKKyAgICAgICAgZGNzLT5tdWx0aWRldi5j YWxsYmFjayA9IGRvbWNyZWF0ZV9hdHRhY2hfdXNiZGV2czsKKyAgICAgICAgbGlieGxfX2FkZF91 c2JjdHJscyhlZ2MsIGFvLCBkb21pZCwgZF9jb25maWcsICZkY3MtPm11bHRpZGV2KTsKKyAgICAg ICAgbGlieGxfX211bHRpZGV2X3ByZXBhcmVkKGVnYywgJmRjcy0+bXVsdGlkZXYsIDApOworICAg ICAgICByZXR1cm47CisgICAgfQorCisgICAgZG9tY3JlYXRlX2F0dGFjaF91c2JkZXZzKGVnYywg bXVsdGlkZXYsIDApOworICAgIHJldHVybjsKKworZXJyb3Jfb3V0OgorICAgIGFzc2VydChyZXQp OworICAgIGRvbWNyZWF0ZV9jb21wbGV0ZShlZ2MsIGRjcywgcmV0KTsKK30KKworCitzdGF0aWMg dm9pZCBkb21jcmVhdGVfYXR0YWNoX3VzYmRldnMobGlieGxfX2VnYyAqZWdjLCBsaWJ4bF9fbXVs dGlkZXYgKm11bHRpZGV2LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmV0 KQoreworICAgIGxpYnhsX19kb21haW5fY3JlYXRlX3N0YXRlICpkY3MgPSBDT05UQUlORVJfT0Yo bXVsdGlkZXYsICpkY3MsIG11bHRpZGV2KTsKKyAgICBTVEFURV9BT19HQyhkY3MtPmFvKTsKKyAg ICBpbnQgZG9taWQgPSBkY3MtPmd1ZXN0X2RvbWlkOworCisgICAgbGlieGxfZG9tYWluX2NvbmZp ZyAqY29uc3QgZF9jb25maWcgPSBkY3MtPmd1ZXN0X2NvbmZpZzsKKworICAgIGlmIChyZXQpIHsK KyAgICAgICAgTE9HKEVSUk9SLCAidW5hYmxlIHRvIGFkZCB1c2JjdHJsIGRldmljZXMiKTsKKyAg ICAgICAgZ290byBlcnJvcl9vdXQ7CisgICAgfQorCisgICAgaWYgKGRfY29uZmlnLT5udW1fdXNi ZGV2cyA+IDApIHsKKyAgICAgICAgLyogQXR0YWNoIHVzYmN0cmxzICovCisgICAgICAgIGxpYnhs X19tdWx0aWRldl9iZWdpbihhbywgJmRjcy0+bXVsdGlkZXYpOworICAgICAgICBkY3MtPm11bHRp ZGV2LmNhbGxiYWNrID0gZG9tY3JlYXRlX2F0dGFjaF9wY2k7CisgICAgICAgIGxpYnhsX19hZGRf dXNiZGV2cyhlZ2MsIGFvLCBkb21pZCwgZF9jb25maWcsICZkY3MtPm11bHRpZGV2KTsKKyAgICAg ICAgbGlieGxfX211bHRpZGV2X3ByZXBhcmVkKGVnYywgJmRjcy0+bXVsdGlkZXYsIDApOworICAg ICAgICByZXR1cm47CisgICAgfQorCisgICAgZG9tY3JlYXRlX2F0dGFjaF9wY2koZWdjLCBtdWx0 aWRldiwgMCk7CisgICAgcmV0dXJuOworCitlcnJvcl9vdXQ6CisgICAgYXNzZXJ0KHJldCk7Cisg ICAgZG9tY3JlYXRlX2NvbXBsZXRlKGVnYywgZGNzLCByZXQpOworfQorCiBzdGF0aWMgdm9pZCBk b21jcmVhdGVfYXR0YWNoX3BjaShsaWJ4bF9fZWdjICplZ2MsIGxpYnhsX19tdWx0aWRldiAqbXVs dGlkZXYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmV0KQogewpAQCAt MTQyNyw3ICsxNDk0LDcgQEAgc3RhdGljIHZvaWQgZG9tY3JlYXRlX2F0dGFjaF9wY2kobGlieGxf X2VnYyAqZWdjLCBsaWJ4bF9fbXVsdGlkZXYgKm11bHRpZGV2LAogICAgIGxpYnhsX2RvbWFpbl9j b25maWcgKmNvbnN0IGRfY29uZmlnID0gZGNzLT5ndWVzdF9jb25maWc7CiAKICAgICBpZiAocmV0 KSB7Ci0gICAgICAgIExPRyhFUlJPUiwgInVuYWJsZSB0byBhZGQgdnRwbSBkZXZpY2VzIik7Cisg ICAgICAgIExPRyhFUlJPUiwgInVuYWJsZSB0byBhZGQgdXNiIGRldmljZXMiKTsKICAgICAgICAg Z290byBlcnJvcl9vdXQ7CiAgICAgfQogCmRpZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bF9k ZXZpY2UuYyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2RldmljZS5jCmluZGV4IGI3YTZhMTMuLjRjZWQ5 YjYgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX2RldmljZS5jCisrKyBiL3Rvb2xzL2xp YnhsL2xpYnhsX2RldmljZS5jCkBAIC01NDQsNiArNTQ0LDggQEAgdm9pZCBsaWJ4bF9fbXVsdGlk ZXZfcHJlcGFyZWQobGlieGxfX2VnYyAqZWdjLAogICogbGlieGxfX2FkZF9kaXNrcwogICogbGli eGxfX2FkZF9uaWNzCiAgKiBsaWJ4bF9fYWRkX3Z0cG1zCisgKiBsaWJ4bF9fYWRkX3VzYmN0cmxz CisgKiBsaWJ4bF9fYWRkX3VzYnMKICAqLwogCiAjZGVmaW5lIERFRklORV9ERVZJQ0VTX0FERCh0 eXBlKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCkBAIC01NjMsNiAr NTY1LDggQEAgdm9pZCBsaWJ4bF9fbXVsdGlkZXZfcHJlcGFyZWQobGlieGxfX2VnYyAqZWdjLAog REVGSU5FX0RFVklDRVNfQUREKGRpc2spCiBERUZJTkVfREVWSUNFU19BREQobmljKQogREVGSU5F X0RFVklDRVNfQUREKHZ0cG0pCitERUZJTkVfREVWSUNFU19BREQodXNiY3RybCkKK0RFRklORV9E RVZJQ0VTX0FERCh1c2JkZXYpCiAKICN1bmRlZiBERUZJTkVfREVWSUNFU19BREQKIApkaWZmIC0t Z2l0IGEvdG9vbHMvbGlieGwvbGlieGxfaW50ZXJuYWwuaCBiL3Rvb2xzL2xpYnhsL2xpYnhsX2lu dGVybmFsLmgKaW5kZXggZjc4Y2I3Mi4uYmUxMDlmNSAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwv bGlieGxfaW50ZXJuYWwuaAorKysgYi90b29scy9saWJ4bC9saWJ4bF9pbnRlcm5hbC5oCkBAIC0z MzUyLDYgKzMzNTIsMTQgQEAgX2hpZGRlbiB2b2lkIGxpYnhsX19hZGRfdnRwbXMobGlieGxfX2Vn YyAqZWdjLCBsaWJ4bF9fYW8gKmFvLCB1aW50MzJfdCBkb21pZCwKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgbGlieGxfZG9tYWluX2NvbmZpZyAqZF9jb25maWcsCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGxpYnhsX19tdWx0aWRldiAqbXVsdGlkZXYpOwogCitfaGlkZGVuIHZv aWQgbGlieGxfX2FkZF91c2JjdHJscyhsaWJ4bF9fZWdjICplZ2MsIGxpYnhsX19hbyAqYW8sCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBkb21pZCwgbGlieGxfZG9t YWluX2NvbmZpZyAqZF9jb25maWcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBs aWJ4bF9fbXVsdGlkZXYgKm11bHRpZGV2KTsKKworX2hpZGRlbiB2b2lkIGxpYnhsX19hZGRfdXNi ZGV2cyhsaWJ4bF9fZWdjICplZ2MsIGxpYnhsX19hbyAqYW8sCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHVpbnQzMl90IGRvbWlkLCBsaWJ4bF9kb21haW5fY29uZmlnICpkX2NvbmZp ZywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX211bHRpZGV2ICptdWx0 aWRldik7CisKIC8qLS0tLS0gZGV2aWNlIG1vZGVsIGNyZWF0aW9uIC0tLS0tKi8KIAogLyogRmly c3QgbGF5ZXI7IHdyYXBzIGxpYnhsX19zcGF3bl9zcGF3bi4gKi8KZGlmZiAtLWdpdCBhL3Rvb2xz L2xpYnhsL3hsX2NtZGltcGwuYyBiL3Rvb2xzL2xpYnhsL3hsX2NtZGltcGwuYwppbmRleCA5OTBk M2M5Li4zMTM3OTE4IDEwMDY0NAotLS0gYS90b29scy9saWJ4bC94bF9jbWRpbXBsLmMKKysrIGIv dG9vbHMvbGlieGwveGxfY21kaW1wbC5jCkBAIC0xMjYwLDYgKzEyNjAsNTggQEAgc3RhdGljIHZv aWQgcGFyc2Vfdm51bWFfY29uZmlnKGNvbnN0IFhMVV9Db25maWcgKmNvbmZpZywKICAgICBmcmVl KHZjcHVfcGFyc2VkKTsKIH0KIAorLyogUGFyc2VzIHVzYmN0cmwgZGF0YSBhbmQgYWRkcyBpbmZv IGludG8gdXNiY3RybAorICogUmV0dXJucyAxIGlmIHRoZSBpbnB1dCB0b2tlbiBkb2VzIG5vdCBt YXRjaCBvbmUgb2YgdGhlIGtleXMKKyAqIG9yIHBhcnNlZCB2YWx1ZXMgYXJlIG5vdCBjb3JyZWN0 LiBTdWNjZXNzZnVsIHBhcnNlIHJldHVybnMgMCAqLworc3RhdGljIGludCBwYXJzZV91c2JjdHJs X2NvbmZpZyhsaWJ4bF9kZXZpY2VfdXNiY3RybCAqdXNiY3RybCwgY2hhciAqdG9rZW4pCit7Cisg ICAgY2hhciAqb3Bhcmc7CisKKyAgICBpZiAoTUFUQ0hfT1BUSU9OKCJ0eXBlIiwgdG9rZW4sIG9w YXJnKSkgeworICAgICAgICBpZiAobGlieGxfdXNiY3RybF90eXBlX2Zyb21fc3RyaW5nKG9wYXJn LCAmdXNiY3RybC0+dHlwZSkpIHsKKyAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiSW52YWxp ZCB1c2IgY29udHJvbGxlciB0eXBlICclcydcbiIsIG9wYXJnKTsKKyAgICAgICAgICAgIHJldHVy biAxOworICAgICAgICB9CisgICAgfSBlbHNlIGlmIChNQVRDSF9PUFRJT04oInZlcnNpb24iLCB0 b2tlbiwgb3BhcmcpKSB7CisgICAgICAgIHVzYmN0cmwtPnZlcnNpb24gPSBhdG9pKG9wYXJnKTsK KyAgICB9IGVsc2UgaWYgKE1BVENIX09QVElPTigicG9ydHMiLCB0b2tlbiwgb3BhcmcpKSB7Cisg ICAgICAgIHVzYmN0cmwtPnBvcnRzID0gYXRvaShvcGFyZyk7CisgICAgfSBlbHNlIHsKKyAgICAg ICAgZnByaW50ZihzdGRlcnIsICJVbmtub3duIHN0cmluZyBgJXMnIGluIHVzYmN0cmwgc3BlY1xu IiwgdG9rZW4pOworICAgICAgICByZXR1cm4gMTsKKyAgICB9CisKKyAgICByZXR1cm4gMDsKK30K KworLyogUGFyc2VzIHVzYmRldiBkYXRhIGFuZCBhZGRzIGluZm8gaW50byB1c2JkZXYKKyAqIFJl dHVybnMgMSBpZiB0aGUgaW5wdXQgdG9rZW4gZG9lcyBub3QgbWF0Y2ggb25lIG9mIHRoZSBrZXlz CisgKiBvciBwYXJzZWQgdmFsdWVzIGFyZSBub3QgY29ycmVjdC4gU3VjY2Vzc2Z1bCBwYXJzZSBy ZXR1cm5zIDAgKi8KK3N0YXRpYyBpbnQgcGFyc2VfdXNiZGV2X2NvbmZpZyhsaWJ4bF9kZXZpY2Vf dXNiZGV2ICp1c2JkZXYsIGNoYXIgKnRva2VuKQoreworICAgIGNoYXIgKm9wYXJnOworCisgICAg aWYgKE1BVENIX09QVElPTigidHlwZSIsIHRva2VuLCBvcGFyZykpIHsKKyAgICAgICAgaWYgKGxp YnhsX3VzYmRldl90eXBlX2Zyb21fc3RyaW5nKG9wYXJnLCAmdXNiZGV2LT50eXBlKSkgeworICAg ICAgICAgICAgZnByaW50ZihzdGRlcnIsICJJbnZhbGlkIHVzYiBkZXZpY2UgdHlwZTogJXNcbiIs IG9wdGFyZyk7CisgICAgICAgICAgICByZXR1cm4gMTsKKyAgICAgICAgfQorICAgIH0gZWxzZSBp ZiAoTUFUQ0hfT1BUSU9OKCJob3N0YnVzIiwgdG9rZW4sIG9wYXJnKSkgeworICAgICAgICB1c2Jk ZXYtPnUuaG9zdGRldi5ob3N0YnVzID0gc3RydG91bChvcGFyZywgTlVMTCwgMCk7CisgICAgfSBl bHNlIGlmIChNQVRDSF9PUFRJT04oImhvc3RhZGRyIiwgdG9rZW4sIG9wYXJnKSkgeworICAgICAg ICB1c2JkZXYtPnUuaG9zdGRldi5ob3N0YWRkciA9IHN0cnRvdWwob3BhcmcsIE5VTEwsIDApOwor ICAgIH0gZWxzZSBpZiAoTUFUQ0hfT1BUSU9OKCJjb250cm9sbGVyIiwgdG9rZW4sIG9wYXJnKSkg eworICAgICAgICB1c2JkZXYtPmN0cmwgPSBhdG9pKG9wYXJnKTsKKyAgICB9IGVsc2UgaWYgKE1B VENIX09QVElPTigicG9ydCIsIHRva2VuLCBvcGFyZykpIHsKKyAgICAgICAgdXNiZGV2LT5wb3J0 ID0gYXRvaShvcGFyZyk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgZnByaW50ZihzdGRlcnIsICJV bmtub3duIHN0cmluZyBgJXMnIGluIHVzYmRldiBzcGVjXG4iLCB0b2tlbik7CisgICAgICAgIHJl dHVybiAxOworICAgIH0KKworICAgIHJldHVybiAwOworfQorCiBzdGF0aWMgdm9pZCBwYXJzZV9j b25maWdfZGF0YShjb25zdCBjaGFyICpjb25maWdfc291cmNlLAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgY29uc3QgY2hhciAqY29uZmlnX2RhdGEsCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBpbnQgY29uZmlnX2xlbiwKQEAgLTEyNjgsNyArMTMyMCw4IEBAIHN0YXRpYyB2 b2lkIHBhcnNlX2NvbmZpZ19kYXRhKGNvbnN0IGNoYXIgKmNvbmZpZ19zb3VyY2UsCiAgICAgY29u c3QgY2hhciAqYnVmOwogICAgIGxvbmcgbCwgdmNwdXMgPSAwOwogICAgIFhMVV9Db25maWcgKmNv bmZpZzsKLSAgICBYTFVfQ29uZmlnTGlzdCAqY3B1cywgKnZiZHMsICpuaWNzLCAqcGNpcywgKmN2 ZmJzLCAqY3B1aWRzLCAqdnRwbXM7CisgICAgWExVX0NvbmZpZ0xpc3QgKmNwdXMsICp2YmRzLCAq bmljcywgKnBjaXMsICpjdmZicywgKmNwdWlkcywgKnZ0cG1zLAorICAgICAgICAgICAgICAgICAg ICp1c2JjdHJscywgKnVzYmRldnM7CiAgICAgWExVX0NvbmZpZ0xpc3QgKmNoYW5uZWxzLCAqaW9w b3J0cywgKmlycXMsICppb21lbSwgKnZpcmlkaWFuLCAqZHRkZXZzOwogICAgIGludCBudW1faW9w b3J0cywgbnVtX2lycXMsIG51bV9pb21lbSwgbnVtX2NwdXMsIG51bV92aXJpZGlhbjsKICAgICBp bnQgcGNpX3Bvd2VyX21nbXQgPSAwOwpAQCAtMjA4NSw2ICsyMTM4LDU4IEBAIHNraXBfdmZiOgog ICAgICAgICB9CiAgICAgfQogCisgICAgaWYgKCF4bHVfY2ZnX2dldF9saXN0KGNvbmZpZywgInVz YmN0cmwiLCAmdXNiY3RybHMsIDAsIDApKSB7CisgICAgICAgIGRfY29uZmlnLT5udW1fdXNiY3Ry bHMgPSAwOworICAgICAgICBkX2NvbmZpZy0+dXNiY3RybHMgPSBOVUxMOworICAgICAgICB3aGls ZSAoKGJ1ZiA9IHhsdV9jZmdfZ2V0X2xpc3RpdGVtKHVzYmN0cmxzLCBkX2NvbmZpZy0+bnVtX3Vz YmN0cmxzKSkKKyAgICAgICAgICAgICAgICE9IE5VTEwpIHsKKyAgICAgICAgICAgIGxpYnhsX2Rl dmljZV91c2JjdHJsICp1c2JjdHJsOworICAgICAgICAgICAgY2hhciAqYnVmMiA9IHN0cmR1cChi dWYpOworICAgICAgICAgICAgY2hhciAqcDsKKworICAgICAgICAgICAgdXNiY3RybCA9IEFSUkFZ X0VYVEVORF9JTklUKGRfY29uZmlnLT51c2JjdHJscywKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBkX2NvbmZpZy0+bnVtX3VzYmN0cmxzLAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX2RldmljZV91c2JjdHJsX2luaXQpOworICAg ICAgICAgICAgcCA9IHN0cnRvayhidWYyLCAiLCIpOworICAgICAgICAgICAgaWYgKCFwKQorICAg ICAgICAgICAgICAgIGdvdG8gc2tpcF91c2JjdHJsOworICAgICAgICAgICAgZG8geworICAgICAg ICAgICAgICAgIHdoaWxlICgqcCA9PSAnICcpCisgICAgICAgICAgICAgICAgICAgIHArKzsKKyAg ICAgICAgICAgICAgICBpZiAocGFyc2VfdXNiY3RybF9jb25maWcodXNiY3RybCwgcCkpCisgICAg ICAgICAgICAgICAgICAgIGV4aXQoMSk7CisgICAgICAgICAgICB9IHdoaWxlICgocCA9IHN0cnRv ayhOVUxMLCAiLCIpKSAhPSBOVUxMKTsKK3NraXBfdXNiY3RybDoKKyAgICAgICAgICAgIGZyZWUo YnVmMik7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBpZiAoIXhsdV9jZmdfZ2V0X2xpc3QoY29u ZmlnLCAidXNiZGV2IiwgJnVzYmRldnMsIDAsIDApKSB7CisgICAgICAgIGRfY29uZmlnLT5udW1f dXNiZGV2cyA9IDA7CisgICAgICAgIGRfY29uZmlnLT51c2JkZXZzID0gTlVMTDsKKyAgICAgICAg d2hpbGUgKChidWYgPSB4bHVfY2ZnX2dldF9saXN0aXRlbSh1c2JkZXZzLCBkX2NvbmZpZy0+bnVt X3VzYmRldnMpKQorICAgICAgICAgICAgICAgIT0gTlVMTCkgeworICAgICAgICAgICAgbGlieGxf ZGV2aWNlX3VzYmRldiAqdXNiZGV2OworICAgICAgICAgICAgY2hhciAqYnVmMiA9IHN0cmR1cChi dWYpOworICAgICAgICAgICAgY2hhciAqcDsKKworICAgICAgICAgICAgdXNiZGV2ID0gQVJSQVlf RVhURU5EX0lOSVRfTk9ERVZJRChkX2NvbmZpZy0+dXNiZGV2cywKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZF9jb25maWctPm51bV91c2JkZXZzLAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9kZXZpY2Vf dXNiZGV2X2luaXQpOworICAgICAgICAgICAgcCA9IHN0cnRvayhidWYyLCAiLCIpOworICAgICAg ICAgICAgaWYgKCFwKQorICAgICAgICAgICAgICAgIGdvdG8gc2tpcF91c2JkZXY7CisgICAgICAg ICAgICBkbyB7CisgICAgICAgICAgICAgICAgd2hpbGUgKCpwID09ICcgJykKKyAgICAgICAgICAg ICAgICAgICAgcCsrOworICAgICAgICAgICAgICAgIGlmIChwYXJzZV91c2JkZXZfY29uZmlnKHVz YmRldiwgcCkpCisgICAgICAgICAgICAgICAgICAgIGV4aXQoMSk7CisgICAgICAgICAgICB9IHdo aWxlICgocCA9IHN0cnRvayhOVUxMLCAiLCIpKSAhPSBOVUxMKTsKK3NraXBfdXNiZGV2OgorICAg ICAgICAgICAgZnJlZShidWYyKTsKKyAgICAgICAgfQorICAgIH0KKwogICAgIHN3aXRjaCAoeGx1 X2NmZ19nZXRfbGlzdChjb25maWcsICJjcHVpZCIsICZjcHVpZHMsIDAsIDEpKSB7CiAgICAgY2Fz ZSAwOgogICAgICAgICB7Ci0tIAoyLjEuNAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3Rz Lnhlbi5vcmcKaHR0cDovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==