From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lan Tianyu Subject: [PATCH V3 3/29] DOMCTL: Introduce new DOMCTL commands for vIOMMU support Date: Thu, 21 Sep 2017 23:01:44 -0400 Message-ID: <1506049330-11196-4-git-send-email-tianyu.lan@intel.com> References: <1506049330-11196-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: <1506049330-11196-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, sstabellini@kernel.org, wei.liu2@citrix.com, George.Dunlap@eu.citrix.com, andrew.cooper3@citrix.com, ian.jackson@eu.citrix.com, tim@xen.org, jbeulich@suse.com, roger.pau@citrix.com, chao.gao@intel.com List-Id: xen-devel@lists.xenproject.org VGhpcyBwYXRjaCBpcyB0byBpbnRyb2R1Y2UgY3JlYXRlLCBkZXN0cm95IGFuZCBxdWVyeSBjYXBh YmlsaXRpZXMKY29tbWFuZCBmb3IgdklPTU1VLiB2SU9NTVUgbGF5ZXIgd2lsbCBkZWFsIHdpdGgg cmVxdWVzdHMgYW5kIGNhbGwKYXJjaCB2SU9NTVUgb3BzLgoKU2lnbmVkLW9mZi1ieTogTGFuIFRp YW55dSA8dGlhbnl1LmxhbkBpbnRlbC5jb20+Ci0tLQogeGVuL2NvbW1vbi9kb21jdGwuYyAgICAg ICAgIHwgIDYgKysrKysrCiB4ZW4vY29tbW9uL3Zpb21tdS5jICAgICAgICAgfCAzMCArKysrKysr KysrKysrKysrKysrKysrKysrKysrKysKIHhlbi9pbmNsdWRlL3B1YmxpYy9kb21jdGwuaCB8IDQy ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogeGVuL2luY2x1ZGUv eGVuL3Zpb21tdS5oICAgIHwgIDIgKysKIDQgZmlsZXMgY2hhbmdlZCwgODAgaW5zZXJ0aW9ucygr KQoKZGlmZiAtLWdpdCBhL3hlbi9jb21tb24vZG9tY3RsLmMgYi94ZW4vY29tbW9uL2RvbWN0bC5j CmluZGV4IDQyNjU4ZTUuLjdlMjgyMzcgMTAwNjQ0Ci0tLSBhL3hlbi9jb21tb24vZG9tY3RsLmMK KysrIGIveGVuL2NvbW1vbi9kb21jdGwuYwpAQCAtMTE0OSw2ICsxMTQ5LDEyIEBAIGxvbmcgZG9f ZG9tY3RsKFhFTl9HVUVTVF9IQU5ETEVfUEFSQU0oeGVuX2RvbWN0bF90KSB1X2RvbWN0bCkKICAg ICAgICAgICAgIGNvcHliYWNrID0gMTsKICAgICAgICAgYnJlYWs7CiAKKyNpZmRlZiBDT05GSUdf VklPTU1VCisgICAgY2FzZSBYRU5fRE9NQ1RMX3Zpb21tdV9vcDoKKyAgICAgICAgcmV0ID0gdmlv bW11X2RvbWN0bChkLCAmb3AtPnUudmlvbW11X29wLCAmY29weWJhY2spOworICAgICAgICBicmVh azsKKyNlbmRpZgorCiAgICAgZGVmYXVsdDoKICAgICAgICAgcmV0ID0gYXJjaF9kb19kb21jdGwo b3AsIGQsIHVfZG9tY3RsKTsKICAgICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS94ZW4vY29tbW9u L3Zpb21tdS5jIGIveGVuL2NvbW1vbi92aW9tbXUuYwppbmRleCA2NGQ5MWU2Li41NWZlYjVkIDEw MDY0NAotLS0gYS94ZW4vY29tbW9uL3Zpb21tdS5jCisrKyBiL3hlbi9jb21tb24vdmlvbW11LmMK QEAgLTEzMyw2ICsxMzMsMzYgQEAgc3RhdGljIGludCB2aW9tbXVfY3JlYXRlKHN0cnVjdCBkb21h aW4gKmQsIHVpbnQ2NF90IHR5cGUsCiAgICAgcmV0dXJuIDA7CiB9CiAKK2ludCB2aW9tbXVfZG9t Y3RsKHN0cnVjdCBkb21haW4gKmQsIHN0cnVjdCB4ZW5fZG9tY3RsX3Zpb21tdV9vcCAqb3AsCisg ICAgICAgICAgICAgICAgICBib29sICpuZWVkX2NvcHkpCit7CisgICAgaW50IHJjID0gLUVJTlZB TDsKKworICAgIGlmICggIXZpb21tdV9lbmFibGVkKCkgKQorICAgICAgICByZXR1cm4gLUVOT0RF VjsKKworICAgIHN3aXRjaCAoIG9wLT5jbWQgKQorICAgIHsKKyAgICBjYXNlIFhFTl9ET01DVExf Y3JlYXRlX3Zpb21tdToKKyAgICAgICAgcmMgPSB2aW9tbXVfY3JlYXRlKGQsIG9wLT51LmNyZWF0 ZS52aW9tbXVfdHlwZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wLT51LmNyZWF0ZS5i YXNlX2FkZHJlc3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBvcC0+dS5jcmVhdGUuY2Fw YWJpbGl0aWVzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgJm9wLT51LmNyZWF0ZS52aW9t bXVfaWQpOworICAgICAgICBpZiAoICFyYyApCisgICAgICAgICAgICAqbmVlZF9jb3B5ID0gdHJ1 ZTsKKyAgICAgICAgYnJlYWs7CisKKyAgICBjYXNlIFhFTl9ET01DVExfZGVzdHJveV92aW9tbXU6 CisgICAgICAgIHJjID0gdmlvbW11X2Rlc3Ryb3lfZG9tYWluKGQpOworICAgICAgICBicmVhazsK KworICAgIGRlZmF1bHQ6CisgICAgICAgIHJldHVybiAtRU5PU1lTOworICAgIH0KKworICAgIHJl dHVybiByYzsKK30KKwogLyoKICAqIExvY2FsIHZhcmlhYmxlczoKICAqIG1vZGU6IEMKZGlmZiAt LWdpdCBhL3hlbi9pbmNsdWRlL3B1YmxpYy9kb21jdGwuaCBiL3hlbi9pbmNsdWRlL3B1YmxpYy9k b21jdGwuaAppbmRleCA1MGZmNThmLi42ODg1NGI2IDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9w dWJsaWMvZG9tY3RsLmgKKysrIGIveGVuL2luY2x1ZGUvcHVibGljL2RvbWN0bC5oCkBAIC0xMTYz LDYgKzExNjMsNDYgQEAgc3RydWN0IHhlbl9kb21jdGxfcHNyX2NhdF9vcCB7CiB0eXBlZGVmIHN0 cnVjdCB4ZW5fZG9tY3RsX3Bzcl9jYXRfb3AgeGVuX2RvbWN0bF9wc3JfY2F0X29wX3Q7CiBERUZJ TkVfWEVOX0dVRVNUX0hBTkRMRSh4ZW5fZG9tY3RsX3Bzcl9jYXRfb3BfdCk7CiAKKy8qICB2SU9N TVUgaGVscGVyCisgKgorICogIHZJT01NVSBpbnRlcmZhY2UgY2FuIGJlIHVzZWQgdG8gY3JlYXRl L2Rlc3Ryb3kgdklPTU1VIGFuZAorICogIHF1ZXJ5IHZJT01NVSBjYXBhYmlsaXRpZXMuCisgKi8K KworLyogdklPTU1VIHR5cGUgLSBzcGVjaWZ5IHZlbmRvciB2SU9NTVUgZGV2aWNlIG1vZGVsICov CisjZGVmaW5lIFZJT01NVV9UWVBFX0lOVEVMX1ZURCAgICAgICAgICAgMAorCisvKiB2SU9NTVUg Y2FwYWJpbGl0aWVzICovCisjZGVmaW5lIFZJT01NVV9DQVBfSVJRX1JFTUFQUElORyAgKDF1IDw8 IDApCisKK3N0cnVjdCB4ZW5fZG9tY3RsX3Zpb21tdV9vcCB7CisgICAgdWludDMyX3QgY21kOwor I2RlZmluZSBYRU5fRE9NQ1RMX2NyZWF0ZV92aW9tbXUgICAgICAgICAgMAorI2RlZmluZSBYRU5f RE9NQ1RMX2Rlc3Ryb3lfdmlvbW11ICAgICAgICAgMQorICAgIHVuaW9uIHsKKyAgICAgICAgc3Ry dWN0IHsKKyAgICAgICAgICAgIC8qIElOIC0gdklPTU1VIHR5cGUgKi8KKyAgICAgICAgICAgIHVp bnQ2NF90IHZpb21tdV90eXBlOworICAgICAgICAgICAgLyogCisgICAgICAgICAgICAgKiBJTiAt IE1NSU8gYmFzZSBhZGRyZXNzIG9mIHZJT01NVS4gdklPTU1VIGRldmljZSBtb2RlbHMKKyAgICAg ICAgICAgICAqIGFyZSBpbiBjaGFyZ2Ugb2YgdG8gY2hlY2sgYmFzZV9hZGRyZXNzLgorICAgICAg ICAgICAgICovCisgICAgICAgICAgICB1aW50NjRfdCBiYXNlX2FkZHJlc3M7CisgICAgICAgICAg ICAvKiBJTiAtIENhcGFiaWxpdGllcyB3aXRoIHdoaWNoIHdlIHdhbnQgdG8gY3JlYXRlICovCisg ICAgICAgICAgICB1aW50NjRfdCBjYXBhYmlsaXRpZXM7CisgICAgICAgICAgICAvKiBPVVQgLSB2 SU9NTVUgaWRlbnRpdHkgKi8KKyAgICAgICAgICAgIHVpbnQzMl90IHZpb21tdV9pZDsKKyAgICAg ICAgfSBjcmVhdGU7CisKKyAgICAgICAgc3RydWN0IHsKKyAgICAgICAgICAgIC8qIElOIC0gdklP TU1VIGlkZW50aXR5ICovCisgICAgICAgICAgICB1aW50MzJfdCB2aW9tbXVfaWQ7CisgICAgICAg IH0gZGVzdHJveTsKKyAgICB9IHU7Cit9OwordHlwZWRlZiBzdHJ1Y3QgeGVuX2RvbWN0bF92aW9t bXVfb3AgeGVuX2RvbWN0bF92aW9tbXVfb3A7CitERUZJTkVfWEVOX0dVRVNUX0hBTkRMRSh4ZW5f ZG9tY3RsX3Zpb21tdV9vcCk7CisKIHN0cnVjdCB4ZW5fZG9tY3RsIHsKICAgICB1aW50MzJfdCBj bWQ7CiAjZGVmaW5lIFhFTl9ET01DVExfY3JlYXRlZG9tYWluICAgICAgICAgICAgICAgICAgIDEK QEAgLTEyNDAsNiArMTI4MCw3IEBAIHN0cnVjdCB4ZW5fZG9tY3RsIHsKICNkZWZpbmUgWEVOX0RP TUNUTF9tb25pdG9yX29wICAgICAgICAgICAgICAgICAgICA3NwogI2RlZmluZSBYRU5fRE9NQ1RM X3Bzcl9jYXRfb3AgICAgICAgICAgICAgICAgICAgIDc4CiAjZGVmaW5lIFhFTl9ET01DVExfc29m dF9yZXNldCAgICAgICAgICAgICAgICAgICAgNzkKKyNkZWZpbmUgWEVOX0RPTUNUTF92aW9tbXVf b3AgICAgICAgICAgICAgICAgICAgICA4MAogI2RlZmluZSBYRU5fRE9NQ1RMX2dkYnN4X2d1ZXN0 bWVtaW8gICAgICAgICAgICAxMDAwCiAjZGVmaW5lIFhFTl9ET01DVExfZ2Ric3hfcGF1c2V2Y3B1 ICAgICAgICAgICAgIDEwMDEKICNkZWZpbmUgWEVOX0RPTUNUTF9nZGJzeF91bnBhdXNldmNwdSAg ICAgICAgICAgMTAwMgpAQCAtMTMwMiw2ICsxMzQzLDcgQEAgc3RydWN0IHhlbl9kb21jdGwgewog ICAgICAgICBzdHJ1Y3QgeGVuX2RvbWN0bF9wc3JfY210X29wICAgICAgICBwc3JfY210X29wOwog ICAgICAgICBzdHJ1Y3QgeGVuX2RvbWN0bF9tb25pdG9yX29wICAgICAgICBtb25pdG9yX29wOwog ICAgICAgICBzdHJ1Y3QgeGVuX2RvbWN0bF9wc3JfY2F0X29wICAgICAgICBwc3JfY2F0X29wOwor ICAgICAgICBzdHJ1Y3QgeGVuX2RvbWN0bF92aW9tbXVfb3AgICAgICAgICB2aW9tbXVfb3A7CiAg ICAgICAgIHVpbnQ4X3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZFsxMjhdOwogICAg IH0gdTsKIH07CmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS94ZW4vdmlvbW11LmggYi94ZW4vaW5j bHVkZS94ZW4vdmlvbW11LmgKaW5kZXggNjM2YTJhMy4uYmFhOGFiNyAxMDA2NDQKLS0tIGEveGVu L2luY2x1ZGUveGVuL3Zpb21tdS5oCisrKyBiL3hlbi9pbmNsdWRlL3hlbi92aW9tbXUuaApAQCAt NDMsNiArNDMsOCBAQCBzdGF0aWMgaW5saW5lIGJvb2wgdmlvbW11X2VuYWJsZWQodm9pZCkKIAog aW50IHZpb21tdV9yZWdpc3Rlcl90eXBlKHVpbnQ2NF90IHR5cGUsIHN0cnVjdCB2aW9tbXVfb3Bz ICpvcHMpOwogaW50IHZpb21tdV9kZXN0cm95X2RvbWFpbihzdHJ1Y3QgZG9tYWluICpkKTsKK2lu dCB2aW9tbXVfZG9tY3RsKHN0cnVjdCBkb21haW4gKmQsIHN0cnVjdCB4ZW5fZG9tY3RsX3Zpb21t dV9vcCAqb3AsCisgICAgICAgICAgICAgICAgICBib29sX3QgKm5lZWRfY29weSk7CiAjZWxzZQog c3RhdGljIGlubGluZSBpbnQgdmlvbW11X3JlZ2lzdGVyX3R5cGUodWludDY0X3QgdHlwZSwgc3Ry dWN0IHZpb21tdV9vcHMgKm9wcykKIHsKLS0gCjEuOC4zLjEKCgpfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1k ZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK