From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andre Przywara Subject: [PATCH v7 21/34] ARM: vGIC: advertise LPI support Date: Fri, 7 Apr 2017 23:08:13 +0100 Message-ID: <1491602906-10587-22-git-send-email-andre.przywara@arm.com> References: <1491602906-10587-1-git-send-email-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 1cwc5P-0000Wz-KA for xen-devel@lists.xenproject.org; Fri, 07 Apr 2017 22:10:31 +0000 In-Reply-To: <1491602906-10587-1-git-send-email-andre.przywara@arm.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Stefano Stabellini , Julien Grall Cc: xen-devel@lists.xenproject.org, Vijaya Kumar K , Vijay Kilari , Shanker Donthineni List-Id: xen-devel@lists.xenproject.org VG8gbGV0IGEgZ3Vlc3Qga25vdyBhYm91dCB0aGUgYXZhaWxhYmlsaXR5IG9mIHZpcnR1YWwgTFBJ cywgc2V0IHRoZQpyZXNwZWN0aXZlIGJpdHMgaW4gdGhlIHZpcnR1YWwgR0lDIHJlZ2lzdGVycyBh bmQgbGV0IGEgZ3Vlc3QgY29udHJvbAp0aGUgTFBJIGVuYWJsZSBiaXQuCk9ubHkgcmVwb3J0IHRo ZSBMUEkgY2FwYWJpbGl0eSBpZiB0aGUgaG9zdCBoYXMgaW5pdGlhbGl6ZWQgYXQgbGVhc3QKb25l IElUUy4KVGhpcyByZW1vdmVzIGEgIlRCRCIgY29tbWVudCwgYXMgd2Ugbm93IHBvcHVsYXRlIHRo ZSBwcm9jZXNzb3IgbnVtYmVyCmluIHRoZSBHSUNSX1RZUEUgcmVnaXN0ZXIuCkFkdmVydGlzZSAy NCBiaXRzIHdvcnRoIG9mIExQSXMgdG8gdGhlIGd1ZXN0LgoKU2lnbmVkLW9mZi1ieTogQW5kcmUg UHJ6eXdhcmEgPGFuZHJlLnByenl3YXJhQGFybS5jb20+Ci0tLQogeGVuL2FyY2gvYXJtL3ZnaWMt djMuYyB8IDU5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0t LS0tCiAxIGZpbGUgY2hhbmdlZCwgNTQgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKCmRp ZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vdmdpYy12My5jIGIveGVuL2FyY2gvYXJtL3ZnaWMtdjMu YwppbmRleCA3YjA4NmI5Li4xYzFkMDE0IDEwMDY0NAotLS0gYS94ZW4vYXJjaC9hcm0vdmdpYy12 My5jCisrKyBiL3hlbi9hcmNoL2FybS92Z2ljLXYzLmMKQEAgLTE2OSw4ICsxNjksMTUgQEAgc3Rh dGljIGludCBfX3ZnaWNfdjNfcmRpc3RyX3JkX21taW9fcmVhZChzdHJ1Y3QgdmNwdSAqdiwgbW1p b19pbmZvX3QgKmluZm8sCiAgICAgc3dpdGNoICggZ2ljcl9yZWcgKQogICAgIHsKICAgICBjYXNl IFZSRUczMihHSUNSX0NUTFIpOgotICAgICAgICAvKiBXZSBoYXZlIG5vdCBpbXBsZW1lbnRlZCBM UEkncywgcmVhZCB6ZXJvICovCi0gICAgICAgIGdvdG8gcmVhZF9hc196ZXJvXzMyOworICAgICAg ICBpZiAoICF2LT5kb21haW4tPmFyY2gudmdpYy5oYXNfaXRzICkKKyAgICAgICAgICAgIGdvdG8g cmVhZF9hc196ZXJvXzMyOworICAgICAgICBpZiAoIGRhYnQuc2l6ZSAhPSBEQUJUX1dPUkQgKSBn b3RvIGJhZF93aWR0aDsKKworICAgICAgICBzcGluX2xvY2soJnYtPmFyY2gudmdpYy5sb2NrKTsK KyAgICAgICAgKnIgPSB2Z2ljX3JlZzMyX2V4dHJhY3QoISEodi0+YXJjaC52Z2ljLmZsYWdzICYg VkdJQ19WM19MUElTX0VOQUJMRUQpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp bmZvKTsKKyAgICAgICAgc3Bpbl91bmxvY2soJnYtPmFyY2gudmdpYy5sb2NrKTsKKyAgICAgICAg cmV0dXJuIDE7CiAKICAgICBjYXNlIFZSRUczMihHSUNSX0lJRFIpOgogICAgICAgICBpZiAoIGRh YnQuc2l6ZSAhPSBEQUJUX1dPUkQgKSBnb3RvIGJhZF93aWR0aDsKQEAgLTE4MiwxNiArMTg5LDIw IEBAIHN0YXRpYyBpbnQgX192Z2ljX3YzX3JkaXN0cl9yZF9tbWlvX3JlYWQoc3RydWN0IHZjcHUg KnYsIG1taW9faW5mb190ICppbmZvLAogICAgICAgICB1aW50NjRfdCB0eXBlciwgYWZmOwogCiAg ICAgICAgIGlmICggIXZnaWNfcmVnNjRfY2hlY2tfYWNjZXNzKGRhYnQpICkgZ290byBiYWRfd2lk dGg7Ci0gICAgICAgIC8qIFRCRDogVXBkYXRlIHByb2Nlc3NvciBpZCBpbiBbMjM6OF0gd2hlbiBJ VFMgc3VwcG9ydCBpcyBhZGRlZCAqLwogICAgICAgICBhZmYgPSAoTVBJRFJfQUZGSU5JVFlfTEVW RUwodi0+YXJjaC52bXBpZHIsIDMpIDw8IDU2IHwKICAgICAgICAgICAgICAgIE1QSURSX0FGRklO SVRZX0xFVkVMKHYtPmFyY2gudm1waWRyLCAyKSA8PCA0OCB8CiAgICAgICAgICAgICAgICBNUElE Ul9BRkZJTklUWV9MRVZFTCh2LT5hcmNoLnZtcGlkciwgMSkgPDwgNDAgfAogICAgICAgICAgICAg ICAgTVBJRFJfQUZGSU5JVFlfTEVWRUwodi0+YXJjaC52bXBpZHIsIDApIDw8IDMyKTsKICAgICAg ICAgdHlwZXIgPSBhZmY7CisgICAgICAgIC8qIFdlIHVzZSB0aGUgVkNQVSBJRCBhcyB0aGUgcmVk aXN0cmlidXRvciBJRCBpbiBiaXRzWzIzOjhdICovCisgICAgICAgIHR5cGVyIHw9ICh2LT52Y3B1 X2lkICYgMHhmZmZmKSA8PCA4OwogCiAgICAgICAgIGlmICggdi0+YXJjaC52Z2ljLmZsYWdzICYg VkdJQ19WM19SRElTVF9MQVNUICkKICAgICAgICAgICAgIHR5cGVyIHw9IEdJQ1JfVFlQRVJfTEFT VDsKIAorICAgICAgICBpZiAoIHYtPmRvbWFpbi0+YXJjaC52Z2ljLmhhc19pdHMgKQorICAgICAg ICAgICAgdHlwZXIgfD0gR0lDUl9UWVBFUl9QTFBJUzsKKwogICAgICAgICAqciA9IHZnaWNfcmVn NjRfZXh0cmFjdCh0eXBlciwgaW5mbyk7CiAKICAgICAgICAgcmV0dXJuIDE7CkBAIC00MjEsNiAr NDMyLDI1IEBAIHN0YXRpYyB1aW50NjRfdCBzYW5pdGl6ZV9wZW5kYmFzZXIodWludDY0X3QgcmVn KQogICAgIHJldHVybiByZWc7CiB9CiAKK3N0YXRpYyB2b2lkIHZnaWNfdmNwdV9lbmFibGVfbHBp cyhzdHJ1Y3QgdmNwdSAqdikKK3sKKyAgICB1aW50NjRfdCByZWcgPSB2LT5kb21haW4tPmFyY2gu dmdpYy5yZGlzdF9wcm9wYmFzZTsKKyAgICB1bnNpZ25lZCBpbnQgbnJfbHBpcyA9IEJJVCgocmVn ICYgMHgxZikgKyAxKTsKKworICAgIGlmICggbnJfbHBpcyA8IExQSV9PRkZTRVQgKQorICAgICAg ICBucl9scGlzID0gMDsKKyAgICBlbHNlCisgICAgICAgIG5yX2xwaXMgLT0gTFBJX09GRlNFVDsK KworICAgIGlmICggIXYtPmRvbWFpbi0+YXJjaC52Z2ljLnJkaXN0c19lbmFibGVkICkKKyAgICB7 CisgICAgICAgIHYtPmRvbWFpbi0+YXJjaC52Z2ljLm5yX2xwaXMgPSBucl9scGlzOworICAgICAg ICB2LT5kb21haW4tPmFyY2gudmdpYy5yZGlzdHNfZW5hYmxlZCA9IHRydWU7CisgICAgfQorCisg ICAgdi0+YXJjaC52Z2ljLmZsYWdzIHw9IFZHSUNfVjNfTFBJU19FTkFCTEVEOworfQorCiBzdGF0 aWMgaW50IF9fdmdpY192M19yZGlzdHJfcmRfbW1pb193cml0ZShzdHJ1Y3QgdmNwdSAqdiwgbW1p b19pbmZvX3QgKmluZm8sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB1aW50MzJfdCBnaWNyX3JlZywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHJlZ2lzdGVyX3QgcikKQEAgLTQzMSw4ICs0NjEsMjIgQEAgc3RhdGljIGludCBfX3Zn aWNfdjNfcmRpc3RyX3JkX21taW9fd3JpdGUoc3RydWN0IHZjcHUgKnYsIG1taW9faW5mb190ICpp bmZvLAogICAgIHN3aXRjaCAoIGdpY3JfcmVnICkKICAgICB7CiAgICAgY2FzZSBWUkVHMzIoR0lD Ul9DVExSKToKLSAgICAgICAgLyogTFBJJ3Mgbm90IGltcGxlbWVudGVkICovCi0gICAgICAgIGdv dG8gd3JpdGVfaWdub3JlXzMyOworICAgICAgICBpZiAoICF2LT5kb21haW4tPmFyY2gudmdpYy5o YXNfaXRzICkKKyAgICAgICAgICAgIGdvdG8gd3JpdGVfaWdub3JlXzMyOworICAgICAgICBpZiAo IGRhYnQuc2l6ZSAhPSBEQUJUX1dPUkQgKSBnb3RvIGJhZF93aWR0aDsKKworICAgICAgICB2Z2lj X2xvY2sodik7ICAgICAgICAgICAgICAgICAgIC8qIHByb3RlY3RzIHJkaXN0c19lbmFibGVkICov CisgICAgICAgIHNwaW5fbG9jaygmdi0+YXJjaC52Z2ljLmxvY2spOworCisgICAgICAgIC8qIExQ SXMgY2FuIG9ubHkgYmUgZW5hYmxlZCBvbmNlLCBidXQgbmV2ZXIgZGlzYWJsZWQgYWdhaW4uICov CisgICAgICAgIGlmICggKHIgJiBHSUNSX0NUTFJfRU5BQkxFX0xQSVMpICYmCisgICAgICAgICAg ICAgISh2LT5hcmNoLnZnaWMuZmxhZ3MgJiBWR0lDX1YzX0xQSVNfRU5BQkxFRCkgKQorICAgICAg ICAgICAgdmdpY192Y3B1X2VuYWJsZV9scGlzKHYpOworCisgICAgICAgIHNwaW5fdW5sb2NrKCZ2 LT5hcmNoLnZnaWMubG9jayk7CisgICAgICAgIHZnaWNfdW5sb2NrKHYpOworCisgICAgICAgIHJl dHVybiAxOwogCiAgICAgY2FzZSBWUkVHMzIoR0lDUl9JSURSKToKICAgICAgICAgLyogUk8gKi8K QEAgLTEwNDksNiArMTA5MywxMSBAQCBzdGF0aWMgaW50IHZnaWNfdjNfZGlzdHJfbW1pb19yZWFk KHN0cnVjdCB2Y3B1ICp2LCBtbWlvX2luZm9fdCAqaW5mbywKICAgICAgICAgdHlwZXIgPSAoKG5j cHVzIC0gMSkgPDwgR0lDRF9UWVBFX0NQVVNfU0hJRlQgfAogICAgICAgICAgICAgICAgICBESVZf Uk9VTkRfVVAodi0+ZG9tYWluLT5hcmNoLnZnaWMubnJfc3BpcywgMzIpKTsKIAorICAgICAgICBp ZiAoIHYtPmRvbWFpbi0+YXJjaC52Z2ljLmhhc19pdHMgKQorICAgICAgICB7CisgICAgICAgICAg ICB0eXBlciB8PSBHSUNEX1RZUEVfTFBJUzsKKyAgICAgICAgICAgIGlycV9iaXRzID0gMjQ7Cisg ICAgICAgIH0KICAgICAgICAgdHlwZXIgfD0gKGlycV9iaXRzIC0gMSkgPDwgR0lDRF9UWVBFX0lE X0JJVFNfU0hJRlQ7CiAKICAgICAgICAgKnIgPSB2Z2ljX3JlZzMyX2V4dHJhY3QodHlwZXIsIGlu Zm8pOwotLSAKMi44LjIKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0 dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK