From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andre Przywara Subject: [PATCH v8 21/27] ARM: vITS: handle MOVI command Date: Wed, 12 Apr 2017 01:44:28 +0100 Message-ID: <1491957874-31600-22-git-send-email-andre.przywara@arm.com> References: <1491957874-31600-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 1cy6Qm-0000y0-77 for xen-devel@lists.xenproject.org; Wed, 12 Apr 2017 00:46:44 +0000 In-Reply-To: <1491957874-31600-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 VGhlIE1PVkkgY29tbWFuZCBtb3ZlcyB0aGUgaW50ZXJydXB0IGFmZmluaXR5IGZyb20gb25lIHJl ZGlzdHJpYnV0b3IKKHJlYWQ6IFZDUFUpIHRvIGFub3RoZXIuCkZvciBub3cgbWlncmF0aW9uIG9m ICJsaXZlIiBMUElzIGlzIG5vdCB5ZXQgaW1wbGVtZW50ZWQsIGJ1dCB3ZSBzdG9yZQp0aGUgY2hh bmdlZCBhZmZpbml0eSBpbiB0aGUgaG9zdCBMUEkgc3RydWN0dXJlIGFuZCBpbiBvdXIgdmlydHVh bCBJVFRFLgoKU2lnbmVkLW9mZi1ieTogQW5kcmUgUHJ6eXdhcmEgPGFuZHJlLnByenl3YXJhQGFy bS5jb20+Ci0tLQogeGVuL2FyY2gvYXJtL2dpYy12My1pdHMuYyAgICAgICAgfCAyNCArKysrKysr KysrKysrKysrKwogeGVuL2FyY2gvYXJtL2dpYy12My1scGkuYyAgICAgICAgfCAxNSArKysrKysr KysrKwogeGVuL2FyY2gvYXJtL3ZnaWMtdjMtaXRzLmMgICAgICAgfCA1NyArKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrCiB4ZW4vaW5jbHVkZS9hc20tYXJtL2dpY192M19p dHMuaCB8ICA0ICsrKwogNCBmaWxlcyBjaGFuZ2VkLCAxMDAgaW5zZXJ0aW9ucygrKQoKZGlmZiAt LWdpdCBhL3hlbi9hcmNoL2FybS9naWMtdjMtaXRzLmMgYi94ZW4vYXJjaC9hcm0vZ2ljLXYzLWl0 cy5jCmluZGV4IGZhMWYyZDUuLjFhMDhkNDMgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL2FybS9naWMt djMtaXRzLmMKKysrIGIveGVuL2FyY2gvYXJtL2dpYy12My1pdHMuYwpAQCAtODk1LDYgKzg5NSwz MCBAQCBzdHJ1Y3QgcGVuZGluZ19pcnEgKmdpY3YzX2Fzc2lnbl9ndWVzdF9ldmVudChzdHJ1Y3Qg ZG9tYWluICpkLAogICAgIHJldHVybiBwaXJxOwogfQogCisvKiBDaGFuZ2VzIHRoZSB0YXJnZXQg VkNQVSBmb3IgYSBnaXZlbiBob3N0IExQSSBhc3NpZ25lZCB0byBhIGRvbWFpbi4gKi8KK2ludCBn aWN2M19scGlfY2hhbmdlX3ZjcHUoc3RydWN0IGRvbWFpbiAqZCwgcGFkZHJfdCB2ZG9vcmJlbGws CisgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHZkZXZpZCwgdWludDMyX3QgdmV2 ZW50aWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCB2Y3B1X2lkKQor eworICAgIHVpbnQzMl90IGhvc3RfbHBpOworICAgIHN0cnVjdCBpdHNfZGV2aWNlICpkZXY7CisK KyAgICBzcGluX2xvY2soJmQtPmFyY2gudmdpYy5pdHNfZGV2aWNlc19sb2NrKTsKKyAgICBkZXYg PSBnZXRfaXRzX2RldmljZShkLCB2ZG9vcmJlbGwsIHZkZXZpZCk7CisgICAgaWYgKCBkZXYgKQor ICAgICAgICBob3N0X2xwaSA9IGdldF9ob3N0X2xwaShkZXYsIHZldmVudGlkKTsKKyAgICBlbHNl CisgICAgICAgIGhvc3RfbHBpID0gMDsKKyAgICBzcGluX3VubG9jaygmZC0+YXJjaC52Z2ljLml0 c19kZXZpY2VzX2xvY2spOworCisgICAgaWYgKCAhaG9zdF9scGkgKQorICAgICAgICByZXR1cm4g LUVOT0VOVDsKKworICAgIGdpY3YzX2xwaV91cGRhdGVfaG9zdF92Y3B1aWQoaG9zdF9scGksIHZj cHVfaWQpOworCisgICAgcmV0dXJuIDA7Cit9CisKIC8qIFNjYW4gdGhlIERUIGZvciBhbnkgSVRT IG5vZGVzIGFuZCBjcmVhdGUgYSBsaXN0IG9mIGhvc3QgSVRTZXMgb3V0IG9mIGl0LiAqLwogdm9p ZCBnaWN2M19pdHNfZHRfaW5pdChjb25zdCBzdHJ1Y3QgZHRfZGV2aWNlX25vZGUgKm5vZGUpCiB7 CmRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vZ2ljLXYzLWxwaS5jIGIveGVuL2FyY2gvYXJtL2dp Yy12My1scGkuYwppbmRleCBkNDI3NTM5Li42YWY1YWQ5IDEwMDY0NAotLS0gYS94ZW4vYXJjaC9h cm0vZ2ljLXYzLWxwaS5jCisrKyBiL3hlbi9hcmNoL2FybS9naWMtdjMtbHBpLmMKQEAgLTIyNSw2 ICsyMjUsMjEgQEAgdm9pZCBnaWN2M19scGlfdXBkYXRlX2hvc3RfZW50cnkodWludDMyX3QgaG9z dF9scGksIGludCBkb21haW5faWQsCiAgICAgd3JpdGVfdTY0X2F0b21pYygmaGxwaXAtPmRhdGEs IGhscGkuZGF0YSk7CiB9CiAKK2ludCBnaWN2M19scGlfdXBkYXRlX2hvc3RfdmNwdWlkKHVpbnQz Ml90IGhvc3RfbHBpLCB1bnNpZ25lZCBpbnQgdmNwdV9pZCkKK3sKKyAgICB1bmlvbiBob3N0X2xw aSAqaGxwaXA7CisKKyAgICBBU1NFUlQoaG9zdF9scGkgPj0gTFBJX09GRlNFVCk7CisKKyAgICBo b3N0X2xwaSAtPSBMUElfT0ZGU0VUOworCisgICAgaGxwaXAgPSAmbHBpX2RhdGEuaG9zdF9scGlz W2hvc3RfbHBpIC8gSE9TVF9MUElTX1BFUl9QQUdFXVtob3N0X2xwaSAlIEhPU1RfTFBJU19QRVJf UEFHRV07CisKKyAgICB3cml0ZV91MTZfYXRvbWljKCZobHBpcC0+dmNwdV9pZCwgdmNwdV9pZCk7 CisKKyAgICByZXR1cm4gMDsKK30KKwogc3RhdGljIGludCBnaWN2M19scGlfYWxsb2NhdGVfcGVu ZHRhYmxlKHVpbnQ2NF90ICpyZWcpCiB7CiAgICAgdWludDY0X3QgdmFsOwpkaWZmIC0tZ2l0IGEv eGVuL2FyY2gvYXJtL3ZnaWMtdjMtaXRzLmMgYi94ZW4vYXJjaC9hcm0vdmdpYy12My1pdHMuYwpp bmRleCAwNzY1ODEwLi5iZTlkZTA4IDEwMDY0NAotLS0gYS94ZW4vYXJjaC9hcm0vdmdpYy12My1p dHMuYworKysgYi94ZW4vYXJjaC9hcm0vdmdpYy12My1pdHMuYwpAQCAtNjQ3LDYgKzY0Nyw1NyBA QCBvdXRfcmVtb3ZlX21hcHBpbmc6CiAgICAgcmV0dXJuIHJldDsKIH0KIAorc3RhdGljIGludCBp dHNfaGFuZGxlX21vdmkoc3RydWN0IHZpcnRfaXRzICppdHMsIHVpbnQ2NF90ICpjbWRwdHIpCit7 CisgICAgdWludDMyX3QgZGV2aWQgPSBpdHNfY21kX2dldF9kZXZpY2VpZChjbWRwdHIpOworICAg IHVpbnQzMl90IGV2ZW50aWQgPSBpdHNfY21kX2dldF9pZChjbWRwdHIpOworICAgIGludCBjb2xs aWQgPSBpdHNfY21kX2dldF9jb2xsZWN0aW9uKGNtZHB0cik7CisgICAgdW5zaWduZWQgbG9uZyBm bGFnczsKKyAgICBzdHJ1Y3QgcGVuZGluZ19pcnEgKnA7CisgICAgc3RydWN0IHZjcHUgKm92Y3B1 LCAqbnZjcHU7CisgICAgdWludDMyX3QgdmxwaTsKKyAgICBpbnQgcmV0ID0gLTE7CisKKyAgICBz cGluX2xvY2soJml0cy0+aXRzX2xvY2spOworICAgIC8qIENoZWNrIGZvciBhIG1hcHBlZCBMUEkg YW5kIGdldCB0aGUgTFBJIG51bWJlci4gKi8KKyAgICBpZiAoICFyZWFkX2l0dGVfbG9ja2VkKGl0 cywgZGV2aWQsIGV2ZW50aWQsICZvdmNwdSwgJnZscGkpICkKKyAgICAgICAgZ290byBvdXRfdW5s b2NrOworCisgICAgaWYgKCB2bHBpID09IElOVkFMSURfTFBJICkKKyAgICB7CisgICAgICAgIHNw aW5fdW5sb2NrKCZpdHMtPml0c19sb2NrKTsKKyAgICAgICAgcmV0dXJuIC0xOworICAgIH0KKwor ICAgIC8qIENoZWNrIHRoZSBuZXcgY29sbGVjdGlvbiBJRCBhbmQgZ2V0IHRoZSBuZXcgVkNQVSBw b2ludGVyICovCisgICAgbnZjcHUgPSBnZXRfdmNwdV9mcm9tX2NvbGxlY3Rpb24oaXRzLCBjb2xs aWQpOworICAgIGlmICggIW52Y3B1ICkKKyAgICAgICAgZ290byBvdXRfdW5sb2NrOworCisgICAg c3Bpbl9sb2NrX2lycXNhdmUoJm92Y3B1LT5hcmNoLnZnaWMubG9jaywgZmxhZ3MpOworCisgICAg LyogVXBkYXRlIG91ciBjYWNoZWQgdmNwdV9pZCBpbiB0aGUgcGVuZGluZ19pcnEuICovCisgICAg cCA9IGl0cy0+ZC0+YXJjaC52Z2ljLmhhbmRsZXItPmxwaV90b19wZW5kaW5nKGl0cy0+ZCwgdmxw aSk7CisgICAgcC0+bHBpX3ZjcHVfaWQgPSBudmNwdS0+dmNwdV9pZDsKKworICAgIC8qIE5vdyBz dG9yZSB0aGUgbmV3IGNvbGxlY3Rpb24gaW4gdGhlIHRyYW5zbGF0aW9uIHRhYmxlLiAqLworICAg IGlmICggIXdyaXRlX2l0dGVfbG9ja2VkKGl0cywgZGV2aWQsIGV2ZW50aWQsIGNvbGxpZCwgdmxw aSwgJm52Y3B1KSApCisgICAgICAgIGdvdG8gb3V0X3VubG9jazsKKworICAgIHNwaW5fdW5sb2Nr X2lycXJlc3RvcmUoJm92Y3B1LT5hcmNoLnZnaWMubG9jaywgZmxhZ3MpOworICAgIHNwaW5fdW5s b2NrKCZpdHMtPml0c19sb2NrKTsKKworICAgIC8qIFRPRE86IGxvb2t1cCBjdXJyZW50bHktaW4t Z3Vlc3QgdmlydHVhbCBJUlFzIGFuZCBtaWdyYXRlIHRoZW0/ICovCisKKyAgICByZXR1cm4gZ2lj djNfbHBpX2NoYW5nZV92Y3B1KGl0cy0+ZCwgaXRzLT5kb29yYmVsbF9hZGRyZXNzLAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgZGV2aWQsIGV2ZW50aWQsIG52Y3B1LT52Y3B1X2lk KTsKKworb3V0X3VubG9jazoKKyAgICBzcGluX3VubG9jaygmaXRzLT5pdHNfbG9jayk7CisKKyAg ICByZXR1cm4gcmV0OworfQorCiAjZGVmaW5lIElUU19DTURfQlVGRkVSX1NJWkUoYmFzZXIpICAg ICAgKCgoKGJhc2VyKSAmIDB4ZmYpICsgMSkgPDwgMTIpCiAjZGVmaW5lIElUU19DTURfT0ZGU0VU KHJlZykgICAgICAgICAgICAgKChyZWcpICYgR0VOTUFTSygxOSwgNSkpCiAKQEAgLTY5Miw2ICs3 NDMsMTIgQEAgc3RhdGljIGludCB2Z2ljX2l0c19oYW5kbGVfY21kcyhzdHJ1Y3QgZG9tYWluICpk LCBzdHJ1Y3QgdmlydF9pdHMgKml0cykKICAgICAgICAgY2FzZSBHSVRTX0NNRF9NQVBUSToKICAg ICAgICAgICAgIHJldCA9IGl0c19oYW5kbGVfbWFwdGkoaXRzLCBjb21tYW5kKTsKICAgICAgICAg ICAgIGJyZWFrOworICAgICAgICBjYXNlIEdJVFNfQ01EX01PVkFMTDoKKyAgICAgICAgICAgIGdk cHJpbnRrKFhFTkxPR19HX0lORk8sICJJVFM6IGlnbm9yaW5nIE1PVkFMTCBjb21tYW5kXG4iKTsK KyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIEdJVFNfQ01EX01PVkk6CisgICAgICAg ICAgICByZXQgPSBpdHNfaGFuZGxlX21vdmkoaXRzLCBjb21tYW5kKTsKKyAgICAgICAgICAgIGJy ZWFrOwogICAgICAgICBjYXNlIEdJVFNfQ01EX1NZTkM6CiAgICAgICAgICAgICAvKiBXZSBoYW5k bGUgSVRTIGNvbW1hbmRzIHN5bmNocm9ub3VzbHksIHNvIHdlIGlnbm9yZSBTWU5DLiAqLwogICAg ICAgICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20tYXJtL2dpY192M19p dHMuaCBiL3hlbi9pbmNsdWRlL2FzbS1hcm0vZ2ljX3YzX2l0cy5oCmluZGV4IDdiMTZhZWIuLmVl NjllOWIgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS1hcm0vZ2ljX3YzX2l0cy5oCisrKyBi L3hlbi9pbmNsdWRlL2FzbS1hcm0vZ2ljX3YzX2l0cy5oCkBAIC0xNzUsOCArMTc1LDEyIEBAIGlu dCBnaWN2M19yZW1vdmVfZ3Vlc3RfZXZlbnQoc3RydWN0IGRvbWFpbiAqZCwgcGFkZHJfdCB2ZG9v cmJlbGxfYWRkcmVzcywKIHN0cnVjdCBwZW5kaW5nX2lycSAqZ2ljdjNfYXNzaWduX2d1ZXN0X2V2 ZW50KHN0cnVjdCBkb21haW4gKmQsIHBhZGRyX3QgZG9vcmJlbGwsCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBkZXZpZCwgdWludDMyX3QgZXZl bnRpZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVj dCB2Y3B1ICp2LCB1aW50MzJfdCB2aXJ0X2xwaSk7CitpbnQgZ2ljdjNfbHBpX2NoYW5nZV92Y3B1 KHN0cnVjdCBkb21haW4gKmQsIHBhZGRyX3QgZG9vcmJlbGwsCisgICAgICAgICAgICAgICAgICAg ICAgICAgIHVpbnQzMl90IGRldmlkLCB1aW50MzJfdCBldmVudGlkLAorICAgICAgICAgICAgICAg ICAgICAgICAgICB1bnNpZ25lZCBpbnQgdmNwdV9pZCk7CiB2b2lkIGdpY3YzX2xwaV91cGRhdGVf aG9zdF9lbnRyeSh1aW50MzJfdCBob3N0X2xwaSwgaW50IGRvbWFpbl9pZCwKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCB2Y3B1X2lkLCB1aW50MzJfdCB2aXJ0 X2xwaSk7CitpbnQgZ2ljdjNfbHBpX3VwZGF0ZV9ob3N0X3ZjcHVpZCh1aW50MzJfdCBob3N0X2xw aSwgdW5zaWduZWQgaW50IHZjcHVfaWQpOwogCiAjZWxzZQogCi0tIAoyLjguMgoKCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5n IGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1k ZXZlbAo=