From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lan Tianyu Subject: [PATCH V2 5/25] tools/libxc: Add viommu operations in libxc Date: Wed, 9 Aug 2017 16:34:06 -0400 Message-ID: <1502310866-10450-6-git-send-email-tianyu.lan@intel.com> References: <1502310866-10450-1-git-send-email-tianyu.lan@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1502310866-10450-1-git-send-email-tianyu.lan@intel.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: Lan Tianyu , kevin.tian@intel.com, wei.liu2@citrix.com, andrew.cooper3@citrix.com, ian.jackson@eu.citrix.com, julien.grall@arm.com, jbeulich@suse.com, Chao Gao List-Id: xen-devel@lists.xenproject.org RnJvbTogQ2hhbyBHYW8gPGNoYW8uZ2FvQGludGVsLmNvbT4KClRoaXMgcGF0Y2ggYWRkcyBYRU5f RE9NQ1RMX3Zpb21tdV9vcCBoeXBlcmNhbGwuIFRoaXMgaHlwZXJjYWxsCmNvbXByaXNlcyB0aHJl ZSBzdWItY29tbWFuZDoKLSBxdWVyeSBjYXBhYmlsaXRpZXMgb2Ygb25lIHNwZWNpZmljIHR5cGUg dklPTU1VIGVtdWxhdGVkIGJ5IFhlbgotIGNyZWF0ZSB2SU9NTVUgaW4gWGVuIGh5cGVydmlzb3Is IGdpdmVuIHZpb21tdSB0eXBlLCByZWdpc3Rlci1zZXQgbG9jYXRpb24KYW5kIGNhcGFiaWxpdGll cwotIGRlc3Ryb3kgdklPTU1VIHNwZWNpZmllZCBieSB2aW9tbXVfaWQKClNpZ25lZC1vZmYtYnk6 IENoYW8gR2FvIDxjaGFvLmdhb0BpbnRlbC5jb20+ClNpZ25lZC1vZmYtYnk6IExhbiBUaWFueXUg PHRpYW55dS5sYW5AaW50ZWwuY29tPgotLS0KIHRvb2xzL2xpYnhjL01ha2VmaWxlICAgICAgICAg IHwgIDEgKwogdG9vbHMvbGlieGMvaW5jbHVkZS94ZW5jdHJsLmggfCAgOCArKysrKwogdG9vbHMv bGlieGMveGNfdmlvbW11LmMgICAgICAgfCA4MSArKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrCiAzIGZpbGVzIGNoYW5nZWQsIDkwIGluc2VydGlvbnMoKykKIGNyZWF0 ZSBtb2RlIDEwMDY0NCB0b29scy9saWJ4Yy94Y192aW9tbXUuYwoKZGlmZiAtLWdpdCBhL3Rvb2xz L2xpYnhjL01ha2VmaWxlIGIvdG9vbHMvbGlieGMvTWFrZWZpbGUKaW5kZXggMjhiMTg1Ny4uODcy NGRmNSAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGMvTWFrZWZpbGUKKysrIGIvdG9vbHMvbGlieGMv TWFrZWZpbGUKQEAgLTUxLDYgKzUxLDcgQEAgQ1RSTF9TUkNTLSQoQ09ORklHX01pbmlPUykgKz0g eGNfbWluaW9zLmMKIENUUkxfU1JDUy15ICAgICAgICs9IHhjX2V2dGNobl9jb21wYXQuYwogQ1RS TF9TUkNTLXkgICAgICAgKz0geGNfZ250dGFiX2NvbXBhdC5jCiBDVFJMX1NSQ1MteSAgICAgICAr PSB4Y19kZXZpY2Vtb2RlbF9jb21wYXQuYworQ1RSTF9TUkNTLXkgICAgICAgKz0geGNfdmlvbW11 LmMKIAogR1VFU1RfU1JDUy15IDo9CiBHVUVTVF9TUkNTLXkgKz0geGdfcHJpdmF0ZS5jIHhjX3N1 c3BlbmQuYwpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGMvaW5jbHVkZS94ZW5jdHJsLmggYi90b29s cy9saWJ4Yy9pbmNsdWRlL3hlbmN0cmwuaAppbmRleCBiZGU4MzEzLi5kZmFhOWQ1IDEwMDY0NAot LS0gYS90b29scy9saWJ4Yy9pbmNsdWRlL3hlbmN0cmwuaAorKysgYi90b29scy9saWJ4Yy9pbmNs dWRlL3hlbmN0cmwuaApAQCAtMjcsNiArMjcsNyBAQAogI2RlZmluZSBfX1hFTl9UT09MU19fIDEK ICNlbmRpZgogCisjaW5jbHVkZSA8ZXJybm8uaD4KICNpbmNsdWRlIDx1bmlzdGQuaD4KICNpbmNs dWRlIDxzdGRkZWYuaD4KICNpbmNsdWRlIDxzdGRpbnQuaD4KQEAgLTI0OTksNiArMjUwMCwxMyBA QCBlbnVtIHhjX3N0YXRpY19jcHVfZmVhdHVyZW1hc2sgewogY29uc3QgdWludDMyX3QgKnhjX2dl dF9zdGF0aWNfY3B1X2ZlYXR1cmVtYXNrKGVudW0geGNfc3RhdGljX2NwdV9mZWF0dXJlbWFzayk7 CiBjb25zdCB1aW50MzJfdCAqeGNfZ2V0X2ZlYXR1cmVfZGVlcF9kZXBzKHVpbnQzMl90IGZlYXR1 cmUpOwogCitpbnQgeGNfdmlvbW11X3F1ZXJ5X2NhcCh4Y19pbnRlcmZhY2UgKnhjaCwgZG9taWRf dCBkb20sCisgICAgICAgICAgICAgICAgICAgICAgICB1aW50NjRfdCB0eXBlLCB1aW50NjRfdCAq Y2FwKTsKK2ludCB4Y192aW9tbXVfY3JlYXRlKHhjX2ludGVyZmFjZSAqeGNoLCBkb21pZF90IGRv bSwgdWludDY0X3QgdHlwZSwKKyAgICAgICAgICAgICAgICAgICAgIHVpbnQ2NF90IGJhc2VfYWRk ciwgdWludDY0X3QgbGVuZ3RoLCB1aW50NjRfdCBjYXAsCisgICAgICAgICAgICAgICAgICAgICB1 aW50MzJfdCAqdmlvbW11X2lkKTsKK2ludCB4Y192aW9tbXVfZGVzdHJveSh4Y19pbnRlcmZhY2Ug KnhjaCwgZG9taWRfdCBkb20sIHVpbnQzMl90IHZpb21tdV9pZCk7CisKICNlbmRpZgogCiBpbnQg eGNfbGl2ZXBhdGNoX3VwbG9hZCh4Y19pbnRlcmZhY2UgKnhjaCwKZGlmZiAtLWdpdCBhL3Rvb2xz L2xpYnhjL3hjX3Zpb21tdS5jIGIvdG9vbHMvbGlieGMveGNfdmlvbW11LmMKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDRhYWU5NgotLS0gL2Rldi9udWxsCisrKyBiL3Rvb2xz L2xpYnhjL3hjX3Zpb21tdS5jCkBAIC0wLDAgKzEsODEgQEAKKy8qCisgKiB4Y192aW9tbXUuYwor ICoKKyAqIHZpb21tdSByZWxhdGVkIEFQSSBmdW5jdGlvbnMuCisgKgorICogQ29weXJpZ2h0IChD KSAyMDE3IEludGVsIENvcnBvcmF0aW9uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29m dHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVy IHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSwg dmVyc2lvbiAyLjEsIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u LgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0 IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2 ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNT IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMZXNzZXIgR2VuZXJh bCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2 ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAqIExp Y2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IElmIG5vdCwgc2VlIDxodHRwOi8vd3d3Lmdu dS5vcmcvbGljZW5zZXMvPi4KKyAqLworCisjaW5jbHVkZSAieGNfcHJpdmF0ZS5oIgorCitpbnQg eGNfdmlvbW11X3F1ZXJ5X2NhcCh4Y19pbnRlcmZhY2UgKnhjaCwgZG9taWRfdCBkb20sCisgICAg ICAgICAgICAgICAgICAgICAgICB1aW50NjRfdCB0eXBlLCB1aW50NjRfdCAqY2FwKQoreworICAg IGludCByYzsKKyAgICBERUNMQVJFX0RPTUNUTDsKKworICAgIGRvbWN0bC5jbWQgPSBYRU5fRE9N Q1RMX3Zpb21tdV9vcDsKKyAgICBkb21jdGwuZG9tYWluID0gKGRvbWlkX3QpZG9tOworICAgIGRv bWN0bC51LnZpb21tdV9vcC5jbWQgPSBYRU5fRE9NQ1RMX3F1ZXJ5X3Zpb21tdV9jYXBzOworICAg IGRvbWN0bC51LnZpb21tdV9vcC51LnF1ZXJ5X2NhcHMudmlvbW11X3R5cGUgPSB0eXBlOworCisg ICAgcmMgPSBkb19kb21jdGwoeGNoLCAmZG9tY3RsKTsKKyAgICBpZiAoICFyYyApCisgICAgICAg ICpjYXAgPSBkb21jdGwudS52aW9tbXVfb3AudS5xdWVyeV9jYXBzLmNhcGFiaWxpdGllczsKKyAg ICByZXR1cm4gcmM7Cit9CisKK2ludCB4Y192aW9tbXVfY3JlYXRlKHhjX2ludGVyZmFjZSAqeGNo LCBkb21pZF90IGRvbSwgdWludDY0X3QgdHlwZSwKKyAgICAgICAgICAgICAgICAgICAgIHVpbnQ2 NF90IGJhc2VfYWRkciwgdWludDY0X3QgbGVuZ3RoLCB1aW50NjRfdCBjYXAsCisgICAgICAgICAg ICAgICAgICAgICB1aW50MzJfdCAqdmlvbW11X2lkKQoreworICAgIGludCByYzsKKyAgICBERUNM QVJFX0RPTUNUTDsKKworICAgIGRvbWN0bC5jbWQgPSBYRU5fRE9NQ1RMX3Zpb21tdV9vcDsKKyAg ICBkb21jdGwuZG9tYWluID0gKGRvbWlkX3QpZG9tOworICAgIGRvbWN0bC51LnZpb21tdV9vcC5j bWQgPSBYRU5fRE9NQ1RMX2NyZWF0ZV92aW9tbXU7CisgICAgZG9tY3RsLnUudmlvbW11X29wLnUu Y3JlYXRlX3Zpb21tdS52aW9tbXVfdHlwZSA9IHR5cGU7CisgICAgZG9tY3RsLnUudmlvbW11X29w LnUuY3JlYXRlX3Zpb21tdS5iYXNlX2FkZHJlc3MgPSBiYXNlX2FkZHI7CisgICAgZG9tY3RsLnUu dmlvbW11X29wLnUuY3JlYXRlX3Zpb21tdS5sZW5ndGggPSBsZW5ndGg7CisgICAgZG9tY3RsLnUu dmlvbW11X29wLnUuY3JlYXRlX3Zpb21tdS5jYXBhYmlsaXRpZXMgPSBjYXA7CisKKyAgICByYyA9 IGRvX2RvbWN0bCh4Y2gsICZkb21jdGwpOworICAgIGlmICggIXJjICkKKyAgICAgICAgKnZpb21t dV9pZCA9IGRvbWN0bC51LnZpb21tdV9vcC51LmNyZWF0ZV92aW9tbXUudmlvbW11X2lkOworICAg IHJldHVybiByYzsKK30KKworaW50IHhjX3Zpb21tdV9kZXN0cm95KHhjX2ludGVyZmFjZSAqeGNo LCBkb21pZF90IGRvbSwgdWludDMyX3QgdmlvbW11X2lkKQoreworICAgIERFQ0xBUkVfRE9NQ1RM OworCisgICAgZG9tY3RsLmNtZCA9IFhFTl9ET01DVExfdmlvbW11X29wOworICAgIGRvbWN0bC5k b21haW4gPSAoZG9taWRfdClkb207CisgICAgZG9tY3RsLnUudmlvbW11X29wLmNtZCA9IFhFTl9E T01DVExfZGVzdHJveV92aW9tbXU7CisgICAgZG9tY3RsLnUudmlvbW11X29wLnUuZGVzdHJveV92 aW9tbXUudmlvbW11X2lkID0gdmlvbW11X2lkOworCisgICAgcmV0dXJuIGRvX2RvbWN0bCh4Y2gs ICZkb21jdGwpOworfQorCisvKgorICogTG9jYWwgdmFyaWFibGVzOgorICogbW9kZTogQworICog Yy1maWxlLXN0eWxlOiAiQlNEIgorICogYy1iYXNpYy1vZmZzZXQ6IDQKKyAqIHRhYi13aWR0aDog NAorICogaW5kZW50LXRhYnMtbW9kZTogbmlsCisgKiBFbmQ6CisgKi8KLS0gCjEuOC4zLjEKCgpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwg bWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9y Zy94ZW4tZGV2ZWwK