From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lan Tianyu Subject: [RFC PATCH V2 2/26] DOMCTL: Introduce new DOMCTL commands for vIOMMU support Date: Thu, 18 May 2017 01:34:32 -0400 Message-ID: <1495085696-10819-3-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@intel.com List-Id: xen-devel@lists.xenproject.org VGhpcyBwYXRjaCBpcyB0byBpbnRyb2R1Y2UgY3JlYXRlLCBkZXN0cm95IGFuZCBxdWVyeSBjYXBh YmlsaXRpZXMKY29tbWFuZCBmb3IgdklPTU1VLiB2SU9NTVUgbGF5ZXIgd2lsbCBkZWFsIHdpdGgg cmVxdWVzdHMgYW5kIGNhbGwKYXJjaCB2SU9NTVUgb3BzLgoKU2lnbmVkLW9mZi1ieTogTGFuIFRp YW55dSA8dGlhbnl1LmxhbkBpbnRlbC5jb20+Ci0tLQogeGVuL2NvbW1vbi9kb21jdGwuYyAgICAg ICAgIHwgIDMgKysrCiB4ZW4vY29tbW9uL3Zpb21tdS5jICAgICAgICAgfCAzNSArKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKwogeGVuL2luY2x1ZGUvcHVibGljL2RvbWN0bC5oIHwg NDAgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogeGVuL2luY2x1ZGUv eGVuL3Zpb21tdS5oICAgIHwgIDggKysrKysrKy0KIDQgZmlsZXMgY2hhbmdlZCwgODUgaW5zZXJ0 aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3hlbi9jb21tb24vZG9tY3RsLmMg Yi94ZW4vY29tbW9uL2RvbWN0bC5jCmluZGV4IDk1MWE1ZGMuLmExNzg1NDQgMTAwNjQ0Ci0tLSBh L3hlbi9jb21tb24vZG9tY3RsLmMKKysrIGIveGVuL2NvbW1vbi9kb21jdGwuYwpAQCAtMTE0MSw2 ICsxMTQxLDkgQEAgbG9uZyBkb19kb21jdGwoWEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh4ZW5fZG9t Y3RsX3QpIHVfZG9tY3RsKQogICAgICAgICBpZiAoICFyZXQgKQogICAgICAgICAgICAgY29weWJh Y2sgPSAxOwogICAgICAgICBicmVhazsKKyAgICBjYXNlIFhFTl9ET01DVExfdmlvbW11X29wOgor ICAgICAgICByZXQgPSB2aW9tbXVfZG9tY3RsKGQsICZvcC0+dS52aW9tbXVfb3AsICZjb3B5YmFj ayk7CisgICAgICAgIGJyZWFrOwogCiAgICAgZGVmYXVsdDoKICAgICAgICAgcmV0ID0gYXJjaF9k b19kb21jdGwob3AsIGQsIHVfZG9tY3RsKTsKZGlmZiAtLWdpdCBhL3hlbi9jb21tb24vdmlvbW11 LmMgYi94ZW4vY29tbW9uL3Zpb21tdS5jCmluZGV4IGVhZGNlY2IuLjc0YWZiZjUgMTAwNjQ0Ci0t LSBhL3hlbi9jb21tb24vdmlvbW11LmMKKysrIGIveGVuL2NvbW1vbi92aW9tbXUuYwpAQCAtMzAs NiArMzAsNDEgQEAgc3RydWN0IHZpb21tdV90eXBlIHsKICAgICBzdHJ1Y3QgbGlzdF9oZWFkIG5v ZGU7CiB9OwogCitpbnQgdmlvbW11X2RvbWN0bChzdHJ1Y3QgZG9tYWluICpkLCBzdHJ1Y3QgeGVu X2RvbWN0bF92aW9tbXVfb3AgKm9wLAorICAgICAgICAgICAgICAgICAgYm9vbF90ICpuZWVkX2Nv cHkpCit7CisgICAgaW50IHJjID0gLUVJTlZBTDsKKworICAgIHN3aXRjaCAoIG9wLT5jbWQgKQor ICAgIHsKKyAgICBjYXNlIFhFTl9ET01DVExfY3JlYXRlX3Zpb21tdToKKwkJcmMgPSB2aW9tbXVf Y3JlYXRlKGQsIG9wLT51LmNyZWF0ZV92aW9tbXUudmlvbW11X3R5cGUsCisgICAgICAgICAgICAg ICAgICAgICAgICAgICBvcC0+dS5jcmVhdGVfdmlvbW11LmJhc2VfYWRkcmVzcywKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgIG9wLT51LmNyZWF0ZV92aW9tbXUubGVuZ3RoLAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgb3AtPnUuY3JlYXRlX3Zpb21tdS5jYXBhYmlsaXRpZXMpOworICAg ICAgICBpZiAocmMgPj0gMCkgeworICAgICAgICAgICAgb3AtPnUuY3JlYXRlX3Zpb21tdS52aW9t bXVfaWQgPSByYzsKKyAgICAgICAgICAgICpuZWVkX2NvcHkgPSB0cnVlOworICAgICAgICB9Cisg ICAgICAgIGJyZWFrOworCisgICAgY2FzZSBYRU5fRE9NQ1RMX2Rlc3Ryb3lfdmlvbW11OgorICAg ICAgICByYyA9IHZpb21tdV9kZXN0cm95KGQsIG9wLT51LmRlc3Ryb3lfdmlvbW11LnZpb21tdV9p ZCk7CisgICAgICAgIGJyZWFrOworCisgICAgY2FzZSBYRU5fRE9NQ1RMX3F1ZXJ5X3Zpb21tdV9j YXBzOgorICAgICAgICBvcC0+dS5xdWVyeV9jYXBzLmNhcHMKKyAgICAgICAgICAgICAgICA9IHZp b21tdV9xdWVyeV9jYXBzKGQsIG9wLT51LnF1ZXJ5X2NhcHMudmlvbW11X3R5cGUpOworICAgICAg ICAqbmVlZF9jb3B5ID0gdHJ1ZTsKKyAgICAgICAgYnJlYWs7CisKKyAgICBkZWZhdWx0OgorICAg ICAgICBicmVhazsKKyAgICB9CisKKyAgICByZXR1cm4gcmM7Cit9CisKIGludCB2aW9tbXVfaW5p dF9kb21haW4oc3RydWN0IGRvbWFpbiAqZCkKIHsKICAgICBkLT52aW9tbXUubnJfdmlvbW11ID0g MDsKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL3B1YmxpYy9kb21jdGwuaCBiL3hlbi9pbmNsdWRl L3B1YmxpYy9kb21jdGwuaAppbmRleCBlNmNmMjExLi5kNDk5ZmM2IDEwMDY0NAotLS0gYS94ZW4v aW5jbHVkZS9wdWJsaWMvZG9tY3RsLmgKKysrIGIveGVuL2luY2x1ZGUvcHVibGljL2RvbWN0bC5o CkBAIC0xMTQxLDYgKzExNDEsNDQgQEAgc3RydWN0IHhlbl9kb21jdGxfcHNyX2NhdF9vcCB7CiB0 eXBlZGVmIHN0cnVjdCB4ZW5fZG9tY3RsX3Bzcl9jYXRfb3AgeGVuX2RvbWN0bF9wc3JfY2F0X29w X3Q7CiBERUZJTkVfWEVOX0dVRVNUX0hBTkRMRSh4ZW5fZG9tY3RsX3Bzcl9jYXRfb3BfdCk7CiAK K3N0cnVjdCB4ZW5fZG9tY3RsX3Zpb21tdV9vcCB7CisgICAgdWludDMyX3QgY21kOworI2RlZmlu ZSBYRU5fRE9NQ1RMX2NyZWF0ZV92aW9tbXUgICAgICAgICAgMAorI2RlZmluZSBYRU5fRE9NQ1RM X2Rlc3Ryb3lfdmlvbW11ICAgICAgICAgMQorI2RlZmluZSBYRU5fRE9NQ1RMX3F1ZXJ5X3Zpb21t dV9jYXBzICAgICAgMgorICAgIHVuaW9uIHsKKyAgICAgICAgc3RydWN0IHsKKyAgICAgICAgICAg IC8qIElOIC0gdklPTU1VIHR5cGUgKi8KKyAgICAgICAgICAgIHVpbnQ2NF90IHZpb21tdV90eXBl OworICAgICAgICAgICAgLyogCisgICAgICAgICAgICAgKiBJTiAtIE1NSU8gYmFzZSBhZGRyZXNz IG9mIHZJT01NVS4gdklPTU1VIGRldmljZSBtb2RlbHMKKyAgICAgICAgICAgICAqIGFyZSBpbiBj aGFyZ2Ugb2YgdG8gY2hlY2sgYmFzZV9hZGRyZXNzIGFuZCBsZW5ndGguCisgICAgICAgICAgICAg Ki8KKyAgICAgICAgICAgIHVpbnQ2NF90IGJhc2VfYWRkcmVzczsKKyAgICAgICAgICAgIC8qIElO IC0gTGVuZ3RoIG9mIE1NSU8gcmVnaW9uICovCisgICAgICAgICAgICB1aW50NjRfdCBsZW5ndGg7 CisgICAgICAgICAgICAvKiBJTiAtIENhcGFiaWxpdGllcyB3aXRoIHdoaWNoIHdlIHdhbnQgdG8g Y3JlYXRlICovCisgICAgICAgICAgICB1aW50NjRfdCBjYXBhYmlsaXRpZXM7CisgICAgICAgICAg ICAvKiBPVVQgLSB2SU9NTVUgaWRlbnRpdHkgKi8KKyAgICAgICAgICAgIHVpbnQzMl90IHZpb21t dV9pZDsKKyAgICAgICAgfSBjcmVhdGVfdmlvbW11OworCisgICAgICAgIHN0cnVjdCB7CisgICAg ICAgICAgICAvKiBJTiAtIHZJT01NVSBpZGVudGl0eSAqLworICAgICAgICAgICAgdWludDMyX3Qg dmlvbW11X2lkOworICAgICAgICB9IGRlc3Ryb3lfdmlvbW11OworCisgICAgICAgIHN0cnVjdCB7 CisgICAgICAgICAgICAvKiBJTiAtIHZJT01NVSB0eXBlICovCisgICAgICAgICAgICB1aW50NjRf dCB2aW9tbXVfdHlwZTsKKyAgICAgICAgICAgIC8qIE9VVCAtIHZJT01NVSBDYXBhYmlsaXRpZXMg Ki8KKyAgICAgICAgICAgIHVpbnQ2NF90IGNhcHM7CisgICAgICAgIH0gcXVlcnlfY2FwczsKKyAg ICB9IHU7Cit9OwordHlwZWRlZiBzdHJ1Y3QgeGVuX2RvbWN0bF92aW9tbXVfb3AgeGVuX2RvbWN0 bF92aW9tbXVfb3A7CitERUZJTkVfWEVOX0dVRVNUX0hBTkRMRSh4ZW5fZG9tY3RsX3Zpb21tdV9v cCk7CisKIHN0cnVjdCB4ZW5fZG9tY3RsIHsKICAgICB1aW50MzJfdCBjbWQ7CiAjZGVmaW5lIFhF Tl9ET01DVExfY3JlYXRlZG9tYWluICAgICAgICAgICAgICAgICAgIDEKQEAgLTEyMTgsNiArMTI1 Niw3IEBAIHN0cnVjdCB4ZW5fZG9tY3RsIHsKICNkZWZpbmUgWEVOX0RPTUNUTF9tb25pdG9yX29w ICAgICAgICAgICAgICAgICAgICA3NwogI2RlZmluZSBYRU5fRE9NQ1RMX3Bzcl9jYXRfb3AgICAg ICAgICAgICAgICAgICAgIDc4CiAjZGVmaW5lIFhFTl9ET01DVExfc29mdF9yZXNldCAgICAgICAg ICAgICAgICAgICAgNzkKKyNkZWZpbmUgWEVOX0RPTUNUTF92aW9tbXVfb3AgICAgICAgICAgICAg ICAgICAgICA4MAogI2RlZmluZSBYRU5fRE9NQ1RMX2dkYnN4X2d1ZXN0bWVtaW8gICAgICAgICAg ICAxMDAwCiAjZGVmaW5lIFhFTl9ET01DVExfZ2Ric3hfcGF1c2V2Y3B1ICAgICAgICAgICAgIDEw MDEKICNkZWZpbmUgWEVOX0RPTUNUTF9nZGJzeF91bnBhdXNldmNwdSAgICAgICAgICAgMTAwMgpA QCAtMTI4MCw2ICsxMzE5LDcgQEAgc3RydWN0IHhlbl9kb21jdGwgewogICAgICAgICBzdHJ1Y3Qg eGVuX2RvbWN0bF9wc3JfY210X29wICAgICAgICBwc3JfY210X29wOwogICAgICAgICBzdHJ1Y3Qg eGVuX2RvbWN0bF9tb25pdG9yX29wICAgICAgICBtb25pdG9yX29wOwogICAgICAgICBzdHJ1Y3Qg eGVuX2RvbWN0bF9wc3JfY2F0X29wICAgICAgICBwc3JfY2F0X29wOworICAgICAgICBzdHJ1Y3Qg eGVuX2RvbWN0bF92aW9tbXVfb3AgICAgICAgICB2aW9tbXVfb3A7CiAgICAgICAgIHVpbnQ4X3Qg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZFsxMjhdOwogICAgIH0gdTsKIH07CmRpZmYg LS1naXQgYS94ZW4vaW5jbHVkZS94ZW4vdmlvbW11LmggYi94ZW4vaW5jbHVkZS94ZW4vdmlvbW11 LmgKaW5kZXggYWU1ZjZhZi4uNTkwOTgwMCAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUveGVuL3Zp b21tdS5oCisrKyBiL3hlbi9pbmNsdWRlL3hlbi92aW9tbXUuaApAQCAtNTIsNiArNTIsOCBAQCBp bnQgdmlvbW11X2Rlc3Ryb3koc3RydWN0IGRvbWFpbiAqZCwgdTMyIHZpb21tdV9pZCk7CiBpbnQg dmlvbW11X3JlZ2lzdGVyX3R5cGUodTY0IHR5cGUsIHN0cnVjdCB2aW9tbXVfb3BzICogb3BzKTsK IHZvaWQgdmlvbW11X3VucmVnaXN0ZXJfdHlwZSh1NjQgdHlwZSk7CiB1NjQgdmlvbW11X3F1ZXJ5 X2NhcHMoc3RydWN0IGRvbWFpbiAqZCwgdTY0IHZpb21tdV90eXBlKTsKK2ludCB2aW9tbXVfZG9t Y3RsKHN0cnVjdCBkb21haW4gKmQsIHN0cnVjdCB4ZW5fZG9tY3RsX3Zpb21tdV9vcCAqb3AsCisg ICAgICAgICAgICAgICAgICBib29sX3QgKm5lZWRfY29weSk7CiBpbnQgdmlvbW11X3NldHVwKHZv aWQpOwogI2Vsc2UKIHN0YXRpYyBpbmxpbmUgaW50IHZpb21tdV9pbml0X2RvbWFpbihzdHJ1Y3Qg ZG9tYWluICpkKSB7IHJldHVybiAwIH07CkBAIC02Miw4ICs2NCwxMiBAQCBzdGF0aWMgaW5saW5l IGludCB2aW9tbXVfcmVnaXN0ZXJfdHlwZSh1NjQgdHlwZSwgc3RydWN0IHZpb21tdV9vcHMgKiBv cHMpCiB7IHJldHVybiAwOyB9Owogc3RhdGljIGlubGluZSB2b2lkIHZpb21tdV91bnJlZ2lzdGVy X3R5cGUodTY0IHR5cGUpIHsgfTsKIHN0YXRpYyBpbmxpbmUgdTY0IHZpb21tdV9xdWVyeV9jYXBz KHN0cnVjdCBkb21haW4gKmQsIHU2NCB2aW9tbXVfdHlwZSkKLSAgICAgICAgICAgICAgICB7IHJl dHVybiAtRU5PREVWIH07Cit7IHJldHVybiAtRU5PREVWIH07CiBzdGF0aWMgaW5saW5lIGludCBf X2luaXQgdmlvbW11X3NldHVwKHZvaWQpIHsgcmV0dXJuIDAgfTsKK3N0YXRpYyBpbmxpbmUgaW50 IHZpb21tdV9kb21jdGwoc3RydWN0IGRvbWFpbiAqZCwKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgc3RydWN0IHhlbl9kb21jdGxfdmlvbW11X29wICpvcCwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgYm9vbF90ICpuZWVkX2NvcHkpCit7IHJldHVybiAtRU5PREVWIH07 CiAjZW5kaWYKIAogI2VuZGlmIC8qIF9fWEVOX1ZJT01NVV9IX18gKi8KLS0gCjEuOC4zLjEKCgpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwg bWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9y Zy94ZW4tZGV2ZWwK