From mboxrd@z Thu Jan 1 00:00:00 1970 From: Oleksandr Grytsov Subject: [PATCH v1 3/5] xl: add PV sound condif parser Date: Wed, 1 Nov 2017 17:04:45 +0200 Message-ID: <1509548687-6071-4-git-send-email-al1img@gmail.com> References: <1509548687-6071-1-git-send-email-al1img@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta6.messagelabs.com ([193.109.254.103]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1e9uZg-00055I-3F for xen-devel@lists.xenproject.org; Wed, 01 Nov 2017 15:05:00 +0000 Received: by mail-lf0-f68.google.com with SMTP id n69so2891371lfn.2 for ; Wed, 01 Nov 2017 08:04:58 -0700 (PDT) In-Reply-To: <1509548687-6071-1-git-send-email-al1img@gmail.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org Cc: ian.jackson@eu.citrix.com, wei.liu2@citrix.com, Oleksandr Grytsov List-Id: xen-devel@lists.xenproject.org RnJvbTogT2xla3NhbmRyIEdyeXRzb3YgPG9sZWtzYW5kcl9ncnl0c292QGVwYW0uY29tPgoKQWRk IGNvbmZpZyBwYXJzZXIgZm9yIHZpcnR1YWwgc291bmQgZGV2aWNlcwoKU2lnbmVkLW9mZi1ieTog T2xla3NhbmRyIEdyeXRzb3YgPG9sZWtzYW5kcl9ncnl0c292QGVwYW0uY29tPgotLS0KIHRvb2xz L3hsL3hsX3BhcnNlLmMgfCAyNDYgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKwogdG9vbHMveGwveGxfcGFyc2UuaCB8ICAgMSArCiAyIGZpbGVzIGNo YW5nZWQsIDI0NyBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvdG9vbHMveGwveGxfcGFyc2Uu YyBiL3Rvb2xzL3hsL3hsX3BhcnNlLmMKaW5kZXggMDY3OGZiYy4uZTI1ZDA5NiAxMDA2NDQKLS0t IGEvdG9vbHMveGwveGxfcGFyc2UuYworKysgYi90b29scy94bC94bF9wYXJzZS5jCkBAIC04NTEs NiArODUxLDI1MCBAQCBvdXQ6CiAgICAgcmV0dXJuIHJjOwogfQogCitzdGF0aWMgaW50IHBhcnNl X3ZzbmRfcGFyYW1zKGxpYnhsX3ZzbmRfcGFyYW1zICpwYXJhbXMsIGNoYXIgKnRva2VuKQorewor ICAgIGNoYXIgKm9wYXJnOworICAgIGludCBpOworCisgICAgaWYgKE1BVENIX09QVElPTigic2Ft cGxlLXJhdGVzIiwgdG9rZW4sIG9wYXJnKSkgeworICAgICAgICBsaWJ4bF9zdHJpbmdfbGlzdCBy YXRlcyA9IE5VTEw7CisKKyAgICAgICAgc3BsaXRfc3RyaW5nX2ludG9fc3RyaW5nX2xpc3Qob3Bh cmcsICI7IiwgJnJhdGVzKTsKKworICAgICAgICBwYXJhbXMtPm51bV9zYW1wbGVfcmF0ZXMgPSBs aWJ4bF9zdHJpbmdfbGlzdF9sZW5ndGgoJnJhdGVzKTsKKyAgICAgICAgcGFyYW1zLT5zYW1wbGVf cmF0ZXMgPSBjYWxsb2MocGFyYW1zLT5udW1fc2FtcGxlX3JhdGVzLAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YoKnBhcmFtcy0+c2FtcGxlX3JhdGVzKSk7CisK KyAgICAgICAgZm9yIChpID0gMDsgaSA8IHBhcmFtcy0+bnVtX3NhbXBsZV9yYXRlczsgaSsrKSB7 CisgICAgICAgICAgICBwYXJhbXMtPnNhbXBsZV9yYXRlc1tpXSA9IHN0cnRvdWwocmF0ZXNbaV0s IE5VTEwsIDApOworICAgICAgICB9CisKKyAgICAgICAgbGlieGxfc3RyaW5nX2xpc3RfZGlzcG9z ZSgmcmF0ZXMpOworICAgIH0gZWxzZSBpZiAoTUFUQ0hfT1BUSU9OKCJzYW1wbGUtZm9ybWF0cyIs IHRva2VuLCBvcGFyZykpIHsKKyAgICAgICAgbGlieGxfc3RyaW5nX2xpc3QgZm9ybWF0cyA9IE5V TEw7CisKKyAgICAgICAgc3BsaXRfc3RyaW5nX2ludG9fc3RyaW5nX2xpc3Qob3BhcmcsICI7Iiwg JmZvcm1hdHMpOworCisgICAgICAgIHBhcmFtcy0+bnVtX3NhbXBsZV9mb3JtYXRzID0gbGlieGxf c3RyaW5nX2xpc3RfbGVuZ3RoKCZmb3JtYXRzKTsKKyAgICAgICAgcGFyYW1zLT5zYW1wbGVfZm9y bWF0cyA9IGNhbGxvYyhwYXJhbXMtPm51bV9zYW1wbGVfZm9ybWF0cywKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YoKnBhcmFtcy0+c2FtcGxlX2Zvcm1hdHMp KTsKKworICAgICAgICBmb3IgKGkgPSAwOyBpIDwgcGFyYW1zLT5udW1fc2FtcGxlX2Zvcm1hdHM7 IGkrKykgeworICAgICAgICAgICAgbGlieGxfdnNuZF9wY21fZm9ybWF0IGZvcm1hdDsKKworICAg ICAgICAgICAgaWYgKGxpYnhsX3ZzbmRfcGNtX2Zvcm1hdF9mcm9tX3N0cmluZyhmb3JtYXRzW2ld LCAmZm9ybWF0KSkgeworICAgICAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiSW52YWxpZCBw Y20gZm9ybWF0OiAlc1xuIiwgZm9ybWF0c1tpXSk7CisgICAgICAgICAgICAgICAgZXhpdChFWElU X0ZBSUxVUkUpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBwYXJhbXMtPnNhbXBsZV9m b3JtYXRzW2ldID0gZm9ybWF0OworICAgICAgICB9CisKKyAgICAgICAgbGlieGxfc3RyaW5nX2xp c3RfZGlzcG9zZSgmZm9ybWF0cyk7CisgICAgfSBlbHNlIGlmIChNQVRDSF9PUFRJT04oImNoYW5u ZWxzLW1pbiIsIHRva2VuLCBvcGFyZykpIHsKKyAgICAgICAgcGFyYW1zLT5jaGFubmVsc19taW4g PSBzdHJ0b3VsKG9wYXJnLCBOVUxMLCAwKTsKKyAgICB9IGVsc2UgaWYgKE1BVENIX09QVElPTigi Y2hhbm5lbHMtbWF4IiwgdG9rZW4sIG9wYXJnKSkgeworICAgICAgICBwYXJhbXMtPmNoYW5uZWxz X21heCA9IHN0cnRvdWwob3BhcmcsIE5VTEwsIDApOworICAgIH0gZWxzZSBpZiAoTUFUQ0hfT1BU SU9OKCJidWZmZXItc2l6ZSIsIHRva2VuLCBvcGFyZykpIHsKKyAgICAgICAgcGFyYW1zLT5idWZm ZXJfc2l6ZSA9IHN0cnRvdWwob3BhcmcsIE5VTEwsIDApOworICAgIH0gZWxzZSB7CisgICAgICAg IHJldHVybiAxOworICAgIH0KKworICAgIHJldHVybiAwOworfQorCitzdGF0aWMgaW50IHBhcnNl X3ZzbmRfcGNtX3N0cmVhbShsaWJ4bF9kZXZpY2VfdnNuZCAqdnNuZCwgY2hhciAqcGFyYW0pCit7 CisgICAgaWYgKHZzbmQtPm51bV92c25kX3BjbXMgPT0gMCkgeworICAgICAgICBmcHJpbnRmKHN0 ZGVyciwgIk5vIHZzbmQgcGNtIGRldmljZVxuIik7CisgICAgICAgIHJldHVybiAtMTsKKyAgICB9 CisKKyAgICBsaWJ4bF92c25kX3BjbSAqcGNtID0gJnZzbmQtPnBjbXNbdnNuZC0+bnVtX3ZzbmRf cGNtcyAtIDFdOworCisgICAgaWYgKHBjbS0+bnVtX3ZzbmRfc3RyZWFtcyA9PSAwKSB7CisgICAg ICAgIGZwcmludGYoc3RkZXJyLCAiTm8gdnNuZCBzdHJlYW1cbiIpOworICAgICAgICByZXR1cm4g LTE7CisgICAgfQorCisgICAgbGlieGxfdnNuZF9zdHJlYW0gKnN0cmVhbSA9ICZwY20tPnN0cmVh bXNbcGNtLT5udW1fdnNuZF9zdHJlYW1zIC0gMV07CisKKyAgICBpZiAocGFyc2VfdnNuZF9wYXJh bXMoJnN0cmVhbS0+cGFyYW1zLCBwYXJhbSkpIHsKKyAgICAgICAgY2hhciAqb3Bhcmc7CisKKyAg ICAgICAgaWYgKE1BVENIX09QVElPTigiaWQiLCBwYXJhbSwgb3BhcmcpKSB7CisgICAgICAgICAg ICBzdHJlYW0tPmlkID0gc3RyZHVwKG9wYXJnKTsKKyAgICAgICAgfSBlbHNlIGlmIChNQVRDSF9P UFRJT04oInR5cGUiLCBwYXJhbSwgb3BhcmcpKSB7CisKKyAgICAgICAgICAgIGlmIChsaWJ4bF92 c25kX3N0cmVhbV90eXBlX2Zyb21fc3RyaW5nKG9wYXJnLCAmc3RyZWFtLT50eXBlKSkgeworICAg ICAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiSW52YWxpZCBzdHJlYW0gdHlwZTogJXNcbiIs IG9wYXJnKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgICAgICB9CisgICAg ICAgIH0gZWxzZSB7CisgICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIkludmFsaWQgcGFyYW1l dGVyOiAlc1xuIiwgcGFyYW0pOworICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICB9Cisg ICAgfQorCisgICAgcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgcGFyc2VfdnNuZF9wY21fcGFy YW0obGlieGxfZGV2aWNlX3ZzbmQgKnZzbmQsIGNoYXIgKnBhcmFtKQoreworICAgIGlmICh2c25k LT5udW1fdnNuZF9wY21zID09IDApIHsKKyAgICAgICAgZnByaW50ZihzdGRlcnIsICJObyBwY20g ZGV2aWNlXG4iKTsKKyAgICAgICAgcmV0dXJuIC0xOworICAgIH0KKworICAgIGxpYnhsX3ZzbmRf cGNtICpwY20gPSAmdnNuZC0+cGNtc1t2c25kLT5udW1fdnNuZF9wY21zIC0gMV07CisKKyAgICBp ZiAocGFyc2VfdnNuZF9wYXJhbXMoJnBjbS0+cGFyYW1zLCBwYXJhbSkpIHsKKyAgICAgICAgY2hh ciAqb3Bhcmc7CisKKyAgICAgICAgaWYgKE1BVENIX09QVElPTigibmFtZSIsIHBhcmFtLCBvcGFy ZykpIHsKKyAgICAgICAgICAgIHBjbS0+bmFtZSA9IHN0cmR1cChvcGFyZyk7CisgICAgICAgIH0g ZWxzZSB7CisgICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIkludmFsaWQgcGFyYW1ldGVyOiAl c1xuIiwgcGFyYW0pOworICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICB9CisgICAgfQor CisgICAgcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgcGFyc2VfdnNuZF9jYXJkX3BhcmFtKGxp YnhsX2RldmljZV92c25kICp2c25kLCBjaGFyICpwYXJhbSkKK3sKKyAgICBpZiAocGFyc2VfdnNu ZF9wYXJhbXMoJnZzbmQtPnBhcmFtcywgcGFyYW0pKSB7CisgICAgICAgIGNoYXIgKm9wYXJnOwor CisgICAgICAgIGlmIChNQVRDSF9PUFRJT04oImJhY2tlbmQiLCBwYXJhbSwgb3BhcmcpKSB7Cisg ICAgICAgICAgICB2c25kLT5iYWNrZW5kX2RvbW5hbWUgPSBzdHJkdXAob3BhcmcpOworICAgICAg ICB9IGVsc2UgaWYgKE1BVENIX09QVElPTigic2hvcnQtbmFtZSIsIHBhcmFtLCBvcGFyZykpIHsK KyAgICAgICAgICAgIHZzbmQtPnNob3J0X25hbWUgPSBzdHJkdXAob3BhcmcpOworICAgICAgICB9 IGVsc2UgaWYgKE1BVENIX09QVElPTigibG9uZy1uYW1lIiwgcGFyYW0sIG9wYXJnKSkgeworICAg ICAgICAgICAgdnNuZC0+bG9uZ19uYW1lID0gc3RyZHVwKG9wYXJnKTsKKyAgICAgICAgfSBlbHNl IHsKKyAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiSW52YWxpZCBwYXJhbWV0ZXI6ICVzXG4i LCBwYXJhbSk7CisgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgIH0KKyAgICB9CisKKyAg ICByZXR1cm4gMDsKK30KKworc3RhdGljIGludCBwYXJzZV92c25kX2NyZWF0ZV9pdGVtKGxpYnhs X2RldmljZV92c25kICp2c25kLCBjb25zdCBjaGFyICprZXkpCit7CisgICAgaWYgKHN0cmNhc2Vj bXAoa2V5LCAiY2FyZCIpID09IDApIHsKKworICAgIH0gZWxzZSBpZiAoc3RyY2FzZWNtcChrZXks ICJwY20iKSA9PSAwKSB7CisgICAgICAgIEFSUkFZX0VYVEVORF9JTklUX05PREVWSUQodnNuZC0+ cGNtcywgdnNuZC0+bnVtX3ZzbmRfcGNtcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBsaWJ4bF92c25kX3BjbV9pbml0KTsKKyAgICB9IGVsc2UgaWYgKHN0cmNhc2VjbXAoa2V5 LCAic3RyZWFtIikgPT0gMCkgeworICAgICAgICBpZiAodnNuZC0+bnVtX3ZzbmRfcGNtcyA9PSAw KSB7CisgICAgICAgICAgICBBUlJBWV9FWFRFTkRfSU5JVF9OT0RFVklEKHZzbmQtPnBjbXMsIHZz bmQtPm51bV92c25kX3BjbXMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGxpYnhsX3ZzbmRfcGNtX2luaXQpOworICAgICAgICB9CisKKyAgICAgICAgbGlieGxfdnNuZF9w Y20gKnBjbSA9ICAmdnNuZC0+cGNtc1t2c25kLT5udW1fdnNuZF9wY21zIC0gMV07CisKKyAgICAg ICAgQVJSQVlfRVhURU5EX0lOSVRfTk9ERVZJRChwY20tPnN0cmVhbXMsIHBjbS0+bnVtX3ZzbmRf c3RyZWFtcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF92c25kX3N0 cmVhbV9pbml0KTsKKyAgICB9IGVsc2UgeworICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIkludmFs aWQga2V5OiAlc1xuIiwga2V5KTsKKyAgICAgICAgcmV0dXJuIC0xOworICAgIH0KKworICAgIHJl dHVybiAwOworfQorCitpbnQgcGFyc2VfdnNuZF9pdGVtKGxpYnhsX2RldmljZV92c25kICp2c25k LCBjb25zdCBjaGFyICpzcGVjKQoreworICAgIGNoYXIgKmJ1ZiA9IHN0cmR1cChzcGVjKTsKKyAg ICBjaGFyICp0b2tlbiA9IHN0cnRvayhidWYsICIsIik7CisgICAgY2hhciAqa2V5ID0gTlVMTDsK KyAgICBpbnQgcmV0OworCisgICAgd2hpbGUodG9rZW4pIHsKKyAgICAgICAgd2hpbGUgKCp0b2tl biA9PSAnICcpIHRva2VuKys7CisKKyAgICAgICAgaWYgKCFrZXkpIHsKKyAgICAgICAgICAgIGtl eSA9IHRva2VuOworICAgICAgICAgICAgcmV0ID0gcGFyc2VfdnNuZF9jcmVhdGVfaXRlbSh2c25k LCBrZXkpOworICAgICAgICAgICAgaWYgKHJldCkgZ290byBvdXQ7CisgICAgICAgIH0gZWxzZSB7 CisgICAgICAgICAgICBpZiAoc3RyY2FzZWNtcChrZXksICJjYXJkIikgPT0gMCkgeworICAgICAg ICAgICAgICAgIHJldCA9IHBhcnNlX3ZzbmRfY2FyZF9wYXJhbSh2c25kLCB0b2tlbik7CisgICAg ICAgICAgICAgICAgaWYgKHJldCkgZ290byBvdXQ7CisgICAgICAgICAgICB9IGVsc2UgaWYgKHN0 cmNhc2VjbXAoa2V5LCAicGNtIikgPT0gMCkgeworICAgICAgICAgICAgICAgIHJldCA9IHBhcnNl X3ZzbmRfcGNtX3BhcmFtKHZzbmQsIHRva2VuKTsKKyAgICAgICAgICAgICAgICBpZiAocmV0KSBn b3RvIG91dDsKKyAgICAgICAgICAgIH0gZWxzZSBpZiAoc3RyY2FzZWNtcChrZXksICJzdHJlYW0i KSA9PSAwKSB7CisgICAgICAgICAgICAgICAgcmV0ID0gcGFyc2VfdnNuZF9wY21fc3RyZWFtKHZz bmQsIHRva2VuKTsKKyAgICAgICAgICAgICAgICBpZiAocmV0KSBnb3RvIG91dDsKKyAgICAgICAg ICAgIH0KKyAgICAgICAgfQorICAgICAgICB0b2tlbiA9IHN0cnRvayAoTlVMTCwgIiwiKTsKKyAg ICB9CisKKyAgICByZXQgPSAwOworCitvdXQ6CisgICAgZnJlZShidWYpOworICAgIHJldHVybiBy ZXQ7Cit9CisKK3N0YXRpYyB2b2lkIHBhcnNlX3ZzbmRfY2FyZF9jb25maWcoY29uc3QgWExVX0Nv bmZpZyAqY29uZmlnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYTFVfQ29u ZmlnVmFsdWUgKmNhcmRfdmFsdWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGxpYnhsX2RvbWFpbl9jb25maWcgKmRfY29uZmlnKQoreworICAgIGludCByZXQ7CisgICAgWExV X0NvbmZpZ0xpc3QgKmNhcmRfbGlzdDsKKyAgICBsaWJ4bF9kZXZpY2VfdnNuZCAqdnNuZDsKKyAg ICBjb25zdCBjaGFyICpjYXJkX2l0ZW07CisgICAgaW50IGl0ZW0gPSAwOworCisgICAgcmV0ID0g eGx1X2NmZ192YWx1ZV9nZXRfbGlzdChjb25maWcsIGNhcmRfdmFsdWUsICAmY2FyZF9saXN0LCAw KTsKKworICAgIGlmIChyZXQpIHsKKyAgICAgICAgZnByaW50ZihzdGRlcnIsICJGYWlsZWQgdG8g Z2V0IHZzbmQgY2FyZCBsaXN0OiAlc1xuIiwgc3RyZXJyb3IocmV0KSk7CisgICAgICAgIGdvdG8g b3V0OworICAgIH0KKworICAgIHZzbmQgPSBBUlJBWV9FWFRFTkRfSU5JVChkX2NvbmZpZy0+dnNu ZHMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRfY29uZmlnLT5udW1fdnNuZHMsCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX2RldmljZV92c25kX2luaXQpOworCisg ICAgd2hpbGUgKChjYXJkX2l0ZW0gPSB4bHVfY2ZnX2dldF9saXN0aXRlbShjYXJkX2xpc3QsIGl0 ZW0rKykpICE9IE5VTEwpIHsKKyAgICAgICAgcmV0ID0gcGFyc2VfdnNuZF9pdGVtKHZzbmQsIGNh cmRfaXRlbSk7CisgICAgICAgIGlmIChyZXQpIGdvdG8gb3V0OworICAgIH0KKworICAgIHJldCA9 IDA7CisKK291dDoKKworICAgIGlmIChyZXQpIGV4aXQoRVhJVF9GQUlMVVJFKTsKK30KKworc3Rh dGljIHZvaWQgcGFyc2VfdnNuZF9jb25maWcoY29uc3QgWExVX0NvbmZpZyAqY29uZmlnLAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfZG9tYWluX2NvbmZpZyAqZF9jb25maWcp Cit7CisgICAgWExVX0NvbmZpZ0xpc3QgKnZzbmRzOworCisgICAgaWYgKCF4bHVfY2ZnX2dldF9s aXN0KGNvbmZpZywgInZzbmQiLCAmdnNuZHMsIDAsIDApKSB7CisgICAgICAgIFhMVV9Db25maWdW YWx1ZSAqY2FyZF92YWx1ZTsKKworICAgICAgICBkX2NvbmZpZy0+bnVtX3ZzbmRzID0gMDsKKyAg ICAgICAgZF9jb25maWctPnZzbmRzID0gTlVMTDsKKworICAgICAgICB3aGlsZSAoKGNhcmRfdmFs dWUgPSB4bHVfY2ZnX2dldF9saXN0aXRlbTIodnNuZHMsIGRfY29uZmlnLT5udW1fdnNuZHMpKQor ICAgICAgICAgICAgICAgIT0gTlVMTCkgeworICAgICAgICAgICAgcGFyc2VfdnNuZF9jYXJkX2Nv bmZpZyhjb25maWcsIGNhcmRfdmFsdWUsIGRfY29uZmlnKTsKKyAgICAgICAgfQorICAgIH0KK30K Kwogdm9pZCBwYXJzZV9jb25maWdfZGF0YShjb25zdCBjaGFyICpjb25maWdfc291cmNlLAogICAg ICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpjb25maWdfZGF0YSwKICAgICAgICAgICAg ICAgICAgICAgICAgaW50IGNvbmZpZ19sZW4sCkBAIC0xNTY0LDYgKzE4MDgsOCBAQCB2b2lkIHBh cnNlX2NvbmZpZ19kYXRhKGNvbnN0IGNoYXIgKmNvbmZpZ19zb3VyY2UsCiAgICAgICAgIH0KICAg ICB9CiAKKyAgICBwYXJzZV92c25kX2NvbmZpZyhjb25maWcsIGRfY29uZmlnKTsKKwogICAgIGlm ICgheGx1X2NmZ19nZXRfbGlzdCAoY29uZmlnLCAiY2hhbm5lbCIsICZjaGFubmVscywgMCwgMCkp IHsKICAgICAgICAgZF9jb25maWctPm51bV9jaGFubmVscyA9IDA7CiAgICAgICAgIGRfY29uZmln LT5jaGFubmVscyA9IE5VTEw7CmRpZmYgLS1naXQgYS90b29scy94bC94bF9wYXJzZS5oIGIvdG9v bHMveGwveGxfcGFyc2UuaAppbmRleCBjYzQ1OWZiLi45YTk0OGVhIDEwMDY0NAotLS0gYS90b29s cy94bC94bF9wYXJzZS5oCisrKyBiL3Rvb2xzL3hsL3hsX3BhcnNlLmgKQEAgLTM0LDYgKzM0LDcg QEAgaW50IHBhcnNlX3VzYmRldl9jb25maWcobGlieGxfZGV2aWNlX3VzYmRldiAqdXNiZGV2LCBj aGFyICp0b2tlbik7CiBpbnQgcGFyc2VfY3B1cmFuZ2UoY29uc3QgY2hhciAqY3B1LCBsaWJ4bF9i aXRtYXAgKmNwdW1hcCk7CiBpbnQgcGFyc2VfbmljX2NvbmZpZyhsaWJ4bF9kZXZpY2VfbmljICpu aWMsIFhMVV9Db25maWcgKipjb25maWcsIGNoYXIgKnRva2VuKTsKIGludCBwYXJzZV92ZGlzcGxf Y29uZmlnKGxpYnhsX2RldmljZV92ZGlzcGwgKnZkaXNwbCwgY2hhciAqdG9rZW4pOworaW50IHBh cnNlX3ZzbmRfaXRlbShsaWJ4bF9kZXZpY2VfdnNuZCAqdnNuZCwgY29uc3QgY2hhciAqc3BlYyk7 CiAKIGludCBtYXRjaF9vcHRpb25fc2l6ZShjb25zdCBjaGFyICpwcmVmaXgsIHNpemVfdCBsZW4s CiAgICAgICAgICAgICAgICAgICAgICAgY2hhciAqYXJnLCBjaGFyICoqYXJnb3B0KTsKLS0gCjIu Ny40CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVu LWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3Rz Lnhlbi5vcmcveGVuLWRldmVsCg==