From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lan Tianyu Subject: [RFC PATCH V2 10/26] libxl: create vIOMMU during domain construction Date: Thu, 18 May 2017 01:34:40 -0400 Message-ID: <1495085696-10819-11-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 RnJvbTogQ2hhbyBHYW8gPGNoYW8uZ2FvQGludGVsLmNvbT4KCklmIGd1ZXN0IGlzIGNvbmZpZ3Vy ZWQgdG8gaGF2ZSBhIHZJT01NVSwgY3JlYXRlIGl0IGR1cmluZyBkb21haW4gY29uc3RydWN0aW9u LgoKU2lnbmVkLW9mZi1ieTogQ2hhbyBHYW8gPGNoYW8uZ2FvQGludGVsLmNvbT4KU2lnbmVkLW9m Zi1ieTogTGFuIFRpYW55dSA8dGlhbnl1LmxhbkBpbnRlbC5jb20+Ci0tLQogdG9vbHMvbGlieGwv bGlieGxfYXJjaC5oICAgfCAgNSArKysrKwogdG9vbHMvbGlieGwvbGlieGxfYXJtLmMgICAgfCAg NyArKysrKysrCiB0b29scy9saWJ4bC9saWJ4bF9jcmVhdGUuYyB8ICA0ICsrKysKIHRvb2xzL2xp YnhsL2xpYnhsX3g4Ni5jICAgIHwgMjQgKysrKysrKysrKysrKysrKysrKysrKysrCiA0IGZpbGVz IGNoYW5nZWQsIDQwIGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4 bF9hcmNoLmggYi90b29scy9saWJ4bC9saWJ4bF9hcmNoLmgKaW5kZXggNWUxZmM2MC4uN2Y5ZmM5 YSAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwvbGlieGxfYXJjaC5oCisrKyBiL3Rvb2xzL2xpYnhs L2xpYnhsX2FyY2guaApAQCAtNzEsNiArNzEsMTEgQEAgaW50IGxpYnhsX19hcmNoX2V4dHJhX21l bW9yeShsaWJ4bF9fZ2MgKmdjLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBs aWJ4bF9kb21haW5fYnVpbGRfaW5mbyAqaW5mbywKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgdWludDY0X3QgKm91dCk7CiAKK19oaWRkZW4KK2ludCBsaWJ4bF9fYXJjaF9jcmVhdGVfdmlv bW11KGxpYnhsX19nYyAqZ2MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBs aWJ4bF9kb21haW5fY29uZmlnICpkX2NvbmZpZywKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHVpbnQzMl90IGRvbWlkKTsKKwogI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQo X194ODZfNjRfXykKIAogI2RlZmluZSBMQVBJQ19CQVNFX0FERFJFU1MgIDB4ZmVlMDAwMDAKZGlm ZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX2FybS5jIGIvdG9vbHMvbGlieGwvbGlieGxfYXJt LmMKaW5kZXggZDg0MmQ4OC4uZjViZjVkZCAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwvbGlieGxf YXJtLmMKKysrIGIvdG9vbHMvbGlieGwvbGlieGxfYXJtLmMKQEAgLTEwNjUsNiArMTA2NSwxMyBA QCB2b2lkIGxpYnhsX19hcmNoX2RvbWFpbl9idWlsZF9pbmZvX2FjcGlfc2V0ZGVmYXVsdCgKICAg ICBsaWJ4bF9kZWZib29sX3NldGRlZmF1bHQoJmJfaW5mby0+YWNwaSwgZmFsc2UpOwogfQogCitp bnQgbGlieGxfX2FyY2hfY3JlYXRlX3Zpb21tdShsaWJ4bF9fZ2MgKmdjLAorICAgICAgICAgICAg ICAgICAgICAgICAgIGNvbnN0IGxpYnhsX2RvbWFpbl9jb25maWcgKmRfY29uZmlnLAorICAgICAg ICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGRvbWlkKQoreworICAgIHJldHVybiAwOworfQor CiAvKgogICogTG9jYWwgdmFyaWFibGVzOgogICogbW9kZTogQwpkaWZmIC0tZ2l0IGEvdG9vbHMv bGlieGwvbGlieGxfY3JlYXRlLmMgYi90b29scy9saWJ4bC9saWJ4bF9jcmVhdGUuYwppbmRleCBi ZmZiYzQ1Li5mZDliZmI4IDEwMDY0NAotLS0gYS90b29scy9saWJ4bC9saWJ4bF9jcmVhdGUuYwor KysgYi90b29scy9saWJ4bC9saWJ4bF9jcmVhdGUuYwpAQCAtNTU3LDYgKzU1NywxMCBAQCBpbnQg bGlieGxfX2RvbWFpbl9tYWtlKGxpYnhsX19nYyAqZ2MsIGxpYnhsX2RvbWFpbl9jb25maWcgKmRf Y29uZmlnLAogICAgICAgICB9CiAgICAgfQogCisgICAgcmMgPSBsaWJ4bF9fYXJjaF9jcmVhdGVf dmlvbW11KGdjLCBkX2NvbmZpZywgKmRvbWlkKTsKKyAgICBpZiAocmMgPCAwKQorICAgICAgICBn b3RvIG91dDsKKwogICAgIHJjID0gbGlieGxfX2FyY2hfZG9tYWluX3NhdmVfY29uZmlnKGdjLCBk X2NvbmZpZywgeGNfY29uZmlnKTsKICAgICBpZiAocmMgPCAwKQogICAgICAgICBnb3RvIG91dDsK ZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX3g4Ni5jIGIvdG9vbHMvbGlieGwvbGlieGxf eDg2LmMKaW5kZXggNDU1ZjZmMC4uODE5ZWUwYSAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwvbGli eGxfeDg2LmMKKysrIGIvdG9vbHMvbGlieGwvbGlieGxfeDg2LmMKQEAgLTIsNiArMiw3IEBACiAj aW5jbHVkZSAibGlieGxfYXJjaC5oIgogCiAjaW5jbHVkZSA8eGNfZG9tLmg+CisjaW5jbHVkZSA8 eGVuL3Zpb21tdS5oPgogCiBpbnQgbGlieGxfX2FyY2hfZG9tYWluX3ByZXBhcmVfY29uZmlnKGxp YnhsX19nYyAqZ2MsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhs X2RvbWFpbl9jb25maWcgKmRfY29uZmlnLApAQCAtNTg3LDYgKzU4OCwyOSBAQCB2b2lkIGxpYnhs X19hcmNoX2RvbWFpbl9idWlsZF9pbmZvX2FjcGlfc2V0ZGVmYXVsdCgKICAgICBsaWJ4bF9kZWZi b29sX3NldGRlZmF1bHQoJmJfaW5mby0+YWNwaSwgdHJ1ZSk7CiB9CiAKK2ludCBsaWJ4bF9fYXJj aF9jcmVhdGVfdmlvbW11KGxpYnhsX19nYyAqZ2MsCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBjb25zdCBsaWJ4bF9kb21haW5fY29uZmlnICpkX2NvbmZpZywKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHVpbnQzMl90IGRvbWlkKQoreworICAgIGludCByYyA9IDA7CisgICAg bGlieGxfY3R4ICpjdHggPSBsaWJ4bF9fZ2Nfb3duZXIoZ2MpOworICAgIGxpYnhsX3Zpb21tdV9p bmZvIHZpb21tdSA9IGRfY29uZmlnLT5iX2luZm8udS5odm0udmlvbW11OworCisgICAgaWYgKHZp b21tdS50eXBlID09IFZJT01NVV9UWVBFX0lOVEVMX1ZURCkgeworICAgICAgICB1aW50MzJfdCBp ZDsKKyAgICAgICAgdWludDY0X3QgY2FwOworCisgICAgICAgIHJjID0geGNfdmlvbW11X3F1ZXJ5 X2NhcChjdHgtPnhjaCwgZG9taWQsIHZpb21tdS50eXBlLCAmY2FwKTsKKyAgICAgICAgaWYgKHJj IHx8ICgoY2FwICYgdmlvbW11LmNhcCkgIT0gY2FwKSkKKyAgICAgICAgICAgIHJldHVybiByYzsK KworICAgICAgICByYyA9IHhjX3Zpb21tdV9jcmVhdGUoY3R4LT54Y2gsIGRvbWlkLCB2aW9tbXUu dHlwZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpb21tdS5iYXNlX2FkZHIsIHZp b21tdS5sZW5ndGgsIHZpb21tdS5jYXAsICZpZCk7CisgICAgfQorCisgICAgcmV0dXJuIHJjOwor fQorCiAvKgogICogTG9jYWwgdmFyaWFibGVzOgogICogbW9kZTogQwotLSAKMS44LjMuMQoKCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBt YWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3Jn L3hlbi1kZXZlbAo=