From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lan Tianyu Subject: [PATCH V2 1/25] DOMCTL: Introduce new DOMCTL commands for vIOMMU support Date: Wed, 9 Aug 2017 16:34:02 -0400 Message-ID: <1502310866-10450-2-git-send-email-tianyu.lan@intel.com> References: <1502310866-10450-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: <1502310866-10450-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, julien.grall@arm.com, jbeulich@suse.com, chao.gao@intel.com List-Id: xen-devel@lists.xenproject.org VGhpcyBwYXRjaCBpcyB0byBpbnRyb2R1Y2UgY3JlYXRlLCBkZXN0cm95IGFuZCBxdWVyeSBjYXBh YmlsaXRpZXMKY29tbWFuZCBmb3IgdklPTU1VLiB2SU9NTVUgbGF5ZXIgd2lsbCBkZWFsIHdpdGgg cmVxdWVzdHMgYW5kIGNhbGwKYXJjaCB2SU9NTVUgb3BzLgoKU2lnbmVkLW9mZi1ieTogTGFuIFRp YW55dSA8dGlhbnl1LmxhbkBpbnRlbC5jb20+Ci0tLQogeGVuL2NvbW1vbi9kb21jdGwuYyAgICAg ICAgIHwgIDMgKysrCiB4ZW4vY29tbW9uL3Zpb21tdS5jICAgICAgICAgfCA0MyArKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrCiB4ZW4vaW5jbHVkZS9wdWJsaWMvZG9tY3RsLmgg fCA1MiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIHhlbi9p bmNsdWRlL3hlbi92aW9tbXUuaCAgICB8ICA2ICsrKysrKwogNCBmaWxlcyBjaGFuZ2VkLCAxMDQg aW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL3hlbi9jb21tb24vZG9tY3RsLmMgYi94ZW4vY29t bW9uL2RvbWN0bC5jCmluZGV4IGQ4MDQ4OGIuLjAxYzMwMjQgMTAwNjQ0Ci0tLSBhL3hlbi9jb21t b24vZG9tY3RsLmMKKysrIGIveGVuL2NvbW1vbi9kb21jdGwuYwpAQCAtMTE0NCw2ICsxMTQ0LDkg QEAgbG9uZyBkb19kb21jdGwoWEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh4ZW5fZG9tY3RsX3QpIHVf ZG9tY3RsKQogICAgICAgICBpZiAoICFyZXQgKQogICAgICAgICAgICAgY29weWJhY2sgPSAxOwog ICAgICAgICBicmVhazsKKyAgICBjYXNlIFhFTl9ET01DVExfdmlvbW11X29wOgorICAgICAgICBy ZXQgPSB2aW9tbXVfZG9tY3RsKGQsICZvcC0+dS52aW9tbXVfb3AsICZjb3B5YmFjayk7CisgICAg ICAgIGJyZWFrOwogCiAgICAgZGVmYXVsdDoKICAgICAgICAgcmV0ID0gYXJjaF9kb19kb21jdGwo b3AsIGQsIHVfZG9tY3RsKTsKZGlmZiAtLWdpdCBhL3hlbi9jb21tb24vdmlvbW11LmMgYi94ZW4v Y29tbW9uL3Zpb21tdS5jCmluZGV4IDY4NzRkOWYuLmE0ZDAwNGQgMTAwNjQ0Ci0tLSBhL3hlbi9j b21tb24vdmlvbW11LmMKKysrIGIveGVuL2NvbW1vbi92aW9tbXUuYwpAQCAtMTQ4LDYgKzE0OCw0 OSBAQCBzdGF0aWMgdTY0IHZpb21tdV9xdWVyeV9jYXBzKHN0cnVjdCBkb21haW4gKmQsIHU2NCB0 eXBlKQogICAgIHJldHVybiB2aW9tbXVfdHlwZS0+b3BzLT5xdWVyeV9jYXBzKGQpOwogfQogCitp bnQgdmlvbW11X2RvbWN0bChzdHJ1Y3QgZG9tYWluICpkLCBzdHJ1Y3QgeGVuX2RvbWN0bF92aW9t bXVfb3AgKm9wLAorICAgICAgICAgICAgICAgICAgYm9vbCAqbmVlZF9jb3B5KQoreworICAgIGlu dCByYyA9IC1FSU5WQUwsIHJldDsKKworICAgIGlmICggIXZpb21tdV9lbmFibGVkKCkgKQorICAg ICAgICByZXR1cm4gcmM7CisKKyAgICBzd2l0Y2ggKCBvcC0+Y21kICkKKyAgICB7CisgICAgY2Fz ZSBYRU5fRE9NQ1RMX2NyZWF0ZV92aW9tbXU6CisgICAgICAgIHJldCA9IHZpb21tdV9jcmVhdGUo ZCwgb3AtPnUuY3JlYXRlX3Zpb21tdS52aW9tbXVfdHlwZSwKKyAgICAgICAgICAgIG9wLT51LmNy ZWF0ZV92aW9tbXUuYmFzZV9hZGRyZXNzLAorICAgICAgICAgICAgb3AtPnUuY3JlYXRlX3Zpb21t dS5sZW5ndGgsCisgICAgICAgICAgICBvcC0+dS5jcmVhdGVfdmlvbW11LmNhcGFiaWxpdGllcyk7 CisgICAgICAgIGlmICggcmV0ID49IDAgKSB7CisgICAgICAgICAgICBvcC0+dS5jcmVhdGVfdmlv bW11LnZpb21tdV9pZCA9IHJldDsKKyAgICAgICAgICAgICpuZWVkX2NvcHkgPSB0cnVlOworICAg ICAgICAgICAgcmMgPSAwOyAvKiByZXR1cm4gMCBpZiBzdWNjZXNzICovCisgICAgICAgIH0KKyAg ICAgICAgYnJlYWs7CisKKyAgICBjYXNlIFhFTl9ET01DVExfZGVzdHJveV92aW9tbXU6CisgICAg ICAgIHJjID0gdmlvbW11X2Rlc3Ryb3koZCwgb3AtPnUuZGVzdHJveV92aW9tbXUudmlvbW11X2lk KTsKKyAgICAgICAgYnJlYWs7CisKKyAgICBjYXNlIFhFTl9ET01DVExfcXVlcnlfdmlvbW11X2Nh cHM6CisgICAgICAgIHJldCA9IHZpb21tdV9xdWVyeV9jYXBzKGQsIG9wLT51LnF1ZXJ5X2NhcHMu dmlvbW11X3R5cGUpOworICAgICAgICBpZiAoIHJldCA+PSAwICkKKyAgICAgICAgeworICAgICAg ICAgICAgb3AtPnUucXVlcnlfY2Fwcy5jYXBhYmlsaXRpZXMgPSByZXQ7CisgICAgICAgICAgICBy YyA9IDA7CisgICAgICAgIH0KKyAgICAgICAgKm5lZWRfY29weSA9IHRydWU7CisgICAgICAgIGJy ZWFrOworCisgICAgZGVmYXVsdDoKKyAgICAgICAgYnJlYWs7CisgICAgfQorCisgICAgcmV0dXJu IHJjOworfQorCiBpbnQgX19pbml0IHZpb21tdV9zZXR1cCh2b2lkKQogewogICAgIElOSVRfTElT VF9IRUFEKCZ0eXBlX2xpc3QpOwpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvcHVibGljL2RvbWN0 bC5oIGIveGVuL2luY2x1ZGUvcHVibGljL2RvbWN0bC5oCmluZGV4IGZmMzk3NjIuLjRiMTBmMjYg MTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL3B1YmxpYy9kb21jdGwuaAorKysgYi94ZW4vaW5jbHVk ZS9wdWJsaWMvZG9tY3RsLmgKQEAgLTExNDksNiArMTE0OSw1NiBAQCBzdHJ1Y3QgeGVuX2RvbWN0 bF9wc3JfY2F0X29wIHsKIHR5cGVkZWYgc3RydWN0IHhlbl9kb21jdGxfcHNyX2NhdF9vcCB4ZW5f ZG9tY3RsX3Bzcl9jYXRfb3BfdDsKIERFRklORV9YRU5fR1VFU1RfSEFORExFKHhlbl9kb21jdGxf cHNyX2NhdF9vcF90KTsKIAorLyogIHZJT01NVSBoZWxwZXIKKyAqCisgKiAgdklPTU1VIGludGVy ZmFjZSBjYW4gYmUgdXNlZCB0byBjcmVhdGUvZGVzdHJveSB2SU9NTVUgYW5kCisgKiAgcXVlcnkg dklPTU1VIGNhcGFiaWxpdGllcy4KKyAqLworCisvKiB2SU9NTVUgdHlwZSAtIHNwZWNpZnkgdmVu ZG9yIHZJT01NVSBkZXZpY2UgbW9kZWwgKi8KKyNkZWZpbmUgVklPTU1VX1RZUEVfSU5URUxfVlRE ICAgICAoMXUgPDwgMCkKKworLyogdklPTU1VIGNhcGFiaWxpdGllcyAqLworI2RlZmluZSBWSU9N TVVfQ0FQX0lSUV9SRU1BUFBJTkcgICgxdSA8PCAwKQorCitzdHJ1Y3QgeGVuX2RvbWN0bF92aW9t bXVfb3AgeworICAgIHVpbnQzMl90IGNtZDsKKyNkZWZpbmUgWEVOX0RPTUNUTF9jcmVhdGVfdmlv bW11ICAgICAgICAgIDAKKyNkZWZpbmUgWEVOX0RPTUNUTF9kZXN0cm95X3Zpb21tdSAgICAgICAg IDEKKyNkZWZpbmUgWEVOX0RPTUNUTF9xdWVyeV92aW9tbXVfY2FwcyAgICAgIDIKKyAgICB1bmlv biB7CisgICAgICAgIHN0cnVjdCB7CisgICAgICAgICAgICAvKiBJTiAtIHZJT01NVSB0eXBlICov CisgICAgICAgICAgICB1aW50NjRfdCB2aW9tbXVfdHlwZTsKKyAgICAgICAgICAgIC8qIAorICAg ICAgICAgICAgICogSU4gLSBNTUlPIGJhc2UgYWRkcmVzcyBvZiB2SU9NTVUuIHZJT01NVSBkZXZp Y2UgbW9kZWxzCisgICAgICAgICAgICAgKiBhcmUgaW4gY2hhcmdlIG9mIHRvIGNoZWNrIGJhc2Vf YWRkcmVzcyBhbmQgbGVuZ3RoLgorICAgICAgICAgICAgICovCisgICAgICAgICAgICB1aW50NjRf dCBiYXNlX2FkZHJlc3M7CisgICAgICAgICAgICAvKiBJTiAtIExlbmd0aCBvZiBNTUlPIHJlZ2lv biAqLworICAgICAgICAgICAgdWludDY0X3QgbGVuZ3RoOworICAgICAgICAgICAgLyogSU4gLSBD YXBhYmlsaXRpZXMgd2l0aCB3aGljaCB3ZSB3YW50IHRvIGNyZWF0ZSAqLworICAgICAgICAgICAg dWludDY0X3QgY2FwYWJpbGl0aWVzOworICAgICAgICAgICAgLyogT1VUIC0gdklPTU1VIGlkZW50 aXR5ICovCisgICAgICAgICAgICB1aW50MzJfdCB2aW9tbXVfaWQ7CisgICAgICAgIH0gY3JlYXRl X3Zpb21tdTsKKworICAgICAgICBzdHJ1Y3QgeworICAgICAgICAgICAgLyogSU4gLSB2SU9NTVUg aWRlbnRpdHkgKi8KKyAgICAgICAgICAgIHVpbnQzMl90IHZpb21tdV9pZDsKKyAgICAgICAgfSBk ZXN0cm95X3Zpb21tdTsKKworICAgICAgICBzdHJ1Y3QgeworICAgICAgICAgICAgLyogSU4gLSB2 SU9NTVUgdHlwZSAqLworICAgICAgICAgICAgdWludDY0X3QgdmlvbW11X3R5cGU7CisgICAgICAg ICAgICAvKiBPVVQgLSB2SU9NTVUgQ2FwYWJpbGl0aWVzICovCisgICAgICAgICAgICB1aW50NjRf dCBjYXBhYmlsaXRpZXM7CisgICAgICAgIH0gcXVlcnlfY2FwczsKKyAgICB9IHU7Cit9OwordHlw ZWRlZiBzdHJ1Y3QgeGVuX2RvbWN0bF92aW9tbXVfb3AgeGVuX2RvbWN0bF92aW9tbXVfb3A7CitE RUZJTkVfWEVOX0dVRVNUX0hBTkRMRSh4ZW5fZG9tY3RsX3Zpb21tdV9vcCk7CisKIHN0cnVjdCB4 ZW5fZG9tY3RsIHsKICAgICB1aW50MzJfdCBjbWQ7CiAjZGVmaW5lIFhFTl9ET01DVExfY3JlYXRl ZG9tYWluICAgICAgICAgICAgICAgICAgIDEKQEAgLTEyMjYsNiArMTI3Niw3IEBAIHN0cnVjdCB4 ZW5fZG9tY3RsIHsKICNkZWZpbmUgWEVOX0RPTUNUTF9tb25pdG9yX29wICAgICAgICAgICAgICAg ICAgICA3NwogI2RlZmluZSBYRU5fRE9NQ1RMX3Bzcl9jYXRfb3AgICAgICAgICAgICAgICAgICAg IDc4CiAjZGVmaW5lIFhFTl9ET01DVExfc29mdF9yZXNldCAgICAgICAgICAgICAgICAgICAgNzkK KyNkZWZpbmUgWEVOX0RPTUNUTF92aW9tbXVfb3AgICAgICAgICAgICAgICAgICAgICA4MAogI2Rl ZmluZSBYRU5fRE9NQ1RMX2dkYnN4X2d1ZXN0bWVtaW8gICAgICAgICAgICAxMDAwCiAjZGVmaW5l IFhFTl9ET01DVExfZ2Ric3hfcGF1c2V2Y3B1ICAgICAgICAgICAgIDEwMDEKICNkZWZpbmUgWEVO X0RPTUNUTF9nZGJzeF91bnBhdXNldmNwdSAgICAgICAgICAgMTAwMgpAQCAtMTI4OCw2ICsxMzM5 LDcgQEAgc3RydWN0IHhlbl9kb21jdGwgewogICAgICAgICBzdHJ1Y3QgeGVuX2RvbWN0bF9wc3Jf Y210X29wICAgICAgICBwc3JfY210X29wOwogICAgICAgICBzdHJ1Y3QgeGVuX2RvbWN0bF9tb25p dG9yX29wICAgICAgICBtb25pdG9yX29wOwogICAgICAgICBzdHJ1Y3QgeGVuX2RvbWN0bF9wc3Jf Y2F0X29wICAgICAgICBwc3JfY2F0X29wOworICAgICAgICBzdHJ1Y3QgeGVuX2RvbWN0bF92aW9t bXVfb3AgICAgICAgICB2aW9tbXVfb3A7CiAgICAgICAgIHVpbnQ4X3QgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHBhZFsxMjhdOwogICAgIH0gdTsKIH07CmRpZmYgLS1naXQgYS94ZW4vaW5j bHVkZS94ZW4vdmlvbW11LmggYi94ZW4vaW5jbHVkZS94ZW4vdmlvbW11LmgKaW5kZXggNTA2ZWE1 NC4uNTI3YWZiMSAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUveGVuL3Zpb21tdS5oCisrKyBiL3hl bi9pbmNsdWRlL3hlbi92aW9tbXUuaApAQCAtNDksNiArNDksOCBAQCBleHRlcm4gYm9vbF90IG9w dF92aW9tbXU7CiBzdGF0aWMgaW5saW5lIGJvb2wgdmlvbW11X2VuYWJsZWQodm9pZCkgeyByZXR1 cm4gb3B0X3Zpb21tdTsgfQogaW50IHZpb21tdV9pbml0X2RvbWFpbihzdHJ1Y3QgZG9tYWluICpk KTsKIGludCB2aW9tbXVfcmVnaXN0ZXJfdHlwZSh1NjQgdHlwZSwgc3RydWN0IHZpb21tdV9vcHMg KiBvcHMpOworaW50IHZpb21tdV9kb21jdGwoc3RydWN0IGRvbWFpbiAqZCwgc3RydWN0IHhlbl9k b21jdGxfdmlvbW11X29wICpvcCwKKyAgICAgICAgICAgICAgICAgIGJvb2xfdCAqbmVlZF9jb3B5 KTsKIGludCB2aW9tbXVfc2V0dXAodm9pZCk7CiAjZWxzZQogc3RhdGljIGlubGluZSBpbnQgdmlv bW11X2luaXRfZG9tYWluKHN0cnVjdCBkb21haW4gKmQpIHsgcmV0dXJuIDA7IH0KQEAgLTU2LDYg KzU4LDEwIEBAIHN0YXRpYyBpbmxpbmUgaW50IHZpb21tdV9yZWdpc3Rlcl90eXBlKHU2NCB0eXBl LCBzdHJ1Y3QgdmlvbW11X29wcyAqIG9wcykKIHsgcmV0dXJuIDA7IH0KIHN0YXRpYyBpbmxpbmUg aW50IF9faW5pdCB2aW9tbXVfc2V0dXAodm9pZCkgeyByZXR1cm4gMDsgfQogc3RhdGljIGlubGlu ZSBib29sIHZpb21tdV9lbmFibGVkKHZvaWQpIHsgcmV0dXJuIGZhbHNlOyB9CitzdGF0aWMgaW5s aW5lIGludCB2aW9tbXVfZG9tY3RsKHN0cnVjdCBkb21haW4gKmQsCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHN0cnVjdCB4ZW5fZG9tY3RsX3Zpb21tdV9vcCAqb3AsCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgKm5lZWRfY29weSkKK3sgcmV0dXJuIC1FTk9E RVYgfTsKICNlbmRpZgogCiAjZW5kaWYgLyogX19YRU5fVklPTU1VX0hfXyAqLwotLSAKMS44LjMu MQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1k ZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54 ZW4ub3JnL3hlbi1kZXZlbAo=