From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefano Stabellini Subject: [PATCH v3 19/25] xen/arm: generate vpl011 node on device tree for domU Date: Tue, 31 Jul 2018 16:28:02 -0700 Message-ID: <1533079688-9541-19-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 LQpDaGFuZ2VzIGluIHYzOgotIHVzZSBib29sCi0gcmV0YWluIEJVR19PTihpcnEgPCAxNikKLSBh ZGQgdnBsMDExIGJvb2wgdG8ga2luZm8KLSByZXR1cm4gZXJyb3Igb2YgdnBsMDExIGlzIHJlcXVp cmVkIGJ1dCBDT05GSUdfU0JTQV9WVUFSVF9DT05TT0xFIGlzCiAgbWlzc2luZwoKQ2hhbmdlcyBp biB2MjoKLSBjb2RlIHN0eWxlIGZpeGVzCi0gbWFrZSBzZXRfaW50ZXJydXB0X3BwaSBnZW5lcmlj Ci0gcmVuYW1lIHNldF9pbnRlcnJ1cHRfcHBpIHRvIHNldF9pbnRlcnJ1cHQKLSBvbmx5IG1ha2Ug dGhlIHZwbDAxMSBub2RlIGlmIHRoZSBvcHRpb24gd2FzIGVuYWJsZWQKLS0tCiB4ZW4vYXJjaC9h cm0vZG9tYWluX2J1aWxkLmMgfCA5NSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKy0tLS0tLS0KIHhlbi9hcmNoL2FybS9rZXJuZWwuaCAgICAgICB8ICAzICsrCiAyIGZpbGVz IGNoYW5nZWQsIDgzIGluc2VydGlvbnMoKyksIDE1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBh L3hlbi9hcmNoL2FybS9kb21haW5fYnVpbGQuYyBiL3hlbi9hcmNoL2FybS9kb21haW5fYnVpbGQu YwppbmRleCAxNjdhNTZlLi5mOWZhNDg0IDEwMDY0NAotLS0gYS94ZW4vYXJjaC9hcm0vZG9tYWlu X2J1aWxkLmMKKysrIGIveGVuL2FyY2gvYXJtL2RvbWFpbl9idWlsZC5jCkBAIC02MTksMTkgKzYx OSwyMCBAQCBzdGF0aWMgaW50IF9faW5pdCB3cml0ZV9wcm9wZXJ0aWVzKHN0cnVjdCBkb21haW4g KmQsIHN0cnVjdCBrZXJuZWxfaW5mbyAqa2luZm8sCiAKIHR5cGVkZWYgX19iZTMyIGdpY19pbnRl cnJ1cHRfdFszXTsKIAotc3RhdGljIHZvaWQgX19pbml0IHNldF9pbnRlcnJ1cHRfcHBpKGdpY19p bnRlcnJ1cHRfdCBpbnRlcnJ1cHQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgdW5zaWduZWQgaW50IGlycSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB1bnNpZ25lZCBpbnQgY3B1bWFzaywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB1bnNpZ25lZCBpbnQgbGV2ZWwpCitzdGF0aWMgdm9pZCBfX2luaXQgc2V0X2ludGVycnVw dChnaWNfaW50ZXJydXB0X3QgaW50ZXJydXB0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgdW5zaWduZWQgaW50IGlycSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHVuc2lnbmVkIGludCBjcHVtYXNrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg dW5zaWduZWQgaW50IGxldmVsKQogewogICAgIF9fYmUzMiAqY2VsbHMgPSBpbnRlcnJ1cHQ7Cisg ICAgYm9vbCBpc19wcGkgPSAhIShpcnEgPCAzMik7CiAKICAgICBCVUdfT04oaXJxIDwgMTYpOwot ICAgIEJVR19PTihpcnEgPj0gMzIpOworICAgIGlycSAtPSAoaXNfcHBpKSA/IDE2OiAzMjsgLyog UFBJcyBzdGFydCBhdCAxNiwgU1BJcyBhdCAzMiAqLwogCiAgICAgLyogU2VlIGxpbnV4IERvY3Vt ZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9pbnRlcnJ1cHQtY29udHJvbGxlci9hcm0sZ2lj LnR4dCAqLwotICAgIGR0X3NldF9jZWxsKCZjZWxscywgMSwgMSk7IC8qIGlzIGEgUFBJICovCi0g ICAgZHRfc2V0X2NlbGwoJmNlbGxzLCAxLCBpcnEgLSAxNik7IC8qIFBQSXMgc3RhcnQgYXQgMTYg Ki8KKyAgICBkdF9zZXRfY2VsbCgmY2VsbHMsIDEsIGlzX3BwaSk7IC8qIGlzIGEgUFBJPyAqLwor ICAgIGR0X3NldF9jZWxsKCZjZWxscywgMSwgaXJxKTsKICAgICBkdF9zZXRfY2VsbCgmY2VsbHMs IDEsIChjcHVtYXNrIDw8IDgpIHwgbGV2ZWwpOwogfQogCkBAIC03NTIsNyArNzUzLDcgQEAgc3Rh dGljIGludCBfX2luaXQgbWFrZV9oeXBlcnZpc29yX25vZGUoc3RydWN0IGRvbWFpbiAqZCwKICAg ICAgKiAgLSBBbGwgQ1BVcwogICAgICAqICBUT0RPOiBIYW5kbGUgcHJvcGVybHkgdGhlIGNwdW1h c2s7CiAgICAgICovCi0gICAgc2V0X2ludGVycnVwdF9wcGkoaW50ciwgZC0+YXJjaC5ldnRjaG5f aXJxLCAweGYsIERUX0lSUV9UWVBFX0xFVkVMX0xPVyk7CisgICAgc2V0X2ludGVycnVwdChpbnRy LCBkLT5hcmNoLmV2dGNobl9pcnEsIDB4ZiwgRFRfSVJRX1RZUEVfTEVWRUxfTE9XKTsKICAgICBy ZXMgPSBmZHRfcHJvcGVydHlfaW50ZXJydXB0cyhmZHQsICZpbnRyLCAxKTsKICAgICBpZiAoIHJl cyApCiAgICAgICAgIHJldHVybiByZXM7CkBAIC0xMDI5LDE1ICsxMDMwLDE1IEBAIHN0YXRpYyBp bnQgX19pbml0IG1ha2VfdGltZXJfbm9kZShjb25zdCBzdHJ1Y3QgZG9tYWluICpkLCB2b2lkICpm ZHQsCiAKICAgICBpcnEgPSB0aW1lcl9nZXRfaXJxKFRJTUVSX1BIWVNfU0VDVVJFX1BQSSk7CiAg ICAgZHRfZHByaW50aygiICBTZWN1cmUgaW50ZXJydXB0ICV1XG4iLCBpcnEpOwotICAgIHNldF9p bnRlcnJ1cHRfcHBpKGludHJzWzBdLCBpcnEsIDB4ZiwgRFRfSVJRX1RZUEVfTEVWRUxfTE9XKTsK KyAgICBzZXRfaW50ZXJydXB0KGludHJzWzBdLCBpcnEsIDB4ZiwgRFRfSVJRX1RZUEVfTEVWRUxf TE9XKTsKIAogICAgIGlycSA9IHRpbWVyX2dldF9pcnEoVElNRVJfUEhZU19OT05TRUNVUkVfUFBJ KTsKICAgICBkdF9kcHJpbnRrKCIgIE5vbiBzZWN1cmUgaW50ZXJydXB0ICV1XG4iLCBpcnEpOwot ICAgIHNldF9pbnRlcnJ1cHRfcHBpKGludHJzWzFdLCBpcnEsIDB4ZiwgRFRfSVJRX1RZUEVfTEVW RUxfTE9XKTsKKyAgICBzZXRfaW50ZXJydXB0KGludHJzWzFdLCBpcnEsIDB4ZiwgRFRfSVJRX1RZ UEVfTEVWRUxfTE9XKTsKIAogICAgIGlycSA9IHRpbWVyX2dldF9pcnEoVElNRVJfVklSVF9QUEkp OwogICAgIGR0X2RwcmludGsoIiAgVmlydCBpbnRlcnJ1cHQgJXVcbiIsIGlycSk7Ci0gICAgc2V0 X2ludGVycnVwdF9wcGkoaW50cnNbMl0sIGlycSwgMHhmLCBEVF9JUlFfVFlQRV9MRVZFTF9MT1cp OworICAgIHNldF9pbnRlcnJ1cHQoaW50cnNbMl0sIGlycSwgMHhmLCBEVF9JUlFfVFlQRV9MRVZF TF9MT1cpOwogCiAgICAgcmVzID0gZmR0X3Byb3BlcnR5X2ludGVycnVwdHMoZmR0LCBpbnRycywg Myk7CiAgICAgaWYgKCByZXMgKQpAQCAtMTYwNSw5ICsxNjA2LDkgQEAgc3RhdGljIGludCBfX2lu aXQgbWFrZV90aW1lcl9kb21VX25vZGUoY29uc3Qgc3RydWN0IGRvbWFpbiAqZCwgdm9pZCAqZmR0 KQogICAgICAgICAgICAgcmV0dXJuIHJlczsKICAgICB9CiAKLSAgICBzZXRfaW50ZXJydXB0X3Bw aShpbnRyc1swXSwgR1VFU1RfVElNRVJfUEhZU19TX1BQSSwgMHhmLCBEVF9JUlFfVFlQRV9MRVZF TF9MT1cpOwotICAgIHNldF9pbnRlcnJ1cHRfcHBpKGludHJzWzFdLCBHVUVTVF9USU1FUl9QSFlT X05TX1BQSSwgMHhmLCBEVF9JUlFfVFlQRV9MRVZFTF9MT1cpOwotICAgIHNldF9pbnRlcnJ1cHRf cHBpKGludHJzWzJdLCBHVUVTVF9USU1FUl9WSVJUX1BQSSwgMHhmLCBEVF9JUlFfVFlQRV9MRVZF TF9MT1cpOworICAgIHNldF9pbnRlcnJ1cHQoaW50cnNbMF0sIEdVRVNUX1RJTUVSX1BIWVNfU19Q UEksIDB4ZiwgRFRfSVJRX1RZUEVfTEVWRUxfTE9XKTsKKyAgICBzZXRfaW50ZXJydXB0KGludHJz WzFdLCBHVUVTVF9USU1FUl9QSFlTX05TX1BQSSwgMHhmLCBEVF9JUlFfVFlQRV9MRVZFTF9MT1cp OworICAgIHNldF9pbnRlcnJ1cHQoaW50cnNbMl0sIEdVRVNUX1RJTUVSX1ZJUlRfUFBJLCAweGYs IERUX0lSUV9UWVBFX0xFVkVMX0xPVyk7CiAKICAgICByZXMgPSBmZHRfcHJvcGVydHkoZmR0LCAi aW50ZXJydXB0cyIsIGludHJzLCBzaXplb2YgKGludHJzWzBdKSAqIDMpOwogICAgIGlmICggcmVz ICkKQEAgLTE2MjIsNiArMTYyMyw1NiBAQCBzdGF0aWMgaW50IF9faW5pdCBtYWtlX3RpbWVyX2Rv bVVfbm9kZShjb25zdCBzdHJ1Y3QgZG9tYWluICpkLCB2b2lkICpmZHQpCiAgICAgcmV0dXJuIHJl czsKIH0KIAorI2lmZGVmIENPTkZJR19TQlNBX1ZVQVJUX0NPTlNPTEUKK3N0YXRpYyBpbnQgX19p bml0IG1ha2VfdnBsMDExX3VhcnRfbm9kZShjb25zdCBzdHJ1Y3QgZG9tYWluICpkLCB2b2lkICpm ZHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgYWRkcmNlbGxzLCBpbnQg c2l6ZWNlbGxzKQoreworICAgIGludCByZXM7CisgICAgZ2ljX2ludGVycnVwdF90IGludHI7Cisg ICAgaW50IHJlZ19zaXplID0gYWRkcmNlbGxzICsgc2l6ZWNlbGxzOworICAgIGludCBucl9jZWxs cyA9IHJlZ19zaXplOworICAgIF9fYmUzMiByZWdbbnJfY2VsbHNdOworICAgIF9fYmUzMiAqY2Vs bHM7CisKKyAgICByZXMgPSBmZHRfYmVnaW5fbm9kZShmZHQsICJzYnNhLXBsMDExIik7CisgICAg aWYgKCByZXMgKQorICAgICAgICByZXR1cm4gcmVzOworCisgICAgcmVzID0gZmR0X3Byb3BlcnR5 X3N0cmluZyhmZHQsICJjb21wYXRpYmxlIiwgImFybSxzYnNhLXVhcnQiKTsKKyAgICBpZiAoIHJl cyApCisgICAgICAgIHJldHVybiByZXM7CisKKyAgICBjZWxscyA9ICZyZWdbMF07CisgICAgZHRf Y2hpbGRfc2V0X3JhbmdlKCZjZWxscywgYWRkcmNlbGxzLCBzaXplY2VsbHMsIEdVRVNUX1BMMDEx X0JBU0UsCisgICAgICAgICAgICAgICAgICAgICAgIEdVRVNUX1BMMDExX1NJWkUpOworICAgIGlm ICggcmVzICkKKyAgICAgICAgcmV0dXJuIHJlczsKKyAgICByZXMgPSBmZHRfcHJvcGVydHkoZmR0 LCAicmVnIiwgcmVnLCBzaXplb2YocmVnKSk7CisgICAgaWYgKCByZXMgKQorICAgICAgICByZXR1 cm4gcmVzOworCisgICAgc2V0X2ludGVycnVwdChpbnRyLCBHVUVTVF9WUEwwMTFfU1BJLCAweGYs IERUX0lSUV9UWVBFX0xFVkVMX0hJR0gpOworCisgICAgcmVzID0gZmR0X3Byb3BlcnR5KGZkdCwg ImludGVycnVwdHMiLCBpbnRyLCBzaXplb2YgKGludHIpKTsKKyAgICBpZiAoIHJlcyApCisgICAg ICAgIHJldHVybiByZXM7CisKKyAgICByZXMgPSBmZHRfcHJvcGVydHlfY2VsbChmZHQsICJpbnRl cnJ1cHQtcGFyZW50IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBHVUVTVF9QSEFORExF X0dJQyk7CisgICAgaWYgKCByZXMgKQorICAgICAgICByZXR1cm4gcmVzOworCisgICAgLyogVXNl IGEgZGVmYXVsdCBiYXVkIHJhdGUgb2YgMTE1MjAwLiAqLworICAgIGZkdF9wcm9wZXJ0eV91MzIo ZmR0LCAiY3VycmVudC1zcGVlZCIsIDExNTIwMCk7CisKKyAgICByZXMgPSBmZHRfZW5kX25vZGUo ZmR0KTsKKyAgICBpZiAoIHJlcyApCisgICAgICAgIHJldHVybiByZXM7CisKKyAgICByZXR1cm4g MDsKK30KKyNlbmRpZgorCiAvKgogICogVGhlIG1heCBzaXplIGZvciBEVCBpcyAyTUIuIEhvd2V2 ZXIsIHRoZSBnZW5lcmF0ZWQgRFQgaXMgc21hbGwsIDRLQgogICogYXJlIGVub3VnaCBmb3Igbm93 LCBidXQgd2UgbWlnaHQgaGF2ZSB0byBpbmNyZWFzZSBpdCBpbiB0aGUgZmVhdHVyZS4KQEAgLTE2 ODMsNiArMTczNCwxOCBAQCBzdGF0aWMgaW50IF9faW5pdCBwcmVwYXJlX2R0Yl9kb21VKHN0cnVj dCBkb21haW4gKmQsIHN0cnVjdCBrZXJuZWxfaW5mbyAqa2luZm8pCiAgICAgaWYgKCByZXQgKQog ICAgICAgICBnb3RvIGVycjsKIAorICAgIGlmICgga2luZm8tPnZwbDAxMSApCisgICAgeworI2lm ZGVmIENPTkZJR19TQlNBX1ZVQVJUX0NPTlNPTEUKKyAgICAgICAgcmV0ID0gbWFrZV92cGwwMTFf dWFydF9ub2RlKGQsIGtpbmZvLT5mZHQsIGFkZHJjZWxscywgc2l6ZWNlbGxzKTsKKyAgICAgICAg aWYgKCByZXQgKQorICAgICAgICAgICAgZ290byBlcnI7CisjZWxzZQorICAgICAgICByZXQgPSAt RUlOVkFMOworICAgICAgICBnb3RvIGVycjsKKyNlbmRpZgorICAgIH0KKwogICAgIHJldCA9IGZk dF9lbmRfbm9kZShraW5mby0+ZmR0KTsKICAgICBpZiAoIHJldCA8IDAgKQogICAgICAgICBnb3Rv IGVycjsKQEAgLTI1MzcsNyArMjYwMCw3IEBAIHN0YXRpYyBpbnQgX19pbml0IGNvbnN0cnVjdF9k b21VKHN0cnVjdCBkb21haW4gKmQsIHN0cnVjdCBkdF9kZXZpY2Vfbm9kZSAqbm9kZSkKIHsKICAg ICBzdHJ1Y3Qga2VybmVsX2luZm8ga2luZm8gPSB7fTsKICAgICBpbnQgcmM7Ci0gICAgdTMyIG1l bTsKKyAgICB1MzIgbWVtLCBsZW47CiAKICAgICBwcmludGsoIioqKiBMT0FESU5HIERPTVUgKioq XG4iKTsKIApAQCAtMjU1MCw2ICsyNjEzLDggQEAgc3RhdGljIGludCBfX2luaXQgY29uc3RydWN0 X2RvbVUoc3RydWN0IGRvbWFpbiAqZCwgc3RydWN0IGR0X2RldmljZV9ub2RlICpub2RlKQogICAg ICAgICByZXR1cm4gLUVJTlZBTDsKICAgICBraW5mby51bmFzc2lnbmVkX21lbSA9IChwYWRkcl90 KW1lbSA8PCAxMDsKIAorICAgIGtpbmZvLnZwbDAxMSA9IGR0X2dldF9wcm9wZXJ0eShub2RlLCAi dnBsMDExIiwgJmxlbikgIT0gTlVMTDsKKwogICAgIGQtPnZjcHUgPSB4emFsbG9jX2FycmF5KHN0 cnVjdCB2Y3B1ICosIGQtPm1heF92Y3B1cyk7CiAgICAgaWYgKCAhZC0+dmNwdSApCiAgICAgICAg IHJldHVybiAtRU5PTUVNOzsKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9rZXJuZWwuaCBiL3hl bi9hcmNoL2FybS9rZXJuZWwuaAppbmRleCA0YTY1Mjg5Li45YzllNTY4IDEwMDY0NAotLS0gYS94 ZW4vYXJjaC9hcm0va2VybmVsLmgKKysrIGIveGVuL2FyY2gvYXJtL2tlcm5lbC5oCkBAIC0zMyw2 ICszMyw5IEBAIHN0cnVjdCBrZXJuZWxfaW5mbyB7CiAgICAgcGFkZHJfdCBkdGJfcGFkZHI7CiAg ICAgcGFkZHJfdCBpbml0cmRfcGFkZHI7CiAKKyAgICAvKiBFbmFibGUgcGwwMTEgZW11bGF0aW9u ICovCisgICAgYm9vbCB2cGwwMTE7CisKICAgICAvKiBsb2FkZXIgdG8gdXNlIGZvciB0aGlzIGtl cm5lbCAqLwogICAgIHZvaWQgKCpsb2FkKShzdHJ1Y3Qga2VybmVsX2luZm8gKmluZm8pOwogICAg IC8qIGxvYWRlciBzcGVjaWZpYyBzdGF0ZSAqLwotLSAKMS45LjEKCgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhl bi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3Jn L21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs