From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lan Tianyu Subject: [PATCH 10/25] libxl: create vIOMMU during domain construction Date: Thu, 29 Jun 2017 01:50:42 -0400 Message-ID: <1498715457-16565-11-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 RnJvbTogQ2hhbyBHYW8gPGNoYW8uZ2FvQGludGVsLmNvbT4KCklmIGd1ZXN0IGlzIGNvbmZpZ3Vy ZWQgdG8gaGF2ZSBhIHZJT01NVSwgY3JlYXRlIGl0IGR1cmluZyBkb21haW4gY29uc3RydWN0aW9u LgoKU2lnbmVkLW9mZi1ieTogQ2hhbyBHYW8gPGNoYW8uZ2FvQGludGVsLmNvbT4KU2lnbmVkLW9m Zi1ieTogTGFuIFRpYW55dSA8dGlhbnl1LmxhbkBpbnRlbC5jb20+Ci0tLQogdG9vbHMvbGlieGwv bGlieGxfYXJjaC5oICAgfCAgNSArKysrKwogdG9vbHMvbGlieGwvbGlieGxfYXJtLmMgICAgfCAg NyArKysrKysrCiB0b29scy9saWJ4bC9saWJ4bF9jcmVhdGUuYyB8ICA2ICsrKysrKwogdG9vbHMv bGlieGwvbGlieGxfeDg2LmMgICAgfCAyNCArKysrKysrKysrKysrKysrKysrKysrKysKIDQgZmls ZXMgY2hhbmdlZCwgNDIgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xp YnhsX2FyY2guaCBiL3Rvb2xzL2xpYnhsL2xpYnhsX2FyY2guaAppbmRleCA1ZTFmYzYwLi43Zjlm YzlhIDEwMDY0NAotLS0gYS90b29scy9saWJ4bC9saWJ4bF9hcmNoLmgKKysrIGIvdG9vbHMvbGli eGwvbGlieGxfYXJjaC5oCkBAIC03MSw2ICs3MSwxMSBAQCBpbnQgbGlieGxfX2FyY2hfZXh0cmFf bWVtb3J5KGxpYnhsX19nYyAqZ2MsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0 IGxpYnhsX2RvbWFpbl9idWlsZF9pbmZvICppbmZvLAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB1aW50NjRfdCAqb3V0KTsKIAorX2hpZGRlbgoraW50IGxpYnhsX19hcmNoX2NyZWF0ZV92 aW9tbXUobGlieGxfX2djICpnYywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0 IGxpYnhsX2RvbWFpbl9jb25maWcgKmRfY29uZmlnLAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgdWludDMyX3QgZG9taWQpOworCiAjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5l ZChfX3g4Nl82NF9fKQogCiAjZGVmaW5lIExBUElDX0JBU0VfQUREUkVTUyAgMHhmZWUwMDAwMApk aWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGxfYXJtLmMgYi90b29scy9saWJ4bC9saWJ4bF9h cm0uYwppbmRleCBkODQyZDg4Li5mNWJmNWRkIDEwMDY0NAotLS0gYS90b29scy9saWJ4bC9saWJ4 bF9hcm0uYworKysgYi90b29scy9saWJ4bC9saWJ4bF9hcm0uYwpAQCAtMTA2NSw2ICsxMDY1LDEz IEBAIHZvaWQgbGlieGxfX2FyY2hfZG9tYWluX2J1aWxkX2luZm9fYWNwaV9zZXRkZWZhdWx0KAog ICAgIGxpYnhsX2RlZmJvb2xfc2V0ZGVmYXVsdCgmYl9pbmZvLT5hY3BpLCBmYWxzZSk7CiB9CiAK K2ludCBsaWJ4bF9fYXJjaF9jcmVhdGVfdmlvbW11KGxpYnhsX19nYyAqZ2MsCisgICAgICAgICAg ICAgICAgICAgICAgICAgY29uc3QgbGlieGxfZG9tYWluX2NvbmZpZyAqZF9jb25maWcsCisgICAg ICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgZG9taWQpCit7CisgICAgcmV0dXJuIDA7Cit9 CisKIC8qCiAgKiBMb2NhbCB2YXJpYWJsZXM6CiAgKiBtb2RlOiBDCmRpZmYgLS1naXQgYS90b29s cy9saWJ4bC9saWJ4bF9jcmVhdGUuYyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2NyZWF0ZS5jCmluZGV4 IGJmZmJjNDUuLjU1MTE5ZTIgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX2NyZWF0ZS5j CisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2NyZWF0ZS5jCkBAIC01NTcsNiArNTU3LDEyIEBAIGlu dCBsaWJ4bF9fZG9tYWluX21ha2UobGlieGxfX2djICpnYywgbGlieGxfZG9tYWluX2NvbmZpZyAq ZF9jb25maWcsCiAgICAgICAgIH0KICAgICB9CiAKKyAgICByYyA9IGxpYnhsX19hcmNoX2NyZWF0 ZV92aW9tbXUoZ2MsIGRfY29uZmlnLCAqZG9taWQpOworICAgIGlmIChyYyA8IDApIHsKKyAgICAg ICAgTE9HRUQoRVJST1IsICpkb21pZCwgImNyZWF0ZSB2SU9NTVUgZmFpbCIpOworICAgICAgICBn b3RvIG91dDsKKyAgICB9CisKICAgICByYyA9IGxpYnhsX19hcmNoX2RvbWFpbl9zYXZlX2NvbmZp ZyhnYywgZF9jb25maWcsIHhjX2NvbmZpZyk7CiAgICAgaWYgKHJjIDwgMCkKICAgICAgICAgZ290 byBvdXQ7CmRpZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bF94ODYuYyBiL3Rvb2xzL2xpYnhs L2xpYnhsX3g4Ni5jCmluZGV4IDQ1NWY2ZjAuLjgxOWVlMGEgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xp YnhsL2xpYnhsX3g4Ni5jCisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX3g4Ni5jCkBAIC0yLDYgKzIs NyBAQAogI2luY2x1ZGUgImxpYnhsX2FyY2guaCIKIAogI2luY2x1ZGUgPHhjX2RvbS5oPgorI2lu Y2x1ZGUgPHhlbi92aW9tbXUuaD4KIAogaW50IGxpYnhsX19hcmNoX2RvbWFpbl9wcmVwYXJlX2Nv bmZpZyhsaWJ4bF9fZ2MgKmdjLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBsaWJ4bF9kb21haW5fY29uZmlnICpkX2NvbmZpZywKQEAgLTU4Nyw2ICs1ODgsMjkgQEAgdm9p ZCBsaWJ4bF9fYXJjaF9kb21haW5fYnVpbGRfaW5mb19hY3BpX3NldGRlZmF1bHQoCiAgICAgbGli eGxfZGVmYm9vbF9zZXRkZWZhdWx0KCZiX2luZm8tPmFjcGksIHRydWUpOwogfQogCitpbnQgbGli eGxfX2FyY2hfY3JlYXRlX3Zpb21tdShsaWJ4bF9fZ2MgKmdjLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgY29uc3QgbGlieGxfZG9tYWluX2NvbmZpZyAqZF9jb25maWcsCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBkb21pZCkKK3sKKyAgICBpbnQgcmMgPSAw OworICAgIGxpYnhsX2N0eCAqY3R4ID0gbGlieGxfX2djX293bmVyKGdjKTsKKyAgICBsaWJ4bF92 aW9tbXVfaW5mbyB2aW9tbXUgPSBkX2NvbmZpZy0+Yl9pbmZvLnUuaHZtLnZpb21tdTsKKworICAg IGlmICh2aW9tbXUudHlwZSA9PSBWSU9NTVVfVFlQRV9JTlRFTF9WVEQpIHsKKyAgICAgICAgdWlu dDMyX3QgaWQ7CisgICAgICAgIHVpbnQ2NF90IGNhcDsKKworICAgICAgICByYyA9IHhjX3Zpb21t dV9xdWVyeV9jYXAoY3R4LT54Y2gsIGRvbWlkLCB2aW9tbXUudHlwZSwgJmNhcCk7CisgICAgICAg IGlmIChyYyB8fCAoKGNhcCAmIHZpb21tdS5jYXApICE9IGNhcCkpCisgICAgICAgICAgICByZXR1 cm4gcmM7CisKKyAgICAgICAgcmMgPSB4Y192aW9tbXVfY3JlYXRlKGN0eC0+eGNoLCBkb21pZCwg dmlvbW11LnR5cGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aW9tbXUuYmFzZV9h ZGRyLCB2aW9tbXUubGVuZ3RoLCB2aW9tbXUuY2FwLCAmaWQpOworICAgIH0KKworICAgIHJldHVy biByYzsKK30KKwogLyoKICAqIExvY2FsIHZhcmlhYmxlczoKICAqIG1vZGU6IEMKLS0gCjEuOC4z LjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4t ZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMu eGVuLm9yZy94ZW4tZGV2ZWwK