From mboxrd@z Thu Jan 1 00:00:00 1970 From: Roger Pau Monne Subject: [PATCH v7 2/6] iommu: introduce dom0-iommu option Date: Wed, 22 Aug 2018 09:51:56 +0200 Message-ID: <20180822075200.50278-3-roger.pau@citrix.com> References: <20180822075200.50278-1-roger.pau@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1fsNw9-0000oQ-Tm for xen-devel@lists.xenproject.org; Wed, 22 Aug 2018 07:52:17 +0000 In-Reply-To: <20180822075200.50278-1-roger.pau@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org Cc: Stefano Stabellini , Wei Liu , George Dunlap , Andrew Cooper , Ian Jackson , Tim Deegan , Julien Grall , Jan Beulich , Roger Pau Monne List-Id: xen-devel@lists.xenproject.org VG8gc2VsZWN0IHRoZSBpb21tdSBjb25maWd1cmF0aW9uIHVzZWQgYnkgRG9tMC4gVGhpcyBvcHRp b24gc3VwZXJzZWRlcwppb21tdT1kb20wLXN0cmljdHxkb20wLXBhc3N0aHJvdWdoLgoKU2lnbmVk LW9mZi1ieTogUm9nZXIgUGF1IE1vbm7DqSA8cm9nZXIucGF1QGNpdHJpeC5jb20+ClJldmlld2Vk LWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+Ci0tLQpDaGFuZ2VzIHNpbmNlIHY1 OgogLSBGaXggdHlwbyBpbiBkb2NzLgogLSBGb3JjZSBpb21tdV9od2RvbV9wYXNzdGhyb3VnaCB0 byBmYWxzZSBmb3IgUFZIIERvbTAuIE5vdGUgdGhpcyBpbgogICB0aGUgZG9jdW1lbnRhdGlvbi4K CkNoYW5nZXMgc2luY2UgdjQ6CiAtIE1vdmUgdGhlIGlvbW11X2RvbTBfKiB2YXJpYWJsZSByZW5h bWluZyB0byBhIHByZXZpb3VzIHBhdGNoLgogLSBVc2UgZG9tMC1pb21tdT1wYXNzdGhyb3VnaHxz dHJpY3QgYm9vbGVhbnMsIGxpa2UgdGhlIGlvbW11IG9wdGlvbgogICB1c2VkLgoKQ2hhbmdlcyBz aW5jZSB2MjoKIC0gQ2hhbmdlIHRoZSBzdHlsZSBhbmQgdGV4dCB1c2VkIGluIHRoZSB4ZW4gY29t bWFuZCBsaW5lIGRvY3VtZW50LgogLSBEb24ndCBhbGxvdyBub25lLCBzdHJpY3Qgb3IgcmVsYXhl ZCB0byB1c2UgdGhlIG5vLSBwcmVmaXguCgpDaGFuZ2VzIHNpbmNlIHYxOgogLSBOZXcgaW4gdGhp cyB2ZXJzaW9uLgotLS0KQ2M6IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5j b20+CkNjOiBHZW9yZ2UgRHVubGFwIDxHZW9yZ2UuRHVubGFwQGV1LmNpdHJpeC5jb20+CkNjOiBJ YW4gSmFja3NvbiA8aWFuLmphY2tzb25AZXUuY2l0cml4LmNvbT4KQ2M6IEphbiBCZXVsaWNoIDxq YmV1bGljaEBzdXNlLmNvbT4KQ2M6IEp1bGllbiBHcmFsbCA8anVsaWVuLmdyYWxsQGFybS5jb20+ CkNjOiBLb25yYWQgUnplc3p1dGVrIFdpbGsgPGtvbnJhZC53aWxrQG9yYWNsZS5jb20+CkNjOiBT dGVmYW5vIFN0YWJlbGxpbmkgPHNzdGFiZWxsaW5pQGtlcm5lbC5vcmc+CkNjOiBUaW0gRGVlZ2Fu IDx0aW1AeGVuLm9yZz4KQ2M6IFdlaSBMaXUgPHdlaS5saXUyQGNpdHJpeC5jb20+Ci0tLQogZG9j cy9taXNjL3hlbi1jb21tYW5kLWxpbmUubWFya2Rvd24gfCAyMSArKysrKysrKysrKysrKysrKysr CiB4ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9pb21tdS5jICAgICB8IDMxICsrKysrKysrKysrKysr KysrKysrKysrKystLS0tCiAyIGZpbGVzIGNoYW5nZWQsIDQ4IGluc2VydGlvbnMoKyksIDQgZGVs ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZG9jcy9taXNjL3hlbi1jb21tYW5kLWxpbmUubWFya2Rv d24gYi9kb2NzL21pc2MveGVuLWNvbW1hbmQtbGluZS5tYXJrZG93bgppbmRleCA1NTljMDY2MmZh Li5jZDU3OTYwZWRlIDEwMDY0NAotLS0gYS9kb2NzL21pc2MveGVuLWNvbW1hbmQtbGluZS5tYXJr ZG93bgorKysgYi9kb2NzL21pc2MveGVuLWNvbW1hbmQtbGluZS5tYXJrZG93bgpAQCAtNjgxLDYg KzY4MSwyMSBAQCBGbGFnIHRoYXQgbWFrZXMgYSBkb20wIGJvb3QgaW4gUFZIdjIgbW9kZS4KIEZs YWcgdGhhdCBtYWtlcyBhIGRvbTAgdXNlIHNoYWRvdyBwYWdpbmcuIE9ubHkgd29ya3Mgd2hlbiAi cHZoIiBpcwogZW5hYmxlZC4KIAorIyMjIGRvbTAtaW9tbXUKKz4gYD0gTGlzdCBvZiBbIHBhc3N0 aHJvdWdoIHwgc3RyaWN0IF1gCisKK1RoaXMgbGlzdCBvZiBib29sZWFucyBjb250cm9scyB0aGUg aW9tbXUgdXNhZ2UgYnkgRG9tMDoKKworKiBgcGFzc3Rocm91Z2hgOiBkaXNhYmxlcyBETUEgcmVt YXBwaW5nIGZvciBEb20wLiBEZWZhdWx0IGlzIGBmYWxzZWAuIE5vdGUgdGhhdAorICB0aGlzIG9w dGlvbiBpcyBoYXJkIGNvZGVkIHRvIGBmYWxzZWAgZm9yIGEgUFZIIERvbTAgYW5kIGFueSBhdHRl bXB0IHRvCisgIG92ZXJ3cml0ZSBpdCBmcm9tIHRoZSBjb21tYW5kIGxpbmUgaXMgaWdub3JlZC4K KworKiBgc3RyaWN0YDogc2V0cyB1cCBETUEgcmVtYXBwaW5nIG9ubHkgZm9yIHRoZSBSQU0gRG9t MCBhY3R1YWxseSBnb3QgYXNzaWduZWQuCisgIERlZmF1bHQgaXMgYGZhbHNlYCB3aGljaCBtZWFu cyBEb20wIHdpbGwgZ2V0IG1hcHBpbmdzIGZvciBhbGwgdGhlIGhvc3QKKyAgUkFNIGV4Y2VwdCBy ZWdpb25zIGluIHVzZSBieSBYZW4uIE5vdGUgdGhhdCB0aGlzIG9wdGlvbiBpcyBoYXJkIGNvZGVk IHRvCisgIGB0cnVlYCBmb3IgYSBQVkggRG9tMCBhbmQgYW55IGF0dGVtcHQgdG8gb3ZlcndyaXRl IGl0IGZyb20gdGhlIGNvbW1hbmQgbGluZQorICBpcyBpZ25vcmVkLgorCiAjIyMgZG9tMFxfaW9w b3J0c1xfZGlzYWJsZSAoeDg2KQogPiBgPSBMaXN0IG9mIDxoZXg+LTxoZXg+YAogCkBAIC0xMTUy LDEyICsxMTY3LDE4IEBAIGRldGVjdGlvbiBvZiBzeXN0ZW1zIGtub3duIHRvIG1pc2JlaGF2ZSB1 cG9uIGFjY2Vzc2VzIHRvIHRoYXQgcG9ydC4KIAogPiBgZG9tMC1wYXNzdGhyb3VnaGAKIAorPiAq KldBUk5JTkc6IFRoaXMgY29tbWFuZCBsaW5lIG9wdGlvbiBpcyBkZXByZWNhdGVkLCBhbmQgc3Vw ZXJzZWRlZCBieQorPiBfZG9tMC1pb21tdT1wYXNzdGhyb3VnaF8gLSB1c2luZyBib3RoIG9wdGlv bnMgaW4gY29tYmluYXRpb24gaXMgdW5kZWZpbmVkLioqCisKID4gRGVmYXVsdDogYGZhbHNlYAog CiA+PiBDb250cm9sIHdoZXRoZXIgdG8gZGlzYWJsZSBETUEgcmVtYXBwaW5nIGZvciBEb20wLgog CiA+IGBkb20wLXN0cmljdGAKIAorPiAqKldBUk5JTkc6IFRoaXMgY29tbWFuZCBsaW5lIG9wdGlv biBpcyBkZXByZWNhdGVkLCBhbmQgc3VwZXJzZWRlZCBieQorPiBfZG9tMC1pb21tdT1zdHJpY3Rf IC0gdXNpbmcgYm90aCBvcHRpb25zIGluIGNvbWJpbmF0aW9uIGlzIHVuZGVmaW5lZC4qKgorCiA+ IERlZmF1bHQ6IGBmYWxzZWAKIAogPj4gQ29udHJvbCB3aGV0aGVyIHRvIHNldCB1cCBETUEgcmVt YXBwaW5nIG9ubHkgZm9yIHRoZSBtZW1vcnkgRG9tMCBhY3R1YWxseQpkaWZmIC0tZ2l0IGEveGVu L2RyaXZlcnMvcGFzc3Rocm91Z2gvaW9tbXUuYyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2lv bW11LmMKaW5kZXggNzI5ZWU1YzM3My4uOGY5OTc1Y2Y0ZSAxMDA2NDQKLS0tIGEveGVuL2RyaXZl cnMvcGFzc3Rocm91Z2gvaW9tbXUuYworKysgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9pb21t dS5jCkBAIC0xMzYsNiArMTM2LDMyIEBAIHN0YXRpYyBpbnQgX19pbml0IHBhcnNlX2lvbW11X3Bh cmFtKGNvbnN0IGNoYXIgKnMpCiAgICAgcmV0dXJuIHJjOwogfQogCitzdGF0aWMgaW50IF9faW5p dCBwYXJzZV9kb20wX2lvbW11X3BhcmFtKGNvbnN0IGNoYXIgKnMpCit7CisgICAgY29uc3QgY2hh ciAqc3M7CisgICAgaW50IHJjID0gMDsKKworICAgIGRvIHsKKyAgICAgICAgaW50IHZhbDsKKwor ICAgICAgICBzcyA9IHN0cmNocihzLCAnLCcpOworICAgICAgICBpZiAoICFzcyApCisgICAgICAg ICAgICBzcyA9IHN0cmNocihzLCAnXDAnKTsKKworICAgICAgICBpZiAoICh2YWwgPSBwYXJzZV9i b29sZWFuKCJwYXNzdGhyb3VnaCIsIHMsIHNzKSkgPj0gMCApCisgICAgICAgICAgICBpb21tdV9o d2RvbV9wYXNzdGhyb3VnaCA9IHZhbDsKKyAgICAgICAgZWxzZSBpZiAoICh2YWwgPSBwYXJzZV9i b29sZWFuKCJzdHJpY3QiLCBzLCBzcykpID49IDAgKQorICAgICAgICAgICAgaW9tbXVfaHdkb21f c3RyaWN0ID0gdmFsOworICAgICAgICBlbHNlCisgICAgICAgICAgICByYyA9IC1FSU5WQUw7CisK KyAgICAgICAgcyA9IHNzICsgMTsKKyAgICB9IHdoaWxlICggKnNzICk7CisKKyAgICByZXR1cm4g cmM7Cit9CitjdXN0b21fcGFyYW0oImRvbTAtaW9tbXUiLCBwYXJzZV9kb20wX2lvbW11X3BhcmFt KTsKKwogaW50IGlvbW11X2RvbWFpbl9pbml0KHN0cnVjdCBkb21haW4gKmQpCiB7CiAgICAgc3Ry dWN0IGRvbWFpbl9pb21tdSAqaGQgPSBkb21faW9tbXUoZCk7CkBAIC0xNTksMTAgKzE4NSw3IEBA IHN0YXRpYyB2b2lkIF9faHdkb21faW5pdCBjaGVja19od2RvbV9yZXFzKHN0cnVjdCBkb21haW4g KmQpCiAKICAgICBhcmNoX2lvbW11X2NoZWNrX2F1dG90cmFuc2xhdGVkX2h3ZG9tKGQpOwogCi0g ICAgaWYgKCBpb21tdV9od2RvbV9wYXNzdGhyb3VnaCApCi0gICAgICAgIHBhbmljKCJEb20wIHVz ZXMgcGFnaW5nIHRyYW5zbGF0ZWQgbW9kZSwgZG9tMC1wYXNzdGhyb3VnaCBtdXN0IG5vdCBiZSAi Ci0gICAgICAgICAgICAgICJlbmFibGVkXG4iKTsKLQorICAgIGlvbW11X2h3ZG9tX3Bhc3N0aHJv dWdoID0gZmFsc2U7CiAgICAgaW9tbXVfaHdkb21fc3RyaWN0ID0gdHJ1ZTsKIH0KIAotLSAKMi4x OC4wCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVu LWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6 Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3hlbi1kZXZlbA==