From mboxrd@z Thu Jan 1 00:00:00 1970 From: Wei Chen Subject: [PATCH 1/7] xen/arm: SMMU: Implement the add_device callback in SMMU Date: Fri, 30 Jun 2017 11:15:05 +0800 Message-ID: <1498792511-25149-2-git-send-email-Wei.Chen@arm.com> References: <1498792511-25149-1-git-send-email-Wei.Chen@arm.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1498792511-25149-1-git-send-email-Wei.Chen@arm.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: sstabellini@kernel.org, wei.chen@arm.com, steve.capper@arm.com, Kaly.Xin@arm.com, julien.grall@arm.com, nd@arm.com List-Id: xen-devel@lists.xenproject.org VGhpcyBhZGRfZGV2aWNlIGNhbGxiYWNrIGZ1bmN0aW9uIGlzIHRha2luZyBjYXJlIG9mIGFkZGlu ZyBhIGRldmljZQp0byBTTU1VIGFuZCBtYWtlIHN1cmUgaXQgaXMgZnVsbHkgcHJlcGFyZSB0byBi ZSB1c2VkIGJ5IHRoZSBTTU1VCmFmdGVyd2FyZHMuCgpJbiBwcmV2aW91cyBjb2RlLCB3ZSBkb24n dCBpbXBsZW1lbnQgdGhlIGFkZF9kZXZpY2UgY2FsbGJhY2sgaW4KaW9tbXVfb3BzIGZvciBBUk0g U01NVS4gV2UgcGxhY2VkIHRoZSB3b3JrIG9mIGFkZF9kZXZpY2UgdG8KYXNzaWduX2RldmljZSBj YWxsYmFjay4gVGhlIGZ1bmN0aW9uIGFzc2lnbl9kZXZpY2Ugc2hvdWxkIG5vdCBjYXJlCmFib3V0 IGFkZGluZyB0aGUgZGV2aWNlIHRvIGFuIGlvbW11X2dyb3VwLiBJdCBtaWdodCBub3QgZXZlbiBi ZQphYmxlIHRvIGRlY2lkZSBob3cgdG8gZG8gdGhhdC4gSW4gdGhpcyBwYXRjaCwgd2UgbW92ZSB0 aGlzIHdvcmsKYmFjayB0byBhZGRfZGV2aWNlIGNhbGxiYWNrLgoKVGhpcyBhZGRfZGV2aWNlIGNh bGxiYWNrIGlzIG9ubHkgY2FsbGVkIHdoaWxlIHdlIGFyZSBoYW5kbGluZyBhbGwKZGV2aWNlcyBm b3IgY29uc3RydWN0aW5nIHRoZSBEb21haW4wLgoKU2lnbmVkLW9mZi1ieTogV2VpIENoZW4gPFdl aS5DaGVuQGFybS5jb20+Ci0tLQogeGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvYXJtL3NtbXUuYyB8 IDM0ICsrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAy MyBpbnNlcnRpb25zKCspLCAxMSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vZHJpdmVy cy9wYXNzdGhyb3VnaC9hcm0vc21tdS5jIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvYXJtL3Nt bXUuYwppbmRleCA3NGMwOWIwLi4yZWZhNTJkIDEwMDY0NAotLS0gYS94ZW4vZHJpdmVycy9wYXNz dGhyb3VnaC9hcm0vc21tdS5jCisrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2FybS9zbW11 LmMKQEAgLTI1OTEsNiArMjU5MSwyNiBAQCBzdGF0aWMgdm9pZCBhcm1fc21tdV9kZXN0cm95X2lv bW11X2RvbWFpbihzdHJ1Y3QgaW9tbXVfZG9tYWluICpkb21haW4pCiAJeGZyZWUoZG9tYWluKTsK IH0KIAorc3RhdGljIGludCBhcm1fc21tdV94ZW5fYWRkX2RldmljZSh1OCBkZXZmbiwgc3RydWN0 IGRldmljZSpkZXYpCit7CisJaWYgKGR0X2RldmljZV9pc19wcm90ZWN0ZWQoZGV2LT5vZl9ub2Rl KSkgeworCQlpZiAoIWRldi0+YXJjaGRhdGEuaW9tbXUpIHsKKwkJCWRldi0+YXJjaGRhdGEuaW9t bXUgPSB4emFsbG9jKHN0cnVjdCBhcm1fc21tdV94ZW5fZGV2aWNlKTsKKwkJCWlmICghZGV2LT5h cmNoZGF0YS5pb21tdSkKKwkJCQlyZXR1cm4gLUVOT01FTTsKKwkJfQorCisJCWlmICghZGV2X2lv bW11X2dyb3VwKGRldikpCisJCQlyZXR1cm4gYXJtX3NtbXVfYWRkX2RldmljZShkZXYpOworCX0K KworCS8qCisJICogUmV0dXJuIDAgaWYgdGhlIGRldmljZSBpcyBub3QgcHJvdGVjdGVkIHRvIGZv bGxvdyB0aGUgYmVoYXZpb3IKKwkgKiBvZiBQQ0kgYWRkIGRldmljZS4KKwkgKi8KKwlyZXR1cm4g MDsKK30KKwogc3RhdGljIGludCBhcm1fc21tdV9hc3NpZ25fZGV2KHN0cnVjdCBkb21haW4gKmQs IHU4IGRldmZuLAogCQkJICAgICAgIHN0cnVjdCBkZXZpY2UgKmRldiwgdTMyIGZsYWcpCiB7CkBA IC0yNjAwLDE3ICsyNjIwLDggQEAgc3RhdGljIGludCBhcm1fc21tdV9hc3NpZ25fZGV2KHN0cnVj dCBkb21haW4gKmQsIHU4IGRldmZuLAogCiAJeGVuX2RvbWFpbiA9IGRvbV9pb21tdShkKS0+YXJj aC5wcml2OwogCi0JaWYgKCFkZXYtPmFyY2hkYXRhLmlvbW11KSB7Ci0JCWRldi0+YXJjaGRhdGEu aW9tbXUgPSB4emFsbG9jKHN0cnVjdCBhcm1fc21tdV94ZW5fZGV2aWNlKTsKLQkJaWYgKCFkZXYt PmFyY2hkYXRhLmlvbW11KQotCQkJcmV0dXJuIC1FTk9NRU07Ci0JfQotCi0JaWYgKCFkZXZfaW9t bXVfZ3JvdXAoZGV2KSkgewotCQlyZXQgPSBhcm1fc21tdV9hZGRfZGV2aWNlKGRldik7Ci0JCWlm IChyZXQpCi0JCQlyZXR1cm4gcmV0OwotCX0KKwlpZiAoIWRldl9pb21tdV9ncm91cChkZXYpKQor CSAgICByZXR1cm4gLUVOT0RFVjsKIAogCXNwaW5fbG9jaygmeGVuX2RvbWFpbi0+bG9jayk7CiAK QEAgLTI3ODQsNiArMjc5NSw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgaW9tbXVfb3BzIGFybV9z bW11X2lvbW11X29wcyA9IHsKICAgICAudGVhcmRvd24gPSBhcm1fc21tdV9pb21tdV9kb21haW5f dGVhcmRvd24sCiAgICAgLmlvdGxiX2ZsdXNoID0gYXJtX3NtbXVfaW90bGJfZmx1c2gsCiAgICAg LmlvdGxiX2ZsdXNoX2FsbCA9IGFybV9zbW11X2lvdGxiX2ZsdXNoX2FsbCwKKyAgICAuYWRkX2Rl dmljZSA9IGFybV9zbW11X3hlbl9hZGRfZGV2aWNlLAogICAgIC5hc3NpZ25fZGV2aWNlID0gYXJt X3NtbXVfYXNzaWduX2RldiwKICAgICAucmVhc3NpZ25fZGV2aWNlID0gYXJtX3NtbXVfcmVhc3Np Z25fZGV2LAogICAgIC5tYXBfcGFnZSA9IGFybV9zbW11X21hcF9wYWdlLAotLSAKMi43LjQKCgpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwg bWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9y Zy94ZW4tZGV2ZWwK