From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefano Stabellini Subject: [PATCH v2 15/21] xen/arm: generate vpl011 node on device tree for domU Date: Fri, 6 Jul 2018 16:12:10 -0700 Message-ID: <1530918736-13965-15-git-send-email-sstabellini@kernel.org> References: Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: julien.grall@arm.com Cc: Stefano Stabellini , sstabellini@kernel.org, andrii_anisov@epam.com, xen-devel@lists.xen.org List-Id: xen-devel@lists.xenproject.org SW50cm9kdWNlIHZwbDAxMSBzdXBwb3J0IHRvIGd1ZXN0cyBzdGFydGVkIGZyb20gWGVuOiBpdCBw cm92aWRlcyBhCnNpbXBsZSB3YXkgdG8gcHJpbnQgb3V0cHV0IGZyb20gYSBndWVzdCwgYXMgbW9z dCBndWVzdHMgY29tZSB3aXRoIGEKcGwwMTEgZHJpdmVyLiBJdCBpcyBhbHNvIGFibGUgdG8gcHJv dmlkZSBhIHdvcmtpbmcgY29uc29sZSB3aXRoCmludGVycnVwdCBzdXBwb3J0LgoKVGhlIFVBUlQg ZXhwb3NlZCB0byB0aGUgZ3Vlc3QgaXMgYSBTQlNBIGNvbXBhdGlibGUgVUFSVCBhbmQgbm90IGEg UEwwMTEuClNCU0EgVUFSVCBpcyBhIHN1YnNldCBvZiBQTDAxMSByMXA1LiBBIGZ1bGwgUEwwMTEg aW1wbGVtZW50YXRpb24gaW4gWGVuCndvdWxkIGp1c3QgYmUgdG9vIGRpZmZpY3VsdCwgc28gZ3Vl c3RzIG1heSByZXF1aXJlIHNvbWUgZHJpdmVycyBjaGFuZ2VzLgoKRW5hYmxlIHZwbDAxMSBjb25k aXRpb25hbGx5IGlmIHRoZSB1c2VyIHJlcXVlc3RlZCBpdC4KCk1ha2Ugc2V0X2ludGVycnVwdF9w cGkgYWJsZSB0byBoYW5kbGUgbm9uLVBQSSBhbmQgcmVuYW1lIGl0CnNldF9pbnRlcnJ1cHQuCgpT aWduZWQtb2ZmLWJ5OiBTdGVmYW5vIFN0YWJlbGxpbmkgPHN0ZWZhbm9zQHhpbGlueC5jb20+Ci0t LQpDaGFuZ2VzIGluIHYyOgotIGNvZGUgc3R5bGUgZml4ZXMKLSBtYWtlIHNldF9pbnRlcnJ1cHRf cHBpIGdlbmVyaWMKLSByZW5hbWUgc2V0X2ludGVycnVwdF9wcGkgdG8gc2V0X2ludGVycnVwdAot IG9ubHkgbWFrZSB0aGUgdnBsMDExIG5vZGUgaWYgdGhlIG9wdGlvbiB3YXMgZW5hYmxlZAotLS0K IHhlbi9hcmNoL2FybS9kb21haW5fYnVpbGQuYyB8IDkwICsrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKystLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDc1IGluc2VydGlvbnMoKyks IDE1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9kb21haW5fYnVpbGQu YyBiL3hlbi9hcmNoL2FybS9kb21haW5fYnVpbGQuYwppbmRleCA0OGE5MWFkLi43MThiZTQ4IDEw MDY0NAotLS0gYS94ZW4vYXJjaC9hcm0vZG9tYWluX2J1aWxkLmMKKysrIGIveGVuL2FyY2gvYXJt L2RvbWFpbl9idWlsZC5jCkBAIC01MTksMTcgKzUxOSwxNyBAQCBzdGF0aWMgaW50IHdyaXRlX3By b3BlcnRpZXMoc3RydWN0IGRvbWFpbiAqZCwgc3RydWN0IGtlcm5lbF9pbmZvICpraW5mbywKIAog dHlwZWRlZiBfX2JlMzIgZ2ljX2ludGVycnVwdF90WzNdOwogCi1zdGF0aWMgdm9pZCBzZXRfaW50 ZXJydXB0X3BwaShnaWNfaW50ZXJydXB0X3QgaW50ZXJydXB0LCB1bnNpZ25lZCBpbnQgaXJxLAot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IGNwdW1hc2ssIHVuc2ln bmVkIGludCBsZXZlbCkKK3N0YXRpYyB2b2lkIHNldF9pbnRlcnJ1cHQoZ2ljX2ludGVycnVwdF90 IGludGVycnVwdCwgdW5zaWduZWQgaW50IGlycSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg dW5zaWduZWQgaW50IGNwdW1hc2ssIHVuc2lnbmVkIGludCBsZXZlbCkKIHsKICAgICBfX2JlMzIg KmNlbGxzID0gaW50ZXJydXB0OworICAgIGludCBpc19wcGkgPSAoaXJxIDwgMzIpOwogCi0gICAg QlVHX09OKGlycSA8IDE2KTsKLSAgICBCVUdfT04oaXJxID49IDMyKTsKKyAgICBpcnEgLT0gKGlz X3BwaSkgPyAxNjogMzI7IC8qIFBQSXMgc3RhcnQgYXQgMTYsIFNQSXMgYXQgMzIgKi8KIAogICAg IC8qIFNlZSBsaW51eCBEb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvaW50ZXJydXB0 LWNvbnRyb2xsZXIvYXJtLGdpYy50eHQgKi8KLSAgICBkdF9zZXRfY2VsbCgmY2VsbHMsIDEsIDEp OyAvKiBpcyBhIFBQSSAqLwotICAgIGR0X3NldF9jZWxsKCZjZWxscywgMSwgaXJxIC0gMTYpOyAv KiBQUElzIHN0YXJ0IGF0IDE2ICovCisgICAgZHRfc2V0X2NlbGwoJmNlbGxzLCAxLCBpc19wcGkp OyAvKiBpcyBhIFBQST8gKi8KKyAgICBkdF9zZXRfY2VsbCgmY2VsbHMsIDEsIGlycSk7CiAgICAg ZHRfc2V0X2NlbGwoJmNlbGxzLCAxLCAoY3B1bWFzayA8PCA4KSB8IGxldmVsKTsKIH0KIApAQCAt NjQ4LDcgKzY0OCw3IEBAIHN0YXRpYyBpbnQgbWFrZV9oeXBlcnZpc29yX25vZGUoc3RydWN0IGRv bWFpbiAqZCwKICAgICAgKiAgLSBBbGwgQ1BVcwogICAgICAqICBUT0RPOiBIYW5kbGUgcHJvcGVy bHkgdGhlIGNwdW1hc2s7CiAgICAgICovCi0gICAgc2V0X2ludGVycnVwdF9wcGkoaW50ciwgZC0+ YXJjaC5ldnRjaG5faXJxLCAweGYsIERUX0lSUV9UWVBFX0xFVkVMX0xPVyk7CisgICAgc2V0X2lu dGVycnVwdChpbnRyLCBkLT5hcmNoLmV2dGNobl9pcnEsIDB4ZiwgRFRfSVJRX1RZUEVfTEVWRUxf TE9XKTsKICAgICByZXMgPSBmZHRfcHJvcGVydHlfaW50ZXJydXB0cyhmZHQsICZpbnRyLCAxKTsK ICAgICBpZiAoIHJlcyApCiAgICAgICAgIHJldHVybiByZXM7CkBAIC05MjQsMTUgKzkyNCwxNSBA QCBzdGF0aWMgaW50IG1ha2VfdGltZXJfbm9kZShjb25zdCBzdHJ1Y3QgZG9tYWluICpkLCB2b2lk ICpmZHQsCiAKICAgICBpcnEgPSB0aW1lcl9nZXRfaXJxKFRJTUVSX1BIWVNfU0VDVVJFX1BQSSk7 CiAgICAgZHRfZHByaW50aygiICBTZWN1cmUgaW50ZXJydXB0ICV1XG4iLCBpcnEpOwotICAgIHNl dF9pbnRlcnJ1cHRfcHBpKGludHJzWzBdLCBpcnEsIDB4ZiwgRFRfSVJRX1RZUEVfTEVWRUxfTE9X KTsKKyAgICBzZXRfaW50ZXJydXB0KGludHJzWzBdLCBpcnEsIDB4ZiwgRFRfSVJRX1RZUEVfTEVW RUxfTE9XKTsKIAogICAgIGlycSA9IHRpbWVyX2dldF9pcnEoVElNRVJfUEhZU19OT05TRUNVUkVf UFBJKTsKICAgICBkdF9kcHJpbnRrKCIgIE5vbiBzZWN1cmUgaW50ZXJydXB0ICV1XG4iLCBpcnEp OwotICAgIHNldF9pbnRlcnJ1cHRfcHBpKGludHJzWzFdLCBpcnEsIDB4ZiwgRFRfSVJRX1RZUEVf TEVWRUxfTE9XKTsKKyAgICBzZXRfaW50ZXJydXB0KGludHJzWzFdLCBpcnEsIDB4ZiwgRFRfSVJR X1RZUEVfTEVWRUxfTE9XKTsKIAogICAgIGlycSA9IHRpbWVyX2dldF9pcnEoVElNRVJfVklSVF9Q UEkpOwogICAgIGR0X2RwcmludGsoIiAgVmlydCBpbnRlcnJ1cHQgJXVcbiIsIGlycSk7Ci0gICAg c2V0X2ludGVycnVwdF9wcGkoaW50cnNbMl0sIGlycSwgMHhmLCBEVF9JUlFfVFlQRV9MRVZFTF9M T1cpOworICAgIHNldF9pbnRlcnJ1cHQoaW50cnNbMl0sIGlycSwgMHhmLCBEVF9JUlFfVFlQRV9M RVZFTF9MT1cpOwogCiAgICAgcmVzID0gZmR0X3Byb3BlcnR5X2ludGVycnVwdHMoZmR0LCBpbnRy cywgMyk7CiAgICAgaWYgKCByZXMgKQpAQCAtMTUwMyw5ICsxNTAzLDkgQEAgc3RhdGljIGludCBt YWtlX3RpbWVyX2RvbVVfbm9kZShjb25zdCBzdHJ1Y3QgZG9tYWluICpkLCB2b2lkICpmZHQpCiAg ICAgICAgICAgICByZXR1cm4gcmVzOwogICAgIH0KIAotICAgIHNldF9pbnRlcnJ1cHRfcHBpKGlu dHJzWzBdLCBHVUVTVF9USU1FUl9QSFlTX1NfUFBJLCAweGYsIERUX0lSUV9UWVBFX0xFVkVMX0xP Vyk7Ci0gICAgc2V0X2ludGVycnVwdF9wcGkoaW50cnNbMV0sIEdVRVNUX1RJTUVSX1BIWVNfTlNf UFBJLCAweGYsIERUX0lSUV9UWVBFX0xFVkVMX0xPVyk7Ci0gICAgc2V0X2ludGVycnVwdF9wcGko aW50cnNbMl0sIEdVRVNUX1RJTUVSX1ZJUlRfUFBJLCAweGYsIERUX0lSUV9UWVBFX0xFVkVMX0xP Vyk7CisgICAgc2V0X2ludGVycnVwdChpbnRyc1swXSwgR1VFU1RfVElNRVJfUEhZU19TX1BQSSwg MHhmLCBEVF9JUlFfVFlQRV9MRVZFTF9MT1cpOworICAgIHNldF9pbnRlcnJ1cHQoaW50cnNbMV0s IEdVRVNUX1RJTUVSX1BIWVNfTlNfUFBJLCAweGYsIERUX0lSUV9UWVBFX0xFVkVMX0xPVyk7Cisg ICAgc2V0X2ludGVycnVwdChpbnRyc1syXSwgR1VFU1RfVElNRVJfVklSVF9QUEksIDB4ZiwgRFRf SVJRX1RZUEVfTEVWRUxfTE9XKTsKIAogICAgIHJlcyA9IGZkdF9wcm9wZXJ0eShmZHQsICJpbnRl cnJ1cHRzIiwgaW50cnMsIHNpemVvZiAoaW50cnNbMF0pICogMyk7CiAgICAgaWYgKCByZXMgKQpA QCAtMTUyMCwxMiArMTUyMCw2MyBAQCBzdGF0aWMgaW50IG1ha2VfdGltZXJfZG9tVV9ub2RlKGNv bnN0IHN0cnVjdCBkb21haW4gKmQsIHZvaWQgKmZkdCkKICAgICByZXR1cm4gcmVzOwogfQogCisj aWZkZWYgQ09ORklHX1NCU0FfVlVBUlRfQ09OU09MRQorc3RhdGljIGludCBtYWtlX3ZwbDAxMV91 YXJ0X25vZGUoY29uc3Qgc3RydWN0IGRvbWFpbiAqZCwgdm9pZCAqZmR0LAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgaW50IGFkZHJjZWxscywgaW50IHNpemVjZWxscykKK3sKKyAg ICBpbnQgcmVzOworICAgIGdpY19pbnRlcnJ1cHRfdCBpbnRyOworICAgIGludCByZWdfc2l6ZSA9 IGFkZHJjZWxscyArIHNpemVjZWxsczsKKyAgICBpbnQgbnJfY2VsbHMgPSByZWdfc2l6ZTsKKyAg ICBfX2JlMzIgcmVnW25yX2NlbGxzXTsKKyAgICBfX2JlMzIgKmNlbGxzOworCisgICAgcmVzID0g ZmR0X2JlZ2luX25vZGUoZmR0LCAic2JzYS1wbDAxMSIpOworICAgIGlmICggcmVzICkKKyAgICAg ICAgcmV0dXJuIHJlczsKKworICAgIHJlcyA9IGZkdF9wcm9wZXJ0eV9zdHJpbmcoZmR0LCAiY29t cGF0aWJsZSIsICJhcm0sc2JzYS11YXJ0Iik7CisgICAgaWYgKCByZXMgKQorICAgICAgICByZXR1 cm4gcmVzOworCisgICAgY2VsbHMgPSAmcmVnWzBdOworICAgIGR0X2NoaWxkX3NldF9yYW5nZSgm Y2VsbHMsIGFkZHJjZWxscywgc2l6ZWNlbGxzLCBHVUVTVF9QTDAxMV9CQVNFLAorICAgICAgICAg ICAgICAgICAgICAgICBHVUVTVF9QTDAxMV9TSVpFKTsKKyAgICBpZiAoIHJlcyApCisgICAgICAg IHJldHVybiByZXM7CisgICAgcmVzID0gZmR0X3Byb3BlcnR5KGZkdCwgInJlZyIsIHJlZywgc2l6 ZW9mKHJlZykpOworICAgIGlmICggcmVzICkKKyAgICAgICAgcmV0dXJuIHJlczsKKworICAgIHNl dF9pbnRlcnJ1cHQoaW50ciwgR1VFU1RfVlBMMDExX1NQSSwgMHhmLCBEVF9JUlFfVFlQRV9MRVZF TF9ISUdIKTsKKworICAgIHJlcyA9IGZkdF9wcm9wZXJ0eShmZHQsICJpbnRlcnJ1cHRzIiwgaW50 ciwgc2l6ZW9mIChpbnRyKSk7CisgICAgaWYgKCByZXMgKQorICAgICAgICByZXR1cm4gcmVzOwor CisgICAgcmVzID0gZmR0X3Byb3BlcnR5X2NlbGwoZmR0LCAiaW50ZXJydXB0LXBhcmVudCIsCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgR1VFU1RfUEhBTkRMRV9HSUMpOworICAgIGlmICgg cmVzICkKKyAgICAgICAgcmV0dXJuIHJlczsKKworICAgIC8qIFVzZSBhIGRlZmF1bHQgYmF1ZCBy YXRlIG9mIDExNTIwMC4gKi8KKyAgICBmZHRfcHJvcGVydHlfdTMyKGZkdCwgImN1cnJlbnQtc3Bl ZWQiLCAxMTUyMDApOworCisgICAgcmVzID0gZmR0X2VuZF9ub2RlKGZkdCk7CisgICAgaWYgKCBy ZXMgKQorICAgICAgICByZXR1cm4gcmVzOworCisgICAgcmV0dXJuIDA7Cit9CisjZW5kaWYKKwog LyoKICAqIFRoZSBtYXggc2l6ZSBmb3IgRFQgaXMgMk1CLiBIb3dldmVyLCB0aGUgZ2VuZXJhdGVk IERUIGlzIHNtYWxsLCA0S0IKICAqIGFyZSBlbm91Z2ggZm9yIG5vdywgYnV0IHdlIG1pZ2h0IGhh dmUgdG8gaW5jcmVhc2UgaXQgaW4gdGhlIGZlYXR1cmUuCiAgKi8KICNkZWZpbmUgRE9NVV9EVEJf U0laRSA0MDk2Ci1zdGF0aWMgaW50IHByZXBhcmVfZHRiX2RvbVUoc3RydWN0IGRvbWFpbiAqZCwg c3RydWN0IGtlcm5lbF9pbmZvICpraW5mbykKK3N0YXRpYyBpbnQgcHJlcGFyZV9kdGJfZG9tVShz dHJ1Y3QgZG9tYWluICpkLCBzdHJ1Y3Qga2VybmVsX2luZm8gKmtpbmZvLAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGJvb2wgdnBsMDExKQogewogICAgIGludCBhZGRyY2VsbHMsIHNpemVj ZWxsczsKICAgICBpbnQgcmV0OwpAQCAtMTU4NSw2ICsxNjM2LDE1IEBAIHN0YXRpYyBpbnQgcHJl cGFyZV9kdGJfZG9tVShzdHJ1Y3QgZG9tYWluICpkLCBzdHJ1Y3Qga2VybmVsX2luZm8gKmtpbmZv KQogICAgIGlmICggcmV0ICkKICAgICAgICAgZ290byBlcnI7CiAKKyNpZmRlZiBDT05GSUdfU0JT QV9WVUFSVF9DT05TT0xFCisgICAgaWYgKCB2cGwwMTEgKQorICAgIHsKKyAgICAgICAgcmV0ID0g bWFrZV92cGwwMTFfdWFydF9ub2RlKGQsIGtpbmZvLT5mZHQsIGFkZHJjZWxscywgc2l6ZWNlbGxz KTsKKyAgICAgICAgaWYgKCByZXQgKQorICAgICAgICAgICAgZ290byBlcnI7CisgICAgfQorI2Vu ZGlmCisKICAgICByZXQgPSBmZHRfZW5kX25vZGUoa2luZm8tPmZkdCk7CiAgICAgaWYgKCByZXQg PCAwICkKICAgICAgICAgZ290byBlcnI7CkBAIC0yNDY3LDcgKzI1MjcsNyBAQCBzdGF0aWMgaW50 IF9faW5pdCBjb25zdHJ1Y3RfZG9tVShzdHJ1Y3QgZG9tYWluICpkLCBzdHJ1Y3QgZHRfZGV2aWNl X25vZGUgKm5vZGUpCiAgICAgZC0+YXJjaC50eXBlID0ga2luZm8udHlwZTsKICAgICBhbGxvY2F0 ZV9tZW1vcnkoZCwgJmtpbmZvKTsKIAotICAgIHJjID0gcHJlcGFyZV9kdGJfZG9tVShkLCAma2lu Zm8pOworICAgIHJjID0gcHJlcGFyZV9kdGJfZG9tVShkLCAma2luZm8sIHZwbDAxMSk7CiAgICAg aWYgKCByYyA8IDAgKQogICAgICAgICByZXR1cm4gcmM7CiAKLS0gCjEuOS4xCgoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcg bGlzdApYZW4tZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9q ZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3hlbi1kZXZlbA==