From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sameer Goel Subject: [RFC 4/6] xen/passthrough/arm: Introduce iommu_fwspec Date: Thu, 8 Jun 2017 13:30:45 -0600 Message-ID: <1496950247-8755-5-git-send-email-sgoel@codeaurora.org> References: <1496950247-8755-1-git-send-email-sgoel@codeaurora.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta6.messagelabs.com ([193.109.254.103]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dJ39H-00014m-Du for xen-devel@lists.xenproject.org; Thu, 08 Jun 2017 19:31:15 +0000 In-Reply-To: <1496950247-8755-1-git-send-email-sgoel@codeaurora.org> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org, Julien Grall Cc: Stefano Stabellini , Tomasz Nowicki , Punit Agrawal , Sameer Goel , Robin Murphy , Shanker Donthineni List-Id: xen-devel@lists.xenproject.org SW50cm9kdWNlIGEgY29tbW9uIHN0cnVjdHVyZSB0byBob2xkIHRoZSBmdyAoQUNQSSBvciBEVCkg ZGVmaW5lZApjb25maWd1cmF0aW9uIGZvciBTTU1VIGh3LiBUaGUgY3VycmVudCB1c2UgY2FzZSBp cyBmb3IgYXJtIFNNTVVzLiBTbywKbWFraW5nIHRoaXMgYXJjaGl0ZWN0dXJlIHNwZWNpZmljLgoK QmFzZWQgb24gTGludXgga2VybmVsIGNvbW1pdCA1N2Y5OGQyZjYxZTE6IGlvbW11OiBJbnRyb2R1 Y2UgaW9tbXVfZndzcGVjClNpZ25lZC1vZmYtYnk6IFNhbWVlciBHb2VsIDxzZ29lbEBjb2RlYXVy b3JhLm9yZz4KLS0tCiB4ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hcm0vaW9tbXUuYyB8IDU3ICsr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIHhlbi9pbmNsdWRlL2FzbS1hcm0v ZGV2aWNlLmggICAgICAgIHwgIDEgKwogeGVuL2luY2x1ZGUveGVuL2lvbW11LmggICAgICAgICAg ICAgfCAyOCArKysrKysrKysrKysrKysrKysKIDMgZmlsZXMgY2hhbmdlZCwgODYgaW5zZXJ0aW9u cygrKQoKZGlmZiAtLWdpdCBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2FybS9pb21tdS5jIGIv eGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvYXJtL2lvbW11LmMKaW5kZXggOTViMWFiYi4uZWRmNzBj MiAxMDA2NDQKLS0tIGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvYXJtL2lvbW11LmMKKysrIGIv eGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvYXJtL2lvbW11LmMKQEAgLTczLDMgKzczLDYwIEBAIGlu dCBhcmNoX2lvbW11X3BvcHVsYXRlX3BhZ2VfdGFibGUoc3RydWN0IGRvbWFpbiAqZCkKICAgICAv KiBUaGUgSU9NTVUgc2hhcmVzIHRoZSBwMm0gd2l0aCB0aGUgQ1BVICovCiAgICAgcmV0dXJuIC1F Tk9TWVM7CiB9CisKK2ludCBpb21tdV9md3NwZWNfaW5pdChzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0 cnVjdCBmd25vZGVfaGFuZGxlICppb21tdV9md25vZGUsCisgICAgICAgIGNvbnN0IHN0cnVjdCBp b21tdV9vcHMgKm9wcykKK3sKKyAgICBzdHJ1Y3QgaW9tbXVfZndzcGVjICpmd3NwZWMgPSBkZXYt PmlvbW11X2Z3c3BlYzsKKworICAgIGlmIChmd3NwZWMpCisgICAgICAgIHJldHVybiBvcHMgPT0g ZndzcGVjLT5vcHMgPyAwIDogLUVJTlZBTDsKKworICAgIGZ3c3BlYyA9IHh6YWxsb2Moc3RydWN0 IGlvbW11X2Z3c3BlYyk7CisgICAgaWYgKCFmd3NwZWMpCisgICAgICAgIHJldHVybiAtRU5PTUVN OworCisgICAgLyogUmVmIGNvdW50aW5nIGZvciB0aGUgZHQgZGV2aWNlIG5vZGUgaXMgbm90IG5l ZWRlZCAqLworCisgICAgLypvZl9ub2RlX2dldCh0b19vZl9ub2RlKGlvbW11X2Z3bm9kZSkpOyov CisKKyAgICBmd3NwZWMtPmlvbW11X2Z3bm9kZSA9IGlvbW11X2Z3bm9kZTsKKyAgICBmd3NwZWMt Pm9wcyA9IG9wczsKKyAgICBkZXYtPmlvbW11X2Z3c3BlYyA9IGZ3c3BlYzsKKyAgICByZXR1cm4g MDsKK30KKwordm9pZCBpb21tdV9md3NwZWNfZnJlZShzdHJ1Y3QgZGV2aWNlICpkZXYpCit7Cisg ICAgc3RydWN0IGlvbW11X2Z3c3BlYyAqZndzcGVjID0gZGV2LT5pb21tdV9md3NwZWM7CisKKyAg ICBpZiAoZndzcGVjKSB7CisgICAgICAgIC8qZndub2RlX2hhbmRsZV9wdXQoZndzcGVjLT5pb21t dV9md25vZGUpOyovCisgICAgICAgIHhmcmVlKGZ3c3BlYyk7CisgICAgICAgIGRldi0+aW9tbXVf ZndzcGVjID0gTlVMTDsKKyAgICB9Cit9CisKK2ludCBpb21tdV9md3NwZWNfYWRkX2lkcyhzdHJ1 Y3QgZGV2aWNlICpkZXYsIHUzMiAqaWRzLCBpbnQgbnVtX2lkcykKK3sKKyAgICBzdHJ1Y3QgaW9t bXVfZndzcGVjICpmd3NwZWMgPSBkZXYtPmlvbW11X2Z3c3BlYzsKKyAgICBzaXplX3Qgc2l6ZTsK KyAgICBpbnQgaTsKKworICAgIGlmICghZndzcGVjKQorICAgICAgICByZXR1cm4gLUVJTlZBTDsK KworICAgIHNpemUgPSBvZmZzZXRvZihzdHJ1Y3QgaW9tbXVfZndzcGVjLCBpZHNbZndzcGVjLT5u dW1faWRzICsgbnVtX2lkc10pOworICAgIGlmIChzaXplID4gc2l6ZW9mKCpmd3NwZWMpKSB7Cisg ICAgICAgIGZ3c3BlYyA9IF94cmVhbGxvYyhkZXYtPmlvbW11X2Z3c3BlYywgc2l6ZSwgc2l6ZW9m KHZvaWQgKikpOworICAgICAgICBpZiAoIWZ3c3BlYykKKyAgICAgICAgICAgIHJldHVybiAtRU5P TUVNOworICAgIH0KKworICAgIGZvciAoaSA9IDA7IGkgPCBudW1faWRzOyBpKyspCisgICAgICAg IGZ3c3BlYy0+aWRzW2Z3c3BlYy0+bnVtX2lkcyArIGldID0gaWRzW2ldOworCisgICAgZndzcGVj LT5udW1faWRzICs9IG51bV9pZHM7CisgICAgZGV2LT5pb21tdV9md3NwZWMgPSBmd3NwZWM7Cisg ICAgcmV0dXJuIDA7Cit9CmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20tYXJtL2RldmljZS5o IGIveGVuL2luY2x1ZGUvYXNtLWFybS9kZXZpY2UuaAppbmRleCA3OGMzOGZlLi41MDI3Yzg3IDEw MDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20tYXJtL2RldmljZS5oCisrKyBiL3hlbi9pbmNsdWRl L2FzbS1hcm0vZGV2aWNlLmgKQEAgLTIxLDYgKzIxLDcgQEAgc3RydWN0IGRldmljZQogICAgIHN0 cnVjdCBkdF9kZXZpY2Vfbm9kZSAqb2Zfbm9kZTsgLyogVXNlZCBieSBkcml2ZXJzIGltcG9ydGVk IGZyb20gTGludXggKi8KICNlbmRpZgogICAgIHN0cnVjdCBmd25vZGVfaGFuZGxlICpmd25vZGU7 IC8qZncgZGV2aWNlIG5vZGUgaWRlbnRpZmllciAqLworICAgIHN0cnVjdCBpb21tdV9md3NwZWMg KmlvbW11X2Z3c3BlYzsKICAgICBzdHJ1Y3QgZGV2X2FyY2hkYXRhIGFyY2hkYXRhOwogfTsKIApk aWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUveGVuL2lvbW11LmggYi94ZW4vaW5jbHVkZS94ZW4vaW9t bXUuaAppbmRleCA1ODAzZTNmLi43ZWY5YjkzIDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS94ZW4v aW9tbXUuaAorKysgYi94ZW4vaW5jbHVkZS94ZW4vaW9tbXUuaApAQCAtMjI0LDQgKzIyNCwzMiBA QCBERUNMQVJFX1BFUl9DUFUoYm9vbF90LCBpb21tdV9kb250X2ZsdXNoX2lvdGxiKTsKIGV4dGVy biBzdHJ1Y3Qgc3BpbmxvY2sgaW9tbXVfcHRfY2xlYW51cF9sb2NrOwogZXh0ZXJuIHN0cnVjdCBw YWdlX2xpc3RfaGVhZCBpb21tdV9wdF9jbGVhbnVwX2xpc3Q7CiAKKy8qKgorICogRm9sbG93aW5n IGJsb2NrIHdhcyBwb3J0ZWQgZnJvbSBMaW51eCB0byBoZWxwIHdpdGggdGhlIGltcGxlbWVudGF0 aW9uIG9mCisgKiBhcm02NCBpb21tdSBkZXZpY2VzLiBIZW5jZSB0aGUgYXJjaGl0ZWN0dXJlIHNw ZWNpZmljIGNvbXBpbGUKKyAqLworCisjaWYgZGVmaW5lZChDT05GSUdfQVJNXzY0KSB8fCBkZWZp bmVkKENPTkZJR19BUk0pCisvKioKKyAqIHN0cnVjdCBpb21tdV9md3NwZWMgLSBwZXItZGV2aWNl IElPTU1VIGluc3RhbmNlIGRhdGEKKyAqIEBvcHM6IG9wcyBmb3IgdGhpcyBkZXZpY2UncyBJT01N VQorICogQGlvbW11X2Z3bm9kZTogZmlybXdhcmUgaGFuZGxlIGZvciB0aGlzIGRldmljZSdzIElP TU1VCisgKiBAaW9tbXVfcHJpdjogSU9NTVUgZHJpdmVyIHByaXZhdGUgZGF0YSBmb3IgdGhpcyBk ZXZpY2UKKyAqIEBudW1faWRzOiBudW1iZXIgb2YgYXNzb2NpYXRlZCBkZXZpY2UgSURzCisgKiBA aWRzOiBJRHMgd2hpY2ggdGhpcyBkZXZpY2UgbWF5IHByZXNlbnQgdG8gdGhlIElPTU1VCisgKi8K K3N0cnVjdCBpb21tdV9md3NwZWMgeworCWNvbnN0IHN0cnVjdCBpb21tdV9vcHMJKm9wczsKKwlz dHJ1Y3QgZndub2RlX2hhbmRsZQkqaW9tbXVfZndub2RlOworCXZvaWQJCQkqaW9tbXVfcHJpdjsK Kwl1bnNpZ25lZCBpbnQJCW51bV9pZHM7CisJdTMyCQkJaWRzWzFdOworfTsKKworaW50IGlvbW11 X2Z3c3BlY19pbml0KHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IGZ3bm9kZV9oYW5kbGUgKmlv bW11X2Z3bm9kZSwKKwkJICAgICAgY29uc3Qgc3RydWN0IGlvbW11X29wcyAqb3BzKTsKK3ZvaWQg aW9tbXVfZndzcGVjX2ZyZWUoc3RydWN0IGRldmljZSAqZGV2KTsKK2ludCBpb21tdV9md3NwZWNf YWRkX2lkcyhzdHJ1Y3QgZGV2aWNlICpkZXYsIHUzMiAqaWRzLCBpbnQgbnVtX2lkcyk7CisKKyNl bmRpZgogI2VuZGlmIC8qIF9JT01NVV9IXyAqLwotLSAKUXVhbGNvbW0gRGF0YWNlbnRlciBUZWNo bm9sb2dpZXMgYXMgYW4gYWZmaWxpYXRlIG9mIFF1YWxjb21tIFRlY2hub2xvZ2llcywgSW5jLiBR dWFsY29tbSBUZWNobm9sb2dpZXMsIEluYy4gaXMgYSBtZW1iZXIgb2YgdGhlIENvZGUgQXVyb3Jh IEZvcnVtLCBhIExpbnV4IEZvdW5kYXRpb24gQ29sbGFib3JhdGl2ZSBQcm9qZWN0LgoKCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWls aW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hl bi1kZXZlbAo=