From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andre Przywara Subject: [PATCH v10 14/32] ARM: introduce vgic_access_guest_memory() Date: Fri, 26 May 2017 18:35:22 +0100 Message-ID: <20170526173540.10066-15-andre.przywara@arm.com> References: <20170526173540.10066-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 1dEJ9m-0005L7-Tn for xen-devel@lists.xenproject.org; Fri, 26 May 2017 17:36:11 +0000 In-Reply-To: <20170526173540.10066-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, Vijaya Kumar K , Vijay Kilari , Shanker Donthineni List-Id: xen-devel@lists.xenproject.org RnJvbTogVmlqYXlhIEt1bWFyIEsgPFZpamF5YS5LdW1hckBjYXZpdW1uZXR3b3Jrcy5jb20+CgpU aGlzIGZ1bmN0aW9uIGFsbG93cyB0byBjb3B5IGEgY2h1bmsgb2YgZGF0YSBmcm9tIGFuZCB0byBn dWVzdCBwaHlzaWNhbAptZW1vcnkuIEl0IGxvb2tzIHVwIHRoZSBhc3NvY2lhdGVkIHBhZ2UgZnJv bSB0aGUgZ3Vlc3QncyBwMm0gdHJlZQphbmQgbWFwcyB0aGlzIHBhZ2UgdGVtcG9yYXJpbHkgZm9y IHRoZSB0aW1lIG9mIHRoZSBhY2Nlc3MuClRoaXMgZnVuY3Rpb24gd2FzIG9yaWdpbmFsbHkgd3Jp dHRlbiBieSBWaWpheWEgYXMgcGFydCBvZiBhbiBlYXJsaWVyIHNlcmllczoKaHR0cHM6Ly9wYXRj aHdvcmsua2VybmVsLm9yZy9wYXRjaC84MTc3MjUxCgpTaWduZWQtb2ZmLWJ5OiBWaWpheWEgS3Vt YXIgSyA8VmlqYXlhLkt1bWFyQGNhdml1bW5ldHdvcmtzLmNvbT4KU2lnbmVkLW9mZi1ieTogQW5k cmUgUHJ6eXdhcmEgPGFuZHJlLnByenl3YXJhQGFybS5jb20+ClJldmlld2VkLWJ5OiBKdWxpZW4g R3JhbGwgPGp1bGllbi5ncmFsbEBhcm0uY29tPgotLS0KIHhlbi9hcmNoL2FybS92Z2ljLmMgICAg ICAgIHwgNTAgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwog eGVuL2luY2x1ZGUvYXNtLWFybS92Z2ljLmggfCAgMyArKysKIDIgZmlsZXMgY2hhbmdlZCwgNTMg aW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS92Z2ljLmMgYi94ZW4vYXJj aC9hcm0vdmdpYy5jCmluZGV4IDZiNWMwYjEuLjU3NTFkNzkgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNo L2FybS92Z2ljLmMKKysrIGIveGVuL2FyY2gvYXJtL3ZnaWMuYwpAQCAtMjAsNiArMjAsNyBAQAog I2luY2x1ZGUgPHhlbi9iaXRvcHMuaD4KICNpbmNsdWRlIDx4ZW4vbGliLmg+CiAjaW5jbHVkZSA8 eGVuL2luaXQuaD4KKyNpbmNsdWRlIDx4ZW4vZG9tYWluX3BhZ2UuaD4KICNpbmNsdWRlIDx4ZW4v c29mdGlycS5oPgogI2luY2x1ZGUgPHhlbi9pcnEuaD4KICNpbmNsdWRlIDx4ZW4vc2NoZWQuaD4K QEAgLTYzNyw2ICs2MzgsNTUgQEAgdm9pZCB2Z2ljX2ZyZWVfdmlycShzdHJ1Y3QgZG9tYWluICpk LCB1bnNpZ25lZCBpbnQgdmlycSkKIH0KIAogLyoKKyAqIFRlbXBvcmFyaWx5IG1hcCBvbmUgcGh5 c2ljYWwgZ3Vlc3QgcGFnZSBhbmQgY29weSBkYXRhIHRvIG9yIGZyb20gaXQuCisgKiBUaGUgZGF0 YSB0byBiZSBjb3BpZWQgY2Fubm90IGNyb3NzIGEgcGFnZSBib3VuZGFyeS4KKyAqLworaW50IHZn aWNfYWNjZXNzX2d1ZXN0X21lbW9yeShzdHJ1Y3QgZG9tYWluICpkLCBwYWRkcl90IGdwYSwgdm9p ZCAqYnVmLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzaXplLCBib29s IGlzX3dyaXRlKQoreworICAgIHN0cnVjdCBwYWdlX2luZm8gKnBhZ2U7CisgICAgdWludDY0X3Qg b2Zmc2V0ID0gZ3BhICYgflBBR0VfTUFTSzsgIC8qIE9mZnNldCB3aXRoaW4gdGhlIG1hcHBlZCBw YWdlICovCisgICAgcDJtX3R5cGVfdCBwMm10OworICAgIHZvaWQgKnA7CisKKyAgICAvKiBEbyBu b3QgY3Jvc3MgYSBwYWdlIGJvdW5kYXJ5LiAqLworICAgIGlmICggc2l6ZSA+IChQQUdFX1NJWkUg LSBvZmZzZXQpICkKKyAgICB7CisgICAgICAgIHByaW50ayhYRU5MT0dfR19FUlIgImQlZDogdklU UzogbWVtb3J5IGFjY2VzcyB3b3VsZCBjcm9zcyBwYWdlIGJvdW5kYXJ5XG4iLAorICAgICAgICAg ICAgICAgZC0+ZG9tYWluX2lkKTsKKyAgICAgICAgcmV0dXJuIC1FSU5WQUw7CisgICAgfQorCisg ICAgcGFnZSA9IGdldF9wYWdlX2Zyb21fZ2ZuKGQsIHBhZGRyX3RvX3BmbihncGEpLCAmcDJtdCwg UDJNX0FMTE9DKTsKKyAgICBpZiAoICFwYWdlICkKKyAgICB7CisgICAgICAgIHByaW50ayhYRU5M T0dfR19FUlIgImQlZDogdklUUzogRmFpbGVkIHRvIGdldCB0YWJsZSBlbnRyeVxuIiwKKyAgICAg ICAgICAgICAgIGQtPmRvbWFpbl9pZCk7CisgICAgICAgIHJldHVybiAtRUlOVkFMOworICAgIH0K KworICAgIGlmICggIXAybV9pc19yYW0ocDJtdCkgKQorICAgIHsKKyAgICAgICAgcHV0X3BhZ2Uo cGFnZSk7CisgICAgICAgIHByaW50ayhYRU5MT0dfR19FUlIgImQlZDogdklUUzogbWVtb3J5IHVz ZWQgYnkgdGhlIElUUyBzaG91bGQgYmUgUkFNLiIsCisgICAgICAgICAgICAgICBkLT5kb21haW5f aWQpOworICAgICAgICByZXR1cm4gLUVJTlZBTDsKKyAgICB9CisKKyAgICBwID0gX19tYXBfZG9t YWluX3BhZ2UocGFnZSk7CisKKyAgICBpZiAoIGlzX3dyaXRlICkKKyAgICAgICAgbWVtY3B5KHAg KyBvZmZzZXQsIGJ1Ziwgc2l6ZSk7CisgICAgZWxzZQorICAgICAgICBtZW1jcHkoYnVmLCBwICsg b2Zmc2V0LCBzaXplKTsKKworICAgIHVubWFwX2RvbWFpbl9wYWdlKHApOworICAgIHB1dF9wYWdl KHBhZ2UpOworCisgICAgcmV0dXJuIDA7Cit9CisKKy8qCiAgKiBMb2NhbCB2YXJpYWJsZXM6CiAg KiBtb2RlOiBDCiAgKiBjLWZpbGUtc3R5bGU6ICJCU0QiCmRpZmYgLS1naXQgYS94ZW4vaW5jbHVk ZS9hc20tYXJtL3ZnaWMuaCBiL3hlbi9pbmNsdWRlL2FzbS1hcm0vdmdpYy5oCmluZGV4IDA3YjU2 ZGMuLjAyNzMyZGIgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS1hcm0vdmdpYy5oCisrKyBi L3hlbi9pbmNsdWRlL2FzbS1hcm0vdmdpYy5oCkBAIC0zMTUsNiArMzE1LDkgQEAgZXh0ZXJuIHZv aWQgcmVnaXN0ZXJfdmdpY19vcHMoc3RydWN0IGRvbWFpbiAqZCwgY29uc3Qgc3RydWN0IHZnaWNf b3BzICpvcHMpOwogaW50IHZnaWNfdjJfaW5pdChzdHJ1Y3QgZG9tYWluICpkLCBpbnQgKm1taW9f Y291bnQpOwogaW50IHZnaWNfdjNfaW5pdChzdHJ1Y3QgZG9tYWluICpkLCBpbnQgKm1taW9fY291 bnQpOwogCitpbnQgdmdpY19hY2Nlc3NfZ3Vlc3RfbWVtb3J5KHN0cnVjdCBkb21haW4gKmQsIHBh ZGRyX3QgZ3BhLCB2b2lkICpidWYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQz Ml90IHNpemUsIGJvb2xfdCBpc193cml0ZSk7CisKIGV4dGVybiBpbnQgZG9tYWluX3ZnaWNfcmVn aXN0ZXIoc3RydWN0IGRvbWFpbiAqZCwgaW50ICptbWlvX2NvdW50KTsKIGV4dGVybiBpbnQgdmNw dV92Z2ljX2ZyZWUoc3RydWN0IHZjcHUgKnYpOwogZXh0ZXJuIGJvb2wgdmdpY190b19zZ2koc3Ry dWN0IHZjcHUgKnYsIHJlZ2lzdGVyX3Qgc2dpciwKLS0gCjIuOS4wCgoKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApY ZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==