From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefano Stabellini Subject: [PATCH v5 11/25] xen/arm: introduce allocate_memory Date: Mon, 22 Oct 2018 19:02:50 -0700 Message-ID: <1540260184-11294-11-git-send-email-sstabellini@kernel.org> References: Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: julien.grall@arm.com Cc: Stefano Stabellini , Achin.Gupta@arm.com, sstabellini@kernel.org, andrii_anisov@epam.com, xen-devel@lists.xen.org List-Id: xen-devel@lists.xenproject.org SW50cm9kdWNlIGFuIGFsbG9jYXRlX21lbW9yeSBmdW5jdGlvbiBhYmxlIHRvIGFsbG9jYXRlIG1l bW9yeSBmb3IgRG9tVXMKYW5kIG1hcCBpdCBhdCB0aGUgcmlnaHQgZ3Vlc3QgYWRkcmVzc2VzLCBh Y2NvcmRpbmcgdG8gdGhlIGd1ZXN0IG1lbW9yeQptYXA6IEdVRVNUX1JBTTBfQkFTRSBhbmQgR1VF U1RfUkFNMV9CQVNFLgoKVGhpcyBpcyB1bmRlciAjaWYgMCBhcyBub3QgdXNlZCBmb3Igbm93LgoK U2lnbmVkLW9mZi1ieTogU3RlZmFubyBTdGFiZWxsaW5pIDxzdGVmYW5vc0B4aWxpbnguY29tPgot LS0KQ2hhbmdlcyBpbiB2NToKLSBpbXByb3ZlIGNvbW1pdCBtZXNzYWdlCi0gY29kZSBzdHlsZQot IHJlbW92ZSB1bm5lZWRlZCBsb2NhbCB2YXIKLSB3aGlsZSBsb29wIGluIGFsbG9jYXRlX2Jhbmtf bWVtb3J5IHRvIGFsbG9jYXRlIG1lbW9yeSBzbyB0aGF0IGl0CiAgZG9lc24ndCBoYXZlIHRvIGJl IGNvbnRpZ3VvcwotIGNvbWJpbGUgd2hpbGUgbG9vcHMgaW4gYWxsb2NhdGVfbWVtb3J5CgpDaGFu Z2VzIGluIHY0OgotIG1vdmUgZWFybGllciwgYWRkICNpZiAwCi0gaW50cm9kdWNlIGFsbG9jYXRl X2JhbmtfbWVtb3J5LCByZW1vdmUgaW5zZXJ0X2JhbmsKLSBhbGxvY2F0ZV9iYW5rX21lbW9yeSBh bGxvY2F0ZSBtZW1vcnkgYW5kIGluc2VydHMgdGhlIGJhbmssIHdoaWxlCiAgYWxsb2NhdGVfbWVt b3J5IHNwZWNpZmllcyB3aGVyZSB0byBkbyB0aGF0CgpDaGFuZ2VzIGluIHYzOgotIG5ldyBwYXRj aAotLS0KIHhlbi9hcmNoL2FybS9kb21haW5fYnVpbGQuYyB8IDk5ICsrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKwogMSBmaWxlIGNoYW5nZWQsIDk5IGluc2VydGlv bnMoKykKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vZG9tYWluX2J1aWxkLmMgYi94ZW4vYXJj aC9hcm0vZG9tYWluX2J1aWxkLmMKaW5kZXggYzYxYTI3Zi4uMTQ2ZDgxZSAxMDA2NDQKLS0tIGEv eGVuL2FyY2gvYXJtL2RvbWFpbl9idWlsZC5jCisrKyBiL3hlbi9hcmNoL2FybS9kb21haW5fYnVp bGQuYwpAQCAtMzY4LDYgKzM2OCwxMDUgQEAgc3RhdGljIHZvaWQgX19pbml0IGFsbG9jYXRlX21l bW9yeV8xMShzdHJ1Y3QgZG9tYWluICpkLAogICAgIH0KIH0KIAorI2lmIDAKK3N0YXRpYyBib29s IF9faW5pdCBhbGxvY2F0ZV9iYW5rX21lbW9yeShzdHJ1Y3QgZG9tYWluICpkLAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBrZXJuZWxfaW5mbyAqa2luZm8s CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2ZuX3Qgc2dmbiwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgb3JkZXIp Cit7CisgICAgaW50IHJlczsKKyAgICBzdHJ1Y3QgcGFnZV9pbmZvICpwZzsKKyAgICBzdHJ1Y3Qg bWVtYmFuayAqYmFuazsKKyAgICBwYWRkcl90IHNpemUgPSBwZm5fdG9fcGFkZHIoMVVMIDw8IG9y ZGVyKTsKKyAgICBnZm5fdCBfc2dmbiA9IHNnZm47CisgICAgZ2ZuX3QgX2VnZm4gPSBnZm5fYWRk KHNnZm4sIDFVTCA8PCBvcmRlcik7CisKKyAgICB3aGlsZSAoIGdmbl94KF9zZ2ZuKSA8IGdmbl94 KF9lZ2ZuKSApCisgICAgeworICAgICAgICBwZyA9IGFsbG9jX2RvbWhlYXBfcGFnZXMoZCwgb3Jk ZXIsIDApOworICAgICAgICBpZiAoIHBnICE9IE5VTEwgKQorICAgICAgICB7CisgICAgICAgICAg ICByZXMgPSBndWVzdF9waHlzbWFwX2FkZF9wYWdlKGQsIF9zZ2ZuLCBwYWdlX3RvX21mbihwZyks IG9yZGVyKTsKKyAgICAgICAgICAgIGlmICggcmVzICkKKyAgICAgICAgICAgIHsKKyAgICAgICAg ICAgICAgICBkcHJpbnRrKFhFTkxPR19FUlIsICJGYWlsZWQgbWFwIHBhZ2VzIHRvIERPTVU6ICVk IiwgcmVzKTsKKyAgICAgICAgICAgICAgICBnb3RvIGZhaWw7CisgICAgICAgICAgICB9CisgICAg ICAgICAgICBfc2dmbiA9IGdmbl9hZGQoX3NnZm4sIDFVTCA8PCBvcmRlcik7CisgICAgICAgIH0K KyAgICAgICAgZWxzZQorICAgICAgICB7CisgICAgICAgICAgICBvcmRlci0tOworICAgICAgICAg ICAgaWYgKCBvcmRlciA9PSAwICkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBkcHJp bnRrKFhFTkxPR19FUlIsICJGYWlsZWQgdG8gYWxsb2NhdGVkIERPTVUgbWVtb3J5Iik7CisgICAg ICAgICAgICAgICAgZ290byBmYWlsOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQor CisgICAgYmFuayA9ICZraW5mby0+bWVtLmJhbmtba2luZm8tPm1lbS5ucl9iYW5rc107CisgICAg YmFuay0+c3RhcnQgPSBnZm5fdG9fZ2FkZHIoc2dmbik7CisgICAgYmFuay0+c2l6ZSA9IHNpemU7 CisgICAga2luZm8tPm1lbS5ucl9iYW5rcysrOworICAgIGtpbmZvLT51bmFzc2lnbmVkX21lbSAt PSBzaXplOworCisgICAgcmV0dXJuIHRydWU7CisKK2ZhaWw6CisgICAgLyoKKyAgICAgKiBGYXRh bCBmYWlsdXJlLCBkb24ndCBhdHRlbXB0IHRvIGZyZWUgbWVtb3J5LgorICAgICAqLworICAgIHJl dHVybiBmYWxzZTsKK30KKworc3RhdGljIHZvaWQgX19pbml0IGFsbG9jYXRlX21lbW9yeShzdHJ1 Y3QgZG9tYWluICpkLCBzdHJ1Y3Qga2VybmVsX2luZm8gKmtpbmZvKQoreworICAgIHVuc2lnbmVk IGludCBvcmRlciA9IGdldF9hbGxvY2F0aW9uX3NpemUoa2luZm8tPnVuYXNzaWduZWRfbWVtKTsK KyAgICB1bnNpZ25lZCBpbnQgb3JkZXJfcmVxOworICAgIHVuc2lnbmVkIGludCBpOworCisgICAg ZHByaW50ayhYRU5MT0dfSU5GTywgIkFsbG9jYXRpbmcgbWFwcGluZ3MgdG90YWxsaW5nICVsZE1C IGZvciBkb20lZDpcbiIsCisgICAgICAgICAgICAvKiBEb24ndCB3YW50IGZvcm1hdCB0aGlzIGFz IFBSSXBhZGRyICgxNiBkaWdpdCBoZXgpICovCisgICAgICAgICAgICAodW5zaWduZWQgbG9uZyko a2luZm8tPnVuYXNzaWduZWRfbWVtID4+IDIwKSwgZC0+ZG9tYWluX2lkKTsKKworICAgIGtpbmZv LT5tZW0ubnJfYmFua3MgPSAwOworCisgICAgb3JkZXIgPSBnZXRfYWxsb2NhdGlvbl9zaXplKGtp bmZvLT51bmFzc2lnbmVkX21lbSk7CisgICAgaWYgKCBvcmRlciA+IGdldF9vcmRlcl9mcm9tX2J5 dGVzKEdVRVNUX1JBTTBfU0laRSkgKQorICAgICAgICBvcmRlcl9yZXEgPSBnZXRfb3JkZXJfZnJv bV9ieXRlcyhHVUVTVF9SQU0wX1NJWkUpOworICAgIGVsc2UKKyAgICAgICAgb3JkZXJfcmVxID0g b3JkZXI7CisgICAgaWYgKCAhYWxsb2NhdGVfYmFua19tZW1vcnkoZCwga2luZm8sIGdhZGRyX3Rv X2dmbihHVUVTVF9SQU0wX0JBU0UpLCBvcmRlcl9yZXEpICkKKyAgICAgICAgZ290byBmYWlsOwor CisgICAgb3JkZXIgLT0gb3JkZXJfcmVxOworICAgIGlmICggb3JkZXIgPiAwICYmCisgICAgICAg ICAhYWxsb2NhdGVfYmFua19tZW1vcnkoZCwga2luZm8sIGdhZGRyX3RvX2dmbihHVUVTVF9SQU0x X0JBU0UpLCBvcmRlcikgKQorICAgICAgICBnb3RvIGZhaWw7CisKKyAgICBmb3IoIGkgPSAwOyBp IDwga2luZm8tPm1lbS5ucl9iYW5rczsgaSsrICkKKyAgICB7CisgICAgICAgIGRwcmludGsoWEVO TE9HX0lORk8sICJEb20lZCBCQU5LWyVkXSAlIyJQUklwYWRkciItJSMiUFJJcGFkZHIiICglbGRN QilcbiIsCisgICAgICAgICAgICAgICAgZC0+ZG9tYWluX2lkLAorICAgICAgICAgICAgICAgIGks CisgICAgICAgICAgICAgICAga2luZm8tPm1lbS5iYW5rW2ldLnN0YXJ0LAorICAgICAgICAgICAg ICAgIGtpbmZvLT5tZW0uYmFua1tpXS5zdGFydCArIGtpbmZvLT5tZW0uYmFua1tpXS5zaXplLAor ICAgICAgICAgICAgICAgIC8qIERvbid0IHdhbnQgZm9ybWF0IHRoaXMgYXMgUFJJcGFkZHIgKDE2 IGRpZ2l0IGhleCkgKi8KKyAgICAgICAgICAgICAgICAodW5zaWduZWQgbG9uZykoa2luZm8tPm1l bS5iYW5rW2ldLnNpemUgPj4gMjApKTsKKyAgICB9CisKKyAgICByZXR1cm47CisKK2ZhaWw6Cisg ICAgZHByaW50ayhYRU5MT0dfRVJSLCAiRmFpbGVkIHRvIGFsbG9jYXRlIHJlcXVlc3RlZCBkb21h aW4gbWVtb3J5LiIKKyAgICAgICAgICAgIC8qIERvbid0IHdhbnQgZm9ybWF0IHRoaXMgYXMgUFJJ cGFkZHIgKDE2IGRpZ2l0IGhleCkgKi8KKyAgICAgICAgICAgICIgJWxkS0IgdW5hbGxvY2F0ZWQu IEZpeCB0aGUgVk1zIGNvbmZpZ3VyYXRpb25zLlxuIiwKKyAgICAgICAgICAgICh1bnNpZ25lZCBs b25nKWtpbmZvLT51bmFzc2lnbmVkX21lbSA+PiAxMCk7CisgICAgQlVHKCk7Cit9CisjZW5kaWYK Kwogc3RhdGljIGludCBfX2luaXQgd3JpdGVfcHJvcGVydGllcyhzdHJ1Y3QgZG9tYWluICpkLCBz dHJ1Y3Qga2VybmVsX2luZm8gKmtpbmZvLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBjb25zdCBzdHJ1Y3QgZHRfZGV2aWNlX25vZGUgKm5vZGUpCiB7Ci0tIAoxLjkuMQoKCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBt YWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMu eGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=