From mboxrd@z Thu Jan 1 00:00:00 1970 From: Roger Pau Monne Subject: [PATCH RFC v1 12/13] xen: allow 64bit HVM guests to use XENMEM_memory_map Date: Mon, 22 Jun 2015 18:11:26 +0200 Message-ID: <1434989487-74940-13-git-send-email-roger.pau@citrix.com> References: <1434989487-74940-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.bemta3.messagelabs.com ([195.245.230.39]) by lists.xen.org with esmtp (Exim 4.72) (envelope-from ) id 1Z74NX-0000sr-A1 for xen-devel@lists.xenproject.org; Mon, 22 Jun 2015 16:15:23 +0000 In-Reply-To: <1434989487-74940-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: Elena Ufimtseva , Wei Liu , Ian Campbell , Stefano Stabellini , Andrew Cooper , Ian Jackson , Jan Beulich , Boris Ostrovsky , Roger Pau Monne List-Id: xen-devel@lists.xenproject.org RW5hYmxlIHRoaXMgaHlwZXJjYWxsIGZvciA2NGJpdCBIVk0gZ3Vlc3RzIGluIG9yZGVyIHRvIGZl dGNoIHRoZSBlODIwIG1lbW9yeQptYXAgaW4gdGhlIGFic2VuY2Ugb2YgYW4gZW11bGF0ZWQgQklP Uy4gVGhlIG1lbW9yeSBtYXAgaXMgcG9wdWxhdGVkIGFuZApub3RpZmllZCB0byBYZW4gaW4gYXJj aF9zZXR1cF9tZW1pbml0X2h2bS4KClNpZ25lZC1vZmYtYnk6IFJvZ2VyIFBhdSBNb25uw6kgPHJv Z2VyLnBhdUBjaXRyaXguY29tPgpDYzogSWFuIEphY2tzb24gPGlhbi5qYWNrc29uQGV1LmNpdHJp eC5jb20+CkNjOiBTdGVmYW5vIFN0YWJlbGxpbmkgPHN0ZWZhbm8uc3RhYmVsbGluaUBldS5jaXRy aXguY29tPgpDYzogSWFuIENhbXBiZWxsIDxpYW4uY2FtcGJlbGxAY2l0cml4LmNvbT4KQ2M6IFdl aSBMaXUgPHdlaS5saXUyQGNpdHJpeC5jb20+CkNjOiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3Vz ZS5jb20+CkNjOiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPgpDYzog Qm9yaXMgT3N0cm92c2t5IDxib3Jpcy5vc3Ryb3Zza3lAb3JhY2xlLmNvbT4KQ2M6IEtvbnJhZCBS emVzenV0ZWsgV2lsayA8a29ucmFkLndpbGtAb3JhY2xlLmNvbT4KQ2M6IEVsZW5hIFVmaW10c2V2 YSA8ZWxlbmEudWZpbXRzZXZhQG9yYWNsZS5jb20+Ci0tLQpJIHNlZSBubyByZWFzb24gdG8gbm90 IGVuYWJsZSBpdCBmb3IgMzJiaXQgSFZNIGd1ZXN0cywgYnV0IGxldCdzIGxlYXZlIHRoYXQKZm9y IGxhdGVyLgotLS0KIHRvb2xzL2xpYnhjL3hjX2RvbV94ODYuYyB8IDI5ICsrKysrKysrKysrKysr KysrKysrKysrKysrKystCiB4ZW4vYXJjaC94ODYvaHZtL2h2bS5jICAgfCAgMSAtCiB4ZW4vYXJj aC94ODYvbW0uYyAgICAgICAgfCAgNiAtLS0tLS0KIDMgZmlsZXMgY2hhbmdlZCwgMjggaW5zZXJ0 aW9ucygrKSwgOCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS90b29scy9saWJ4Yy94Y19kb21f eDg2LmMgYi90b29scy9saWJ4Yy94Y19kb21feDg2LmMKaW5kZXggMGQ5ZWM0Mi4uM2E1N2RlZCAx MDA2NDQKLS0tIGEvdG9vbHMvbGlieGMveGNfZG9tX3g4Ni5jCisrKyBiL3Rvb2xzL2xpYnhjL3hj X2RvbV94ODYuYwpAQCAtMTE1NCw2ICsxMTU0LDcgQEAgc3RhdGljIGludCBjaGVja19tbWlvX2hv bGUodWludDY0X3Qgc3RhcnQsIHVpbnQ2NF90IG1lbXNpemUsCiAgICAgICAgIHJldHVybiAxOwog fQogCisjZGVmaW5lIE1BWF9FODIwX0VOVFJJRVMgICAgMTI4CiBzdGF0aWMgaW50IGFyY2hfc2V0 dXBfbWVtaW5pdF9odm0oc3RydWN0IHhjX2RvbV9pbWFnZSAqZG9tKQogewogICAgIHVuc2lnbmVk IGxvbmcgaSwgdm1lbWlkLCBucl9wYWdlcyA9IGRvbS0+dG90YWxfcGFnZXM7CkBAIC0xMTc0LDYg KzExNzUsOCBAQCBzdGF0aWMgaW50IGFyY2hfc2V0dXBfbWVtaW5pdF9odm0oc3RydWN0IHhjX2Rv bV9pbWFnZSAqZG9tKQogICAgIHVuc2lnbmVkIGludCBucl92bWVtcmFuZ2VzLCBucl92bm9kZXM7 CiAgICAgeGNfaW50ZXJmYWNlICp4Y2ggPSBkb20tPnhjaDsKICAgICB1aW50MzJfdCBkb21pZCA9 IGRvbS0+Z3Vlc3RfZG9taWQ7CisgICAgc3RydWN0IGU4MjBlbnRyeSBlbnRyaWVzW01BWF9FODIw X0VOVFJJRVNdOworICAgIGludCBlODIwX2luZGV4ID0gMDsKIAogICAgIGlmICggbnJfcGFnZXMg PiB0YXJnZXRfcGFnZXMgKQogICAgICAgICBtZW1mbGFncyB8PSBYRU5NRU1GX3BvcHVsYXRlX29u X2RlbWFuZDsKQEAgLTEyMjQsNiArMTIyNywxMyBAQCBzdGF0aWMgaW50IGFyY2hfc2V0dXBfbWVt aW5pdF9odm0oc3RydWN0IHhjX2RvbV9pbWFnZSAqZG9tKQogICAgICAgICB2bm9kZV90b19wbm9k ZSA9IGRvbS0+dm5vZGVfdG9fcG5vZGU7CiAgICAgfQogCisgICAgLyogQWRkIG9uZSBhZGRpdGlv bmFsIG1lbWVvcnkgcmFuZ2UgdG8gYWNjb3VudCBmb3IgdGhlIFZHQSBob2xlICovCisgICAgaWYg KCAobnJfdm1lbXJhbmdlcyArIChkb20tPnZnYV9ob2xlID8gMSA6IDApKSA+IE1BWF9FODIwX0VO VFJJRVMgKQorICAgIHsKKyAgICAgICAgRE9NUFJJTlRGKCJUb28gbWFueSBtZW1vcnkgcmFuZ2Vz Iik7CisgICAgICAgIGdvdG8gZXJyb3Jfb3V0OworICAgIH0KKwogICAgIHRvdGFsX3BhZ2VzID0g MDsKICAgICBwMm1fc2l6ZSA9IDA7CiAgICAgZm9yICggaSA9IDA7IGkgPCBucl92bWVtcmFuZ2Vz OyBpKysgKQpAQCAtMTMxMyw5ICsxMzIzLDEzIEBAIHN0YXRpYyBpbnQgYXJjaF9zZXR1cF9tZW1p bml0X2h2bShzdHJ1Y3QgeGNfZG9tX2ltYWdlICpkb20pCiAgICAgICogVW5kZXIgMk1CIG1vZGUs IHdlIGFsbG9jYXRlIHBhZ2VzIGluIGJhdGNoZXMgb2Ygbm8gbW9yZSB0aGFuIDhNQiB0byAKICAg ICAgKiBlbnN1cmUgdGhhdCB3ZSBjYW4gYmUgcHJlZW1wdGVkIGFuZCBoZW5jZSBkb20wIHJlbWFp bnMgcmVzcG9uc2l2ZS4KICAgICAgKi8KLSAgICBpZiAoIGRvbS0+dmdhX2hvbGUgKQorICAgIGlm ICggZG9tLT52Z2FfaG9sZSApIHsKICAgICAgICAgcmMgPSB4Y19kb21haW5fcG9wdWxhdGVfcGh5 c21hcF9leGFjdCgKICAgICAgICAgICAgIHhjaCwgZG9taWQsIDB4YTAsIDAsIG1lbWZsYWdzLCAm ZG9tLT5wMm1faG9zdFsweDAwXSk7CisgICAgICAgIGVudHJpZXNbZTgyMF9pbmRleF0uYWRkciA9 IDA7CisgICAgICAgIGVudHJpZXNbZTgyMF9pbmRleF0uc2l6ZSA9IDB4YTAgPDwgUEFHRV9TSElG VDsKKyAgICAgICAgZW50cmllc1tlODIwX2luZGV4KytdLnR5cGUgPSBFODIwX1JBTTsKKyAgICB9 CiAKICAgICBzdGF0X25vcm1hbF9wYWdlcyA9IDA7CiAgICAgZm9yICggdm1lbWlkID0gMDsgdm1l bWlkIDwgbnJfdm1lbXJhbmdlczsgdm1lbWlkKysgKQpAQCAtMTM0Miw2ICsxMzU2LDEyIEBAIHN0 YXRpYyBpbnQgYXJjaF9zZXR1cF9tZW1pbml0X2h2bShzdHJ1Y3QgeGNfZG9tX2ltYWdlICpkb20p CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIGN1cl9wYWdlcyA9IHZtZW1yYW5nZXNbdm1lbWlk XS5zdGFydCA+PiBQQUdFX1NISUZUOwogCisgICAgICAgICAgICAgICAgLyogQnVpbGQgYW4gZTgy MCBtYXAuICovCisgICAgICAgIGVudHJpZXNbZTgyMF9pbmRleF0uYWRkciA9IGN1cl9wYWdlcyA8 PCBQQUdFX1NISUZUOworICAgICAgICBlbnRyaWVzW2U4MjBfaW5kZXhdLnNpemUgPSB2bWVtcmFu Z2VzW3ZtZW1pZF0uZW5kIC0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW50 cmllc1tlODIwX2luZGV4XS5hZGRyOworICAgICAgICBlbnRyaWVzW2U4MjBfaW5kZXgrK10udHlw ZSA9IEU4MjBfUkFNOworCiAgICAgICAgIHdoaWxlICggKHJjID09IDApICYmIChlbmRfcGFnZXMg PiBjdXJfcGFnZXMpICkKICAgICAgICAgewogICAgICAgICAgICAgLyogQ2xpcCBjb3VudCB0byBt YXhpbXVtIDFHQiBleHRlbnQuICovCkBAIC0xNDU5LDYgKzE0NzksMTMgQEAgc3RhdGljIGludCBh cmNoX3NldHVwX21lbWluaXRfaHZtKHN0cnVjdCB4Y19kb21faW1hZ2UgKmRvbSkKICAgICBEUFJJ TlRGKCIgIDJNQiBQQUdFUzogMHglMDE2bHhcbiIsIHN0YXRfMm1iX3BhZ2VzKTsKICAgICBEUFJJ TlRGKCIgIDFHQiBQQUdFUzogMHglMDE2bHhcbiIsIHN0YXRfMWdiX3BhZ2VzKTsKIAorICAgIHJj ID0geGNfZG9tYWluX3NldF9tZW1vcnlfbWFwKHhjaCwgZG9taWQsIGVudHJpZXMsIGU4MjBfaW5k ZXgpOworICAgIGlmICggcmMgIT0gMCApCisgICAgeworICAgICAgICBET01QUklOVEYoInVuYWJs ZSB0byBzZXQgbWVtb3J5IG1hcC4iKTsKKyAgICAgICAgZ290byBlcnJvcl9vdXQ7CisgICAgfQor CiAgICAgcmMgPSAwOwogICAgIGdvdG8gb3V0OwogIGVycm9yX291dDoKZGlmZiAtLWdpdCBhL3hl bi9hcmNoL3g4Ni9odm0vaHZtLmMgYi94ZW4vYXJjaC94ODYvaHZtL2h2bS5jCmluZGV4IDc2OTRj OWUuLjk4MTA5ZTIgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9odm0vaHZtLmMKKysrIGIveGVu L2FyY2gveDg2L2h2bS9odm0uYwpAQCAtNDc0OSw3ICs0NzQ5LDYgQEAgc3RhdGljIGxvbmcgaHZt X21lbW9yeV9vcChpbnQgY21kLCBYRU5fR1VFU1RfSEFORExFX1BBUkFNKHZvaWQpIGFyZykKIAog ICAgIHN3aXRjaCAoIGNtZCAmIE1FTU9QX0NNRF9NQVNLICkKICAgICB7Ci0gICAgY2FzZSBYRU5N RU1fbWVtb3J5X21hcDoKICAgICBjYXNlIFhFTk1FTV9tYWNoaW5lX21lbW9yeV9tYXA6CiAgICAg Y2FzZSBYRU5NRU1fbWFjaHBoeXNfbWFwcGluZzoKICAgICAgICAgcmV0dXJuIC1FTk9TWVM7CmRp ZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvbW0uYyBiL3hlbi9hcmNoL3g4Ni9tbS5jCmluZGV4IDll MDhjOWIuLmZjYjg2ODIgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9tbS5jCisrKyBiL3hlbi9h cmNoL3g4Ni9tbS5jCkBAIC00NzE3LDEyICs0NzE3LDYgQEAgbG9uZyBhcmNoX21lbW9yeV9vcCh1 bnNpZ25lZCBsb25nIGNtZCwgWEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh2b2lkKSBhcmcpCiAgICAg ICAgICAgICByZXR1cm4gcmM7CiAgICAgICAgIH0KIAotICAgICAgICBpZiAoIGlzX2h2bV9kb21h aW4oZCkgKQotICAgICAgICB7Ci0gICAgICAgICAgICByY3VfdW5sb2NrX2RvbWFpbihkKTsKLSAg ICAgICAgICAgIHJldHVybiAtRVBFUk07Ci0gICAgICAgIH0KLQogICAgICAgICBlODIwID0geG1h bGxvY19hcnJheShlODIwZW50cnlfdCwgZm1hcC5tYXAubnJfZW50cmllcyk7CiAgICAgICAgIGlm ICggZTgyMCA9PSBOVUxMICkKICAgICAgICAgewotLSAKMS45LjUgKEFwcGxlIEdpdC01MC4zKQoK Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZl bCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cDovL2xpc3RzLnhlbi5v cmcveGVuLWRldmVsCg==