From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefano Stabellini Subject: [PATCH v3 5/6] xen/arm: zynqmp: implement zynqmp_eemi Date: Fri, 10 Aug 2018 17:01:49 -0700 Message-ID: <1533945710-15159-5-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: xen-devel@lists.xen.org Cc: edgar.iglesias@xilinx.com, Stefano Stabellini , julien.grall@arm.com, sstabellini@kernel.org List-Id: xen-devel@lists.xenproject.org RnJvbTogIkVkZ2FyIEUuIElnbGVzaWFzIiA8ZWRnYXIuaWdsZXNpYXNAeGlsaW54LmNvbT4KCkZy b206IEVkZ2FyIEUuIElnbGVzaWFzIDxlZGdhci5pZ2xlc2lhc0B4aWxpbnguY29tPgoKenlucW1w X2VlbWkgdXNlcyB0aGUgZGVmaW5lZCBmdW5jdGlvbnMgYW5kIHN0cnVjdHMgdG8gZGVjaWRlIHdo ZXRoZXIgdG8KbWFrZSBhIGNhbGwgdG8gdGhlIGZpcm13YXJlLCBvciB0byBzaW1wbHkgcmV0dXJu IGEgcHJlZGVmaW5lZCB2YWx1ZS4KClNpZ25lZC1vZmYtYnk6IEVkZ2FyIEUuIElnbGVzaWFzIDxl ZGdhci5pZ2xlc2lhc0B4aWxpbnguY29tPgpTaWduZWQtb2ZmLWJ5OiBTdGVmYW5vIFN0YWJlbGxp bmkgPHN0ZWZhbm9zQHhpbGlueC5jb20+Ci0tLQogeGVuL2FyY2gvYXJtL3BsYXRmb3Jtcy94aWxp bngtenlucW1wLWVlbWkuYyB8IDE0MyArKysrKysrKysrKysrKysrKysrKysrKysrKystCiAxIGZp bGUgY2hhbmdlZCwgMTQyIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQg YS94ZW4vYXJjaC9hcm0vcGxhdGZvcm1zL3hpbGlueC16eW5xbXAtZWVtaS5jIGIveGVuL2FyY2gv YXJtL3BsYXRmb3Jtcy94aWxpbngtenlucW1wLWVlbWkuYwppbmRleCA2MmNjMTVjLi4xZGJkZjA0 IDEwMDY0NAotLS0gYS94ZW4vYXJjaC9hcm0vcGxhdGZvcm1zL3hpbGlueC16eW5xbXAtZWVtaS5j CisrKyBiL3hlbi9hcmNoL2FybS9wbGF0Zm9ybXMveGlsaW54LXp5bnFtcC1lZW1pLmMKQEAgLTgw OCw3ICs4MDgsMTQ4IEBAIHN0YXRpYyBib29sIGRvbWFpbl9oYXNfbW1pb19hY2Nlc3Moc3RydWN0 IGRvbWFpbiAqZCwKIAogYm9vbCB6eW5xbXBfZWVtaShzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVn cykKIHsKLSAgICByZXR1cm4gZmFsc2U7CisgICAgc3RydWN0IGFybV9zbWNjY19yZXMgcmVzOwor ICAgIGJvb2wgaXNfbW1pb193cml0ZSA9IGZhbHNlOworICAgIHVpbnQzMl90IGZpZCA9IGdldF91 c2VyX3JlZyhyZWdzLCAwKTsKKyAgICB1aW50MzJfdCBub2RlaWQgPSBnZXRfdXNlcl9yZWcocmVn cywgMSk7CisgICAgdW5zaWduZWQgaW50IHBtX2ZuID0gZmlkICYgMHhGRkZGOworICAgIGVudW0g cG1fcmV0X3N0YXR1cyByZXQ7CisKKyAgICBzd2l0Y2ggKCBwbV9mbiApCisgICAgeworICAgIC8q CisgICAgICogV2UgY2FuJ3QgYWxsb3cgQ1BVcyB0byBzdXNwZW5kIHdpdGhvdXQgWGVuIGtub3dp bmcgYWJvdXQgaXQuCisgICAgICogV2UgYWNjZXB0IGJ1dCBpZ25vcmUgdGhlIHJlcXVlc3QgYW5k IHdhaXQgZm9yIHRoZSBndWVzdCB0byBpc3N1ZQorICAgICAqIGEgV0ZJIHdoaWNoIFhlbiB3aWxs IHRyYXAgYW5kIGFjdCBhY2NvcmRpbmdseSB1cG9uLgorICAgICAqLworICAgIGNhc2UgUE1fU0VM Rl9TVVNQRU5EOgorICAgICAgICByZXQgPSBYU1RfUE1fU1VDQ0VTUzsKKyAgICAgICAgZ290byBk b25lOworCisgICAgY2FzZSBQTV9HRVRfTk9ERV9TVEFUVVM6CisgICAgLyogQVBJIGZvciBQVXMu ICAqLworICAgIGNhc2UgUE1fUkVRX1NVU1BFTkQ6CisgICAgY2FzZSBQTV9GT1JDRV9QT1dFUkRP V046CisgICAgY2FzZSBQTV9BQk9SVF9TVVNQRU5EOgorICAgIGNhc2UgUE1fUkVRX1dBS0VVUDoK KyAgICBjYXNlIFBNX1NFVF9XQUtFVVBfU09VUkNFOgorICAgIC8qIEFQSSBmb3Igc2xhdmVzLiAg Ki8KKyAgICBjYXNlIFBNX1JFUV9OT0RFOgorICAgIGNhc2UgUE1fUkVMRUFTRV9OT0RFOgorICAg IGNhc2UgUE1fU0VUX1JFUVVJUkVNRU5UOgorICAgIGNhc2UgUE1fU0VUX01BWF9MQVRFTkNZOgor ICAgICAgICBpZiAoICFkb21haW5faGFzX25vZGVfYWNjZXNzKGN1cnJlbnQtPmRvbWFpbiwgbm9k ZWlkKSApCisgICAgICAgIHsKKyAgICAgICAgICAgIGdwcmludGsoWEVOTE9HX1dBUk5JTkcsCisg ICAgICAgICAgICAgICAgICAgICJ6eW5xbXAtcG06IGZuPSV1IE5vIGFjY2VzcyB0byBub2RlICV1 XG4iLCBwbV9mbiwgbm9kZWlkKTsKKyAgICAgICAgICAgIHJldCA9IFhTVF9QTV9OT19BQ0NFU1M7 CisgICAgICAgICAgICBnb3RvIGRvbmU7CisgICAgICAgIH0KKyAgICAgICAgZ290byBmb3J3YXJk X3RvX2Z3OworCisgICAgY2FzZSBQTV9SRVNFVF9BU1NFUlQ6CisgICAgY2FzZSBQTV9SRVNFVF9H RVRfU1RBVFVTOgorICAgICAgICBpZiAoICFkb21haW5faGFzX3Jlc2V0X2FjY2VzcyhjdXJyZW50 LT5kb21haW4sIG5vZGVpZCkgKQorICAgICAgICB7CisgICAgICAgICAgICBncHJpbnRrKFhFTkxP R19XQVJOSU5HLAorICAgICAgICAgICAgICAgICAgICAienlucW1wLXBtOiBmbj0ldSBObyBhY2Nl c3MgdG8gcmVzZXQgJXVcbiIsIHBtX2ZuLCBub2RlaWQpOworICAgICAgICAgICAgcmV0ID0gWFNU X1BNX05PX0FDQ0VTUzsKKyAgICAgICAgICAgIGdvdG8gZG9uZTsKKyAgICAgICAgfQorICAgICAg ICBnb3RvIGZvcndhcmRfdG9fZnc7CisKKyAgICAvKiBUaGVzZSBjYWxscyBhcmUgc2FmZSBhbmQg YWx3YXlzIGFsbG93ZWQuICAqLworICAgIGNhc2UgWllOUU1QX1NJUF9TVkNfQ0FMTF9DT1VOVDoK KyAgICBjYXNlIFpZTlFNUF9TSVBfU1ZDX1VJRDoKKyAgICBjYXNlIFpZTlFNUF9TSVBfU1ZDX1ZF UlNJT046CisgICAgY2FzZSBQTV9HRVRfVFJVU1RaT05FX1ZFUlNJT046CisgICAgY2FzZSBQTV9H RVRfQVBJX1ZFUlNJT046CisgICAgY2FzZSBQTV9HRVRfQ0hJUElEOgorICAgICAgICBnb3RvIGZv cndhcmRfdG9fZnc7CisKKyAgICAvKiBNZWRpYXRlZCBNTUlPIGFjY2Vzcy4gICovCisgICAgY2Fz ZSBQTV9NTUlPX1dSSVRFOgorICAgICAgICBpc19tbWlvX3dyaXRlID0gdHJ1ZTsKKyAgICAvKiBG YWxsdGhyb3VnaC4gICovCisgICAgY2FzZSBQTV9NTUlPX1JFQUQ6CisgICAgeworICAgICAgICB1 aW50MzJfdCBtYXNrID0gZ2V0X3VzZXJfcmVnKHJlZ3MsIDEpID4+IDMyOworICAgICAgICBpZiAo ICFkb21haW5faGFzX21taW9fYWNjZXNzKGN1cnJlbnQtPmRvbWFpbiwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBpc19tbWlvX3dyaXRlLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIG5vZGVpZCwgJm1hc2spICkKKyAgICAgICAgeworICAgICAgICAg ICAgZ3ByaW50ayhYRU5MT0dfV0FSTklORywKKyAgICAgICAgICAgICAgICAgICAgImVlbWk6IGZu PSV1IE5vIGFjY2VzcyB0byBNTUlPICVzICV1XG4iLAorICAgICAgICAgICAgICAgICAgICBwbV9m biwgaXNfbW1pb193cml0ZSA/ICJ3cml0ZSIgOiAicmVhZCIsIG5vZGVpZCk7CisgICAgICAgICAg ICByZXQgPSBYU1RfUE1fTk9fQUNDRVNTOworICAgICAgICAgICAgZ290byBkb25lOworICAgICAg ICB9CisgICAgICAgIHNldF91c2VyX3JlZyhyZWdzLCAxLCAoKHVpbnQ2NF90KW1hc2sgPDwgMzIp IHwgbm9kZWlkKTsKKyAgICAgICAgZ290byBmb3J3YXJkX3RvX2Z3OworICAgIH0KKworICAgIC8q IEV4Y2x1c2l2ZSB0byB0aGUgaGFyZHdhcmUgZG9tYWluLiAgKi8KKyAgICBjYXNlIFBNX0lOSVQ6 CisgICAgY2FzZSBQTV9TRVRfQ09ORklHVVJBVElPTjoKKyAgICBjYXNlIFBNX0ZQR0FfTE9BRDoK KyAgICBjYXNlIFBNX0ZQR0FfR0VUX1NUQVRVUzoKKyAgICBjYXNlIFBNX1NFQ1VSRV9TSEE6Cisg ICAgY2FzZSBQTV9TRUNVUkVfUlNBOgorICAgIGNhc2UgUE1fUElOQ1RSTF9TRVRfRlVOQ1RJT046 CisgICAgY2FzZSBQTV9QSU5DVFJMX1JFUVVFU1Q6CisgICAgY2FzZSBQTV9QSU5DVFJMX1JFTEVB U0U6CisgICAgY2FzZSBQTV9QSU5DVFJMX0dFVF9GVU5DVElPTjoKKyAgICBjYXNlIFBNX1BJTkNU UkxfQ09ORklHX1BBUkFNX0dFVDoKKyAgICBjYXNlIFBNX1BJTkNUUkxfQ09ORklHX1BBUkFNX1NF VDoKKyAgICBjYXNlIFBNX0lPQ1RMOgorICAgIGNhc2UgUE1fUVVFUllfREFUQToKKyAgICBjYXNl IFBNX0NMT0NLX0VOQUJMRToKKyAgICBjYXNlIFBNX0NMT0NLX0RJU0FCTEU6CisgICAgY2FzZSBQ TV9DTE9DS19HRVRTVEFURToKKyAgICBjYXNlIFBNX0NMT0NLX0dFVERJVklERVI6CisgICAgY2Fz ZSBQTV9DTE9DS19TRVRESVZJREVSOgorICAgIGNhc2UgUE1fQ0xPQ0tfU0VUUkFURToKKyAgICBj YXNlIFBNX0NMT0NLX0dFVFJBVEU6CisgICAgY2FzZSBQTV9DTE9DS19TRVRQQVJFTlQ6CisgICAg Y2FzZSBQTV9DTE9DS19HRVRQQVJFTlQ6CisgICAgICAgIGlmICggIWlzX2hhcmR3YXJlX2RvbWFp bihjdXJyZW50LT5kb21haW4pICkKKyAgICAgICAgeworICAgICAgICAgICAgZ3ByaW50ayhYRU5M T0dfV0FSTklORywgImVlbWk6IGZuPSV1IE5vIGFjY2VzcyIsIHBtX2ZuKTsKKyAgICAgICAgICAg IHJldCA9IFhTVF9QTV9OT19BQ0NFU1M7CisgICAgICAgICAgICBnb3RvIGRvbmU7CisgICAgICAg IH0KKyAgICAgICAgZ290byBmb3J3YXJkX3RvX2Z3OworCisgICAgLyogVGhlc2UgY2FsbHMgYXJl IG5ldmVyIGFsbG93ZWQuICAqLworICAgIGNhc2UgUE1fU1lTVEVNX1NIVVRET1dOOgorICAgICAg ICByZXQgPSBYU1RfUE1fTk9fQUNDRVNTOworICAgICAgICBnb3RvIGRvbmU7CisKKyAgICBkZWZh dWx0OgorICAgICAgICBncHJpbnRrKFhFTkxPR19XQVJOSU5HLCAienlucW1wLXBtOiBVbmhhbmRs ZWQgUE0gQ2FsbDogJXVcbiIsIGZpZCk7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisK K2ZvcndhcmRfdG9fZnc6CisgICAgYXJtX3NtY2NjXzFfMV9zbWMoZ2V0X3VzZXJfcmVnKHJlZ3Ms IDApLAorICAgICAgICAgICAgICAgICAgICAgIGdldF91c2VyX3JlZyhyZWdzLCAxKSwKKyAgICAg ICAgICAgICAgICAgICAgICBnZXRfdXNlcl9yZWcocmVncywgMiksCisgICAgICAgICAgICAgICAg ICAgICAgZ2V0X3VzZXJfcmVnKHJlZ3MsIDMpLAorICAgICAgICAgICAgICAgICAgICAgIGdldF91 c2VyX3JlZyhyZWdzLCA0KSwKKyAgICAgICAgICAgICAgICAgICAgICBnZXRfdXNlcl9yZWcocmVn cywgNSksCisgICAgICAgICAgICAgICAgICAgICAgZ2V0X3VzZXJfcmVnKHJlZ3MsIDYpLAorICAg ICAgICAgICAgICAgICAgICAgIGdldF91c2VyX3JlZyhyZWdzLCA3KSwKKyAgICAgICAgICAgICAg ICAgICAgICAmcmVzKTsKKworICAgIHNldF91c2VyX3JlZyhyZWdzLCAwLCByZXMuYTApOworICAg IHNldF91c2VyX3JlZyhyZWdzLCAxLCByZXMuYTEpOworICAgIHNldF91c2VyX3JlZyhyZWdzLCAy LCByZXMuYTIpOworICAgIHNldF91c2VyX3JlZyhyZWdzLCAzLCByZXMuYTMpOworICAgIHJldHVy biB0cnVlOworCitkb25lOgorICAgIHNldF91c2VyX3JlZyhyZWdzLCAwLCByZXQpOworICAgIHJl dHVybiB0cnVlOwogfQogCiAvKgotLSAKMS45LjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBs aXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4v bGlzdGluZm8veGVuLWRldmVs