From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andre Przywara Subject: [PATCH v2 27/45] ARM: new VGIC: Add ACTIVE registers handlers Date: Thu, 15 Mar 2018 20:30:32 +0000 Message-ID: <20180315203050.19791-28-andre.przywara@linaro.org> References: <20180315203050.19791-1-andre.przywara@linaro.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ewZXH-0003uF-9w for xen-devel@lists.xenproject.org; Thu, 15 Mar 2018 20:31:39 +0000 Received: by mail-wr0-x242.google.com with SMTP id h2so9563447wre.12 for ; Thu, 15 Mar 2018 13:31:37 -0700 (PDT) In-Reply-To: <20180315203050.19791-1-andre.przywara@linaro.org> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: Stefano Stabellini , Julien Grall Cc: xen-devel@lists.xenproject.org List-Id: xen-devel@lists.xenproject.org VGhlIGFjdGl2ZSByZWdpc3RlciBoYW5kbGVycyBhcmUgc2hhcmVkIGJldHdlZW4gdGhlIHYyIGFu ZCB2MyBlbXVsYXRpb24sCnNvIHRoZWlyIGltcGxlbWVudGF0aW9uIGdvZXMgaW50byB2Z2ljLW1t aW8uYywgdG8gYmUgZWFzaWx5IHJlZmVyZW5jZWQKZnJvbSB0aGUgdjMgZW11bGF0aW9uIGFzIHdl bGwgbGF0ZXIuClNpbmNlIGFjdGl2YXRpb24vZGVhY3RpdmF0aW9uIG9mIGFuIGludGVycnVwdCBt YXkgaGFwcGVuIGVudGlyZWx5IGluIHRoZQpndWVzdCB3aXRob3V0IGl0IGV2ZXIgZXhpdGluZywg d2UgbmVlZCBzb21lIGV4dHJhIGxvZ2ljIHRvIHByb3Blcmx5IHRyYWNrCnRoZSBhY3RpdmUgc3Rh dGUuCkZvciBjbGVhcmluZyB0aGUgYWN0aXZlIHN0YXRlLCB3ZSB3b3VsZCBiYXNpY2FsbHkgaGF2 ZSB0byBoYWx0IHRoZSBndWVzdAp0byBtYWtlIHN1cmUgdGhpcyBpcyBwcm9wZXJseSBwcm9wYWdh dGVkIGludG8gdGhlIHJlc3BlY3RpdmUgVkNQVXMuClRoaXMgaXMgbm90IHlldCBpbXBsZW1lbnRl ZCBpbiBYZW4uCkZvcnR1bmF0ZWx5IHRoaXMgZmVhdHVyZSBpcyBtb3N0bHkgdXNlZCB0byByZXNl dCBhIGp1c3QgaW4gaW5pdGlhbGlzZWQKR0lDLCBzbyBjaGFuY2VzIGFyZSB3ZSBhcmUgdGFza2Vk IHRvIGNsZWFyIGJpdHMgdGhhdCBhcmUgYWxyZWFkeSB6ZXJvLgpBZGQgYSBzaW1wbGUgY2hlY2sg dG8gYXZvaWQgcG9pbnRsZXNzIHdhcm5pbmdzIGluIHRoaXMgY2FzZS4KClNpZ25lZC1vZmYtYnk6 IEFuZHJlIFByenl3YXJhIDxhbmRyZS5wcnp5d2FyYUBsaW5hcm8ub3JnPgotLS0KQ2hhbmdlbG9n IHYxIC4uLiB2MjoKLSBwcmludCBhIGxpbmUgZm9yIGV2ZXJ5IGZhaWxpbmcgSVJRCgogeGVuL2Fy Y2gvYXJtL3ZnaWMvdmdpYy1tbWlvLXYyLmMgfCAgNCArLQogeGVuL2FyY2gvYXJtL3ZnaWMvdmdp Yy1tbWlvLmMgICAgfCA5MSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr CiB4ZW4vYXJjaC9hcm0vdmdpYy92Z2ljLW1taW8uaCAgICB8IDExICsrKysrCiAzIGZpbGVzIGNo YW5nZWQsIDEwNCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hl bi9hcmNoL2FybS92Z2ljL3ZnaWMtbW1pby12Mi5jIGIveGVuL2FyY2gvYXJtL3ZnaWMvdmdpYy1t bWlvLXYyLmMKaW5kZXggYTQ4YzU1NDA0MC4uNzI0NjgxZTBmOCAxMDA2NDQKLS0tIGEveGVuL2Fy Y2gvYXJtL3ZnaWMvdmdpYy1tbWlvLXYyLmMKKysrIGIveGVuL2FyY2gvYXJtL3ZnaWMvdmdpYy1t bWlvLXYyLmMKQEAgLTEwMSwxMCArMTAxLDEwIEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgdmdpY19y ZWdpc3Rlcl9yZWdpb24gdmdpY192Ml9kaXN0X3JlZ2lzdGVyc1tdID0gewogICAgICAgICB2Z2lj X21taW9fcmVhZF9wZW5kaW5nLCB2Z2ljX21taW9fd3JpdGVfY3BlbmRpbmcsIDEsCiAgICAgICAg IFZHSUNfQUNDRVNTXzMyYml0KSwKICAgICBSRUdJU1RFUl9ERVNDX1dJVEhfQklUU19QRVJfSVJR KEdJQ0RfSVNBQ1RJVkVSLAotICAgICAgICB2Z2ljX21taW9fcmVhZF9yYXosIHZnaWNfbW1pb193 cml0ZV93aSwgMSwKKyAgICAgICAgdmdpY19tbWlvX3JlYWRfYWN0aXZlLCB2Z2ljX21taW9fd3Jp dGVfc2FjdGl2ZSwgMSwKICAgICAgICAgVkdJQ19BQ0NFU1NfMzJiaXQpLAogICAgIFJFR0lTVEVS X0RFU0NfV0lUSF9CSVRTX1BFUl9JUlEoR0lDRF9JQ0FDVElWRVIsCi0gICAgICAgIHZnaWNfbW1p b19yZWFkX3JheiwgdmdpY19tbWlvX3dyaXRlX3dpLCAxLAorICAgICAgICB2Z2ljX21taW9fcmVh ZF9hY3RpdmUsIHZnaWNfbW1pb193cml0ZV9jYWN0aXZlLCAxLAogICAgICAgICBWR0lDX0FDQ0VT U18zMmJpdCksCiAgICAgUkVHSVNURVJfREVTQ19XSVRIX0JJVFNfUEVSX0lSUShHSUNEX0lQUklP UklUWVIsCiAgICAgICAgIHZnaWNfbW1pb19yZWFkX3JheiwgdmdpY19tbWlvX3dyaXRlX3dpLCA4 LApkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL3ZnaWMvdmdpYy1tbWlvLmMgYi94ZW4vYXJjaC9h cm0vdmdpYy92Z2ljLW1taW8uYwppbmRleCAxNTE4M2MxMTJjLi4xNzAwMTdiZGUzIDEwMDY0NAot LS0gYS94ZW4vYXJjaC9hcm0vdmdpYy92Z2ljLW1taW8uYworKysgYi94ZW4vYXJjaC9hcm0vdmdp Yy92Z2ljLW1taW8uYwpAQCAtMjgxLDYgKzI4MSw5NyBAQCB2b2lkIHZnaWNfbW1pb193cml0ZV9j cGVuZGluZyhzdHJ1Y3QgdmNwdSAqdmNwdSwKICAgICB9CiB9CiAKKy8qCisgKiBUaGUgYWN0dWFs IGFjdGl2ZSBiaXQgZm9yIGEgdmlydHVhbCBJUlEgaXMgaGVsZCBpbiB0aGUgTFIuIE91ciBzaGFk b3cKKyAqIGNvcHkgaW4gc3RydWN0IHZnaWNfaXJxIGlzIG9ubHkgc3luY2VkIHdoZW4gbmVlZGVk IGFuZCBtYXkgbm90IGJlCisgKiB1cC10by1kYXRlIGFsbCBvZiB0aGUgdGltZS4KKyAqIFJldHVy bmluZyB0aGUgYWN0dWFsIGFjdGl2ZSBzdGF0ZSBpcyBxdWl0ZSBjb3N0bHkgKHN0b3BwaW5nIGFs bAorICogVkNQVXMgcHJvY2Vzc2luZyBhbnkgYWZmZWN0ZWQgdklSUXMpLCBzbyB3ZSB1c2UgYSBz aW1wbGUgaW1wbGVtZW50YXRpb24KKyAqIHRvIGdldCB0aGUgYmVzdCBwb3NzaWJsZSBhbnN3ZXIu CisgKi8KK3Vuc2lnbmVkIGxvbmcgdmdpY19tbWlvX3JlYWRfYWN0aXZlKHN0cnVjdCB2Y3B1ICp2 Y3B1LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZHJfdCBhZGRyLCB1 bnNpZ25lZCBpbnQgbGVuKQoreworICAgIHVpbnQzMl90IGludGlkID0gVkdJQ19BRERSX1RPX0lO VElEKGFkZHIsIDEpOworICAgIHVpbnQzMl90IHZhbHVlID0gMDsKKyAgICB1bnNpZ25lZCBpbnQg aTsKKworICAgIC8qIExvb3Agb3ZlciBhbGwgSVJRcyBhZmZlY3RlZCBieSB0aGlzIHJlYWQgKi8K KyAgICBmb3IgKCBpID0gMDsgaSA8IGxlbiAqIDg7IGkrKyApCisgICAgeworICAgICAgICBzdHJ1 Y3QgdmdpY19pcnEgKmlycSA9IHZnaWNfZ2V0X2lycSh2Y3B1LT5kb21haW4sIHZjcHUsIGludGlk ICsgaSk7CisKKyAgICAgICAgaWYgKCBpcnEtPmFjdGl2ZSApCisgICAgICAgICAgICB2YWx1ZSB8 PSAoMVUgPDwgaSk7CisKKyAgICAgICAgdmdpY19wdXRfaXJxKHZjcHUtPmRvbWFpbiwgaXJxKTsK KyAgICB9CisKKyAgICByZXR1cm4gdmFsdWU7Cit9CisKKy8qCisgKiBXZSBkb24ndCBhY3R1YWxs eSBzdXBwb3J0IGNsZWFyaW5nIHRoZSBhY3RpdmUgc3RhdGUgb2YgYW4gSVJRICh5ZXQpLgorICog SG93ZXZlciB0aGVyZSBpcyBhIGNoYW5jZSB0aGF0IG1vc3QgZ3Vlc3RzIHVzZSB0aGlzIGZvciBp bml0aWFsaXphdGlvbi4KKyAqIFdlIGNoZWNrIHdoZXRoZXIgdGhpcyBNTUlPIGFjY2VzcyB3b3Vs ZCBhY3R1YWxseSBhZmZlY3QgYW55IGFjdGl2ZSBJUlEsCisgKiBhbmQgb25seSBwcmludCBvdXIg d2FybmluZyBpbiB0aGlzIGNhc2UuIFNvIGNsZWFyaW5nIGFscmVhZHkgbm9uLWFjdGl2ZQorICog SVJRcyB3b3VsZCBub3QgYmUgbW9hbmVkIGFib3V0IGluIHRoZSBsb2dzLgorICovCit2b2lkIHZn aWNfbW1pb193cml0ZV9jYWN0aXZlKHN0cnVjdCB2Y3B1ICp2Y3B1LAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBwYWRkcl90IGFkZHIsIHVuc2lnbmVkIGludCBsZW4sCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgdmFsKQoreworICAgIHVpbnQzMl90IGlu dGlkID0gVkdJQ19BRERSX1RPX0lOVElEKGFkZHIsIDEpOworICAgIHVuc2lnbmVkIGludCBpOwor CisgICAgZm9yX2VhY2hfc2V0X2JpdCggaSwgJnZhbCwgbGVuICogOCApCisgICAgeworICAgICAg ICBzdHJ1Y3QgdmdpY19pcnEgKmlycSA9IHZnaWNfZ2V0X2lycSh2Y3B1LT5kb21haW4sIHZjcHUs IGludGlkICsgaSk7CisKKyAgICAgICAgLyoKKyAgICAgICAgICogSWYgd2Uga25vdyB0aGF0IHRo ZSBJUlEgaXMgYWN0aXZlIG9yIHdlIGNhbid0IGJlIHN1cmUgYWJvdXQKKyAgICAgICAgICogaXQg KGJlY2F1c2UgaXQgaXMgY3VycmVudGx5IGluIGEgQ1BVKSwgbG9nIHRoZSBub3QgcHJvcGVybHkK KyAgICAgICAgICogZW11bGF0ZWQgTU1JTyBhY2Nlc3MuCisgICAgICAgICAqLworICAgICAgICBp ZiAoIGlycS0+YWN0aXZlIHx8IGlycS0+dmNwdSApCisgICAgICAgICAgICBwcmludGsoWEVOTE9H X0dfRVJSCisgICAgICAgICAgICAgICAgICAgIiVwdjogdkdJQ0Q6IElSUSV1OiBjbGVhcmluZyBh Y3RpdmUgc3RhdGUgbm90IHN1cHBvcnRlZFxuIiwKKyAgICAgICAgICAgICAgICAgICB2Y3B1LCBp cnEtPmludGlkKTsKKworICAgICAgICB2Z2ljX3B1dF9pcnEodmNwdS0+ZG9tYWluLCBpcnEpOwor ICAgIH0KK30KKworLyoKKyAqIFdlIGRvbid0IGFjdHVhbGx5IHN1cHBvcnQgc2V0dGluZyB0aGUg YWN0aXZlIHN0YXRlIG9mIGFuIElSUSAoeWV0KS4KKyAqIFdlIGNoZWNrIHdoZXRoZXIgdGhpcyBN TUlPIGFjY2VzcyB3b3VsZCBhY3R1YWxseSBhZmZlY3QgYW55IG5vbi1hY3RpdmUgSVJRLAorICog YW5kIG9ubHkgcHJpbnQgb3VyIHdhcm5pbmcgaW4gdGhpcyBjYXNlLgorICovCit2b2lkIHZnaWNf bW1pb193cml0ZV9zYWN0aXZlKHN0cnVjdCB2Y3B1ICp2Y3B1LAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBwYWRkcl90IGFkZHIsIHVuc2lnbmVkIGludCBsZW4sCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgdmFsKQoreworICAgIHVpbnQzMl90IGludGlk ID0gVkdJQ19BRERSX1RPX0lOVElEKGFkZHIsIDEpOworICAgIHVuc2lnbmVkIGludCBpOworCisg ICAgZm9yX2VhY2hfc2V0X2JpdCggaSwgJnZhbCwgbGVuICogOCApCisgICAgeworICAgICAgICBz dHJ1Y3QgdmdpY19pcnEgKmlycSA9IHZnaWNfZ2V0X2lycSh2Y3B1LT5kb21haW4sIHZjcHUsIGlu dGlkICsgaSk7CisKKyAgICAgICAgLyoKKyAgICAgICAgICogSWYgd2Uga25vdyB0aGF0IHRoZSBJ UlEgaXMgbm90IGFjdGl2ZSBvciB3ZSBjYW4ndCBiZSBzdXJlIGFib3V0CisgICAgICAgICAqIGl0 IChiZWNhdXNlIGl0IGlzIGN1cnJlbnRseSBpbiBhIENQVSksIGxvZyB0aGUgbm90IHByb3Blcmx5 CisgICAgICAgICAqIGVtdWxhdGVkIE1NSU8gYWNjZXNzLgorICAgICAgICAgKi8KKyAgICAgICAg aWYgKCAhaXJxLT5hY3RpdmUgfHwgaXJxLT52Y3B1ICkKKyAgICAgICAgICAgIHByaW50ayhYRU5M T0dfR19FUlIKKyAgICAgICAgICAgICAgICAgICAiJXB2OiB2R0lDRDogSVJRJXU6IHNldHRpbmcg YWN0aXZlIHN0YXRlIG5vdCBzdXBwb3J0ZWRcbiIsCisgICAgICAgICAgICAgICAgICAgdmNwdSwg aXJxLT5pbnRpZCk7CisKKyAgICAgICAgdmdpY19wdXRfaXJxKHZjcHUtPmRvbWFpbiwgaXJxKTsK KyAgICB9Cit9CisKIHN0YXRpYyBpbnQgbWF0Y2hfcmVnaW9uKGNvbnN0IHZvaWQgKmtleSwgY29u c3Qgdm9pZCAqZWx0KQogewogICAgIGNvbnN0IHVuc2lnbmVkIGludCBvZmZzZXQgPSAodW5zaWdu ZWQgbG9uZylrZXk7CmRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vdmdpYy92Z2ljLW1taW8uaCBi L3hlbi9hcmNoL2FybS92Z2ljL3ZnaWMtbW1pby5oCmluZGV4IDVjOTI3ZjI4YjAuLjgzMmUyZWIz ZDggMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL2FybS92Z2ljL3ZnaWMtbW1pby5oCisrKyBiL3hlbi9h cmNoL2FybS92Z2ljL3ZnaWMtbW1pby5oCkBAIC0xMDgsNiArMTA4LDE3IEBAIHZvaWQgdmdpY19t bWlvX3dyaXRlX2NwZW5kaW5nKHN0cnVjdCB2Y3B1ICp2Y3B1LAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgcGFkZHJfdCBhZGRyLCB1bnNpZ25lZCBpbnQgbGVuLAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyB2YWwpOwogCit1bnNpZ25lZCBsb25nIHZn aWNfbW1pb19yZWFkX2FjdGl2ZShzdHJ1Y3QgdmNwdSAqdmNwdSwKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHBhZGRyX3QgYWRkciwgdW5zaWduZWQgaW50IGxlbik7CisKK3Zv aWQgdmdpY19tbWlvX3dyaXRlX2NhY3RpdmUoc3RydWN0IHZjcHUgKnZjcHUsCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHBhZGRyX3QgYWRkciwgdW5zaWduZWQgaW50IGxlbiwKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyB2YWwpOworCit2b2lkIHZnaWNf bW1pb193cml0ZV9zYWN0aXZlKHN0cnVjdCB2Y3B1ICp2Y3B1LAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBwYWRkcl90IGFkZHIsIHVuc2lnbmVkIGludCBsZW4sCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgdmFsKTsKKwogdW5zaWduZWQgaW50IHZnaWNf djJfaW5pdF9kaXN0X2lvZGV2KHN0cnVjdCB2Z2ljX2lvX2RldmljZSAqZGV2KTsKIAogI2VuZGlm Ci0tIAoyLjE0LjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9y ZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs