From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andre Przywara Subject: [PATCH v3 22/26] ARM: vITS: handle INV command Date: Fri, 31 Mar 2017 19:05:21 +0100 Message-ID: <20170331180525.30038-23-andre.przywara@arm.com> References: <20170331180525.30038-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.bemta3.messagelabs.com ([195.245.230.39]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cu0ty-0005sR-La for xen-devel@lists.xenproject.org; Fri, 31 Mar 2017 18:03:58 +0000 In-Reply-To: <20170331180525.30038-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: Julien Grall , Stefano Stabellini Cc: xen-devel@lists.xenproject.org, Shanker Donthineni , Vijay Kilari List-Id: xen-devel@lists.xenproject.org VGhlIElOViBjb21tYW5kIGluc3RydWN0cyB0aGUgSVRTIHRvIHVwZGF0ZSB0aGUgY29uZmlndXJh dGlvbiBkYXRhIGZvcgphIGdpdmVuIExQSSBieSByZS1yZWFkaW5nIGl0cyBlbnRyeSBmcm9tIHRo ZSBwcm9wZXJ0eSB0YWJsZS4KV2UgZG9uJ3QgbmVlZCB0byBjYXJlIHNvIG11Y2ggYWJvdXQgdGhl IHByaW9yaXR5IHZhbHVlLCBidXQgZW5hYmxpbmcKb3IgZGlzYWJsaW5nIGFuIExQSSBoYXMgc29t ZSBlZmZlY3Q6IFdlIHJlbW92ZSBvciBwdXNoIHZpcnR1YWwgTFBJcwp0byB0aGVpciBWQ1BVcywg YWxzbyBjaGVjayB0aGUgdmlydHVhbCBwZW5kaW5nIGJpdCBpZiBhbiBMUEkgZ2V0cyBlbmFibGVk LgoKU2lnbmVkLW9mZi1ieTogQW5kcmUgUHJ6eXdhcmEgPGFuZHJlLnByenl3YXJhQGFybS5jb20+ Ci0tLQogeGVuL2FyY2gvYXJtL3ZnaWMtdjMtaXRzLmMgfCA2MiArKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrCiAxIGZpbGUgY2hhbmdlZCwgNjIgaW5zZXJ0aW9u cygrKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS92Z2ljLXYzLWl0cy5jIGIveGVuL2FyY2gv YXJtL3ZnaWMtdjMtaXRzLmMKaW5kZXggNTk1NTNmOC4uMGM0NzllMCAxMDA2NDQKLS0tIGEveGVu L2FyY2gvYXJtL3ZnaWMtdjMtaXRzLmMKKysrIGIveGVuL2FyY2gvYXJtL3ZnaWMtdjMtaXRzLmMK QEAgLTM2MCw2ICszNjAsNjUgQEAgc3RhdGljIGludCBpdHNfaGFuZGxlX2ludChzdHJ1Y3Qgdmly dF9pdHMgKml0cywgdWludDY0X3QgKmNtZHB0cikKICAgICByZXR1cm4gMDsKIH0KIAorLyoKKyAq IEZvciBhIGdpdmVuIHZpcnR1YWwgTFBJIHJlYWQgdGhlIGVuYWJsZWQgYml0IGFuZCBwcmlvcml0 eSBmcm9tIHRoZSB2aXJ0dWFsCisgKiBwcm9wZXJ0eSB0YWJsZSBhbmQgdXBkYXRlIHRoZSB2aXJ0 dWFsIElSUSdzIHN0YXRlLgorICogVGhpcyB0YWtlcyBjYXJlIG9mIHJlbW92aW5nIG9yIHB1c2hp bmcgb2YgdmlydHVhbCBMUElzIHRvIHRoZWlyIFZDUFVzLgorICovCitzdGF0aWMgdm9pZCB1cGRh dGVfbHBpX2VuYWJsZWRfc3RhdHVzKHN0cnVjdCB2aXJ0X2l0cyogaXRzLAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgdmNwdSAqdmNwdSwgdWludDMyX3Qgdmxw aSkKK3sKKyAgICBzdHJ1Y3QgcGVuZGluZ19pcnEgKnAgPSBscGlfdG9fcGVuZGluZyhpdHMtPmQs IHZscGkpOworICAgIHBhZGRyX3QgcHJvcHRhYmxlX2FkZHI7CisgICAgdWludDhfdCAqcHJvcGVy dHk7CisKKyAgICBpZiAoICFwICkKKyAgICAgICAgcmV0dXJuOworCisgICAgcHJvcHRhYmxlX2Fk ZHIgPSBpdHMtPmQtPmFyY2gudmdpYy5yZGlzdF9wcm9wYmFzZSAmIEdFTk1BU0tfVUxMKDUxLCAx Mik7CisgICAgcHJvcGVydHkgPSBtYXBfb25lX2d1ZXN0X3BhZ2UoaXRzLT5kLCBwcm9wdGFibGVf YWRkciArIHZscGkgLSBMUElfT0ZGU0VUKTsKKworICAgIHAtPmxwaV9wcmlvcml0eSA9ICpwcm9w ZXJ0eSAmIExQSV9QUk9QX1BSSU9fTUFTSzsKKworICAgIGlmICggKnByb3BlcnR5ICYgTFBJX1BS T1BfRU5BQkxFRCApCisgICAgeworICAgICAgICB1bnNpZ25lZCBsb25nIGZsYWdzOworCisgICAg ICAgIHNldF9iaXQoR0lDX0lSUV9HVUVTVF9FTkFCTEVELCAmcC0+c3RhdHVzKTsKKyAgICAgICAg c3Bpbl9sb2NrX2lycXNhdmUoJnZjcHUtPmFyY2gudmdpYy5sb2NrLCBmbGFncyk7CisgICAgICAg IGlmICggIWxpc3RfZW1wdHkoJnAtPmluZmxpZ2h0KSAmJgorICAgICAgICAgICAgICF0ZXN0X2Jp dChHSUNfSVJRX0dVRVNUX1ZJU0lCTEUsICZwLT5zdGF0dXMpICkKKyAgICAgICAgICAgIGdpY19y YWlzZV9ndWVzdF9pcnEodmNwdSwgdmxwaSwgcC0+bHBpX3ByaW9yaXR5KTsKKyAgICAgICAgc3Bp bl91bmxvY2tfaXJxcmVzdG9yZSgmdmNwdS0+YXJjaC52Z2ljLmxvY2ssIGZsYWdzKTsKKworICAg ICAgICAvKiBDaGVjayB3aGV0aGVyIHRoZSBMUEkgaGFzIGZpcmVkIHdoaWxlIHRoZSBndWVzdCBo YWQgaXQgZGlzYWJsZWQuICovCisgICAgICAgIGlmICggdGVzdF9hbmRfY2xlYXJfYml0KEdJQ19J UlFfR1VFU1RfTFBJX1BFTkRJTkcsICZwLT5zdGF0dXMpICkKKyAgICAgICAgICAgIHZnaWNfdmNw dV9pbmplY3RfaXJxKHZjcHUsIHZscGkpOworICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAg ICBjbGVhcl9iaXQoR0lDX0lSUV9HVUVTVF9FTkFCTEVELCAmcC0+c3RhdHVzKTsKKyAgICAgICAg Z2ljX3JlbW92ZV9mcm9tX3F1ZXVlcyh2Y3B1LCB2bHBpKTsKKyAgICB9CisKKyAgICB1bm1hcF9v bmVfZ3Vlc3RfcGFnZShwcm9wZXJ0eSk7Cit9CisKK3N0YXRpYyBpbnQgaXRzX2hhbmRsZV9pbnYo c3RydWN0IHZpcnRfaXRzICppdHMsIHVpbnQ2NF90ICpjbWRwdHIpCit7CisgICAgdWludDMyX3Qg ZGV2aWQgPSBpdHNfY21kX2dldF9kZXZpY2VpZChjbWRwdHIpOworICAgIHVpbnQzMl90IGV2ZW50 aWQgPSBpdHNfY21kX2dldF9pZChjbWRwdHIpOworICAgIHN0cnVjdCB2Y3B1ICp2Y3B1OworICAg IHVpbnQzMl90IHZscGk7CisKKyAgICBpZiAoICFyZWFkX2l0dGUoaXRzLCBkZXZpZCwgZXZlbnRp ZCwgJnZjcHUsICZ2bHBpKSApCisgICAgICAgIHJldHVybiAtMTsKKworICAgIHVwZGF0ZV9scGlf ZW5hYmxlZF9zdGF0dXMoaXRzLCB2Y3B1LCB2bHBpKTsKKworICAgIHJldHVybiAwOworfQorCiBz dGF0aWMgaW50IGl0c19oYW5kbGVfbWFwYyhzdHJ1Y3QgdmlydF9pdHMgKml0cywgdWludDY0X3Qg KmNtZHB0cikKIHsKICAgICB1aW50MzJfdCBjb2xsaWQgPSBpdHNfY21kX2dldF9jb2xsZWN0aW9u KGNtZHB0cik7CkBAIC01NDAsNiArNTk5LDkgQEAgc3RhdGljIGludCB2Z2ljX2l0c19oYW5kbGVf Y21kcyhzdHJ1Y3QgZG9tYWluICpkLCBzdHJ1Y3QgdmlydF9pdHMgKml0cywKICAgICAgICAgY2Fz ZSBHSVRTX0NNRF9JTlQ6CiAgICAgICAgICAgICByZXQgPSBpdHNfaGFuZGxlX2ludChpdHMsIGNt ZHB0cik7CiAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBHSVRTX0NNRF9JTlY6Cisg ICAgICAgICAgICByZXQgPSBpdHNfaGFuZGxlX2ludihpdHMsIGNtZHB0cik7CisJICAgIGJyZWFr OwogICAgICAgICBjYXNlIEdJVFNfQ01EX01BUEM6CiAgICAgICAgICAgICByZXQgPSBpdHNfaGFu ZGxlX21hcGMoaXRzLCBjbWRwdHIpOwogICAgICAgICAgICAgYnJlYWs7Ci0tIAoyLjkuMAoKCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBt YWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3Jn L3hlbi1kZXZlbAo=