From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lan Tianyu Subject: [RFC PATCH V2 6/26] Tools/libxc: Add viommu operations in libxc Date: Thu, 18 May 2017 01:34:36 -0400 Message-ID: <1495085696-10819-7-git-send-email-tianyu.lan@intel.com> References: <1495085696-10819-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: <1495085696-10819-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, jbeulich@suse.com, Chao Gao List-Id: xen-devel@lists.xenproject.org RnJvbTogQ2hhbyBHYW8gPGNoYW8uZ2FvQGludGVsLmNvbT4KClRoaXMgcGF0Y2ggaXMgdG8gYWRk IFhFTl9ET01DVExfdmlvbW11X29wIGh5cGVyY2FsbC4gVGhpcyBoeXBlcmNhbGwKY29tcHJpc2Ug dGhyZWUgc3ViLWNvbW1hbmQ6Ci0gcXVlcnkgY2FwYWJpbGl0aWVzIG9mIG9uZSBzcGVjaWZpYyB0 eXBlIHZJT01NVSBlbXVsYXRlZCBieSBYZW4KLSBjcmVhdGUgdklPTU1VIGluIFhlbiBoeXBlcnZp c29yIHdpdGggdmlvbW11IHR5cGUsIHJlZ2lzdGVyIHJhbmdlLAogICAgY2FwYWJpbGl0eQotIGRl c3Ryb3kgdklPTU1VIHNwZWNpZmllZCBieSB2aW9tbXVfaWQKClNpZ25lZC1vZmYtYnk6IENoYW8g R2FvIDxjaGFvLmdhb0BpbnRlbC5jb20+ClNpZ25lZC1vZmYtYnk6IExhbiBUaWFueXUgPHRpYW55 dS5sYW5AaW50ZWwuY29tPgotLS0KIHRvb2xzL2xpYnhjL01ha2VmaWxlICAgICAgICAgIHwgIDEg KwogdG9vbHMvbGlieGMvaW5jbHVkZS94ZW5jdHJsLmggfCAgNyArKysrCiB0b29scy9saWJ4Yy94 Y192aW9tbXUuYyAgICAgICB8IDgxICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysKIDMgZmlsZXMgY2hhbmdlZCwgODkgaW5zZXJ0aW9ucygrKQogY3JlYXRlIG1vZGUg MTAwNjQ0IHRvb2xzL2xpYnhjL3hjX3Zpb21tdS5jCgpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGMv TWFrZWZpbGUgYi90b29scy9saWJ4Yy9NYWtlZmlsZQppbmRleCA4YWU1NTJmLi5jOTgyNTcxIDEw MDY0NAotLS0gYS90b29scy9saWJ4Yy9NYWtlZmlsZQorKysgYi90b29scy9saWJ4Yy9NYWtlZmls ZQpAQCAtNDIsNiArNDIsNyBAQCBDVFJMX1NSQ1MteSAgICAgICArPSB4Y19rZXhlYy5jCiBDVFJM X1NSQ1MteSAgICAgICArPSB4Y19yZXNvdXJjZS5jCiBDVFJMX1NSQ1MtJChDT05GSUdfWDg2KSAr PSB4Y19wc3IuYwogQ1RSTF9TUkNTLSQoQ09ORklHX1g4NikgKz0geGNfcGFnZXRhYi5jCitDVFJM X1NSQ1MtJChDT05GSUdfWDg2KSArPSB4Y192aW9tbXUuYwogQ1RSTF9TUkNTLSQoQ09ORklHX0xp bnV4KSArPSB4Y19saW51eC5jCiBDVFJMX1NSQ1MtJChDT05GSUdfRnJlZUJTRCkgKz0geGNfZnJl ZWJzZC5jCiBDVFJMX1NSQ1MtJChDT05GSUdfU3VuT1MpICs9IHhjX3NvbGFyaXMuYwpkaWZmIC0t Z2l0IGEvdG9vbHMvbGlieGMvaW5jbHVkZS94ZW5jdHJsLmggYi90b29scy9saWJ4Yy9pbmNsdWRl L3hlbmN0cmwuaAppbmRleCAxNjI5ZjQxLi42YzgxMTBjIDEwMDY0NAotLS0gYS90b29scy9saWJ4 Yy9pbmNsdWRlL3hlbmN0cmwuaAorKysgYi90b29scy9saWJ4Yy9pbmNsdWRlL3hlbmN0cmwuaApA QCAtMjQ5MSw2ICsyNDkxLDEzIEBAIGVudW0geGNfc3RhdGljX2NwdV9mZWF0dXJlbWFzayB7CiBj b25zdCB1aW50MzJfdCAqeGNfZ2V0X3N0YXRpY19jcHVfZmVhdHVyZW1hc2soZW51bSB4Y19zdGF0 aWNfY3B1X2ZlYXR1cmVtYXNrKTsKIGNvbnN0IHVpbnQzMl90ICp4Y19nZXRfZmVhdHVyZV9kZWVw X2RlcHModWludDMyX3QgZmVhdHVyZSk7CiAKK2ludCB4Y192aW9tbXVfcXVlcnlfY2FwKHhjX2lu dGVyZmFjZSAqeGNoLCB1aW50MzJfdCBkb20sCisgICAgICAgICAgICAgICAgICAgICAgICB1aW50 NjRfdCB0eXBlLCB1aW50NjRfdCAqY2FwKTsKK2ludCB4Y192aW9tbXVfY3JlYXRlKHhjX2ludGVy ZmFjZSAqeGNoLCB1aW50MzJfdCBkb20sIHVpbnQ2NF90IHR5cGUsCisgICAgICAgICAgICAgICAg ICAgICB1aW50NjRfdCBiYXNlX2FkZHIsIHVpbnQ2NF90IGxlbmd0aCwgdWludDY0X3QgY2FwLAor ICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgKnZpb21tdV9pZCk7CitpbnQgeGNfdmlvbW11 X2Rlc3Ryb3koeGNfaW50ZXJmYWNlICp4Y2gsIHVpbnQzMl90IGRvbSwgdWludDMyX3QgdmlvbW11 X2lkKTsKKwogI2VuZGlmCiAKIGludCB4Y19saXZlcGF0Y2hfdXBsb2FkKHhjX2ludGVyZmFjZSAq eGNoLApkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGMveGNfdmlvbW11LmMgYi90b29scy9saWJ4Yy94 Y192aW9tbXUuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NGVkODc3Ci0t LSAvZGV2L251bGwKKysrIGIvdG9vbHMvbGlieGMveGNfdmlvbW11LmMKQEAgLTAsMCArMSw4MSBA QAorLyoKKyAqIHhjX3Zpb21tdS5jCisgKgorICogdmlvbW11IHJlbGF0ZWQgQVBJIGZ1bmN0aW9u cy4KKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgSW50ZWwgQ29ycG9yYXRpb24KKyAqCisgKiBU aGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5k L29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVy YWwgUHVibGljCisgKiBMaWNlbnNlLCB2ZXJzaW9uIDIuMSwgYXMgcHVibGlzaGVkIGJ5IHRoZSBG cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1 dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBB TlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVS Q0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRo ZSBHTlUKKyAqIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMu CisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3Nl ciBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgSWYg bm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorICovCisKKyNpbmNsdWRl ICJ4Y19wcml2YXRlLmgiCisKK2ludCB4Y192aW9tbXVfcXVlcnlfY2FwKHhjX2ludGVyZmFjZSAq eGNoLCB1aW50MzJfdCBkb20sCisgICAgICAgICAgICAgICAgICAgICAgICB1aW50NjRfdCB0eXBl LCB1aW50NjRfdCAqY2FwKQoreworICAgIGludCByYzsKKyAgICBERUNMQVJFX0RPTUNUTDsKKwor ICAgIGRvbWN0bC5jbWQgPSBYRU5fRE9NQ1RMX3Zpb21tdV9vcDsKKyAgICBkb21jdGwuZG9tYWlu ID0gKGRvbWlkX3QpZG9tOworICAgIGRvbWN0bC51LnZpb21tdV9vcC5jbWQgPSBYRU5fRE9NQ1RM X3F1ZXJ5X3Zpb21tdV9jYXBzOworICAgIGRvbWN0bC51LnZpb21tdV9vcC51LnF1ZXJ5X2NhcHMu dmlvbW11X3R5cGUgPSB0eXBlOworCisgICAgcmMgPSBkb19kb21jdGwoeGNoLCAmZG9tY3RsKTsK KyAgICBpZiAoICFyYyApCisgICAgICAgICpjYXAgPSBkb21jdGwudS52aW9tbXVfb3AudS5xdWVy eV9jYXBzLmNhcHM7CisgICAgcmV0dXJuIHJjOworfQorCitpbnQgeGNfdmlvbW11X2NyZWF0ZSh4 Y19pbnRlcmZhY2UgKnhjaCwgdWludDMyX3QgZG9tLCB1aW50NjRfdCB0eXBlLAorICAgICAgICAg ICAgICAgICAgICAgdWludDY0X3QgYmFzZV9hZGRyLCB1aW50NjRfdCBsZW5ndGgsIHVpbnQ2NF90 IGNhcCwKKyAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90ICp2aW9tbXVfaWQpCit7CisgICAg aW50IHJjOworICAgIERFQ0xBUkVfRE9NQ1RMOworCisgICAgZG9tY3RsLmNtZCA9IFhFTl9ET01D VExfdmlvbW11X29wOworICAgIGRvbWN0bC5kb21haW4gPSAoZG9taWRfdClkb207CisgICAgZG9t Y3RsLnUudmlvbW11X29wLmNtZCA9IFhFTl9ET01DVExfY3JlYXRlX3Zpb21tdTsKKyAgICBkb21j dGwudS52aW9tbXVfb3AudS5jcmVhdGVfdmlvbW11LnZpb21tdV90eXBlID0gdHlwZTsKKyAgICBk b21jdGwudS52aW9tbXVfb3AudS5jcmVhdGVfdmlvbW11LmJhc2VfYWRkcmVzcyA9IGJhc2VfYWRk cjsKKyAgICBkb21jdGwudS52aW9tbXVfb3AudS5jcmVhdGVfdmlvbW11Lmxlbmd0aCA9IGxlbmd0 aDsKKyAgICBkb21jdGwudS52aW9tbXVfb3AudS5jcmVhdGVfdmlvbW11LmNhcGFiaWxpdGllcyA9 IGNhcDsKKworICAgIHJjID0gZG9fZG9tY3RsKHhjaCwgJmRvbWN0bCk7CisgICAgaWYgKCAhcmMg KQorICAgICAgICAqdmlvbW11X2lkID0gZG9tY3RsLnUudmlvbW11X29wLnUuY3JlYXRlX3Zpb21t dS52aW9tbXVfaWQ7CisgICAgcmV0dXJuIHJjOworfQorCitpbnQgeGNfdmlvbW11X2Rlc3Ryb3ko eGNfaW50ZXJmYWNlICp4Y2gsIHVpbnQzMl90IGRvbSwgdWludDMyX3QgdmlvbW11X2lkKQorewor ICAgIERFQ0xBUkVfRE9NQ1RMOworCisgICAgZG9tY3RsLmNtZCA9IFhFTl9ET01DVExfdmlvbW11 X29wOworICAgIGRvbWN0bC5kb21haW4gPSAoZG9taWRfdClkb207CisgICAgZG9tY3RsLnUudmlv bW11X29wLmNtZCA9IFhFTl9ET01DVExfZGVzdHJveV92aW9tbXU7CisgICAgZG9tY3RsLnUudmlv bW11X29wLnUuZGVzdHJveV92aW9tbXUudmlvbW11X2lkID0gdmlvbW11X2lkOworCisgICAgcmV0 dXJuIGRvX2RvbWN0bCh4Y2gsICZkb21jdGwpOworfQorCisvKgorICogTG9jYWwgdmFyaWFibGVz OgorICogbW9kZTogQworICogYy1maWxlLXN0eWxlOiAiQlNEIgorICogYy1iYXNpYy1vZmZzZXQ6 IDQKKyAqIHRhYi13aWR0aDogNAorICogaW5kZW50LXRhYnMtbW9kZTogbmlsCisgKiBFbmQ6Cisg Ki8KLS0gCjEuOC4zLjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0 dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK