From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andre Przywara Subject: [RFC PATCH 30/49] ARM: new VGIC: Add ENABLE registers handlers Date: Fri, 9 Feb 2018 14:39:18 +0000 Message-ID: <20180209143937.28866-31-andre.przywara@linaro.org> References: <20180209143937.28866-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 1ek9qc-000121-RY for xen-devel@lists.xenproject.org; Fri, 09 Feb 2018 14:40:18 +0000 Received: by mail-wr0-x241.google.com with SMTP id o76so5348792wrb.7 for ; Fri, 09 Feb 2018 06:40:17 -0800 (PST) In-Reply-To: <20180209143937.28866-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 , xen-devel@lists.xenproject.org List-Id: xen-devel@lists.xenproject.org QXMgdGhlIGVuYWJsZSByZWdpc3RlciBoYW5kbGVycyBhcmUgc2hhcmVkIGJldHdlZW4gdGhlIHYy IGFuZCB2MwplbXVsYXRpb24sIHRoZWlyIGltcGxlbWVudGF0aW9uIGdvZXMgaW50byB2Z2ljLW1t aW8uYywgdG8gYmUgZWFzaWx5CnJlZmVyZW5jZWQgZnJvbSB0aGUgdjMgZW11bGF0aW9uIGFzIHdl bGwgbGF0ZXIuCgpTaWduZWQtb2ZmLWJ5OiBBbmRyZSBQcnp5d2FyYSA8YW5kcmUucHJ6eXdhcmFA bGluYXJvLm9yZz4KLS0tCiB4ZW4vYXJjaC9hcm0vdmdpYy92Z2ljLW1taW8tdjIuYyB8ICAgNCAr LQogeGVuL2FyY2gvYXJtL3ZnaWMvdmdpYy1tbWlvLmMgICAgfCAxMTQgKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrCiB4ZW4vYXJjaC9hcm0vdmdpYy92Z2ljLW1taW8uaCAg ICB8ICAxMSArKysrCiAzIGZpbGVzIGNoYW5nZWQsIDEyNyBpbnNlcnRpb25zKCspLCAyIGRlbGV0 aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS92Z2ljL3ZnaWMtbW1pby12Mi5jIGIv eGVuL2FyY2gvYXJtL3ZnaWMvdmdpYy1tbWlvLXYyLmMKaW5kZXggMDkyNmIzMjQzZS4uZWNhNjg0 MGZmOSAxMDA2NDQKLS0tIGEveGVuL2FyY2gvYXJtL3ZnaWMvdmdpYy1tbWlvLXYyLmMKKysrIGIv eGVuL2FyY2gvYXJtL3ZnaWMvdmdpYy1tbWlvLXYyLmMKQEAgLTc0LDEwICs3NCwxMCBAQCBzdGF0 aWMgY29uc3Qgc3RydWN0IHZnaWNfcmVnaXN0ZXJfcmVnaW9uIHZnaWNfdjJfZGlzdF9yZWdpc3Rl cnNbXSA9IHsKICAgICAgICAgdmdpY19tbWlvX3JlYWRfcmFvLCB2Z2ljX21taW9fd3JpdGVfd2ks IE5VTEwsIE5VTEwsIDEsCiAgICAgICAgIFZHSUNfQUNDRVNTXzMyYml0KSwKICAgICBSRUdJU1RF Ul9ERVNDX1dJVEhfQklUU19QRVJfSVJRKEdJQ0RfSVNFTkFCTEVSLAotICAgICAgICB2Z2ljX21t aW9fcmVhZF9yYXosIHZnaWNfbW1pb193cml0ZV93aSwgTlVMTCwgTlVMTCwgMSwKKyAgICAgICAg dmdpY19tbWlvX3JlYWRfZW5hYmxlLCB2Z2ljX21taW9fd3JpdGVfc2VuYWJsZSwgTlVMTCwgTlVM TCwgMSwKICAgICAgICAgVkdJQ19BQ0NFU1NfMzJiaXQpLAogICAgIFJFR0lTVEVSX0RFU0NfV0lU SF9CSVRTX1BFUl9JUlEoR0lDRF9JQ0VOQUJMRVIsCi0gICAgICAgIHZnaWNfbW1pb19yZWFkX3Jh eiwgdmdpY19tbWlvX3dyaXRlX3dpLCBOVUxMLCBOVUxMLCAxLAorICAgICAgICB2Z2ljX21taW9f cmVhZF9lbmFibGUsIHZnaWNfbW1pb193cml0ZV9jZW5hYmxlLCBOVUxMLCBOVUxMLCAxLAogICAg ICAgICBWR0lDX0FDQ0VTU18zMmJpdCksCiAgICAgUkVHSVNURVJfREVTQ19XSVRIX0JJVFNfUEVS X0lSUShHSUNEX0lTUEVORFIsCiAgICAgICAgIHZnaWNfbW1pb19yZWFkX3JheiwgdmdpY19tbWlv X3dyaXRlX3dpLCBOVUxMLCBOVUxMLCAxLApkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL3ZnaWMv dmdpYy1tbWlvLmMgYi94ZW4vYXJjaC9hcm0vdmdpYy92Z2ljLW1taW8uYwppbmRleCA1OTcwM2E2 OTA5Li4zZDlmYTAyYTEwIDEwMDY0NAotLS0gYS94ZW4vYXJjaC9hcm0vdmdpYy92Z2ljLW1taW8u YworKysgYi94ZW4vYXJjaC9hcm0vdmdpYy92Z2ljLW1taW8uYwpAQCAtMzksNiArMzksMTIwIEBA IHZvaWQgdmdpY19tbWlvX3dyaXRlX3dpKHN0cnVjdCB2Y3B1ICp2Y3B1LCBwYWRkcl90IGFkZHIs CiAgICAgLyogSWdub3JlICovCiB9CiAKKy8qCisgKiBSZWFkIGFjY2Vzc2VzIHRvIGJvdGggR0lD RF9JQ0VOQUJMRVIgYW5kIEdJQ0RfSVNFTkFCTEVSIHJldHVybiB0aGUgdmFsdWUKKyAqIG9mIHRo ZSBlbmFibGVkIGJpdCwgc28gdGhlcmUgaXMgb25seSBvbmUgZnVuY3Rpb24gZm9yIGJvdGggaGVy ZS4KKyAqLwordW5zaWduZWQgbG9uZyB2Z2ljX21taW9fcmVhZF9lbmFibGUoc3RydWN0IHZjcHUg KnZjcHUsCisgICAgICAgICAgICAgICAgICAgIHBhZGRyX3QgYWRkciwgdW5zaWduZWQgaW50IGxl bikKK3sKKyAgICB1MzIgaW50aWQgPSBWR0lDX0FERFJfVE9fSU5USUQoYWRkciwgMSk7CisgICAg dTMyIHZhbHVlID0gMDsKKyAgICBpbnQgaTsKKworICAgIC8qIExvb3Agb3ZlciBhbGwgSVJRcyBh ZmZlY3RlZCBieSB0aGlzIHJlYWQgKi8KKyAgICBmb3IgKCBpID0gMDsgaSA8IGxlbiAqIDg7IGkr KyApCisgICAgeworICAgICAgICBzdHJ1Y3QgdmdpY19pcnEgKmlycSA9IHZnaWNfZ2V0X2lycSh2 Y3B1LT5kb21haW4sIHZjcHUsIGludGlkICsgaSk7CisKKyAgICAgICAgaWYgKCBpcnEtPmVuYWJs ZWQgKQorICAgICAgICAgICAgdmFsdWUgfD0gKDFVIDw8IGkpOworCisgICAgICAgIHZnaWNfcHV0 X2lycSh2Y3B1LT5kb21haW4sIGlycSk7CisgICAgfQorCisgICAgcmV0dXJuIHZhbHVlOworfQor CitzdGF0aWMgdm9pZCB2Z2ljX2hhbmRsZV9oYXJkd2FyZV9pcnEoaXJxX2Rlc2NfdCAqZGVzYywg aW50IGlycV90eXBlLAorICAgICAgICAgICAgICAgICAgICAgYm9vbCBlbmFibGUpCit7CisgICAg dW5zaWduZWQgbG9uZyBmbGFnczsKKworLy8gIGlycV9zZXRfYWZmaW5pdHkoZGVzYywgY3B1bWFz a19vZih2X3RhcmdldC0+cHJvY2Vzc29yKSk7CisgICAgc3Bpbl9sb2NrX2lycXNhdmUoJmRlc2Mt PmxvY2ssIGZsYWdzKTsKKyAgICBpZiAoIGVuYWJsZSApCisgICAgeworICAgICAgICBnaWNfc2V0 X2lycV90eXBlKGRlc2MsIGlycV90eXBlID09IFZHSUNfQ09ORklHX0xFVkVMID8KKyAgICAgICAg ICAgICAgICAgSVJRX1RZUEVfTEVWRUxfSElHSCA6IElSUV9UWVBFX0VER0VfUklTSU5HKTsKKyAg ICAgICAgZGVzYy0+aGFuZGxlci0+ZW5hYmxlKGRlc2MpOworICAgIH0KKyAgICBlbHNlCisgICAg ICAgIGRlc2MtPmhhbmRsZXItPmRpc2FibGUoZGVzYyk7CisgICAgc3Bpbl91bmxvY2tfaXJxcmVz dG9yZSgmZGVzYy0+bG9jaywgZmxhZ3MpOworfQorCit2b2lkIHZnaWNfbW1pb193cml0ZV9zZW5h YmxlKHN0cnVjdCB2Y3B1ICp2Y3B1LAorICAgICAgICAgICAgICAgICBwYWRkcl90IGFkZHIsIHVu c2lnbmVkIGludCBsZW4sCisgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgdmFsKQorewor ICAgIHUzMiBpbnRpZCA9IFZHSUNfQUREUl9UT19JTlRJRChhZGRyLCAxKTsKKyAgICBpcnFfZGVz Y190ICpkZXNjOworICAgIGludCBpOworICAgIHVuc2lnbmVkIGxvbmcgZmxhZ3M7CisgICAgZW51 bSB2Z2ljX2lycV9jb25maWcgY29uZmlnOworCisgICAgZm9yX2VhY2hfc2V0X2JpdCggaSwgJnZh bCwgbGVuICogOCApCisgICAgeworICAgICAgICBzdHJ1Y3QgdmdpY19pcnEgKmlycTsKKworICAg ICAgICBpcnEgPSB2Z2ljX2dldF9pcnEodmNwdS0+ZG9tYWluLCB2Y3B1LCBpbnRpZCArIGkpOwor CisgICAgICAgIHNwaW5fbG9ja19pcnFzYXZlKCZpcnEtPmlycV9sb2NrLCBmbGFncyk7CisgICAg ICAgIGlycS0+ZW5hYmxlZCA9IHRydWU7CisgICAgICAgIGlmICggaXJxLT5odyApCisgICAgICAg IHsKKyAgICAgICAgICAgIC8qCisgICAgICAgICAgICAgKiBUaGUgaXJxIGNhbm5vdCBiZSBhIFBQ SSwgd2Ugb25seSBzdXBwb3J0IGRlbGl2ZXJ5CisgICAgICAgICAgICAgKiBvZiBTUElzIHRvIGd1 ZXN0cy4KKyAgICAgICAgICAgICAqLworICAgICAgICAgICAgQVNTRVJUKGlycS0+aHdpbnRpZCA+ PSAzMik7CisKKyAgICAgICAgICAgIGRlc2MgPSBpcnFfdG9fZGVzYyhpcnEtPmh3aW50aWQpOwor ICAgICAgICAgICAgY29uZmlnID0gaXJxLT5jb25maWc7CisgICAgICAgIH0KKyAgICAgICAgZWxz ZQorICAgICAgICAgICAgZGVzYyA9IE5VTEw7CisgICAgICAgIHZnaWNfcXVldWVfaXJxX3VubG9j ayh2Y3B1LT5kb21haW4sIGlycSwgZmxhZ3MpOworCisgICAgICAgIHZnaWNfcHV0X2lycSh2Y3B1 LT5kb21haW4sIGlycSk7CisKKyAgICAgICAgaWYgKCBkZXNjICkKKyAgICAgICAgICAgIHZnaWNf aGFuZGxlX2hhcmR3YXJlX2lycShkZXNjLCBjb25maWcsIHRydWUpOworICAgIH0KK30KKwordm9p ZCB2Z2ljX21taW9fd3JpdGVfY2VuYWJsZShzdHJ1Y3QgdmNwdSAqdmNwdSwKKyAgICAgICAgICAg ICAgICAgcGFkZHJfdCBhZGRyLCB1bnNpZ25lZCBpbnQgbGVuLAorICAgICAgICAgICAgICAgICB1 bnNpZ25lZCBsb25nIHZhbCkKK3sKKyAgICB1MzIgaW50aWQgPSBWR0lDX0FERFJfVE9fSU5USUQo YWRkciwgMSk7CisgICAgaW50IGk7CisKKyAgICBmb3JfZWFjaF9zZXRfYml0KCBpLCAmdmFsLCBs ZW4gKiA4ICkKKyAgICB7CisgICAgICAgIHN0cnVjdCB2Z2ljX2lycSAqaXJxOworICAgICAgICB1 bnNpZ25lZCBsb25nIGZsYWdzOworICAgICAgICBpcnFfZGVzY190ICpkZXNjOworCisgICAgICAg IGlycSA9IHZnaWNfZ2V0X2lycSh2Y3B1LT5kb21haW4sIHZjcHUsIGludGlkICsgaSk7CisgICAg ICAgIHNwaW5fbG9ja19pcnFzYXZlKCZpcnEtPmlycV9sb2NrLCBmbGFncyk7CisKKyAgICAgICAg aXJxLT5lbmFibGVkID0gZmFsc2U7CisKKyAgICAgICAgaWYgKCBpcnEtPmh3ICkKKyAgICAgICAg ICAgIGRlc2MgPSBpcnFfdG9fZGVzYyhpcnEtPmh3aW50aWQpOworICAgICAgICBlbHNlCisgICAg ICAgICAgICBkZXNjID0gTlVMTDsKKworICAgICAgICBzcGluX3VubG9ja19pcnFyZXN0b3JlKCZp cnEtPmlycV9sb2NrLCBmbGFncyk7CisgICAgICAgIHZnaWNfcHV0X2lycSh2Y3B1LT5kb21haW4s IGlycSk7CisKKyAgICAgICAgaWYgKCBkZXNjICkKKyAgICAgICAgICAgIHZnaWNfaGFuZGxlX2hh cmR3YXJlX2lycShkZXNjLCAwLCBmYWxzZSk7CisgICAgfQorfQorCiBzdGF0aWMgaW50IG1hdGNo X3JlZ2lvbihjb25zdCB2b2lkICprZXksIGNvbnN0IHZvaWQgKmVsdCkKIHsKICAgICBjb25zdCB1 bnNpZ25lZCBpbnQgb2Zmc2V0ID0gKHVuc2lnbmVkIGxvbmcpa2V5OwpkaWZmIC0tZ2l0IGEveGVu L2FyY2gvYXJtL3ZnaWMvdmdpYy1tbWlvLmggYi94ZW4vYXJjaC9hcm0vdmdpYy92Z2ljLW1taW8u aAppbmRleCAxMGFjNjgyMjk2Li45ZjM0YmQxYWVjIDEwMDY0NAotLS0gYS94ZW4vYXJjaC9hcm0v dmdpYy92Z2ljLW1taW8uaAorKysgYi94ZW4vYXJjaC9hcm0vdmdpYy92Z2ljLW1taW8uaApAQCAt MTM3LDYgKzEzNywxNyBAQCB1bnNpZ25lZCBsb25nIHZnaWNfbW1pb19yZWFkX3JhbyhzdHJ1Y3Qg dmNwdSAqdmNwdSwKIHZvaWQgdmdpY19tbWlvX3dyaXRlX3dpKHN0cnVjdCB2Y3B1ICp2Y3B1LCBw YWRkcl90IGFkZHIsCiAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgbGVuLCB1 bnNpZ25lZCBsb25nIHZhbCk7CiAKK3Vuc2lnbmVkIGxvbmcgdmdpY19tbWlvX3JlYWRfZW5hYmxl KHN0cnVjdCB2Y3B1ICp2Y3B1LAorICAgICAgICAgICAgICAgICAgICBwYWRkcl90IGFkZHIsIHVu c2lnbmVkIGludCBsZW4pOworCit2b2lkIHZnaWNfbW1pb193cml0ZV9zZW5hYmxlKHN0cnVjdCB2 Y3B1ICp2Y3B1LAorICAgICAgICAgICAgICAgICBwYWRkcl90IGFkZHIsIHVuc2lnbmVkIGludCBs ZW4sCisgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgdmFsKTsKKwordm9pZCB2Z2ljX21t aW9fd3JpdGVfY2VuYWJsZShzdHJ1Y3QgdmNwdSAqdmNwdSwKKyAgICAgICAgICAgICAgICAgcGFk ZHJfdCBhZGRyLCB1bnNpZ25lZCBpbnQgbGVuLAorICAgICAgICAgICAgICAgICB1bnNpZ25lZCBs b25nIHZhbCk7CisKIHVuc2lnbmVkIGludCB2Z2ljX3YyX2luaXRfZGlzdF9pb2RldihzdHJ1Y3Qg dmdpY19pb19kZXZpY2UgKmRldik7CiAKIC8qIEZpbmQgdGhlIHByb3BlciByZWdpc3RlciBoYW5k bGVyIGVudHJ5IGdpdmVuIGEgY2VydGFpbiBhZGRyZXNzIG9mZnNldCAqLwotLSAKMi4xNC4xCgoK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVs IG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0 cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3hlbi1kZXZlbA==