From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andre Przywara Subject: [RFC PATCH v2 22/26] ARM: vITS: handle INV command Date: Thu, 22 Dec 2016 18:24:42 +0000 Message-ID: <20161222182446.18791-23-andre.przywara@arm.com> References: <20161222182446.18791-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.bemta5.messagelabs.com ([195.245.231.135]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cK82N-0005o6-Kc for xen-devel@lists.xenproject.org; Thu, 22 Dec 2016 18:24:19 +0000 In-Reply-To: <20161222182446.18791-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, Vijay Kilari List-Id: xen-devel@lists.xenproject.org VGhlIElOViBjb21tYW5kIGluc3RydWN0cyB0aGUgSVRTIHRvIHVwZGF0ZSB0aGUgY29uZmlndXJh dGlvbiBkYXRhIGZvcgphIGdpdmVuIExQSSBieSByZS1yZWFkaW5nIGl0cyBlbnRyeSBmcm9tIHRo ZSBwcm9wZXJ0eSB0YWJsZS4KV2UgZG9uJ3QgbmVlZCB0byBjYXJlIHNvIG11Y2ggYWJvdXQgdGhl IHByaW9yaXR5IHZhbHVlLCBidXQgZW5hYmxpbmcKb3IgZGlzYWJsaW5nIGFuIExQSSBoYXMgc29t ZSBlZmZlY3Q6IFdlIHJlbW92ZSBvciBwdXNoIHZpcnR1YWwgTFBJcwp0byB0aGVpciBWQ1BVcywg YWxzbyBjaGVjayB0aGUgdmlydHVhbCBwZW5kaW5nIGJpdCBpZiBhbiBMUEkgZ2V0cyBlbmFibGVk LgoKU2lnbmVkLW9mZi1ieTogQW5kcmUgUHJ6eXdhcmEgPGFuZHJlLnByenl3YXJhQGFybS5jb20+ Ci0tLQogeGVuL2FyY2gvYXJtL2dpYy1pdHMuYyAgfCAgMiArLQogeGVuL2FyY2gvYXJtL3ZnaWMt aXRzLmMgfCA3MiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrCiAyIGZpbGVzIGNoYW5nZWQsIDczIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKCmRp ZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vZ2ljLWl0cy5jIGIveGVuL2FyY2gvYXJtL2dpYy1pdHMu YwppbmRleCAxZGEyOGI5Li43ZGJiOWU2IDEwMDY0NAotLS0gYS94ZW4vYXJjaC9hcm0vZ2ljLWl0 cy5jCisrKyBiL3hlbi9hcmNoL2FybS9naWMtaXRzLmMKQEAgLTI0OCw3ICsyNDgsNyBAQCBzdGF0 aWMgdWludDY0X3QgZW5jb2RlX3BoeXNfYWRkcihwYWRkcl90IGFkZHIsIGludCBwYWdlX2JpdHMp CiB7CiAgICAgdWludDY0X3QgcmV0OwogCi0gICAgaWYgKCBwYWdlX2JpdHMgPCAxNikKKyAgICBp ZiAoIHBhZ2VfYml0cyA8IDE2ICkKICAgICAgICAgcmV0dXJuICh1aW50NjRfdClhZGRyICYgR0VO TUFTSyg0NywgcGFnZV9iaXRzKTsKIAogICAgIHJldCA9IGFkZHIgJiBHRU5NQVNLKDQ3LCAxNik7 CmRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vdmdpYy1pdHMuYyBiL3hlbi9hcmNoL2FybS92Z2lj LWl0cy5jCmluZGV4IDUyYzY2MGEuLmJjYWJiMDQgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL2FybS92 Z2ljLWl0cy5jCisrKyBiL3hlbi9hcmNoL2FybS92Z2ljLWl0cy5jCkBAIC0yMjgsNiArMjI4LDc1 IEBAIG91dF91bmxvY2s6CiAgICAgcmV0dXJuIHJldDsKIH0KIAorLyogRm9yIGEgZ2l2ZW4gdmly dHVhbCBMUEkgcmVhZCB0aGUgZW5hYmxlZCBiaXQgZnJvbSB0aGUgdmlydHVhbCBwcm9wZXJ0eQor ICogdGFibGUgYW5kIHVwZGF0ZSB0aGUgdmlydHVhbCBJUlEncyBzdGF0ZS4KKyAqIFRoaXMgdGFr ZXMgY2FyZSBvZiByZW1vdmluZyBvciBwdXNoaW5nIG9mIHZpcnR1YWwgTFBJcyB0byB0aGVpciBW Q1BVcy4KKyAqLworc3RhdGljIHZvaWQgdXBkYXRlX2xwaV9lbmFibGVkX3N0YXR1cyhzdHJ1Y3Qg dmlydF9pdHMqIGl0cywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ry dWN0IHZjcHUgKnZjcHUsIHVpbnQzMl90IHZscGkpCit7CisgICAgc3RydWN0IHBlbmRpbmdfaXJx ICpwaXJxID0gbHBpX3RvX3BlbmRpbmcodmNwdSwgdmxwaSwgZmFsc2UpOworICAgIHVpbnQ4X3Qg cHJvcGVydHkgPSBpdHMtPmQtPmFyY2gudmdpYy5wcm9wdGFibGVbdmxwaSAtIDgxOTJdOworCisg ICAgaWYgKCBwcm9wZXJ0eSAmIExQSV9QUk9QX0VOQUJMRUQgKQorICAgIHsKKyAgICAgICAgaWYg KCBwaXJxICkKKyAgICAgICAgeworICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBmbGFnczsKKwor ICAgICAgICAgICAgc2V0X2JpdChHSUNfSVJRX0dVRVNUX0VOQUJMRUQsICZwaXJxLT5zdGF0dXMp OworICAgICAgICAgICAgc3Bpbl9sb2NrX2lycXNhdmUoJnZjcHUtPmFyY2gudmdpYy5sb2NrLCBm bGFncyk7CisgICAgICAgICAgICBpZiAoICFsaXN0X2VtcHR5KCZwaXJxLT5pbmZsaWdodCkgJiYK KyAgICAgICAgICAgICAgICAgIXRlc3RfYml0KEdJQ19JUlFfR1VFU1RfVklTSUJMRSwgJnBpcnEt PnN0YXR1cykgKQorICAgICAgICAgICAgICAgIGdpY19yYWlzZV9ndWVzdF9pcnEodmNwdSwgdmxw aSwgcHJvcGVydHkgJiAweGZjKTsKKyAgICAgICAgICAgIHNwaW5fdW5sb2NrX2lycXJlc3RvcmUo JnZjcHUtPmFyY2gudmdpYy5sb2NrLCBmbGFncyk7CisgICAgICAgIH0KKworICAgICAgICAvKiBD aGVjayB3aGV0aGVyIHRoZSBMUEkgaGFzIGZpcmVkIHdoaWxlIHRoZSBndWVzdCBoYWQgaXQgZGlz YWJsZWQuICovCisgICAgICAgIGlmICh0ZXN0X2FuZF9jbGVhcl9iaXQodmxwaSAtIDgxOTIsIHZj cHUtPmFyY2gudmdpYy5wZW5kdGFibGUpKQorICAgICAgICAgICAgdmdpY192Y3B1X2luamVjdF9p cnEodmNwdSwgdmxwaSk7CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICAgIGlmICggcGly cSApCisgICAgICAgIHsKKyAgICAgICAgICAgIGNsZWFyX2JpdChHSUNfSVJRX0dVRVNUX0VOQUJM RUQsICZwaXJxLT5zdGF0dXMpOworICAgICAgICAgICAgZ2ljX3JlbW92ZV9mcm9tX3F1ZXVlcyh2 Y3B1LCB2bHBpKTsKKyAgICAgICAgfQorICAgIH0KK30KKworc3RhdGljIGludCBpdHNfaGFuZGxl X2ludihzdHJ1Y3QgdmlydF9pdHMgKml0cywgdWludDY0X3QgKmNtZHB0cikKK3sKKyAgICB1aW50 MzJfdCBkZXZpZCA9IGl0c19jbWRfZ2V0X2RldmljZWlkKGNtZHB0cik7CisgICAgdWludDMyX3Qg ZXZlbnRpZCA9IGl0c19jbWRfZ2V0X2lkKGNtZHB0cik7CisgICAgc3RydWN0IHZpdHNfaXR0ZSAq aXR0ZTsKKyAgICBzdHJ1Y3QgdmNwdSAqdmNwdTsKKyAgICB1aW50MzJfdCB2bHBpOworICAgIGlu dCByZXQgPSAtMTsKKworICAgIHNwaW5fbG9jaygmaXRzLT5pdHNfbG9jayk7CisKKyAgICBpdHRl ID0gZ2V0X2RldmlkX2V2aWQoaXRzLCBkZXZpZCwgZXZlbnRpZCk7CisgICAgaWYgKCAhaXR0ZSAp CisgICAgICAgIGdvdG8gb3V0X3VubG9jazsKKworICAgIHZjcHUgPSBpdHMtPmQtPnZjcHVbaXR0 ZS0+Y29sbGVjdGlvbl07CisgICAgdmxwaSA9IGl0dGUtPnZscGk7CisKKyAgICByZXQgPSAwOwor CisgICAgcHV0X2RldmlkX2V2aWQoaXRzLCBpdHRlKTsKKworb3V0X3VubG9jazoKKyAgICBzcGlu X3VubG9jaygmaXRzLT5pdHNfbG9jayk7CisKKyAgICBpZiAoICFyZXQgKQorICAgICAgICB1cGRh dGVfbHBpX2VuYWJsZWRfc3RhdHVzKGl0cywgdmNwdSwgdmxwaSk7CisKKyAgICByZXR1cm4gcmV0 OworfQorCiBzdGF0aWMgaW50IGl0c19oYW5kbGVfbWFwYyhzdHJ1Y3QgdmlydF9pdHMgKml0cywg dWludDY0X3QgKmNtZHB0cikKIHsKICAgICB1aW50MzJfdCBjb2xsaWQgPSBpdHNfY21kX2dldF9j b2xsZWN0aW9uKGNtZHB0cik7CkBAIC00MTgsNiArNDg3LDkgQEAgc3RhdGljIGludCB2Z2ljX2l0 c19oYW5kbGVfY21kcyhzdHJ1Y3QgZG9tYWluICpkLCBzdHJ1Y3QgdmlydF9pdHMgKml0cywKICAg ICAgICAgY2FzZSBHSVRTX0NNRF9JTlQ6CiAgICAgICAgICAgICBpdHNfaGFuZGxlX2ludChpdHMs IGNtZHB0cik7CiAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBHSVRTX0NNRF9JTlY6 CisgICAgICAgICAgICBpdHNfaGFuZGxlX2ludihpdHMsIGNtZHB0cik7CisJICAgIGJyZWFrOwog ICAgICAgICBjYXNlIEdJVFNfQ01EX01BUEM6CiAgICAgICAgICAgICBpdHNfaGFuZGxlX21hcGMo aXRzLCBjbWRwdHIpOwogICAgICAgICAgICAgYnJlYWs7Ci0tIAoyLjkuMAoKCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxp c3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZl bAo=