From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lan Tianyu Subject: [PATCH 6/25] Tools/libxc: Add viommu operations in libxc Date: Thu, 29 Jun 2017 01:50:38 -0400 Message-ID: <1498715457-16565-7-git-send-email-tianyu.lan@intel.com> References: <1498715457-16565-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: <1498715457-16565-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 KwogdG9vbHMvbGlieGMvaW5jbHVkZS94ZW5jdHJsLmggfCAgOCArKysrKwogdG9vbHMvbGlieGMv eGNfdmlvbW11LmMgICAgICAgfCA4MSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrCiAzIGZpbGVzIGNoYW5nZWQsIDkwIGluc2VydGlvbnMoKykKIGNyZWF0ZSBtb2Rl IDEwMDY0NCB0b29scy9saWJ4Yy94Y192aW9tbXUuYwoKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhj L01ha2VmaWxlIGIvdG9vbHMvbGlieGMvTWFrZWZpbGUKaW5kZXggMjhiMTg1Ny4uYjhmNDc0MiAx MDA2NDQKLS0tIGEvdG9vbHMvbGlieGMvTWFrZWZpbGUKKysrIGIvdG9vbHMvbGlieGMvTWFrZWZp bGUKQEAgLTUxLDYgKzUxLDcgQEAgQ1RSTF9TUkNTLSQoQ09ORklHX01pbmlPUykgKz0geGNfbWlu aW9zLmMKIENUUkxfU1JDUy15ICAgICAgICs9IHhjX2V2dGNobl9jb21wYXQuYwogQ1RSTF9TUkNT LXkgICAgICAgKz0geGNfZ250dGFiX2NvbXBhdC5jCiBDVFJMX1NSQ1MteSAgICAgICArPSB4Y19k ZXZpY2Vtb2RlbF9jb21wYXQuYworQ1RSTF9TUkNTLXkgKz0geGNfdmlvbW11LmMKIAogR1VFU1Rf U1JDUy15IDo9CiBHVUVTVF9TUkNTLXkgKz0geGdfcHJpdmF0ZS5jIHhjX3N1c3BlbmQuYwpkaWZm IC0tZ2l0IGEvdG9vbHMvbGlieGMvaW5jbHVkZS94ZW5jdHJsLmggYi90b29scy9saWJ4Yy9pbmNs dWRlL3hlbmN0cmwuaAppbmRleCAxNjI5ZjQxLi41MWNlZWI5IDEwMDY0NAotLS0gYS90b29scy9s aWJ4Yy9pbmNsdWRlL3hlbmN0cmwuaAorKysgYi90b29scy9saWJ4Yy9pbmNsdWRlL3hlbmN0cmwu aApAQCAtMjcsNiArMjcsNyBAQAogI2RlZmluZSBfX1hFTl9UT09MU19fIDEKICNlbmRpZgogCisj aW5jbHVkZSA8ZXJybm8uaD4KICNpbmNsdWRlIDx1bmlzdGQuaD4KICNpbmNsdWRlIDxzdGRkZWYu aD4KICNpbmNsdWRlIDxzdGRpbnQuaD4KQEAgLTI0OTEsNiArMjQ5MiwxMyBAQCBlbnVtIHhjX3N0 YXRpY19jcHVfZmVhdHVyZW1hc2sgewogY29uc3QgdWludDMyX3QgKnhjX2dldF9zdGF0aWNfY3B1 X2ZlYXR1cmVtYXNrKGVudW0geGNfc3RhdGljX2NwdV9mZWF0dXJlbWFzayk7CiBjb25zdCB1aW50 MzJfdCAqeGNfZ2V0X2ZlYXR1cmVfZGVlcF9kZXBzKHVpbnQzMl90IGZlYXR1cmUpOwogCitpbnQg eGNfdmlvbW11X3F1ZXJ5X2NhcCh4Y19pbnRlcmZhY2UgKnhjaCwgdWludDMyX3QgZG9tLAorICAg ICAgICAgICAgICAgICAgICAgICAgdWludDY0X3QgdHlwZSwgdWludDY0X3QgKmNhcCk7CitpbnQg eGNfdmlvbW11X2NyZWF0ZSh4Y19pbnRlcmZhY2UgKnhjaCwgdWludDMyX3QgZG9tLCB1aW50NjRf dCB0eXBlLAorICAgICAgICAgICAgICAgICAgICAgdWludDY0X3QgYmFzZV9hZGRyLCB1aW50NjRf dCBsZW5ndGgsIHVpbnQ2NF90IGNhcCwKKyAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90ICp2 aW9tbXVfaWQpOworaW50IHhjX3Zpb21tdV9kZXN0cm95KHhjX2ludGVyZmFjZSAqeGNoLCB1aW50 MzJfdCBkb20sIHVpbnQzMl90IHZpb21tdV9pZCk7CisKICNlbmRpZgogCiBpbnQgeGNfbGl2ZXBh dGNoX3VwbG9hZCh4Y19pbnRlcmZhY2UgKnhjaCwKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhjL3hj X3Zpb21tdS5jIGIvdG9vbHMvbGlieGMveGNfdmlvbW11LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQK aW5kZXggMDAwMDAwMC4uNTRlZDg3NwotLS0gL2Rldi9udWxsCisrKyBiL3Rvb2xzL2xpYnhjL3hj X3Zpb21tdS5jCkBAIC0wLDAgKzEsODEgQEAKKy8qCisgKiB4Y192aW9tbXUuYworICoKKyAqIHZp b21tdSByZWxhdGVkIEFQSSBmdW5jdGlvbnMuCisgKgorICogQ29weXJpZ2h0IChDKSAyMDE3IElu dGVsIENvcnBvcmF0aW9uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlv dSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJt cyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSwgdmVyc2lvbiAy LjEsIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorICoKKyAq IFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUg dXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGlt cGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBB UlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMZXNzZXIgR2VuZXJhbCBQdWJsaWMg TGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZl ZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYWxv bmcgd2l0aCB0aGlzIGxpYnJhcnk7IElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGlj ZW5zZXMvPi4KKyAqLworCisjaW5jbHVkZSAieGNfcHJpdmF0ZS5oIgorCitpbnQgeGNfdmlvbW11 X3F1ZXJ5X2NhcCh4Y19pbnRlcmZhY2UgKnhjaCwgdWludDMyX3QgZG9tLAorICAgICAgICAgICAg ICAgICAgICAgICAgdWludDY0X3QgdHlwZSwgdWludDY0X3QgKmNhcCkKK3sKKyAgICBpbnQgcmM7 CisgICAgREVDTEFSRV9ET01DVEw7CisKKyAgICBkb21jdGwuY21kID0gWEVOX0RPTUNUTF92aW9t bXVfb3A7CisgICAgZG9tY3RsLmRvbWFpbiA9IChkb21pZF90KWRvbTsKKyAgICBkb21jdGwudS52 aW9tbXVfb3AuY21kID0gWEVOX0RPTUNUTF9xdWVyeV92aW9tbXVfY2FwczsKKyAgICBkb21jdGwu dS52aW9tbXVfb3AudS5xdWVyeV9jYXBzLnZpb21tdV90eXBlID0gdHlwZTsKKworICAgIHJjID0g ZG9fZG9tY3RsKHhjaCwgJmRvbWN0bCk7CisgICAgaWYgKCAhcmMgKQorICAgICAgICAqY2FwID0g ZG9tY3RsLnUudmlvbW11X29wLnUucXVlcnlfY2Fwcy5jYXBzOworICAgIHJldHVybiByYzsKK30K KworaW50IHhjX3Zpb21tdV9jcmVhdGUoeGNfaW50ZXJmYWNlICp4Y2gsIHVpbnQzMl90IGRvbSwg dWludDY0X3QgdHlwZSwKKyAgICAgICAgICAgICAgICAgICAgIHVpbnQ2NF90IGJhc2VfYWRkciwg dWludDY0X3QgbGVuZ3RoLCB1aW50NjRfdCBjYXAsCisgICAgICAgICAgICAgICAgICAgICB1aW50 MzJfdCAqdmlvbW11X2lkKQoreworICAgIGludCByYzsKKyAgICBERUNMQVJFX0RPTUNUTDsKKwor ICAgIGRvbWN0bC5jbWQgPSBYRU5fRE9NQ1RMX3Zpb21tdV9vcDsKKyAgICBkb21jdGwuZG9tYWlu ID0gKGRvbWlkX3QpZG9tOworICAgIGRvbWN0bC51LnZpb21tdV9vcC5jbWQgPSBYRU5fRE9NQ1RM X2NyZWF0ZV92aW9tbXU7CisgICAgZG9tY3RsLnUudmlvbW11X29wLnUuY3JlYXRlX3Zpb21tdS52 aW9tbXVfdHlwZSA9IHR5cGU7CisgICAgZG9tY3RsLnUudmlvbW11X29wLnUuY3JlYXRlX3Zpb21t dS5iYXNlX2FkZHJlc3MgPSBiYXNlX2FkZHI7CisgICAgZG9tY3RsLnUudmlvbW11X29wLnUuY3Jl YXRlX3Zpb21tdS5sZW5ndGggPSBsZW5ndGg7CisgICAgZG9tY3RsLnUudmlvbW11X29wLnUuY3Jl YXRlX3Zpb21tdS5jYXBhYmlsaXRpZXMgPSBjYXA7CisKKyAgICByYyA9IGRvX2RvbWN0bCh4Y2gs ICZkb21jdGwpOworICAgIGlmICggIXJjICkKKyAgICAgICAgKnZpb21tdV9pZCA9IGRvbWN0bC51 LnZpb21tdV9vcC51LmNyZWF0ZV92aW9tbXUudmlvbW11X2lkOworICAgIHJldHVybiByYzsKK30K KworaW50IHhjX3Zpb21tdV9kZXN0cm95KHhjX2ludGVyZmFjZSAqeGNoLCB1aW50MzJfdCBkb20s IHVpbnQzMl90IHZpb21tdV9pZCkKK3sKKyAgICBERUNMQVJFX0RPTUNUTDsKKworICAgIGRvbWN0 bC5jbWQgPSBYRU5fRE9NQ1RMX3Zpb21tdV9vcDsKKyAgICBkb21jdGwuZG9tYWluID0gKGRvbWlk X3QpZG9tOworICAgIGRvbWN0bC51LnZpb21tdV9vcC5jbWQgPSBYRU5fRE9NQ1RMX2Rlc3Ryb3lf dmlvbW11OworICAgIGRvbWN0bC51LnZpb21tdV9vcC51LmRlc3Ryb3lfdmlvbW11LnZpb21tdV9p ZCA9IHZpb21tdV9pZDsKKworICAgIHJldHVybiBkb19kb21jdGwoeGNoLCAmZG9tY3RsKTsKK30K KworLyoKKyAqIExvY2FsIHZhcmlhYmxlczoKKyAqIG1vZGU6IEMKKyAqIGMtZmlsZS1zdHlsZTog IkJTRCIKKyAqIGMtYmFzaWMtb2Zmc2V0OiA0CisgKiB0YWItd2lkdGg6IDQKKyAqIGluZGVudC10 YWJzLW1vZGU6IG5pbAorICogRW5kOgorICovCi0tIAoxLjguMy4xCgoKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApY ZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==