From mboxrd@z Thu Jan 1 00:00:00 1970 From: Wei Liu Subject: [PATCH 29/29] xl: merge xl_cmdimpl.c into xl.c Date: Fri, 24 Feb 2017 16:13:14 +0000 Message-ID: <20170224161314.22154-30-wei.liu2@citrix.com> References: <20170224161314.22154-1-wei.liu2@citrix.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 1chIY0-0006p1-LT for xen-devel@lists.xenproject.org; Fri, 24 Feb 2017 16:16:44 +0000 In-Reply-To: <20170224161314.22154-1-wei.liu2@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Xen-devel Cc: Wei Liu , Ian Jackson List-Id: xen-devel@lists.xenproject.org QWZ0ZXIgc3BsaXR0aW5nIG91dCBhbGwgdGhlIG1lYXR5IGJpdHMsIHhsX2NtZGltcGwuYyBkb2Vz bid0IGNvbnRhaW4KbXVjaC4gTWVyZ2UgdGhlIHJlc3QgaW50byB4bC5jIGFuZCBkZWxldGUgdGhl IGZpbGUuCgpTaWduZWQtb2ZmLWJ5OiBXZWkgTGl1IDx3ZWkubGl1MkBjaXRyaXguY29tPgotLS0K IHRvb2xzL3hsL01ha2VmaWxlICAgICB8ICAgMiArLQogdG9vbHMveGwveGwuYyAgICAgICAgIHwg IDU4ICsrKysrKysrKysrKysrKysrKysrKysrKysrKwogdG9vbHMveGwveGxfY21kaW1wbC5jIHwg MTA3IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAz IGZpbGVzIGNoYW5nZWQsIDU5IGluc2VydGlvbnMoKyksIDEwOCBkZWxldGlvbnMoLSkKIGRlbGV0 ZSBtb2RlIDEwMDY0NCB0b29scy94bC94bF9jbWRpbXBsLmMKCmRpZmYgLS1naXQgYS90b29scy94 bC9NYWtlZmlsZSBiL3Rvb2xzL3hsL01ha2VmaWxlCmluZGV4IDhjMzBmZGNmOWUuLjdiNzNlMWI1 NzQgMTAwNjQ0Ci0tLSBhL3Rvb2xzL3hsL01ha2VmaWxlCisrKyBiL3Rvb2xzL3hsL01ha2VmaWxl CkBAIC0xNSw3ICsxNSw3IEBAIExERkxBR1MgKz0gJChQVEhSRUFEX0xERkxBR1MpCiBDRkxBR1Nf WEwgKz0gJChDRkxBR1NfbGlieGVubGlnaHQpCiBDRkxBR1NfWEwgKz0gLVdzaGFkb3cKIAotWExf T0JKUyA9IHhsLm8geGxfY21kaW1wbC5vIHhsX2NtZHRhYmxlLm8geGxfc3hwLm8geGxfdXRpbHMu bworWExfT0JKUyA9IHhsLm8geGxfY21kdGFibGUubyB4bF9zeHAubyB4bF91dGlscy5vCiBYTF9P QkpTICs9IHhsX3RtZW0ubyB4bF9wYXJzZS5vIHhsX2NwdXBvb2wubyB4bF9mbGFzay5vCiBYTF9P QkpTICs9IHhsX3Z0cG0ubyB4bF9ibG9jay5vIHhsX25pYy5vIHhsX3VzYi5vCiBYTF9PQkpTICs9 IHhsX3NjaGVkLm8geGxfcGNpLm8geGxfdmNwdS5vIHhsX2NkLm8geGxfbWVtLm8KZGlmZiAtLWdp dCBhL3Rvb2xzL3hsL3hsLmMgYi90b29scy94bC94bC5jCmluZGV4IDMyMzQ2YWQ3YTUuLjAyMTc5 YTYyMjkgMTAwNjQ0Ci0tLSBhL3Rvb2xzL3hsL3hsLmMKKysrIGIvdG9vbHMveGwveGwuYwpAQCAt NDgsNiArNDgsMTUgQEAgYm9vbCBwcm9ncmVzc191c2VfY3IgPSAwOwogCiB4ZW50b29sbG9nX2xl dmVsIG1pbm1zZ2xldmVsID0gbWlubXNnbGV2ZWxfZGVmYXVsdDsKIAoraW50IGxvZ2ZpbGUgPSAy OworCisvKiBldmVyeSBsaWJ4bCBhY3Rpb24gaW4geGwgdXNlcyB0aGlzIHNhbWUgbGlieGwgY29u dGV4dCAqLworbGlieGxfY3R4ICpjdHg7CisKK3hsY2hpbGQgY2hpbGRyZW5bY2hpbGRfbWF4XTsK KworY29uc3QgY2hhciAqY29tbW9uX2RvbW5hbWU7CisKIC8qIEdldCBhdXRvYmFsbG9vbiBvcHRp b24gYmFzZWQgb24gcHJlc2VuY2Ugb2YgZG9tMF9tZW0gWGVuIGNvbW1hbmQKICAgIGxpbmUgb3B0 aW9uLiAqLwogc3RhdGljIGludCBhdXRvX2F1dG9iYWxsb29uKHZvaWQpCkBAIC0zNzAsNiArMzc5 LDU1IEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKICAgICByZXR1cm4gcmV0Owog fQogCitpbnQgY2hpbGRfcmVwb3J0KHhsY2hpbGRudW0gY2hpbGQpCit7CisgICAgaW50IHN0YXR1 czsKKyAgICBwaWRfdCBnb3QgPSB4bF93YWl0cGlkKGNoaWxkLCAmc3RhdHVzLCAwKTsKKyAgICBp ZiAoZ290IDwgMCkgeworICAgICAgICBmcHJpbnRmKHN0ZGVyciwgInhsOiB3YXJuaW5nLCBmYWls ZWQgdG8gd2FpdHBpZCBmb3IgJXM6ICVzXG4iLAorICAgICAgICAgICAgICAgIGNoaWxkcmVuW2No aWxkXS5kZXNjcmlwdGlvbiwgc3RyZXJyb3IoZXJybm8pKTsKKyAgICAgICAgcmV0dXJuIEVSUk9S X0ZBSUw7CisgICAgfSBlbHNlIGlmIChzdGF0dXMpIHsKKyAgICAgICAgeGxfcmVwb3J0X2NoaWxk X2V4aXRzdGF0dXMoWFRMX0VSUk9SLCBjaGlsZCwgZ290LCBzdGF0dXMpOworICAgICAgICByZXR1 cm4gRVJST1JfRkFJTDsKKyAgICB9IGVsc2UgeworICAgICAgICByZXR1cm4gMDsKKyAgICB9Cit9 CisKK3ZvaWQgaGVscChjb25zdCBjaGFyICpjb21tYW5kKQoreworICAgIGludCBpOworICAgIHN0 cnVjdCBjbWRfc3BlYyAqY21kOworCisgICAgaWYgKCFjb21tYW5kIHx8ICFzdHJjbXAoY29tbWFu ZCwgImhlbHAiKSkgeworICAgICAgICBwcmludGYoIlVzYWdlIHhsIFstdmZOXSA8c3ViY29tbWFu ZD4gW2FyZ3NdXG5cbiIpOworICAgICAgICBwcmludGYoInhsIGZ1bGwgbGlzdCBvZiBzdWJjb21t YW5kczpcblxuIik7CisgICAgICAgIGZvciAoaSA9IDA7IGkgPCBjbWR0YWJsZV9sZW47IGkrKykg eworICAgICAgICAgICAgcHJpbnRmKCIgJS0xOXMgIiwgY21kX3RhYmxlW2ldLmNtZF9uYW1lKTsK KyAgICAgICAgICAgIGlmIChzdHJsZW4oY21kX3RhYmxlW2ldLmNtZF9uYW1lKSA+IDE5KQorICAg ICAgICAgICAgICAgIHByaW50ZigiXG4gJS0xOXMgIiwgIiIpOworICAgICAgICAgICAgcHJpbnRm KCIlc1xuIiwgY21kX3RhYmxlW2ldLmNtZF9kZXNjKTsKKyAgICAgICAgfQorICAgIH0gZWxzZSB7 CisgICAgICAgIGNtZCA9IGNtZHRhYmxlX2xvb2t1cChjb21tYW5kKTsKKyAgICAgICAgaWYgKGNt ZCkgeworICAgICAgICAgICAgcHJpbnRmKCJVc2FnZTogeGwgWy12JXMlc10gJXMgJXNcblxuJXMu XG5cbiIsCisgICAgICAgICAgICAgICAgICAgY21kLT5tb2RpZmllcyA/ICJmIiA6ICIiLAorICAg ICAgICAgICAgICAgICAgIGNtZC0+Y2FuX2RyeXJ1biA/ICJOIiA6ICIiLAorICAgICAgICAgICAg ICAgICAgIGNtZC0+Y21kX25hbWUsCisgICAgICAgICAgICAgICAgICAgY21kLT5jbWRfdXNhZ2Us CisgICAgICAgICAgICAgICAgICAgY21kLT5jbWRfZGVzYyk7CisgICAgICAgICAgICBpZiAoY21k LT5jbWRfb3B0aW9uKQorICAgICAgICAgICAgICAgIHByaW50ZigiT3B0aW9uczpcblxuJXNcbiIs IGNtZC0+Y21kX29wdGlvbik7CisgICAgICAgIH0KKyAgICAgICAgZWxzZSB7CisgICAgICAgICAg ICBwcmludGYoImNvbW1hbmQgXCIlc1wiIG5vdCBpbXBsZW1lbnRlZFxuIiwgY29tbWFuZCk7Cisg ICAgICAgIH0KKyAgICB9Cit9CisKKwogLyoKICAqIExvY2FsIHZhcmlhYmxlczoKICAqIG1vZGU6 IEMKZGlmZiAtLWdpdCBhL3Rvb2xzL3hsL3hsX2NtZGltcGwuYyBiL3Rvb2xzL3hsL3hsX2NtZGlt cGwuYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYmQ3ZjhlZGIwYS4uMDAwMDAwMDAw MAotLS0gYS90b29scy94bC94bF9jbWRpbXBsLmMKKysrIC9kZXYvbnVsbApAQCAtMSwxMDcgKzAs MCBAQAotLyoKLSAqIENvcHlyaWdodCAyMDA5LTIwMTcgQ2l0cml4IEx0ZCBhbmQgb3RoZXIgY29u dHJpYnV0b3JzCi0gKgotICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4g cmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKLSAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0 aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZAotICogYnkg dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgdmVyc2lvbiAyLjEgb25seS4gd2l0aCB0aGUg c3BlY2lhbAotICogZXhjZXB0aW9uIG9uIGxpbmtpbmcgZGVzY3JpYmVkIGluIGZpbGUgTElDRU5T RS4KLSAqCi0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBp dCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBl dmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVT UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCi0gKiBHTlUgTGVzc2VyIEdlbmVy YWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqLwotCi0jZGVmaW5lIF9HTlVf U09VUkNFCi0KLSNpbmNsdWRlIDxzdGRpby5oPgotI2luY2x1ZGUgPHN0ZGxpYi5oPgotI2luY2x1 ZGUgPHN0cmluZy5oPgotI2luY2x1ZGUgPHVuaXN0ZC5oPgotI2luY2x1ZGUgPHRpbWUuaD4KLSNp bmNsdWRlIDxzeXMvdHlwZXMuaD4KLSNpbmNsdWRlIDxzeXMvc3RhdC5oPgotI2luY2x1ZGUgPHN5 cy90aW1lLmg+Ci0jaW5jbHVkZSA8ZmNudGwuaD4KLSNpbmNsdWRlIDxzaWduYWwuaD4KLSNpbmNs dWRlIDxzeXMvc29ja2V0Lmg+Ci0jaW5jbHVkZSA8c3lzL3NlbGVjdC5oPgotI2luY2x1ZGUgPHN5 cy91dHNuYW1lLmg+IC8qIGZvciB1dHNuYW1lIGluIHhsIGluZm8gKi8KLSNpbmNsdWRlIDx4ZW50 b29sbG9nLmg+Ci0jaW5jbHVkZSA8Y3R5cGUuaD4KLSNpbmNsdWRlIDxpbnR0eXBlcy5oPgotI2lu Y2x1ZGUgPGxpbWl0cy5oPgotI2luY2x1ZGUgPHhlbi9odm0vZTgyMC5oPgotCi0jaW5jbHVkZSA8 bGlieGwuaD4KLSNpbmNsdWRlIDxsaWJ4bF91dGlscy5oPgotI2luY2x1ZGUgPGxpYnhsX2pzb24u aD4KLSNpbmNsdWRlIDxsaWJ4bHV0aWwuaD4KLSNpbmNsdWRlICJ4bC5oIgotI2luY2x1ZGUgInhs X3V0aWxzLmgiCi0jaW5jbHVkZSAieGxfcGFyc2UuaCIKLQotaW50IGxvZ2ZpbGUgPSAyOwotCi0v KiBldmVyeSBsaWJ4bCBhY3Rpb24gaW4geGwgdXNlcyB0aGlzIHNhbWUgbGlieGwgY29udGV4dCAq LwotbGlieGxfY3R4ICpjdHg7Ci0KLXhsY2hpbGQgY2hpbGRyZW5bY2hpbGRfbWF4XTsKLQotY29u c3QgY2hhciAqY29tbW9uX2RvbW5hbWU7Ci0KLWludCBjaGlsZF9yZXBvcnQoeGxjaGlsZG51bSBj aGlsZCkKLXsKLSAgICBpbnQgc3RhdHVzOwotICAgIHBpZF90IGdvdCA9IHhsX3dhaXRwaWQoY2hp bGQsICZzdGF0dXMsIDApOwotICAgIGlmIChnb3QgPCAwKSB7Ci0gICAgICAgIGZwcmludGYoc3Rk ZXJyLCAieGw6IHdhcm5pbmcsIGZhaWxlZCB0byB3YWl0cGlkIGZvciAlczogJXNcbiIsCi0gICAg ICAgICAgICAgICAgY2hpbGRyZW5bY2hpbGRdLmRlc2NyaXB0aW9uLCBzdHJlcnJvcihlcnJubykp OwotICAgICAgICByZXR1cm4gRVJST1JfRkFJTDsKLSAgICB9IGVsc2UgaWYgKHN0YXR1cykgewot ICAgICAgICB4bF9yZXBvcnRfY2hpbGRfZXhpdHN0YXR1cyhYVExfRVJST1IsIGNoaWxkLCBnb3Qs IHN0YXR1cyk7Ci0gICAgICAgIHJldHVybiBFUlJPUl9GQUlMOwotICAgIH0gZWxzZSB7Ci0gICAg ICAgIHJldHVybiAwOwotICAgIH0KLX0KLQotdm9pZCBoZWxwKGNvbnN0IGNoYXIgKmNvbW1hbmQp Ci17Ci0gICAgaW50IGk7Ci0gICAgc3RydWN0IGNtZF9zcGVjICpjbWQ7Ci0KLSAgICBpZiAoIWNv bW1hbmQgfHwgIXN0cmNtcChjb21tYW5kLCAiaGVscCIpKSB7Ci0gICAgICAgIHByaW50ZigiVXNh Z2UgeGwgWy12Zk5dIDxzdWJjb21tYW5kPiBbYXJnc11cblxuIik7Ci0gICAgICAgIHByaW50Zigi eGwgZnVsbCBsaXN0IG9mIHN1YmNvbW1hbmRzOlxuXG4iKTsKLSAgICAgICAgZm9yIChpID0gMDsg aSA8IGNtZHRhYmxlX2xlbjsgaSsrKSB7Ci0gICAgICAgICAgICBwcmludGYoIiAlLTE5cyAiLCBj bWRfdGFibGVbaV0uY21kX25hbWUpOwotICAgICAgICAgICAgaWYgKHN0cmxlbihjbWRfdGFibGVb aV0uY21kX25hbWUpID4gMTkpCi0gICAgICAgICAgICAgICAgcHJpbnRmKCJcbiAlLTE5cyAiLCAi Iik7Ci0gICAgICAgICAgICBwcmludGYoIiVzXG4iLCBjbWRfdGFibGVbaV0uY21kX2Rlc2MpOwot ICAgICAgICB9Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgY21kID0gY21kdGFibGVfbG9va3VwKGNv bW1hbmQpOwotICAgICAgICBpZiAoY21kKSB7Ci0gICAgICAgICAgICBwcmludGYoIlVzYWdlOiB4 bCBbLXYlcyVzXSAlcyAlc1xuXG4lcy5cblxuIiwKLSAgICAgICAgICAgICAgICAgICBjbWQtPm1v ZGlmaWVzID8gImYiIDogIiIsCi0gICAgICAgICAgICAgICAgICAgY21kLT5jYW5fZHJ5cnVuID8g Ik4iIDogIiIsCi0gICAgICAgICAgICAgICAgICAgY21kLT5jbWRfbmFtZSwKLSAgICAgICAgICAg ICAgICAgICBjbWQtPmNtZF91c2FnZSwKLSAgICAgICAgICAgICAgICAgICBjbWQtPmNtZF9kZXNj KTsKLSAgICAgICAgICAgIGlmIChjbWQtPmNtZF9vcHRpb24pCi0gICAgICAgICAgICAgICAgcHJp bnRmKCJPcHRpb25zOlxuXG4lc1xuIiwgY21kLT5jbWRfb3B0aW9uKTsKLSAgICAgICAgfQotICAg ICAgICBlbHNlIHsKLSAgICAgICAgICAgIHByaW50ZigiY29tbWFuZCBcIiVzXCIgbm90IGltcGxl bWVudGVkXG4iLCBjb21tYW5kKTsKLSAgICAgICAgfQotICAgIH0KLX0KLQotLyoKLSAqIExvY2Fs IHZhcmlhYmxlczoKLSAqIG1vZGU6IEMKLSAqIGMtYmFzaWMtb2Zmc2V0OiA0Ci0gKiBpbmRlbnQt dGFicy1tb2RlOiBuaWwKLSAqIEVuZDoKLSAqLwotLSAKMi4xMS4wCgoKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApY ZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==