From mboxrd@z Thu Jan 1 00:00:00 1970 From: Julien Grall Subject: Re: [PATCH v2 02/21] xen/arm: make allocate_memory work for non 1:1 mapped guests Date: Mon, 9 Jul 2018 14:43:25 +0100 Message-ID: References: <1530918736-13965-2-git-send-email-sstabellini@kernel.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1530918736-13965-2-git-send-email-sstabellini@kernel.org> Content-Language: en-US List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: Stefano Stabellini Cc: Stefano Stabellini , andrii_anisov@epam.com, xen-devel@lists.xen.org List-Id: xen-devel@lists.xenproject.org SGkgU3RlZmFubywKCk9uIDA3LzA3LzE4IDAwOjExLCBTdGVmYW5vIFN0YWJlbGxpbmkgd3JvdGU6 Cj4gRXh0ZW5kIGFsbG9jYXRlX21lbW9yeSB0byB3b3JrIGZvciBub24gMToxIG1hcHBlZCBkb21V cy4gU3BlY2lmaWNhbGx5LAo+IG1lbW9yeSBhbGxvY2F0ZWQgZm9yIGRvbVUgd2lsbCBiZSBtYXBw ZWQgaW50byB0aGUgZG9tVSBwc2V1ZG8tcGh5c2ljYWwKPiBhZGRyZXNzIHNwYWNlIGF0IHRoZSBh cHByb3ByaWF0ZSBhZGRyZXNzZXMgYWNjb3JkaW5nIHRvIHRoZSBndWVzdCBtZW1vcnkKPiBtYXA6 IEdVRVNUX1JBTTBfQkFTRSBhbmQgR1VFU1RfUkFNMV9CQVNFLgo+IAo+IFRvIGRvIHRoYXQsIGlu c2VydF8xMV9iYW5rIGhhcyBiZWVuIGV4dGVuZGVkIHRvIGRlYWwgd2l0aCBub24tZG9tMAo+IG1h cHBpbmdzIHN0YXJ0aW5nIGZyb20gR1VFU1RfUkFNMF9CQVNFLiBpbnNlcnRfMTFfYmFuayBoYXMg YmVlbiByZW5hbWVkCj4gdG8gaW5zZXJ0X2JhbmsuCj4gCj4gU2lnbmVkLW9mZi1ieTogU3RlZmFu byBTdGFiZWxsaW5pIDxzdGVmYW5vc0B4aWxpbnguY29tPgo+IAo+IC0tLQo+IENoYW5nZXMgaW4g djI6Cj4gLSBuZXcgcGF0Y2gKPiAtLS0KPiAgIHhlbi9hcmNoL2FybS9kb21haW5fYnVpbGQuYyB8 IDU3ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLQo+ICAgMSBm aWxlIGNoYW5nZWQsIDQ0IGluc2VydGlvbnMoKyksIDEzIGRlbGV0aW9ucygtKQo+IAo+IGRpZmYg LS1naXQgYS94ZW4vYXJjaC9hcm0vZG9tYWluX2J1aWxkLmMgYi94ZW4vYXJjaC9hcm0vZG9tYWlu X2J1aWxkLmMKPiBpbmRleCAxODJlM2Q1Li4yYTY2MTlhIDEwMDY0NAo+IC0tLSBhL3hlbi9hcmNo L2FybS9kb21haW5fYnVpbGQuYwo+ICsrKyBiL3hlbi9hcmNoL2FybS9kb21haW5fYnVpbGQuYwo+ IEBAIC05NywyNyArOTcsNTEgQEAgc3RhdGljIHVuc2lnbmVkIGludCBnZXRfYWxsb2NhdGlvbl9z aXplKHBhZGRyX3Qgc2l6ZSkKPiAgICAqIFJldHVybnMgZmFsc2UgaWYgdGhlIG1lbW9yeSB3b3Vs ZCBiZSBiZWxvdyBiYW5rIDAgb3Igd2UgaGF2ZSBydW4KPiAgICAqIG91dCBvZiBiYW5rcy4gSW4g dGhpcyBjYXNlIGl0IHdpbGwgZnJlZSB0aGUgcGFnZXMuCj4gICAgKi8KPiAtc3RhdGljIGJvb2wg aW5zZXJ0XzExX2Jhbmsoc3RydWN0IGRvbWFpbiAqZCwKPiAtICAgICAgICAgICAgICAgICAgICAg ICAgICAgc3RydWN0IGtlcm5lbF9pbmZvICpraW5mbywKPiAtICAgICAgICAgICAgICAgICAgICAg ICAgICAgc3RydWN0IHBhZ2VfaW5mbyAqcGcsCj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAg IHVuc2lnbmVkIGludCBvcmRlcikKPiArc3RhdGljIGJvb2wgaW5zZXJ0X2Jhbmsoc3RydWN0IGRv bWFpbiAqZCwKPiArICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGtlcm5lbF9pbmZvICpr aW5mbywKPiArICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHBhZ2VfaW5mbyAqcGcsCj4g KyAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBvcmRlciwKPiArICAgICAgICAg ICAgICAgICAgICAgICAgYm9vbCBtYXBfMTEpCj4gICB7Cj4gLSAgICBpbnQgcmVzLCBpOwo+ICsg ICAgaW50IHJlcywgaSwgbnJfbWVtX2JhbmtzID0gbWFwXzExID8gTlJfTUVNX0JBTktTIDogMjsK Cm5yX21lbV9iYW5rcyBzaG91bGQgYmUgdW5zaWduZWQuIEkgYWxzbyB3b3VsZCBkcm9wICJtZW1f IiB0byBzaG9ydGVuIGEgCmJpdCB0aGUgbmFtZS4KCj4gICAgICAgbWZuX3Qgc21mbjsKPiAgICAg ICBwYWRkcl90IHN0YXJ0LCBzaXplOwo+ICsgICAgc3RydWN0IG1lbWJhbmsgKmJhbms7Cj4gICAK PiAgICAgICBzbWZuID0gcGFnZV90b19tZm4ocGcpOwo+ICAgICAgIHN0YXJ0ID0gbWZuX3RvX21h ZGRyKHNtZm4pOwoKVGhlIG5ldyBjb2RlIGlzIHByZXR0eSBob3JyaWJsZSB0byByZWFkLiBDYW4g eW91IHBsZWFzZSBhZGQgc29tZSAKY29tbWVudHMgdG8gaGVscCB1bmRlcnN0YW5kaW5nIGl0PwoK SGVyZSBpcyBhbHJlYWR5IGFuIGV4YW1wbGUgd2hlcmUgeW91IHNldCBzdGFydCB0byBNRk4uIEJ1 dCB0aGVuIG92ZXJyaWRlIAphZnRlciB3aXRoIG5vbmUgY29tbWVudCB0byB1bmRlcnN0YW5kIHdo eS4KCkFsc28sIHRoaXMgY29kZSBhcyBhbHdheXMgYXNzdW1lZCBNRk4gPT0gR0ZOIHNvIHN0YXJ0 IHdhcyBtYWtpbmcgc2Vuc2UuIApOb3csIHlvdSByZS1wdXJwb3NlIGl0IHRvIGp1c3QgdGhlIGd1 ZXN0LXBoeXNpY2FsIGFkZHJlc3MuIFNvIG1vcmUgCmxpa2VseSB5b3Ugd2FudCB0byByZXdvcmsg dGhlIGNvZGUgYSBiaXQuCgo+ICAgICAgIHNpemUgPSBwZm5fdG9fcGFkZHIoMVVMIDw8IG9yZGVy KTsKPiArICAgIGlmICggIW1hcF8xMSApCgpJIGFtIG5vdCBzdXJlIHdoeSBtYXBfMTEgd291bGQg bWVhbiBEb21VPyBJIGRvbid0IHNlZSBhbnkgcmVhc29uIHRvIG5vdCAKYWxsb3cgdGhhdCBmb3Ig RG9tMC4gTm90ZSB0aGF0IEkgYW0gbm90IGFza2luZyB0byBkbyBpdCwganVzdCBoYXZpbmcgCmNs ZWFyZXIgbmFtZS4KCj4gKyAgICB7Cj4gKyAgICAgICAgc3RhcnQgPSBHVUVTVF9SQU0wX0JBU0U7 Cj4gKyAgICAgICAgaWYgKCBraW5mby0+bWVtLm5yX2JhbmtzID4gMCApCj4gKyAgICAgICAgewo+ ICsgICAgICAgICAgICBmb3IoIGkgPSAwOyBpIDwga2luZm8tPm1lbS5ucl9iYW5rczsgaSsrICkK PiArICAgICAgICAgICAgewo+ICsgICAgICAgICAgICAgICAgYmFuayA9ICZraW5mby0+bWVtLmJh bmtbaV07Cj4gKyAgICAgICAgICAgICAgICBzdGFydCA9IGJhbmstPnN0YXJ0ICsgYmFuay0+c2l6 ZTsKPiArICAgICAgICAgICAgfQo+ICsgICAgICAgICAgICBpZiAoIGJhbmstPnN0YXJ0ID09IEdV RVNUX1JBTTBfQkFTRSAmJgo+ICsgICAgICAgICAgICAgICAgICAgIHN0YXJ0ICsgc2l6ZSA+IChH VUVTVF9SQU0wX0JBU0UgKyBHVUVTVF9SQU0wX1NJWkUpICkKClRoZSBpbmRlbnRhdGlvbiBsb29r cyB3cm9uZy4KCj4gKyAgICAgICAgICAgICAgICBzdGFydCA9IEdVRVNUX1JBTTFfQkFTRTsKPiAr ICAgICAgICAgICAgaWYgKCBiYW5rLT5zdGFydCA9PSBHVUVTVF9SQU0xX0JBU0UgJiYKPiArICAg ICAgICAgICAgICAgICAgICBzdGFydCArIHNpemUgPiAoR1VFU1RfUkFNMV9CQVNFICsgR1VFU1Rf UkFNMV9TSVpFKSApCj4gKyAgICAgICAgICAgIHsKPiArICAgICAgICAgICAgICAgIEQxMVBSSU5U KCJBbGxvY2F0aW9uIG9mIGRvbWFpbiBtZW1vcnkgZXhjZWVkcyBtYXggYW1vdW50XG4iKTsKClRo aXMgbG9va3MgcXVpdGUgc3RyYW5nZSB0byB1c2UgRDExUFJJTlQgaGVyZSBhcyB0aGlzIHJlbGF0 ZWQgdG8gCmRpcmVjdC1kb21haW4gbWFwcGVkLgoKPiArICAgICAgICAgICAgICAgIGdvdG8gZmFp bDsKPiArICAgICAgICAgICAgfQo+ICsgICAgICAgIH0KPiArICAgIH0KPiAgIAo+IC0gICAgRDEx UFJJTlQoIkFsbG9jYXRlZCAlIyJQUklwYWRkciItJSMiUFJJcGFkZHIiICglbGRNQi8lbGRNQiwg b3JkZXIgJWQpXG4iLAo+ICsgICAgRDExUFJJTlQoIkFsbG9jYXRlZCAlIyJQUklwYWRkciItJSMi UFJJcGFkZHIiOiUjIlBSSXBhZGRyIi0lIyJQUklwYWRkciIgKCVsZE1CLyVsZE1CLCBvcmRlciAl ZClcbiIsCj4gKyAgICAgICAgICAgICBtZm5fdG9fbWFkZHIoc21mbiksIG1mbl90b19tYWRkcihz bWZuKSArIHNpemUsCj4gICAgICAgICAgICAgICAgc3RhcnQsIHN0YXJ0ICsgc2l6ZSwKPiAgICAg ICAgICAgICAgICAxVUwgPDwgKG9yZGVyICsgUEFHRV9TSElGVCAtIDIwKSwKPiAgICAgICAgICAg ICAgICAvKiBEb24ndCB3YW50IGZvcm1hdCB0aGlzIGFzIFBSSXBhZGRyICgxNiBkaWdpdCBoZXgp ICovCj4gICAgICAgICAgICAgICAgKHVuc2lnbmVkIGxvbmcpKGtpbmZvLT51bmFzc2lnbmVkX21l bSA+PiAyMCksCj4gICAgICAgICAgICAgICAgb3JkZXIpOwo+ICAgCj4gLSAgICBpZiAoIGtpbmZv LT5tZW0ubnJfYmFua3MgPiAwICYmCj4gKyAgICBpZiAoIG1hcF8xMSAmJiBraW5mby0+bWVtLm5y X2JhbmtzID4gMCAmJgoKV2h5IGRvIHlvdSBkcm9wIHRoYXQgY2hlY2s/IEl0IHNob3VsZCBiZSBo YXJtbGVzcyBmb3Igbm9uLWRpcmVjdCBtYXBwZWQgCmRvbWFpbi4KCj4gICAgICAgICAgICBzaXpl IDwgTUIoMTI4KSAmJiA+ICAgICAgICAgICAgc3RhcnQgKyBzaXplIDwga2luZm8tPm1lbS5iYW5r WzBdLnN0YXJ0ICkKPiAgICAgICB7Cj4gQEAgLTEyNSw3ICsxNDksNyBAQCBzdGF0aWMgYm9vbCBp bnNlcnRfMTFfYmFuayhzdHJ1Y3QgZG9tYWluICpkLAo+ICAgICAgICAgICBnb3RvIGZhaWw7Cj4g ICAgICAgfQo+ICAgCj4gLSAgICByZXMgPSBndWVzdF9waHlzbWFwX2FkZF9wYWdlKGQsIF9nZm4o bWZuX3goc21mbikpLCBzbWZuLCBvcmRlcik7Cj4gKyAgICByZXMgPSBndWVzdF9waHlzbWFwX2Fk ZF9wYWdlKGQsIGdhZGRyX3RvX2dmbihzdGFydCksIHNtZm4sIG9yZGVyKTsKPiAgICAgICBpZiAo IHJlcyApCj4gICAgICAgICAgIHBhbmljKCJGYWlsZWQgbWFwIHBhZ2VzIHRvIERPTTA6ICVkIiwg cmVzKTsKPiAgIAo+IEBAIC0xNDEsNyArMTY1LDcgQEAgc3RhdGljIGJvb2wgaW5zZXJ0XzExX2Jh bmsoc3RydWN0IGRvbWFpbiAqZCwKPiAgIAo+ICAgICAgIGZvciggaSA9IDA7IGkgPCBraW5mby0+ bWVtLm5yX2JhbmtzOyBpKysgKQo+ICAgICAgIHsKPiAtICAgICAgICBzdHJ1Y3QgbWVtYmFuayAq YmFuayA9ICZraW5mby0+bWVtLmJhbmtbaV07Cj4gKyAgICAgICAgYmFuayA9ICZraW5mby0+bWVt LmJhbmtbaV07Cj4gICAKPiAgICAgICAgICAgLyogSWYgcG9zc2libGUgbWVyZ2UgbmV3IG1lbW9y eSBpbnRvIHRoZSBzdGFydCBvZiB0aGUgYmFuayAqLwo+ICAgICAgICAgICBpZiAoIGJhbmstPnN0 YXJ0ID09IHN0YXJ0K3NpemUgKQo+IEBAIC0xNjQsNyArMTg4LDcgQEAgc3RhdGljIGJvb2wgaW5z ZXJ0XzExX2Jhbmsoc3RydWN0IGRvbWFpbiAqZCwKPiAgICAgICAgICAgICogY291bGQgaGF2ZSBp bnNlcnRlZCB0aGUgbWVtb3J5IGludG8vYmVmb3JlIHdlIHdvdWxkIGFscmVhZHkKPiAgICAgICAg ICAgICogaGF2ZSBkb25lIHNvLCBzbyB0aGlzIG11c3QgYmUgdGhlIHJpZ2h0IHBsYWNlLgo+ICAg ICAgICAgICAgKi8KPiAtICAgICAgICBpZiAoIHN0YXJ0ICsgc2l6ZSA8IGJhbmstPnN0YXJ0ICYm IGtpbmZvLT5tZW0ubnJfYmFua3MgPCBOUl9NRU1fQkFOS1MgKQo+ICsgICAgICAgIGlmICggc3Rh cnQgKyBzaXplIDwgYmFuay0+c3RhcnQgJiYga2luZm8tPm1lbS5ucl9iYW5rcyA8IG5yX21lbV9i YW5rcyApCj4gICAgICAgICAgIHsKPiAgICAgICAgICAgICAgIG1lbW1vdmUoYmFuayArIDEsIGJh bmssCj4gICAgICAgICAgICAgICAgICAgICAgIHNpemVvZigqYmFuaykgKiAoa2luZm8tPm1lbS5u cl9iYW5rcyAtIGkpKTsKPiBAQCAtMTc1LDcgKzE5OSw3IEBAIHN0YXRpYyBib29sIGluc2VydF8x MV9iYW5rKHN0cnVjdCBkb21haW4gKmQsCj4gICAgICAgICAgIH0KPiAgICAgICB9Cj4gICAKPiAt ICAgIGlmICggaSA9PSBraW5mby0+bWVtLm5yX2JhbmtzICYmIGtpbmZvLT5tZW0ubnJfYmFua3Mg PCBOUl9NRU1fQkFOS1MgKQo+ICsgICAgaWYgKCBpID09IGtpbmZvLT5tZW0ubnJfYmFua3MgJiYg a2luZm8tPm1lbS5ucl9iYW5rcyA8IG5yX21lbV9iYW5rcyApCj4gICAgICAgewo+ICAgICAgICAg ICBzdHJ1Y3QgbWVtYmFuayAqYmFuayA9ICZraW5mby0+bWVtLmJhbmtba2luZm8tPm1lbS5ucl9i YW5rc107Cj4gICAKPiBAQCAtMjUzLDYgKzI3Nyw3IEBAIHN0YXRpYyB2b2lkIGFsbG9jYXRlX21l bW9yeShzdHJ1Y3QgZG9tYWluICpkLCBzdHJ1Y3Qga2VybmVsX2luZm8gKmtpbmZvKQo+ICAgICAg IHN0cnVjdCBwYWdlX2luZm8gKnBnOwo+ICAgICAgIHVuc2lnbmVkIGludCBvcmRlciA9IGdldF9h bGxvY2F0aW9uX3NpemUoa2luZm8tPnVuYXNzaWduZWRfbWVtKTsKPiAgICAgICBpbnQgaTsKPiAr ICAgIGJvb2wgaHdkb20gPSBkLT5kb21haW5faWQgPT0gMDsKCllvdSBzaG91bGQgdXNlIGlzX2hh cmR3YXJlX2RvbWFpbiguLi4pLgoKPiAgIAo+ICAgICAgIGJvb2wgbG93bWVtID0gdHJ1ZTsKPiAg ICAgICB1bnNpZ25lZCBpbnQgYml0czsKPiBAQCAtMjYzLDYgKzI4OCwxMiBAQCBzdGF0aWMgdm9p ZCBhbGxvY2F0ZV9tZW1vcnkoc3RydWN0IGRvbWFpbiAqZCwgc3RydWN0IGtlcm5lbF9pbmZvICpr aW5mbykKPiAgIAo+ICAgICAgIGtpbmZvLT5tZW0ubnJfYmFua3MgPSAwOwo+ICAgCj4gKyAgICBp ZiAoICFod2RvbSApCj4gKyAgICB7Cj4gKyAgICAgICAgbG93bWVtID0gZmFsc2U7Cj4gKyAgICAg ICAgZ290byBnb3RfYmFuazA7Cj4gKyAgICB9CgpDYW4geW91IGV4cGxhaW4gd2h5IHlvdSBuZWVk IHRoaXM/Cgo+ICsKPiAgICAgICAvKgo+ICAgICAgICAqIEZpcnN0IHRyeSBhbmQgYWxsb2NhdGUg dGhlIGxhcmdlc3QgdGhpbmcgd2UgY2FuIGFzIGxvdyBhcwo+ICAgICAgICAqIHBvc3NpYmxlIHRv IGJlIGJhbmsgMC4KPiBAQCAtMjc0LDcgKzMwNSw3IEBAIHN0YXRpYyB2b2lkIGFsbG9jYXRlX21l bW9yeShzdHJ1Y3QgZG9tYWluICpkLCBzdHJ1Y3Qga2VybmVsX2luZm8gKmtpbmZvKQo+ICAgICAg ICAgICAgICAgcGcgPSBhbGxvY19kb21oZWFwX3BhZ2VzKGQsIG9yZGVyLCBNRU1GX2JpdHMoYml0 cykpOwo+ICAgICAgICAgICAgICAgaWYgKCBwZyAhPSBOVUxMICkKPiAgICAgICAgICAgICAgIHsK PiAtICAgICAgICAgICAgICAgIGlmICggIWluc2VydF8xMV9iYW5rKGQsIGtpbmZvLCBwZywgb3Jk ZXIpICkKPiArICAgICAgICAgICAgICAgIGlmICggIWluc2VydF9iYW5rKGQsIGtpbmZvLCBwZywg b3JkZXIsIGh3ZG9tKSApCj4gICAgICAgICAgICAgICAgICAgICAgIEJVRygpOyAvKiBDYW5ub3Qg ZmFpbCBmb3IgZmlyc3QgYmFuayAqLwo+ICAgCj4gICAgICAgICAgICAgICAgICAgZ290byBnb3Rf YmFuazA7Cj4gQEAgLTMxOSw3ICszNTAsNyBAQCBzdGF0aWMgdm9pZCBhbGxvY2F0ZV9tZW1vcnko c3RydWN0IGRvbWFpbiAqZCwgc3RydWN0IGtlcm5lbF9pbmZvICpraW5mbykKPiAgICAgICAgICAg ICAgIGJyZWFrOwo+ICAgICAgICAgICB9Cj4gICAKPiAtICAgICAgICBpZiAoICFpbnNlcnRfMTFf YmFuayhkLCBraW5mbywgcGcsIG9yZGVyKSApCj4gKyAgICAgICAgaWYgKCAhaW5zZXJ0X2Jhbmso ZCwga2luZm8sIHBnLCBvcmRlciwgaHdkb20pICkKPiAgICAgICAgICAgewo+ICAgICAgICAgICAg ICAgaWYgKCBraW5mby0+bWVtLm5yX2JhbmtzID09IE5SX01FTV9CQU5LUyApCj4gICAgICAgICAg ICAgICAgICAgLyogTm90aGluZyBtb3JlIHdlIGNhbiBkby4gKi8KPiAKCkNoZWVycywKCi0tIApK dWxpZW4gR3JhbGwKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3Jn Cmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=