From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lan Tianyu Subject: [PATCH V2 8/25] tools/libxl: Add a user configurable parameter to control vIOMMU attributes Date: Wed, 9 Aug 2017 16:34:09 -0400 Message-ID: <1502310866-10450-9-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 List-Id: xen-devel@lists.xenproject.org RnJvbTogQ2hhbyBHYW8gPGNoYW8uZ2FvQGludGVsLmNvbT4KCkEgZmllbGQsIHZpb21tdV9pbmZv LCBpcyBhZGRlZCB0byBzdHJ1Y3QgbGlieGxfZG9tYWluX2J1aWxkX2luZm8uIFNldmVyYWwKYXR0 cmlidXRlcyBjYW4gYmUgc3BlY2lmaWVkIGJ5IGd1ZXN0IGNvbmZpZyBmaWxlIGZvciB2aXJ0dWFs IElPTU1VLiBUaGVzZQphdHRyaWJ1dGVzIGFyZSB1c2VkIGZvciBETUFSIGNvbnN0cnVjdGlvbiBh bmQgdklPTU1VIGNyZWF0aW9uLgoKU2lnbmVkLW9mZi1ieTogQ2hhbyBHYW8gPGNoYW8uZ2FvQGlu dGVsLmNvbT4KU2lnbmVkLW9mZi1ieTogTGFuIFRpYW55dSA8dGlhbnl1LmxhbkBpbnRlbC5jb20+ Ci0tLQogZG9jcy9tYW4veGwuY2ZnLnBvZC41LmluICAgIHwgMzQgKysrKysrKysrKysrKysrKysr KysrKy0KIHRvb2xzL2xpYnhsL2xpYnhsX3R5cGVzLmlkbCB8IDE2ICsrKysrKysrKysrCiB0b29s cy94bC94bF9wYXJzZS5jICAgICAgICAgfCA2NiArKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysKIDMgZmlsZXMgY2hhbmdlZCwgMTE1IGluc2VydGlvbnMoKyksIDEg ZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9kb2NzL21hbi94bC5jZmcucG9kLjUuaW4gYi9kb2Nz L21hbi94bC5jZmcucG9kLjUuaW4KaW5kZXggNzljYjJlYS4uZjI1OWUyMiAxMDA2NDQKLS0tIGEv ZG9jcy9tYW4veGwuY2ZnLnBvZC41LmluCisrKyBiL2RvY3MvbWFuL3hsLmNmZy5wb2QuNS5pbgpA QCAtMTU0NSw3ICsxNTQ1LDM5IEBAIERvIG5vdCBwcm92aWRlIGEgVk0gZ2VuZXJhdGlvbiBJRC4K IFNlZSBhbHNvICJWaXJ0dWFsIE1hY2hpbmUgR2VuZXJhdGlvbiBJRCIgYnkgTWljcm9zb2Z0Ogog TDxodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vZW4tdXMvZG93bmxvYWQvZGV0YWlscy5hc3B4P2lk PTMwNzA3PgogCi09YmFjayAKKz1iYWNrCisKKz1pdGVtIEI8dmlvbW11PSJWSU9NTVVfU1RSSU5H Ij4KKworU3BlY2lmaWVzIHRoZSB2SU9NTVUgd2hpY2ggYXJlIHRvIGJlIHByb3ZpZGVkIHRvIHRo ZSBndWVzdC4KKworQjxWSU9NTVVfU1RSSU5HPiBoYXMgdGhlIGZvcm0gQzxLRVk9VkFMVUUsS0VZ PVZBTFVFLC4uLj4gd2hlcmU6CisKKz1vdmVyIDQKKworPWl0ZW0gQjxLRVk9VkFMVUU+CisKK1Bv c3NpYmxlIEI8S0VZPnMgYXJlOgorCis9b3ZlciA0CisKKz1pdGVtIEI8dHlwZT0iU1RSSU5HIj4K KworQ3VycmVudGx5IHRoZXJlIGlzIG9ubHkgb25lIHZhbGlkIHR5cGU6CisKKyh4ODYgb25seSkg ImludGVsX3Z0ZCIgbWVhbnMgcHJvdmlkaW5nIGEgZW11bGF0ZWQgSW50ZWwgVlQtZCB0byB0aGUg Z3Vlc3QuCisKKz1pdGVtIEI8aW50cmVtYXA9Qk9PTEVBTj4KKworU3BlY2lmaWVzIHdoZXRoZXIg dGhlIHZJT01NVSBzaG91bGQgc3VwcG9ydCBpbnRlcnJ1cHQgcmVtYXBwaW5nCithbmQgZGVmYXVs dCAndHJ1ZScuCisKKz1pdGVtIEI8eDJhcGljPUJPT0xFQU4+CisKK1NwZWNpZmllcyB3aGV0aGVy IHRoZSB2SU9NTVUgc2hvdWxkIHN1cHBvcnQgeDJhcGljIG1vZGUgYW5kIGRlZmF1bHQgJ3RydWUn LgorT25seSB2YWxpZCBmb3IgImludGVsX3Z0ZCIuCisKKz1iYWNrCiAKID1oZWFkMyBHdWVzdCBW aXJ0dWFsIFRpbWUgQ29udHJvbHMKIApkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGxfdHlw ZXMuaWRsIGIvdG9vbHMvbGlieGwvbGlieGxfdHlwZXMuaWRsCmluZGV4IDhhOTg0OWMuLjdhYmQ3 MGMgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX3R5cGVzLmlkbAorKysgYi90b29scy9s aWJ4bC9saWJ4bF90eXBlcy5pZGwKQEAgLTQ1MCw2ICs0NTAsMjEgQEAgbGlieGxfYWx0cDJtX21v ZGUgPSBFbnVtZXJhdGlvbigiYWx0cDJtX21vZGUiLCBbCiAgICAgKDMsICJsaW1pdGVkIiksCiAg ICAgXSwgaW5pdF92YWwgPSAiTElCWExfQUxUUDJNX01PREVfRElTQUJMRUQiKQogCitsaWJ4bF92 aW9tbXVfdHlwZSA9IEVudW1lcmF0aW9uKCJ2aW9tbXVfdHlwZSIsIFsKKyAgICAoMSwgImludGVs X3Z0ZCIpLAorICAgIF0pCisKK2xpYnhsX3Zpb21tdV9pbmZvID0gU3RydWN0KCJ2aW9tbXVfaW5m byIsIFsKKyAgICAoInUiLCBLZXllZFVuaW9uKE5vbmUsIGxpYnhsX3Zpb21tdV90eXBlLCAidHlw ZSIsCisgICAgICAgICAgIFsoImludGVsX3Z0ZCIsIFN0cnVjdChOb25lLCBbCisgICAgICAgICAg ICAgICAgICgieDJhcGljIiwgICAgIGxpYnhsX2RlZmJvb2wpXSkpCisgICAgICAgICAgIF0pKSwK KyAgICAoImludHJlbWFwIiwgICAgICAgIGxpYnhsX2RlZmJvb2wpLAorICAgICgiY2FwIiwgICAg ICAgICAgICAgdWludDY0KSwKKyAgICAoImJhc2VfYWRkciIsICAgICAgIHVpbnQ2NCksCisgICAg KCJsZW4iLCAgICAgICAgICAgICB1aW50NjQpLAorICAgIF0pCisKIGxpYnhsX2RvbWFpbl9idWls ZF9pbmZvID0gU3RydWN0KCJkb21haW5fYnVpbGRfaW5mbyIsWwogICAgICgibWF4X3ZjcHVzIiwg ICAgICAgaW50ZWdlciksCiAgICAgKCJhdmFpbF92Y3B1cyIsICAgICBsaWJ4bF9iaXRtYXApLApA QCAtNTA2LDYgKzUyMSw3IEBAIGxpYnhsX2RvbWFpbl9idWlsZF9pbmZvID0gU3RydWN0KCJkb21h aW5fYnVpbGRfaW5mbyIsWwogICAgICMgNjUwMDAgd2hpY2ggaXMgcmVzZXJ2ZWQgYnkgdGhlIHRv b2xzdGFjay4KICAgICAoImRldmljZV90cmVlIiwgICAgICBzdHJpbmcpLAogICAgICgiYWNwaSIs ICAgICAgICAgICAgIGxpYnhsX2RlZmJvb2wpLAorICAgICgidmlvbW11IiwgICAgICAgICAgIGxp YnhsX3Zpb21tdV9pbmZvKSwKICAgICAoInUiLCBLZXllZFVuaW9uKE5vbmUsIGxpYnhsX2RvbWFp bl90eXBlLCAidHlwZSIsCiAgICAgICAgICAgICAgICAgWygiaHZtIiwgU3RydWN0KE5vbmUsIFso ImZpcm13YXJlIiwgICAgICAgICBzdHJpbmcpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgKCJiaW9zIiwgICAgICAgICAgICAgbGlieGxfYmlvc190eXBlKSwKZGlmZiAt LWdpdCBhL3Rvb2xzL3hsL3hsX3BhcnNlLmMgYi90b29scy94bC94bF9wYXJzZS5jCmluZGV4IDVj MmJmMTcuLjExYzRlYjIgMTAwNjQ0Ci0tLSBhL3Rvb2xzL3hsL3hsX3BhcnNlLmMKKysrIGIvdG9v bHMveGwveGxfcGFyc2UuYwpAQCAtMTcsNiArMTcsNyBAQAogI2luY2x1ZGUgPGxpbWl0cy5oPgog I2luY2x1ZGUgPHN0ZGlvLmg+CiAjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8eGVuL2Rv bWN0bC5oPgogI2luY2x1ZGUgPHhlbi9odm0vZTgyMC5oPgogI2luY2x1ZGUgPHhlbi9odm0vcGFy YW1zLmg+CiAKQEAgLTMwLDYgKzMxLDkgQEAKIAogZXh0ZXJuIHZvaWQgc2V0X2RlZmF1bHRfbmlj X3ZhbHVlcyhsaWJ4bF9kZXZpY2VfbmljICpuaWMpOwogCisjZGVmaW5lIFZJT01NVV9WVERfQkFT RV9BRERSICAgICAgICAweGZlZDkwMDAwVUxMCisjZGVmaW5lIFZJT01NVV9WVERfUkVHSVNURVJf TEVOICAgICAweDEwMDBVTEwKKwogI2RlZmluZSBBUlJBWV9FWFRFTkRfSU5JVF9fQ09SRShhcnJh eSxjb3VudCxpbml0Zm4sbW9yZSkgICAgICAgICAgICAgICAgXAogICAgICh7ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAog ICAgICAgICB0eXBlb2YoKGNvdW50KSkgYXJyYXlfZXh0ZW5kX29sZF9jb3VudCA9IChjb3VudCk7 ICAgICAgICAgICAgICAgXApAQCAtODA0LDYgKzgwOCw2MSBAQCBpbnQgcGFyc2VfdXNiZGV2X2Nv bmZpZyhsaWJ4bF9kZXZpY2VfdXNiZGV2ICp1c2JkZXYsIGNoYXIgKnRva2VuKQogICAgIHJldHVy biAwOwogfQogCisvKiBQYXJzZXMgdmlvbW11IGRhdGEgYW5kIGFkZHMgaW5mbyBpbnRvIHZpb21t dQorICogUmV0dXJucyAxIGlmIHRoZSBpbnB1dCBkb2Vzbid0IGZvcm0gYSB2YWxpZCB2aW9tbXUK KyAqIG9yIHBhcnNlZCB2YWx1ZXMgYXJlIG5vdCBjb3JyZWN0LiBTdWNjZXNzZnVsIHBhcnNlIHJl dHVybnMgMCAqLworc3RhdGljIGludCBwYXJzZV92aW9tbXVfY29uZmlnKGxpYnhsX3Zpb21tdV9p bmZvICp2aW9tbXUsIGNvbnN0IGNoYXIgKmluZm8pCit7CisgICAgY2hhciAqcHRyLCAqb3Bhcmcs ICpzYXZlcHRyID0gTlVMTCwgKmJ1ZiA9IHhzdHJkdXAoaW5mbyk7CisKKyAgICBwdHIgPSBzdHJ0 b2tfcihidWYsICIsIiwgJnNhdmVwdHIpOworICAgIGlmIChNQVRDSF9PUFRJT04oInR5cGUiLCBw dHIsIG9wYXJnKSkgeworICAgICAgICBpZiAoIXN0cmNtcChvcGFyZywgImludGVsX3Z0ZCIpKSB7 CisgICAgICAgICAgICB2aW9tbXUtPnR5cGUgPSBMSUJYTF9WSU9NTVVfVFlQRV9JTlRFTF9WVEQ7 CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIkludmFsaWQg dmlvbW11IHR5cGU6ICVzXG4iLCBvcGFyZyk7CisgICAgICAgICAgICByZXR1cm4gMTsKKyAgICAg ICAgfQorICAgIH0gZWxzZSB7CisgICAgICAgIGZwcmludGYoc3RkZXJyLCAidmlvbW11IHR5cGUg c2hvdWxkIGJlIHNldCBmaXJzdDogJXNcbiIsIG9wYXJnKTsKKyAgICAgICAgcmV0dXJuIDE7Cisg ICAgfQorCisgICAgcHRyID0gc3RydG9rX3IoTlVMTCwgIiwiLCAmc2F2ZXB0cik7CisgICAgaWYg KE1BVENIX09QVElPTigiaW50cmVtYXAiLCBwdHIsIG9wYXJnKSkgeworICAgICAgICBsaWJ4bF9k ZWZib29sX3NldCgmdmlvbW11LT5pbnRyZW1hcCwgISFzdHJ0b3VsKG9wYXJnLCBOVUxMLCAwKSk7 CisgICAgfQorCisgICAgaWYgKHZpb21tdS0+dHlwZSA9PSBMSUJYTF9WSU9NTVVfVFlQRV9JTlRF TF9WVEQpIHsKKyAgICAgICAgZm9yIChwdHIgPSBzdHJ0b2tfcihOVUxMLCAiLCIsICZzYXZlcHRy KTsgcHRyOworICAgICAgICAgICAgIHB0ciA9IHN0cnRva19yKE5VTEwsICIsIiwgJnNhdmVwdHIp KSB7CisgICAgICAgICAgICBpZiAoTUFUQ0hfT1BUSU9OKCJ4MmFwaWMiLCBwdHIsIG9wYXJnKSkg eworICAgICAgICAgICAgICAgIGxpYnhsX2RlZmJvb2xfc2V0KCZ2aW9tbXUtPnUuaW50ZWxfdnRk LngyYXBpYywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAhIXN0cnRvdWwob3Bh cmcsIE5VTEwsIDApKTsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgZnBy aW50ZihzdGRlcnIsICJVbmtub3duIHN0cmluZyBgJXMnIGluIHZpb21tdSBzcGVjXG4iLCBwdHIp OworICAgICAgICAgICAgICAgIHJldHVybiAxOworICAgICAgICAgICAgfQorICAgICAgICB9CisK KyAgICAgICAgaWYgKGxpYnhsX2RlZmJvb2xfaXNfZGVmYXVsdCh2aW9tbXUtPmludHJlbWFwKSkK KyAgICAgICAgICAgIGxpYnhsX2RlZmJvb2xfc2V0KCZ2aW9tbXUtPmludHJlbWFwLCB0cnVlKTsK KworICAgICAgICBpZiAoIWxpYnhsX2RlZmJvb2xfdmFsKHZpb21tdS0+aW50cmVtYXApKSB7Cisg ICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIkNhbm5vdCBjcmVhdGUgb25lIHZpcnR1YWwgVlRE IHdpdGhvdXQgaW50cmVtYXBcbiIpOworICAgICAgICAgICAgcmV0dXJuIDE7CisgICAgICAgIH0K KworICAgICAgICAvKiBTZXQgZGVmYXVsdCB2YWx1ZXMgdG8gdW5leHBvc2VkIGZpZWxkcyAqLwor ICAgICAgICB2aW9tbXUtPmJhc2VfYWRkciA9IFZJT01NVV9WVERfQkFTRV9BRERSOworICAgICAg ICB2aW9tbXUtPmxlbiA9IFZJT01NVV9WVERfUkVHSVNURVJfTEVOOworCisgICAgICAgIC8qIFNl dCBkZXNpcmVkIGNhcGJpbGl0aWVzICovCisgICAgICAgIHZpb21tdS0+Y2FwID0gVklPTU1VX0NB UF9JUlFfUkVNQVBQSU5HOworICAgIH0KKyAgICByZXR1cm4gMDsKK30KKwogdm9pZCBwYXJzZV9j b25maWdfZGF0YShjb25zdCBjaGFyICpjb25maWdfc291cmNlLAogICAgICAgICAgICAgICAgICAg ICAgICBjb25zdCBjaGFyICpjb25maWdfZGF0YSwKICAgICAgICAgICAgICAgICAgICAgICAgaW50 IGNvbmZpZ19sZW4sCkBAIC0xMDM3LDYgKzEwOTYsMTMgQEAgdm9pZCBwYXJzZV9jb25maWdfZGF0 YShjb25zdCBjaGFyICpjb25maWdfc291cmNlLAogICAgIHhsdV9jZmdfZ2V0X2RlZmJvb2woY29u ZmlnLCAiZHJpdmVyX2RvbWFpbiIsICZjX2luZm8tPmRyaXZlcl9kb21haW4sIDApOwogICAgIHhs dV9jZmdfZ2V0X2RlZmJvb2woY29uZmlnLCAiYWNwaSIsICZiX2luZm8tPmFjcGksIDApOwogCisg ICAgaWYgKCF4bHVfY2ZnX2dldF9zdHJpbmcoY29uZmlnLCAidmlvbW11IiwgJmJ1ZiwgMCkpIHsK KyAgICAgICAgaWYgKHBhcnNlX3Zpb21tdV9jb25maWcoJmJfaW5mby0+dmlvbW11LCBidWYpKSB7 CisgICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIkVSUk9SOiBpbnZhbGlkIHZpb21tdSBzZXR0 aW5nXG4iKTsKKyAgICAgICAgICAgIGV4aXQgKDEpOworICAgICAgICB9CisgICAgfQorCiAgICAg c3dpdGNoKGJfaW5mby0+dHlwZSkgewogICAgIGNhc2UgTElCWExfRE9NQUlOX1RZUEVfSFZNOgog ICAgICAgICBrZXJuZWxfYmFzZW5hbWUgPSBsaWJ4bF9iYXNlbmFtZShiX2luZm8tPmtlcm5lbCk7 Ci0tIAoxLjguMy4xCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRw czovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==