From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andre Przywara Subject: [PATCH v2 04/27] ARM: GICv3 ITS: map ITS command buffer Date: Thu, 16 Mar 2017 11:20:07 +0000 Message-ID: <20170316112030.20419-5-andre.przywara@arm.com> References: <20170316112030.20419-1-andre.przywara@arm.com> 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 1coTQn-0007V0-UJ for xen-devel@lists.xenproject.org; Thu, 16 Mar 2017 11:18:58 +0000 In-Reply-To: <20170316112030.20419-1-andre.przywara@arm.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Stefano Stabellini , Julien Grall Cc: xen-devel@lists.xenproject.org, Shanker Donthineni , Vijay Kilari List-Id: xen-devel@lists.xenproject.org SW5zdGVhZCBvZiBkaXJlY3RseSBtYW5pcHVsYXRpbmcgdGhlIHRhYmxlcyBpbiBtZW1vcnksIGFu IElUUyBkcml2ZXIKc2VuZHMgY29tbWFuZHMgdmlhIGEgcmluZyBidWZmZXIgaW4gbm9ybWFsIHN5 c3RlbSBtZW1vcnkgdG8gdGhlIElUUyBoL3cKdG8gY3JlYXRlIG9yIGFsdGVyIHRoZSBMUEkgbWFw cGluZ3MuCkFsbG9jYXRlIG1lbW9yeSBmb3IgdGhhdCBidWZmZXIgYW5kIHRlbGwgdGhlIElUUyBh Ym91dCBpdCB0byBiZSBhYmxlCnRvIHNlbmQgSVRTIGNvbW1hbmRzLgoKU2lnbmVkLW9mZi1ieTog QW5kcmUgUHJ6eXdhcmEgPGFuZHJlLnByenl3YXJhQGFybS5jb20+Ci0tLQogeGVuL2FyY2gvYXJt L2dpYy12My1pdHMuYyAgICAgICAgfCA1NyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrCiB4ZW4vaW5jbHVkZS9hc20tYXJtL2dpY192M19pdHMuaCB8ICA2ICsrKysrCiAy IGZpbGVzIGNoYW5nZWQsIDYzIGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC9h cm0vZ2ljLXYzLWl0cy5jIGIveGVuL2FyY2gvYXJtL2dpYy12My1pdHMuYwppbmRleCA5OTgyZmU5 Li5lNTYwMWVkIDEwMDY0NAotLS0gYS94ZW4vYXJjaC9hcm0vZ2ljLXYzLWl0cy5jCisrKyBiL3hl bi9hcmNoL2FybS9naWMtdjMtaXRzLmMKQEAgLTIwLDEwICsyMCwxMyBAQAogCiAjaW5jbHVkZSA8 eGVuL2xpYi5oPgogI2luY2x1ZGUgPHhlbi9tbS5oPgorI2luY2x1ZGUgPHhlbi9zaXplcy5oPgog I2luY2x1ZGUgPGFzbS9naWNfdjNfZGVmcy5oPgogI2luY2x1ZGUgPGFzbS9naWNfdjNfaXRzLmg+ CiAjaW5jbHVkZSA8YXNtL2lvLmg+CiAKKyNkZWZpbmUgSVRTX0NNRF9RVUVVRV9TWiAgICAgICAg ICAgICAgICBTWl82NEsKKwogTElTVF9IRUFEKGhvc3RfaXRzX2xpc3QpOwogCiBib29sIGdpY3Yz X2l0c19ob3N0X2hhc19pdHModm9pZCkKQEAgLTU2LDYgKzU5LDU1IEBAIHN0YXRpYyB1aW50NjRf dCBlbmNvZGVfcHJvcGJhc2VyX3BoeXNfYWRkcihwYWRkcl90IGFkZHIsIHVuc2lnbmVkIGludCBw YWdlX2JpdHMpCiAgICAgcmV0dXJuIHJldCB8ICgoYWRkciAmIEdFTk1BU0soNTEsIDQ4KSkgPj4g KDQ4IC0gMTIpKTsKIH0KIAorc3RhdGljIHZvaWQgKml0c19tYXBfY2Jhc2VyKHN0cnVjdCBob3N0 X2l0cyAqaXRzKQoreworICAgIHZvaWQgX19pb21lbSAqY2Jhc2VyZWcgPSBpdHMtPml0c19iYXNl ICsgR0lUU19DQkFTRVI7CisgICAgdWludDY0X3QgcmVnOworICAgIHZvaWQgKmJ1ZmZlcjsKKyAg ICB1bnNpZ25lZCBpbnQgb3JkZXI7CisKKyAgICByZWcgID0gR0lDX0JBU0VSX0lubmVyU2hhcmVh YmxlIDw8IEdJVFNfQkFTRVJfU0hBUkVBQklMSVRZX1NISUZUOworICAgIHJlZyB8PSBHSUNfQkFT RVJfQ0FDSEVfU2FtZUFzSW5uZXIgPDwgR0lUU19CQVNFUl9PVVRFUl9DQUNIRUFCSUxJVFlfU0hJ RlQ7CisgICAgcmVnIHw9IEdJQ19CQVNFUl9DQUNIRV9SYVdhV2IgPDwgR0lUU19CQVNFUl9JTk5F Ul9DQUNIRUFCSUxJVFlfU0hJRlQ7CisKKyAgICAvKiBUaGUgSVRTIGNvbW1hbmQgYnVmZmVyIG5l ZWRzIHRvIGJlIDY0SyBhbGlnbmVkLiAqLworICAgIG9yZGVyID0gbWF4KGdldF9vcmRlcl9mcm9t X2J5dGVzKElUU19DTURfUVVFVUVfU1opLCAxNlUgLSBQQUdFX1NISUZUKTsKKyAgICBidWZmZXIg PSBhbGxvY194ZW5oZWFwX3BhZ2VzKG9yZGVyLCAwKTsKKyAgICBpZiAoICFidWZmZXIgKQorICAg ICAgICByZXR1cm4gTlVMTDsKKworICAgIGlmICggdmlydF90b19tYWRkcihidWZmZXIpICYgfkdF Tk1BU0soNTEsIDEyKSApCisgICAgeworICAgICAgICBmcmVlX3hlbmhlYXBfcGFnZXMoYnVmZmVy LCAwKTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorICAgIG1lbXNldChidWZmZXIsIDAs IElUU19DTURfUVVFVUVfU1opOworCisgICAgcmVnIHw9IEdJVFNfVkFMSURfQklUIHwgdmlydF90 b19tYWRkcihidWZmZXIpOworICAgIHJlZyB8PSAoKElUU19DTURfUVVFVUVfU1ogLyBTWl80Sykg LSAxKSAmIEdJVFNfQ0JBU0VSX1NJWkVfTUFTSzsKKyAgICB3cml0ZXFfcmVsYXhlZChyZWcsIGNi YXNlcmVnKTsKKyAgICByZWcgPSByZWFkcV9yZWxheGVkKGNiYXNlcmVnKTsKKworICAgIC8qIElm IHRoZSBJVFMgZHJvcHBlZCBzaGFyZWFiaWxpdHksIGRyb3AgY2FjaGVhYmlsaXR5IGFzIHdlbGwu ICovCisgICAgaWYgKCAocmVnICYgR0lUU19CQVNFUl9TSEFSRUFCSUxJVFlfTUFTSykgPT0gMCAp CisgICAgeworICAgICAgICByZWcgJj0gfkdJVFNfQkFTRVJfSU5ORVJfQ0FDSEVBQklMSVRZX01B U0s7CisgICAgICAgIHdyaXRlcV9yZWxheGVkKHJlZywgY2Jhc2VyZWcpOworICAgIH0KKworICAg IC8qCisgICAgICogSWYgdGhlIGNvbW1hbmQgcXVldWUgbWVtb3J5IGlzIG1hcHBlZCBhcyB1bmNh Y2hlZCwgd2UgbmVlZCB0byBmbHVzaAorICAgICAqIGl0IG9uIGV2ZXJ5IGFjY2Vzcy4KKyAgICAg Ki8KKyAgICBpZiAoICEocmVnICYgR0lUU19CQVNFUl9JTk5FUl9DQUNIRUFCSUxJVFlfTUFTSykg KQorICAgIHsKKyAgICAgICAgaXRzLT5mbGFncyB8PSBIT1NUX0lUU19GTFVTSF9DTURfUVVFVUU7 CisgICAgICAgIGRwcmludGsoWEVOTE9HX1dBUk5JTkcsICJ1c2luZyBub24tY2FjaGVhYmxlIElU UyBjb21tYW5kIHF1ZXVlXG4iKTsKKyAgICB9CisKKyAgICByZXR1cm4gYnVmZmVyOworfQorCiAv KiBUaGUgSVRTIEJBU0UgcmVnaXN0ZXJzIHdvcmsgd2l0aCBwYWdlIHNpemVzIG9mIDRLLCAxNksg b3IgNjRLLiAqLwogI2RlZmluZSBCQVNFUl9QQUdFX0JJVFMoc3opICgoc3opICogMiArIDEyKQog CkBAIC0xNzUsNiArMjI3LDExIEBAIHN0YXRpYyBpbnQgZ2ljdjNfaXRzX2luaXRfc2luZ2xlX2l0 cyhzdHJ1Y3QgaG9zdF9pdHMgKmh3X2l0cykKICAgICAgICAgfQogICAgIH0KIAorICAgIGh3X2l0 cy0+Y21kX2J1ZiA9IGl0c19tYXBfY2Jhc2VyKGh3X2l0cyk7CisgICAgaWYgKCAhaHdfaXRzLT5j bWRfYnVmICkKKyAgICAgICAgcmV0dXJuIC1FTk9NRU07CisgICAgd3JpdGVxX3JlbGF4ZWQoMCwg aHdfaXRzLT5pdHNfYmFzZSArIEdJVFNfQ1dSSVRFUik7CisKICAgICByZXR1cm4gMDsKIH0KIApk aWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLWFybS9naWNfdjNfaXRzLmggYi94ZW4vaW5jbHVk ZS9hc20tYXJtL2dpY192M19pdHMuaAppbmRleCBhNmMwYWNjLi5kNWZhY2YwIDEwMDY0NAotLS0g YS94ZW4vaW5jbHVkZS9hc20tYXJtL2dpY192M19pdHMuaAorKysgYi94ZW4vaW5jbHVkZS9hc20t YXJtL2dpY192M19pdHMuaApAQCAtNzQsOCArNzQsMTIgQEAKICNkZWZpbmUgR0lUU19CQVNFUl9P VVRFUl9DQUNIRUFCSUxJVFlfTUFTSyAgICgweDdVTEwgPDwgR0lUU19CQVNFUl9PVVRFUl9DQUNI RUFCSUxJVFlfU0hJRlQpCiAjZGVmaW5lIEdJVFNfQkFTRVJfSU5ORVJfQ0FDSEVBQklMSVRZX01B U0sgICAoMHg3VUxMIDw8IEdJVFNfQkFTRVJfSU5ORVJfQ0FDSEVBQklMSVRZX1NISUZUKQogCisj ZGVmaW5lIEdJVFNfQ0JBU0VSX1NJWkVfTUFTSyAgICAgICAgICAgMHhmZgorCiAjaW5jbHVkZSA8 eGVuL2RldmljZV90cmVlLmg+CiAKKyNkZWZpbmUgSE9TVF9JVFNfRkxVU0hfQ01EX1FVRVVFICAg ICAgICAoMVUgPDwgMCkKKwogLyogZGF0YSBzdHJ1Y3R1cmUgZm9yIGVhY2ggaGFyZHdhcmUgSVRT ICovCiBzdHJ1Y3QgaG9zdF9pdHMgewogICAgIHN0cnVjdCBsaXN0X2hlYWQgZW50cnk7CkBAIC04 Myw2ICs4Nyw4IEBAIHN0cnVjdCBob3N0X2l0cyB7CiAgICAgcGFkZHJfdCBhZGRyOwogICAgIHBh ZGRyX3Qgc2l6ZTsKICAgICB2b2lkIF9faW9tZW0gKml0c19iYXNlOworICAgIHZvaWQgKmNtZF9i dWY7CisgICAgdW5zaWduZWQgaW50IGZsYWdzOwogfTsKIAogCi0tIAoyLjkuMAoKCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5n IGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1k ZXZlbAo=