From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andre Przywara Subject: [PATCH v2 32/45] ARM: new VGIC: Add SGIPENDR register handlers Date: Thu, 15 Mar 2018 20:30:37 +0000 Message-ID: <20180315203050.19791-33-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 1ewZXX-0004fQ-Ey for xen-devel@lists.xenproject.org; Thu, 15 Mar 2018 20:31:55 +0000 Received: by mail-wm0-x242.google.com with SMTP id w128so12891816wmw.0 for ; Thu, 15 Mar 2018 13:31:43 -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 QXMgdGhpcyByZWdpc3RlciBpcyB2MiBzcGVjaWZpYywgaXRzIGltcGxlbWVudGF0aW9uIGxpdmVz IGVudGlyZWx5CmluIHZnaWMtbW1pby12Mi5jLgpUaGlzIHJlZ2lzdGVyIGFsbG93cyBzZXR0aW5n IHRoZSBzb3VyY2UgbWFzayBvZiBhbiBJUEkuCgpUaGlzIGlzIGJhc2VkIG9uIExpbnV4IGNvbW1p dCBlZDQwMjEzZWY5YjAsIHdyaXR0ZW4gYnkgQW5kcmUgUHJ6eXdhcmEuCgpTaWduZWQtb2ZmLWJ5 OiBBbmRyZSBQcnp5d2FyYSA8YW5kcmUucHJ6eXdhcmFAbGluYXJvLm9yZz4KUmV2aWV3ZWQtYnk6 IEp1bGllbiBHcmFsbCA8anVsaWVuLmdyYWxsQGFybS5jb20+Ci0tLQpDaGFuZ2Vsb2cgdjEgLi4u IHYyOgotIEFkZCBSZXZpZXdlZC1ieToKCiB4ZW4vYXJjaC9hcm0vdmdpYy92Z2ljLW1taW8tdjIu YyB8IDgxICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0KIDEgZmlsZSBj aGFuZ2VkLCA3OSBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hl bi9hcmNoL2FybS92Z2ljL3ZnaWMtbW1pby12Mi5jIGIveGVuL2FyY2gvYXJtL3ZnaWMvdmdpYy1t bWlvLXYyLmMKaW5kZXggN2UxN2NkYzJhZC4uODE0NDNiZjFiOSAxMDA2NDQKLS0tIGEveGVuL2Fy Y2gvYXJtL3ZnaWMvdmdpYy1tbWlvLXYyLmMKKysrIGIveGVuL2FyY2gvYXJtL3ZnaWMvdmdpYy1t bWlvLXYyLmMKQEAgLTE4MSw2ICsxODEsODMgQEAgc3RhdGljIHZvaWQgdmdpY19tbWlvX3dyaXRl X3RhcmdldChzdHJ1Y3QgdmNwdSAqdmNwdSwKICAgICB9CiB9CiAKK3N0YXRpYyB1bnNpZ25lZCBs b25nIHZnaWNfbW1pb19yZWFkX3NnaXBlbmQoc3RydWN0IHZjcHUgKnZjcHUsCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRyX3QgYWRkciwgdW5zaWduZWQg aW50IGxlbikKK3sKKyAgICB1aW50MzJfdCBpbnRpZCA9IFZHSUNfQUREUl9UT19JTlRJRChhZGRy LCA4KTsKKyAgICB1aW50MzJfdCB2YWwgPSAwOworICAgIHVuc2lnbmVkIGludCBpOworCisgICAg QVNTRVJUKGludGlkIDwgVkdJQ19OUl9TR0lTKTsKKworICAgIGZvciAoIGkgPSAwOyBpIDwgbGVu OyBpKysgKQorICAgIHsKKyAgICAgICAgc3RydWN0IHZnaWNfaXJxICppcnEgPSB2Z2ljX2dldF9p cnEodmNwdS0+ZG9tYWluLCB2Y3B1LCBpbnRpZCArIGkpOworCisgICAgICAgIHZhbCB8PSAodWlu dDMyX3QpaXJxLT5zb3VyY2UgPDwgKGkgKiA4KTsKKworICAgICAgICB2Z2ljX3B1dF9pcnEodmNw dS0+ZG9tYWluLCBpcnEpOworICAgIH0KKworICAgIHJldHVybiB2YWw7Cit9CisKK3N0YXRpYyB2 b2lkIHZnaWNfbW1pb193cml0ZV9zZ2lwZW5kYyhzdHJ1Y3QgdmNwdSAqdmNwdSwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkcl90IGFkZHIsIHVuc2lnbmVkIGludCBs ZW4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyB2 YWwpCit7CisgICAgdWludDMyX3QgaW50aWQgPSBWR0lDX0FERFJfVE9fSU5USUQoYWRkciwgOCk7 CisgICAgdW5zaWduZWQgaW50IGk7CisgICAgdW5zaWduZWQgbG9uZyBmbGFnczsKKworICAgIEFT U0VSVChpbnRpZCA8IFZHSUNfTlJfU0dJUyk7CisKKyAgICBmb3IgKCBpID0gMDsgaSA8IGxlbjsg aSsrICkKKyAgICB7CisgICAgICAgIHN0cnVjdCB2Z2ljX2lycSAqaXJxID0gdmdpY19nZXRfaXJx KHZjcHUtPmRvbWFpbiwgdmNwdSwgaW50aWQgKyBpKTsKKworICAgICAgICBzcGluX2xvY2tfaXJx c2F2ZSgmaXJxLT5pcnFfbG9jaywgZmxhZ3MpOworCisgICAgICAgIGlycS0+c291cmNlICY9IH4o KHZhbCA+PiAoaSAqIDgpKSAmIDB4ZmYpOworICAgICAgICBpZiAoICFpcnEtPnNvdXJjZSApCisg ICAgICAgICAgICBpcnEtPnBlbmRpbmdfbGF0Y2ggPSBmYWxzZTsKKworICAgICAgICBzcGluX3Vu bG9ja19pcnFyZXN0b3JlKCZpcnEtPmlycV9sb2NrLCBmbGFncyk7CisgICAgICAgIHZnaWNfcHV0 X2lycSh2Y3B1LT5kb21haW4sIGlycSk7CisgICAgfQorfQorCitzdGF0aWMgdm9pZCB2Z2ljX21t aW9fd3JpdGVfc2dpcGVuZHMoc3RydWN0IHZjcHUgKnZjcHUsCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgcGFkZHJfdCBhZGRyLCB1bnNpZ25lZCBpbnQgbGVuLAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgdmFsKQoreworICAg IHVpbnQzMl90IGludGlkID0gVkdJQ19BRERSX1RPX0lOVElEKGFkZHIsIDgpOworICAgIHVuc2ln bmVkIGludCBpOworICAgIHVuc2lnbmVkIGxvbmcgZmxhZ3M7CisKKyAgICBBU1NFUlQoaW50aWQg PCBWR0lDX05SX1NHSVMpOworCisgICAgZm9yICggaSA9IDA7IGkgPCBsZW47IGkrKyApCisgICAg eworICAgICAgICBzdHJ1Y3QgdmdpY19pcnEgKmlycSA9IHZnaWNfZ2V0X2lycSh2Y3B1LT5kb21h aW4sIHZjcHUsIGludGlkICsgaSk7CisKKyAgICAgICAgc3Bpbl9sb2NrX2lycXNhdmUoJmlycS0+ aXJxX2xvY2ssIGZsYWdzKTsKKworICAgICAgICBpcnEtPnNvdXJjZSB8PSAodmFsID4+IChpICog OCkpICYgMHhmZjsKKworICAgICAgICBpZiAoIGlycS0+c291cmNlICkKKyAgICAgICAgeworICAg ICAgICAgICAgaXJxLT5wZW5kaW5nX2xhdGNoID0gdHJ1ZTsKKyAgICAgICAgICAgIHZnaWNfcXVl dWVfaXJxX3VubG9jayh2Y3B1LT5kb21haW4sIGlycSwgZmxhZ3MpOworICAgICAgICB9CisgICAg ICAgIGVsc2UKKyAgICAgICAgeworICAgICAgICAgICAgc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgm aXJxLT5pcnFfbG9jaywgZmxhZ3MpOworICAgICAgICB9CisgICAgICAgIHZnaWNfcHV0X2lycSh2 Y3B1LT5kb21haW4sIGlycSk7CisgICAgfQorfQorCiBzdGF0aWMgY29uc3Qgc3RydWN0IHZnaWNf cmVnaXN0ZXJfcmVnaW9uIHZnaWNfdjJfZGlzdF9yZWdpc3RlcnNbXSA9IHsKICAgICBSRUdJU1RF Ul9ERVNDX1dJVEhfTEVOR1RIKEdJQ0RfQ1RMUiwKICAgICAgICAgdmdpY19tbWlvX3JlYWRfdjJf bWlzYywgdmdpY19tbWlvX3dyaXRlX3YyX21pc2MsIDEyLApAQCAtMjE5LDEwICsyOTYsMTAgQEAg c3RhdGljIGNvbnN0IHN0cnVjdCB2Z2ljX3JlZ2lzdGVyX3JlZ2lvbiB2Z2ljX3YyX2Rpc3RfcmVn aXN0ZXJzW10gPSB7CiAgICAgICAgIHZnaWNfbW1pb19yZWFkX3JheiwgdmdpY19tbWlvX3dyaXRl X3NnaXIsIDQsCiAgICAgICAgIFZHSUNfQUNDRVNTXzMyYml0KSwKICAgICBSRUdJU1RFUl9ERVND X1dJVEhfTEVOR1RIKEdJQ0RfQ1BFTkRTR0lSLAotICAgICAgICB2Z2ljX21taW9fcmVhZF9yYXos IHZnaWNfbW1pb193cml0ZV93aSwgMTYsCisgICAgICAgIHZnaWNfbW1pb19yZWFkX3NnaXBlbmQs IHZnaWNfbW1pb193cml0ZV9zZ2lwZW5kYywgMTYsCiAgICAgICAgIFZHSUNfQUNDRVNTXzMyYml0 IHwgVkdJQ19BQ0NFU1NfOGJpdCksCiAgICAgUkVHSVNURVJfREVTQ19XSVRIX0xFTkdUSChHSUNE X1NQRU5EU0dJUiwKLSAgICAgICAgdmdpY19tbWlvX3JlYWRfcmF6LCB2Z2ljX21taW9fd3JpdGVf d2ksIDE2LAorICAgICAgICB2Z2ljX21taW9fcmVhZF9zZ2lwZW5kLCB2Z2ljX21taW9fd3JpdGVf c2dpcGVuZHMsIDE2LAogICAgICAgICBWR0lDX0FDQ0VTU18zMmJpdCB8IFZHSUNfQUNDRVNTXzhi aXQpLAogfTsKIAotLSAKMi4xNC4xCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVu cHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZv L3hlbi1kZXZlbA==