From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andre Przywara Subject: [PATCH v3 26/26] ARM: vGIC: advertise LPI support Date: Fri, 31 Mar 2017 19:05:25 +0100 Message-ID: <20170331180525.30038-27-andre.przywara@arm.com> References: <20170331180525.30038-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.bemta6.messagelabs.com ([193.109.254.103]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cu0u4-00065w-FM for xen-devel@lists.xenproject.org; Fri, 31 Mar 2017 18:04:04 +0000 In-Reply-To: <20170331180525.30038-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, Shanker Donthineni , Vijay Kilari List-Id: xen-devel@lists.xenproject.org VG8gbGV0IGEgZ3Vlc3Qga25vdyBhYm91dCB0aGUgYXZhaWxhYmlsaXR5IG9mIHZpcnR1YWwgTFBJ cywgc2V0IHRoZQpyZXNwZWN0aXZlIGJpdHMgaW4gdGhlIHZpcnR1YWwgR0lDIHJlZ2lzdGVycyBh bmQgbGV0IGEgZ3Vlc3QgY29udHJvbAp0aGUgTFBJIGVuYWJsZSBiaXQuCk9ubHkgcmVwb3J0IHRo ZSBMUEkgY2FwYWJpbGl0eSBpZiB0aGUgaG9zdCBoYXMgaW5pdGlhbGl6ZWQgYXQgbGVhc3QKb25l IElUUy4KClNpZ25lZC1vZmYtYnk6IEFuZHJlIFByenl3YXJhIDxhbmRyZS5wcnp5d2FyYUBhcm0u Y29tPgotLS0KIHhlbi9hcmNoL2FybS92Z2ljLXYzLmMgfCA3NCArKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLQogMSBmaWxlIGNoYW5nZWQsIDY5IGluc2Vy dGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL3ZnaWMt djMuYyBiL3hlbi9hcmNoL2FybS92Z2ljLXYzLmMKaW5kZXggMjJhN2IxYi4uNDdkYWQ2YSAxMDA2 NDQKLS0tIGEveGVuL2FyY2gvYXJtL3ZnaWMtdjMuYworKysgYi94ZW4vYXJjaC9hcm0vdmdpYy12 My5jCkBAIC0xNjksOCArMTY5LDEwIEBAIHN0YXRpYyBpbnQgX192Z2ljX3YzX3JkaXN0cl9yZF9t bWlvX3JlYWQoc3RydWN0IHZjcHUgKnYsIG1taW9faW5mb190ICppbmZvLAogICAgIHN3aXRjaCAo IGdpY3JfcmVnICkKICAgICB7CiAgICAgY2FzZSBWUkVHMzIoR0lDUl9DVExSKToKLSAgICAgICAg LyogV2UgaGF2ZSBub3QgaW1wbGVtZW50ZWQgTFBJJ3MsIHJlYWQgemVybyAqLwotICAgICAgICBn b3RvIHJlYWRfYXNfemVyb18zMjsKKyAgICAgICAgaWYgKCBkYWJ0LnNpemUgIT0gREFCVF9XT1JE ICkgZ290byBiYWRfd2lkdGg7CisgICAgICAgICpyID0gdmdpY19yZWczMl9leHRyYWN0KCEhKHYt PmFyY2gudmdpYy5mbGFncyAmIFZHSUNfVjNfTFBJU19FTkFCTEVEKSwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgaW5mbyk7CisgICAgICAgIHJldHVybiAxOwogCiAgICAgY2FzZSBW UkVHMzIoR0lDUl9JSURSKToKICAgICAgICAgaWYgKCBkYWJ0LnNpemUgIT0gREFCVF9XT1JEICkg Z290byBiYWRfd2lkdGg7CkBAIC0xODIsMTYgKzE4NCwxOSBAQCBzdGF0aWMgaW50IF9fdmdpY192 M19yZGlzdHJfcmRfbW1pb19yZWFkKHN0cnVjdCB2Y3B1ICp2LCBtbWlvX2luZm9fdCAqaW5mbywK ICAgICAgICAgdWludDY0X3QgdHlwZXIsIGFmZjsKIAogICAgICAgICBpZiAoICF2Z2ljX3JlZzY0 X2NoZWNrX2FjY2VzcyhkYWJ0KSApIGdvdG8gYmFkX3dpZHRoOwotICAgICAgICAvKiBUQkQ6IFVw ZGF0ZSBwcm9jZXNzb3IgaWQgaW4gWzIzOjhdIHdoZW4gSVRTIHN1cHBvcnQgaXMgYWRkZWQgKi8K ICAgICAgICAgYWZmID0gKE1QSURSX0FGRklOSVRZX0xFVkVMKHYtPmFyY2gudm1waWRyLCAzKSA8 PCA1NiB8CiAgICAgICAgICAgICAgICBNUElEUl9BRkZJTklUWV9MRVZFTCh2LT5hcmNoLnZtcGlk ciwgMikgPDwgNDggfAogICAgICAgICAgICAgICAgTVBJRFJfQUZGSU5JVFlfTEVWRUwodi0+YXJj aC52bXBpZHIsIDEpIDw8IDQwIHwKICAgICAgICAgICAgICAgIE1QSURSX0FGRklOSVRZX0xFVkVM KHYtPmFyY2gudm1waWRyLCAwKSA8PCAzMik7CiAgICAgICAgIHR5cGVyID0gYWZmOworICAgICAg ICB0eXBlciB8PSAodi0+dmNwdV9pZCAmIDB4ZmZmZikgPDwgODsKIAogICAgICAgICBpZiAoIHYt PmFyY2gudmdpYy5mbGFncyAmIFZHSUNfVjNfUkRJU1RfTEFTVCApCiAgICAgICAgICAgICB0eXBl ciB8PSBHSUNSX1RZUEVSX0xBU1Q7CiAKKyAgICAgICAgaWYgKCB2LT5kb21haW4tPmFyY2gudmdp Yy5oYXNfaXRzICkKKyAgICAgICAgICAgIHR5cGVyIHw9IEdJQ1JfVFlQRVJfUExQSVM7CisKICAg ICAgICAgKnIgPSB2Z2ljX3JlZzY0X2V4dHJhY3QodHlwZXIsIGluZm8pOwogCiAgICAgICAgIHJl dHVybiAxOwpAQCAtNDM0LDYgKzQzOSwzNSBAQCBzdGF0aWMgdWludDY0X3Qgc2FuaXRpemVfcGVu ZGJhc2VyKHVpbnQ2NF90IHJlZykKICAgICByZXR1cm4gcmVnOwogfQogCitzdGF0aWMgdm9pZCB2 Z2ljX3ZjcHVfZW5hYmxlX2xwaXMoc3RydWN0IHZjcHUgKnYpCit7CisgICAgdWludDY0X3QgcmVn ID0gdi0+ZG9tYWluLT5hcmNoLnZnaWMucmRpc3RfcHJvcGJhc2U7CisgICAgdW5zaWduZWQgaW50 IG5yX2xwaXMgPSBCSVQoKHJlZyAmIDB4MWYpICsgMSkgLSBMUElfT0ZGU0VUOworICAgIGludCBu cl9wYWdlczsKKworICAgIC8qIFRoZSBmaXJzdCBWQ1BVIHRvIGVuYWJsZSBMUElzIG1hcHMgdGhl IHByb3BlcnR5IHRhYmxlLiAqLworICAgIGlmICggIXYtPmRvbWFpbi0+YXJjaC52Z2ljLm5yX2xw aXMgKQorICAgIHsKKyAgICAgICAgdi0+ZG9tYWluLT5hcmNoLnZnaWMubnJfbHBpcyA9IG5yX2xw aXM7CisKKyAgICAgICAgbnJfcGFnZXMgPSBESVZfUk9VTkRfVVAobnJfbHBpcywgUEFHRV9TSVpF KTsKKyAgICAgICAgZ2V0X2d1ZXN0X3BhZ2VzKHYtPmRvbWFpbiwgcmVnICYgR0VOTUFTS19VTEwo NTEsIDEyKSwgbnJfcGFnZXMpOworICAgICAgICBncHJpbnRrKFhFTkxPR19JTkZPLCAiVkdJQy12 MzogVkNQVSVkIG1hcHBlZCAlZCBwYWdlcyBmb3IgcHJvcGVydHkgdGFibGVcbiIsCisgICAgICAg ICAgICAgICB2LT52Y3B1X2lkLCBucl9wYWdlcyk7CisgICAgfQorICAgIG5yX3BhZ2VzID0gRElW X1JPVU5EX1VQKCgobnJfbHBpcyArIExQSV9PRkZTRVQpIC8gOCksIFBBR0VfU0laRSk7CisgICAg cmVnID0gdi0+YXJjaC52Z2ljLnJkaXN0X3BlbmRiYXNlOworCisgICAgZ2V0X2d1ZXN0X3BhZ2Vz KHYtPmRvbWFpbiwgcmVnICYgR0VOTUFTS19VTEwoNTEsIDEyKSwgbnJfcGFnZXMpOworCisgICAg Z3ByaW50ayhYRU5MT0dfSU5GTywgIlZHSUMtdjM6IFZDUFUlZCBtYXBwZWQgJWQgcGFnZXMgZm9y IHBlbmRpbmcgdGFibGVcbiIsCisgICAgICAgICAgICB2LT52Y3B1X2lkLCBucl9wYWdlcyk7CisK KyAgICB2LT5hcmNoLnZnaWMuZmxhZ3MgfD0gVkdJQ19WM19MUElTX0VOQUJMRUQ7CisKKyAgICBw cmludGsoIlZHSUN2MzogZW5hYmxlZCAlZCBMUElzIGZvciBWQ1BVJWRcbiIsIG5yX2xwaXMsIHYt PnZjcHVfaWQpOworfQorCiBzdGF0aWMgaW50IF9fdmdpY192M19yZGlzdHJfcmRfbW1pb193cml0 ZShzdHJ1Y3QgdmNwdSAqdiwgbW1pb19pbmZvX3QgKmluZm8sCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBnaWNyX3JlZywKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZ2lzdGVyX3QgcikKQEAgLTQ0NCw4ICs0Nzgs MTggQEAgc3RhdGljIGludCBfX3ZnaWNfdjNfcmRpc3RyX3JkX21taW9fd3JpdGUoc3RydWN0IHZj cHUgKnYsIG1taW9faW5mb190ICppbmZvLAogICAgIHN3aXRjaCAoIGdpY3JfcmVnICkKICAgICB7 CiAgICAgY2FzZSBWUkVHMzIoR0lDUl9DVExSKToKLSAgICAgICAgLyogTFBJJ3Mgbm90IGltcGxl bWVudGVkICovCi0gICAgICAgIGdvdG8gd3JpdGVfaWdub3JlXzMyOworICAgICAgICBpZiAoIGRh YnQuc2l6ZSAhPSBEQUJUX1dPUkQgKSBnb3RvIGJhZF93aWR0aDsKKyAgICAgICAgaWYgKCAhdi0+ ZG9tYWluLT5hcmNoLnZnaWMuaGFzX2l0cyApCisgICAgICAgICAgICByZXR1cm4gMTsKKworICAg ICAgICAvKiBMUElzIGNhbiBvbmx5IGJlIGVuYWJsZWQgb25jZSwgYnV0IG5ldmVyIGRpc2FibGVk IGFnYWluLiAqLworICAgICAgICBpZiAoICEociAmIEdJQ1JfQ1RMUl9FTkFCTEVfTFBJUykgfHwK KyAgICAgICAgICAgICAodi0+YXJjaC52Z2ljLmZsYWdzICYgVkdJQ19WM19MUElTX0VOQUJMRUQp ICkKKyAgICAgICAgICAgIHJldHVybiAxOworCisgICAgICAgIHZnaWNfdmNwdV9lbmFibGVfbHBp cyh2KTsKKworICAgICAgICByZXR1cm4gMTsKIAogICAgIGNhc2UgVlJFRzMyKEdJQ1JfSUlEUik6 CiAgICAgICAgIC8qIFJPICovCkBAIC0xMDQ1LDYgKzEwODksMTEgQEAgc3RhdGljIGludCB2Z2lj X3YzX2Rpc3RyX21taW9fcmVhZChzdHJ1Y3QgdmNwdSAqdiwgbW1pb19pbmZvX3QgKmluZm8sCiAg ICAgICAgIHR5cGVyID0gKChuY3B1cyAtIDEpIDw8IEdJQ0RfVFlQRV9DUFVTX1NISUZUIHwKICAg ICAgICAgICAgICAgICAgRElWX1JPVU5EX1VQKHYtPmRvbWFpbi0+YXJjaC52Z2ljLm5yX3NwaXMs IDMyKSk7CiAKKyAgICAgICAgaWYgKCB2LT5kb21haW4tPmFyY2gudmdpYy5oYXNfaXRzICkKKyAg ICAgICAgeworICAgICAgICAgICAgdHlwZXIgfD0gR0lDRF9UWVBFX0xQSVM7CisgICAgICAgICAg ICBpcnFfYml0cyA9IDE2OworICAgICAgICB9CiAgICAgICAgIHR5cGVyIHw9IChpcnFfYml0cyAt IDEpIDw8IEdJQ0RfVFlQRV9JRF9CSVRTX1NISUZUOwogCiAgICAgICAgICpyID0gdmdpY19yZWcz Ml9leHRyYWN0KHR5cGVyLCBpbmZvKTsKQEAgLTE2NjYsNiArMTcxNSwyMSBAQCBzdGF0aWMgaW50 IHZnaWNfdjNfZG9tYWluX2luaXQoc3RydWN0IGRvbWFpbiAqZCkKIAogc3RhdGljIHZvaWQgdmdp Y192M19kb21haW5fZnJlZShzdHJ1Y3QgZG9tYWluICpkKQogeworICAgIGludCBucl9wYWdlczsK KyAgICBzdHJ1Y3QgdmNwdSAqdjsKKworICAgIGlmICggZC0+YXJjaC52Z2ljLm5yX2xwaXMgKQor ICAgIHsKKyAgICAgICAgbnJfcGFnZXMgPSBESVZfUk9VTkRfVVAoZC0+YXJjaC52Z2ljLm5yX2xw aXMsIFBBR0VfU0laRSk7CisgICAgICAgIHB1dF9ndWVzdF9wYWdlcyhkLCBkLT5hcmNoLnZnaWMu cmRpc3RfcHJvcGJhc2UgJiBHRU5NQVNLX1VMTCg1MSwgMTIpLAorICAgICAgICAgICAgICAgICAg ICAgICAgbnJfcGFnZXMpOworCisgICAgICAgIG5yX3BhZ2VzID0gRElWX1JPVU5EX1VQKChkLT5h cmNoLnZnaWMubnJfbHBpcyArIExQSV9PRkZTRVQpIC8gOCwKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgUEFHRV9TSVpFKTsKKyAgICAgICAgZm9yX2VhY2hfdmNwdShkLCB2KQorICAg ICAgICAgICAgcHV0X2d1ZXN0X3BhZ2VzKGQsIHYtPmFyY2gudmdpYy5yZGlzdF9wZW5kYmFzZSAm IEdFTk1BU0tfVUxMKDUxLCAxMiksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgbnJfcGFn ZXMpOworICAgIH0KICAgICBnaWN2M19pdHNfdW5tYXBfYWxsX2RldmljZXMoZCk7CiAgICAgcmFk aXhfdHJlZV9kZXN0cm95KCZkLT5hcmNoLnZnaWMucGVuZF9scGlfdHJlZSwgTlVMTCk7CiAgICAg eGZyZWUoZC0+YXJjaC52Z2ljLnJkaXN0X3JlZ2lvbnMpOwotLSAKMi45LjAKCgpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBs aXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2 ZWwK