From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andre Przywara Subject: [PATCH 42/57] ARM: new VGIC: Add TARGET registers handlers Date: Mon, 5 Mar 2018 16:04:00 +0000 Message-ID: <20180305160415.16760-43-andre.przywara@linaro.org> References: <20180305160415.16760-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 1essbs-000059-B9 for xen-devel@lists.xenproject.org; Mon, 05 Mar 2018 16:05:08 +0000 Received: by mail-wm0-x243.google.com with SMTP id i3so16517636wmi.4 for ; Mon, 05 Mar 2018 08:05:06 -0800 (PST) In-Reply-To: <20180305160415.16760-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: Julien Grall , Stefano Stabellini Cc: xen-devel@lists.xenproject.org List-Id: xen-devel@lists.xenproject.org VGhlIHRhcmdldCByZWdpc3RlciBoYW5kbGVycyBhcmUgdjIgZW11bGF0aW9uIHNwZWNpZmljLCBz byB0aGVpcgppbXBsZW1lbnRhdGlvbiBsaXZlcyBlbnRpcmVseSBpbiB2Z2ljLW1taW8tdjIuYy4K V2UgY29weSB0aGUgb2xkIFZHSUMgYmVoYXZpb3VyIG9mIGFzc2lnbmluZyBhbiBJUlEgdG8gdGhl IGZpcnN0IFZDUFUKc2V0IGluIHRoZSB0YXJnZXQgbWFzayBpbnN0ZWFkIG9mIG1ha2luZyBpdCBw b3NzaWJseSBwZW5kaW5nIG9uCm11bHRpcGxlIFZDUFVzLgpXZSB1cGRhdGUgdGhlIHBoeXNpY2Fs IGFmZmluaXR5IG9mIGEgaGFyZHdhcmUgbWFwcGVkIHZJUlEgb24gdGhlIHdheS4KClRoaXMgaXMg YmFzZWQgb24gTGludXggY29tbWl0IDJjMjM0ZDZmMTgyNiwgd3JpdHRlbiBieSBBbmRyZSBQcnp5 d2FyYS4KClNpZ25lZC1vZmYtYnk6IEFuZHJlIFByenl3YXJhIDxhbmRyZS5wcnp5d2FyYUBsaW5h cm8ub3JnPgotLS0KQ2hhbmdlbG9nIFJGQyAuLi4gdjE6Ci0gcHJvcGFnYXRlIGFmZmluaXR5IGNo YW5nZXMgdG8gaGFyZHdhcmUgbWFwcGVkIElSUXMKCiB4ZW4vYXJjaC9hcm0vdmdpYy92Z2ljLW1t aW8tdjIuYyB8IDY0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0KIDEg ZmlsZSBjaGFuZ2VkLCA2MyBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0 IGEveGVuL2FyY2gvYXJtL3ZnaWMvdmdpYy1tbWlvLXYyLmMgYi94ZW4vYXJjaC9hcm0vdmdpYy92 Z2ljLW1taW8tdjIuYwppbmRleCBkMTlkZGQzZjFlLi4wMWM2YTcxOThjIDEwMDY0NAotLS0gYS94 ZW4vYXJjaC9hcm0vdmdpYy92Z2ljLW1taW8tdjIuYworKysgYi94ZW4vYXJjaC9hcm0vdmdpYy92 Z2ljLW1taW8tdjIuYwpAQCAtNzIsNiArNzIsNjggQEAgc3RhdGljIHZvaWQgdmdpY19tbWlvX3dy aXRlX3YyX21pc2Moc3RydWN0IHZjcHUgKnZjcHUsCiAgICAgfQogfQogCitzdGF0aWMgdW5zaWdu ZWQgbG9uZyB2Z2ljX21taW9fcmVhZF90YXJnZXQoc3RydWN0IHZjcHUgKnZjcHUsCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZHJfdCBhZGRyLCB1bnNpZ25l ZCBpbnQgbGVuKQoreworICAgIHVpbnQzMl90IGludGlkID0gVkdJQ19BRERSX1RPX0lOVElEKGFk ZHIsIDgpOworICAgIHVpbnQzMl90IHZhbCA9IDA7CisgICAgdW5zaWduZWQgaW50IGk7CisKKyAg ICBmb3IgKCBpID0gMDsgaSA8IGxlbjsgaSsrICkKKyAgICB7CisgICAgICAgIHN0cnVjdCB2Z2lj X2lycSAqaXJxID0gdmdpY19nZXRfaXJxKHZjcHUtPmRvbWFpbiwgdmNwdSwgaW50aWQgKyBpKTsK KworICAgICAgICB2YWwgfD0gKHVpbnQzMl90KWlycS0+dGFyZ2V0cyA8PCAoaSAqIDgpOworCisg ICAgICAgIHZnaWNfcHV0X2lycSh2Y3B1LT5kb21haW4sIGlycSk7CisgICAgfQorCisgICAgcmV0 dXJuIHZhbDsKK30KKworc3RhdGljIHZvaWQgdmdpY19tbWlvX3dyaXRlX3RhcmdldChzdHJ1Y3Qg dmNwdSAqdmNwdSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZHJfdCBh ZGRyLCB1bnNpZ25lZCBpbnQgbGVuLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB1bnNpZ25lZCBsb25nIHZhbCkKK3sKKyAgICB1aW50MzJfdCBpbnRpZCA9IFZHSUNfQUREUl9U T19JTlRJRChhZGRyLCA4KTsKKyAgICB1aW50OF90IGNwdV9tYXNrID0gR0VOTUFTSyh2Y3B1LT5k b21haW4tPm1heF92Y3B1cyAtIDEsIDApOworICAgIHVuc2lnbmVkIGludCBpOworICAgIHVuc2ln bmVkIGxvbmcgZmxhZ3M7CisKKyAgICAvKiBHSUNEX0lUQVJHRVRTUlswLTddIGFyZSByZWFkLW9u bHkgKi8KKyAgICBpZiAoIGludGlkIDwgVkdJQ19OUl9QUklWQVRFX0lSUVMgKQorICAgICAgICBy ZXR1cm47CisKKyAgICBmb3IgKCBpID0gMDsgaSA8IGxlbjsgaSsrICkKKyAgICB7CisgICAgICAg IHN0cnVjdCB2Z2ljX2lycSAqaXJxID0gdmdpY19nZXRfaXJxKHZjcHUtPmRvbWFpbiwgTlVMTCwg aW50aWQgKyBpKTsKKyAgICAgICAgc3RydWN0IGlycV9kZXNjICpkZXNjOworCisgICAgICAgIHNw aW5fbG9ja19pcnFzYXZlKCZpcnEtPmlycV9sb2NrLCBmbGFncyk7CisKKyAgICAgICAgaXJxLT50 YXJnZXRzID0gKHZhbCA+PiAoaSAqIDgpKSAmIGNwdV9tYXNrOworICAgICAgICBpZiAoIGlycS0+ dGFyZ2V0cyApCisgICAgICAgIHsKKyAgICAgICAgICAgIGlycS0+dGFyZ2V0X3ZjcHUgPSB2Y3B1 LT5kb21haW4tPnZjcHVbZmZzKGlycS0+dGFyZ2V0cykgLSAxXTsKKyAgICAgICAgICAgIGlmICgg aXJxLT5odyApCisgICAgICAgICAgICAgICAgZGVzYyA9IGlycV90b19kZXNjKGlycS0+aHdpbnRp ZCk7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgZGVzYyA9IE5VTEw7CisgICAg ICAgIH0KKyAgICAgICAgZWxzZSB7CisgICAgICAgICAgICBpcnEtPnRhcmdldF92Y3B1ID0gTlVM TDsKKyAgICAgICAgICAgIGRlc2MgPSBOVUxMOworICAgICAgICB9CisKKyAgICAgICAgc3Bpbl91 bmxvY2tfaXJxcmVzdG9yZSgmaXJxLT5pcnFfbG9jaywgZmxhZ3MpOworCisgICAgICAgIGlmICgg ZGVzYyApCisgICAgICAgICAgICB2Z2ljX3VwZGF0ZV9oYXJkd2FyZV9pcnEoZGVzYywgaXJxKTsK KworICAgICAgICB2Z2ljX3B1dF9pcnEodmNwdS0+ZG9tYWluLCBpcnEpOworICAgIH0KK30KKwog c3RhdGljIGNvbnN0IHN0cnVjdCB2Z2ljX3JlZ2lzdGVyX3JlZ2lvbiB2Z2ljX3YyX2Rpc3RfcmVn aXN0ZXJzW10gPSB7CiAgICAgUkVHSVNURVJfREVTQ19XSVRIX0xFTkdUSChHSUNEX0NUTFIsCiAg ICAgICAgIHZnaWNfbW1pb19yZWFkX3YyX21pc2MsIHZnaWNfbW1pb193cml0ZV92Ml9taXNjLCAx MiwKQEAgLTEwMSw3ICsxNjMsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHZnaWNfcmVnaXN0ZXJf cmVnaW9uIHZnaWNfdjJfZGlzdF9yZWdpc3RlcnNbXSA9IHsKICAgICAgICAgdmdpY19tbWlvX3Jl YWRfcHJpb3JpdHksIHZnaWNfbW1pb193cml0ZV9wcmlvcml0eSwgOCwKICAgICAgICAgVkdJQ19B Q0NFU1NfMzJiaXQgfCBWR0lDX0FDQ0VTU184Yml0KSwKICAgICBSRUdJU1RFUl9ERVNDX1dJVEhf QklUU19QRVJfSVJRKEdJQ0RfSVRBUkdFVFNSLAotICAgICAgICB2Z2ljX21taW9fcmVhZF9yYXos IHZnaWNfbW1pb193cml0ZV93aSwgOCwKKyAgICAgICAgdmdpY19tbWlvX3JlYWRfdGFyZ2V0LCB2 Z2ljX21taW9fd3JpdGVfdGFyZ2V0LCA4LAogICAgICAgICBWR0lDX0FDQ0VTU18zMmJpdCB8IFZH SUNfQUNDRVNTXzhiaXQpLAogICAgIFJFR0lTVEVSX0RFU0NfV0lUSF9CSVRTX1BFUl9JUlEoR0lD RF9JQ0ZHUiwKICAgICAgICAgdmdpY19tbWlvX3JlYWRfY29uZmlnLCB2Z2ljX21taW9fd3JpdGVf Y29uZmlnLCAyLAotLSAKMi4xNC4xCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVu cHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZv L3hlbi1kZXZlbA==