From mboxrd@z Thu Jan 1 00:00:00 1970 From: Roger Pau Monne Subject: [PATCH v3 24/32] xen: allow HVM guests to use XENMEM_memory_map Date: Fri, 3 Jul 2015 13:35:02 +0200 Message-ID: <1435923310-9019-25-git-send-email-roger.pau@citrix.com> References: <1435923310-9019-1-git-send-email-roger.pau@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta14.messagelabs.com ([193.109.254.103]) by lists.xen.org with esmtp (Exim 4.72) (envelope-from ) id 1ZAzPm-0004tJ-SE for xen-devel@lists.xenproject.org; Fri, 03 Jul 2015 11:45:54 +0000 In-Reply-To: <1435923310-9019-1-git-send-email-roger.pau@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: xen-devel@lists.xenproject.org Cc: Wei Liu , Ian Campbell , Stefano Stabellini , Andrew Cooper , Ian Jackson , Jan Beulich , Roger Pau Monne List-Id: xen-devel@lists.xenproject.org RW5hYmxlIHRoaXMgaHlwZXJjYWxsIGZvciBIVk0gZ3Vlc3RzIGluIG9yZGVyIHRvIGZldGNoIHRo ZSBlODIwIG1lbW9yeQptYXAgaW4gdGhlIGFic2VuY2Ugb2YgYW4gZW11bGF0ZWQgQklPUy4gVGhl IG1lbW9yeSBtYXAgaXMgcG9wdWxhdGVkIGFuZApub3RpZmllZCB0byBYZW4gaW4gYXJjaF9zZXR1 cF9tZW1pbml0X2h2bS4KClNpZ25lZC1vZmYtYnk6IFJvZ2VyIFBhdSBNb25uw6kgPHJvZ2VyLnBh dUBjaXRyaXguY29tPgpDYzogSWFuIEphY2tzb24gPGlhbi5qYWNrc29uQGV1LmNpdHJpeC5jb20+ CkNjOiBTdGVmYW5vIFN0YWJlbGxpbmkgPHN0ZWZhbm8uc3RhYmVsbGluaUBldS5jaXRyaXguY29t PgpDYzogSWFuIENhbXBiZWxsIDxpYW4uY2FtcGJlbGxAY2l0cml4LmNvbT4KQ2M6IFdlaSBMaXUg PHdlaS5saXUyQGNpdHJpeC5jb20+CkNjOiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+ CkNjOiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPgotLS0KIHRvb2xz L2xpYnhjL3hjX2RvbV94ODYuYyB8IDI5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKystCiB4 ZW4vYXJjaC94ODYvaHZtL2h2bS5jICAgfCAgMiAtLQogeGVuL2FyY2gveDg2L21tLmMgICAgICAg IHwgIDYgLS0tLS0tCiAzIGZpbGVzIGNoYW5nZWQsIDI4IGluc2VydGlvbnMoKyksIDkgZGVsZXRp b25zKC0pCgpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGMveGNfZG9tX3g4Ni5jIGIvdG9vbHMvbGli eGMveGNfZG9tX3g4Ni5jCmluZGV4IDMzNmVhYjQuLjQ1YjFmMDMgMTAwNjQ0Ci0tLSBhL3Rvb2xz L2xpYnhjL3hjX2RvbV94ODYuYworKysgYi90b29scy9saWJ4Yy94Y19kb21feDg2LmMKQEAgLTEx MTMsNiArMTExMyw3IEBAIHN0YXRpYyBpbnQgY2hlY2tfbW1pb19ob2xlKHVpbnQ2NF90IHN0YXJ0 LCB1aW50NjRfdCBtZW1zaXplLAogICAgICAgICByZXR1cm4gMTsKIH0KIAorI2RlZmluZSBNQVhf RTgyMF9FTlRSSUVTICAgIDEyOAogc3RhdGljIGludCBtZW1pbml0X2h2bShzdHJ1Y3QgeGNfZG9t X2ltYWdlICpkb20pCiB7CiAgICAgdW5zaWduZWQgbG9uZyBpLCB2bWVtaWQsIG5yX3BhZ2VzID0g ZG9tLT50b3RhbF9wYWdlczsKQEAgLTExMzMsNiArMTEzNCw4IEBAIHN0YXRpYyBpbnQgbWVtaW5p dF9odm0oc3RydWN0IHhjX2RvbV9pbWFnZSAqZG9tKQogICAgIHVuc2lnbmVkIGludCBucl92bWVt cmFuZ2VzLCBucl92bm9kZXM7CiAgICAgeGNfaW50ZXJmYWNlICp4Y2ggPSBkb20tPnhjaDsKICAg ICB1aW50MzJfdCBkb21pZCA9IGRvbS0+Z3Vlc3RfZG9taWQ7CisgICAgc3RydWN0IGU4MjBlbnRy eSBlbnRyaWVzW01BWF9FODIwX0VOVFJJRVNdOworICAgIGludCBlODIwX2luZGV4ID0gMDsKIAog ICAgIGlmICggbnJfcGFnZXMgPiB0YXJnZXRfcGFnZXMgKQogICAgICAgICBtZW1mbGFncyB8PSBY RU5NRU1GX3BvcHVsYXRlX29uX2RlbWFuZDsKQEAgLTExODMsNiArMTE4NiwxMyBAQCBzdGF0aWMg aW50IG1lbWluaXRfaHZtKHN0cnVjdCB4Y19kb21faW1hZ2UgKmRvbSkKICAgICAgICAgdm5vZGVf dG9fcG5vZGUgPSBkb20tPnZub2RlX3RvX3Bub2RlOwogICAgIH0KIAorICAgIC8qIEFkZCBvbmUg YWRkaXRpb25hbCBtZW1vcnkgcmFuZ2UgdG8gYWNjb3VudCBmb3IgdGhlIFZHQSBob2xlICovCisg ICAgaWYgKCAobnJfdm1lbXJhbmdlcyArIChkb20tPmVtdWxhdGlvbiA/IDEgOiAwKSkgPiBNQVhf RTgyMF9FTlRSSUVTICkKKyAgICB7CisgICAgICAgIERPTVBSSU5URigiVG9vIG1hbnkgbWVtb3J5 IHJhbmdlcyIpOworICAgICAgICBnb3RvIGVycm9yX291dDsKKyAgICB9CisKICAgICB0b3RhbF9w YWdlcyA9IDA7CiAgICAgcDJtX3NpemUgPSAwOwogICAgIGZvciAoIGkgPSAwOyBpIDwgbnJfdm1l bXJhbmdlczsgaSsrICkKQEAgLTEyNzEsOSArMTI4MSwxMyBAQCBzdGF0aWMgaW50IG1lbWluaXRf aHZtKHN0cnVjdCB4Y19kb21faW1hZ2UgKmRvbSkKICAgICAgKiBVbmRlciAyTUIgbW9kZSwgd2Ug YWxsb2NhdGUgcGFnZXMgaW4gYmF0Y2hlcyBvZiBubyBtb3JlIHRoYW4gOE1CIHRvIAogICAgICAq IGVuc3VyZSB0aGF0IHdlIGNhbiBiZSBwcmVlbXB0ZWQgYW5kIGhlbmNlIGRvbTAgcmVtYWlucyBy ZXNwb25zaXZlLgogICAgICAqLwotICAgIGlmICggZG9tLT5lbXVsYXRpb24gKQorICAgIGlmICgg ZG9tLT5lbXVsYXRpb24gKSB7CiAgICAgICAgIHJjID0geGNfZG9tYWluX3BvcHVsYXRlX3BoeXNt YXBfZXhhY3QoCiAgICAgICAgICAgICB4Y2gsIGRvbWlkLCAweGEwLCAwLCBtZW1mbGFncywgJmRv bS0+cDJtX2hvc3RbMHgwMF0pOworICAgICAgICBlbnRyaWVzW2U4MjBfaW5kZXhdLmFkZHIgPSAw OworICAgICAgICBlbnRyaWVzW2U4MjBfaW5kZXhdLnNpemUgPSAweGEwIDw8IFBBR0VfU0hJRlQ7 CisgICAgICAgIGVudHJpZXNbZTgyMF9pbmRleCsrXS50eXBlID0gRTgyMF9SQU07CisgICAgfQog CiAgICAgc3RhdF9ub3JtYWxfcGFnZXMgPSAwOwogICAgIGZvciAoIHZtZW1pZCA9IDA7IHZtZW1p ZCA8IG5yX3ZtZW1yYW5nZXM7IHZtZW1pZCsrICkKQEAgLTEzMDAsNiArMTMxNCwxMiBAQCBzdGF0 aWMgaW50IG1lbWluaXRfaHZtKHN0cnVjdCB4Y19kb21faW1hZ2UgKmRvbSkKICAgICAgICAgZWxz ZQogICAgICAgICAgICAgY3VyX3BhZ2VzID0gdm1lbXJhbmdlc1t2bWVtaWRdLnN0YXJ0ID4+IFBB R0VfU0hJRlQ7CiAKKyAgICAgICAgICAgICAgICAvKiBCdWlsZCBhbiBlODIwIG1hcC4gKi8KKyAg ICAgICAgZW50cmllc1tlODIwX2luZGV4XS5hZGRyID0gY3VyX3BhZ2VzIDw8IFBBR0VfU0hJRlQ7 CisgICAgICAgIGVudHJpZXNbZTgyMF9pbmRleF0uc2l6ZSA9IHZtZW1yYW5nZXNbdm1lbWlkXS5l bmQgLQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnRyaWVzW2U4MjBfaW5k ZXhdLmFkZHI7CisgICAgICAgIGVudHJpZXNbZTgyMF9pbmRleCsrXS50eXBlID0gRTgyMF9SQU07 CisKICAgICAgICAgd2hpbGUgKCAocmMgPT0gMCkgJiYgKGVuZF9wYWdlcyA+IGN1cl9wYWdlcykg KQogICAgICAgICB7CiAgICAgICAgICAgICAvKiBDbGlwIGNvdW50IHRvIG1heGltdW0gMUdCIGV4 dGVudC4gKi8KQEAgLTE0MTcsNiArMTQzNywxMyBAQCBzdGF0aWMgaW50IG1lbWluaXRfaHZtKHN0 cnVjdCB4Y19kb21faW1hZ2UgKmRvbSkKICAgICBEUFJJTlRGKCIgIDJNQiBQQUdFUzogMHglMDE2 bHhcbiIsIHN0YXRfMm1iX3BhZ2VzKTsKICAgICBEUFJJTlRGKCIgIDFHQiBQQUdFUzogMHglMDE2 bHhcbiIsIHN0YXRfMWdiX3BhZ2VzKTsKIAorICAgIHJjID0geGNfZG9tYWluX3NldF9tZW1vcnlf bWFwKHhjaCwgZG9taWQsIGVudHJpZXMsIGU4MjBfaW5kZXgpOworICAgIGlmICggcmMgIT0gMCAp CisgICAgeworICAgICAgICBET01QUklOVEYoInVuYWJsZSB0byBzZXQgbWVtb3J5IG1hcC4iKTsK KyAgICAgICAgZ290byBlcnJvcl9vdXQ7CisgICAgfQorCiAgICAgcmMgPSAwOwogICAgIGdvdG8g b3V0OwogIGVycm9yX291dDoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9odm0vaHZtLmMgYi94 ZW4vYXJjaC94ODYvaHZtL2h2bS5jCmluZGV4IDljNmU3ZmQuLjc1YTU1NjYgMTAwNjQ0Ci0tLSBh L3hlbi9hcmNoL3g4Ni9odm0vaHZtLmMKKysrIGIveGVuL2FyY2gveDg2L2h2bS9odm0uYwpAQCAt NDc2NSw3ICs0NzY1LDYgQEAgc3RhdGljIGxvbmcgaHZtX21lbW9yeV9vcChpbnQgY21kLCBYRU5f R1VFU1RfSEFORExFX1BBUkFNKHZvaWQpIGFyZykKIAogICAgIHN3aXRjaCAoIGNtZCAmIE1FTU9Q X0NNRF9NQVNLICkKICAgICB7Ci0gICAgY2FzZSBYRU5NRU1fbWVtb3J5X21hcDoKICAgICBjYXNl IFhFTk1FTV9tYWNoaW5lX21lbW9yeV9tYXA6CiAgICAgY2FzZSBYRU5NRU1fbWFjaHBoeXNfbWFw cGluZzoKICAgICAgICAgcmV0dXJuIC1FTk9TWVM7CkBAIC00ODQxLDcgKzQ4NDAsNiBAQCBzdGF0 aWMgbG9uZyBodm1fbWVtb3J5X29wX2NvbXBhdDMyKGludCBjbWQsIFhFTl9HVUVTVF9IQU5ETEVf UEFSQU0odm9pZCkgYXJnKQogCiAgICAgc3dpdGNoICggY21kICYgTUVNT1BfQ01EX01BU0sgKQog ICAgIHsKLSAgICBjYXNlIFhFTk1FTV9tZW1vcnlfbWFwOgogICAgIGNhc2UgWEVOTUVNX21hY2hp bmVfbWVtb3J5X21hcDoKICAgICBjYXNlIFhFTk1FTV9tYWNocGh5c19tYXBwaW5nOgogICAgICAg ICByZXR1cm4gLUVOT1NZUzsKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9tbS5jIGIveGVuL2Fy Y2gveDg2L21tLmMKaW5kZXggZmQxNTFjNi4uOTJlY2NkMCAxMDA2NDQKLS0tIGEveGVuL2FyY2gv eDg2L21tLmMKKysrIGIveGVuL2FyY2gveDg2L21tLmMKQEAgLTQ3MTcsMTIgKzQ3MTcsNiBAQCBs b25nIGFyY2hfbWVtb3J5X29wKHVuc2lnbmVkIGxvbmcgY21kLCBYRU5fR1VFU1RfSEFORExFX1BB UkFNKHZvaWQpIGFyZykKICAgICAgICAgICAgIHJldHVybiByYzsKICAgICAgICAgfQogCi0gICAg ICAgIGlmICggaXNfaHZtX2RvbWFpbihkKSApCi0gICAgICAgIHsKLSAgICAgICAgICAgIHJjdV91 bmxvY2tfZG9tYWluKGQpOwotICAgICAgICAgICAgcmV0dXJuIC1FUEVSTTsKLSAgICAgICAgfQot CiAgICAgICAgIGU4MjAgPSB4bWFsbG9jX2FycmF5KGU4MjBlbnRyeV90LCBmbWFwLm1hcC5ucl9l bnRyaWVzKTsKICAgICAgICAgaWYgKCBlODIwID09IE5VTEwgKQogICAgICAgICB7Ci0tIAoxLjku NSAoQXBwbGUgR2l0LTUwLjMpCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9y ZwpodHRwOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK