From mboxrd@z Thu Jan 1 00:00:00 1970 From: Juergen Gross Subject: Re: [PATCHv3] x86/xen: avoid m2p lookup when setting early page table entries Date: Thu, 23 Jun 2016 14:13:47 +0200 Message-ID: <576BD27B.4010502@suse.com> References: <1466675466-7392-1-git-send-email-david.vrabel@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.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bG3W3-0007V3-Dh for xen-devel@lists.xenproject.org; Thu, 23 Jun 2016 12:13:51 +0000 In-Reply-To: <1466675466-7392-1-git-send-email-david.vrabel@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: David Vrabel , xen-devel@lists.xenproject.org Cc: Kevin Moraga , Boris Ostrovsky List-Id: xen-devel@lists.xenproject.org T24gMjMvMDYvMTYgMTE6NTEsIERhdmlkIFZyYWJlbCB3cm90ZToKPiBXaGVuIHBhZ2UgdGFibGVz IGVudHJpZXMgYXJlIHNldCB1c2luZyB4ZW5fc2V0X3B0ZV9pbml0KCkgZHVyaW5nIGVhcmx5Cj4g Ym9vdCB0aGVyZSBpcyBubyBwYWdlIGZhdWx0IGhhbmRsZXIgdGhhdCBjb3VsZCBoYW5kbGUgYSBm YXVsdCB3aGVuCj4gcGVyZm9ybWluZyBhbiBNMlAgbG9va3VwLgo+IAo+IEluIDY0IGJpdCBndWVz dHMgKHVzdWFsbHkgZG9tMCkgZWFybHlfaW9yZW1hcCgpIHdvdWxkIGZhdWx0IGluCj4geGVuX3Nl dF9wdGVfaW5pdCgpIGJlY2F1c2UgYW4gTTJQIGxvb2t1cCBmYXVsdHMgYmVjYXVzZSB0aGUgTUZO IGlzIGluCj4gTU1JTyBzcGFjZSBhbmQgbm90IG1hcHBlZCBpbiB0aGUgTTJQLiAgVGhpcyBsb29r dXAgaXMgZG9uZSB0byBzZWUgaWYKPiB0aGUgUEZOIGluIGluIHRoZSByYW5nZSB1c2VkIGZvciB0 aGUgaW5pdGlhbCBwYWdlIHRhYmxlIHBhZ2VzLCBzbyB0aGF0Cj4gdGhlIFBURSBtYXkgYmUgc2V0 IGFzIHJlYWQtb25seS4KPiAKPiBUaGUgTTJQIGxvb2t1cCBjYW4gYmUgYXZvaWRlZCBieSBtb3Zp bmcgdGhlIGNoZWNrIChhbmQgY2xlYXIgb2YgUlcpCj4gZWFybGllciB3aGVuIHRoZSBQRk4gaXMg c3RpbGwgYXZhaWxhYmxlLgo+IAo+IFNpZ25lZC1vZmYtYnk6IERhdmlkIFZyYWJlbCA8ZGF2aWQu dnJhYmVsQGNpdHJpeC5jb20+Cj4gLS0tCj4gQ2M6IEtldmluIE1vcmFnYSA8a21vcmFnYXNAcmlz ZXVwLm5ldD4KPiAKPiB2MzoKPiAtIGZvbGQgbWFza19yd19wdGUoKS9tYXNrX3J3X3B0ZXZhbCgp IGludG8gdGhlaXIgY2FsbGVycy4KPiAKPiB2MjoKPiAtIFJlbW92ZSBfX2luaXQgYW5ub3RhdGlv biBmcm9tIHhlbl9tYWtlX3B0ZV9pbml0KCkgc2luY2UKPiAgIFBWX0NBTExFRV9TQVZFX1JFR1Nf VEhVTksgYWx3YXlzIHB1dHMgdGhlIHRodW5rIGluIC50ZXh0Lgo+IAo+IC0gbWFza19yd19wdGUo KSAtPiBtYXNrX3J3X3B0ZXZhbCgpIGZvciB4ODYtNjQuCj4gLS0tCj4gIGFyY2gveDg2L3hlbi9t bXUuYyB8IDc2ICsrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQo+ICAxIGZpbGUgY2hhbmdlZCwgMzUgaW5zZXJ0aW9ucygrKSwgNDEgZGVsZXRpb25z KC0pCj4gCj4gZGlmZiAtLWdpdCBhL2FyY2gveDg2L3hlbi9tbXUuYyBiL2FyY2gveDg2L3hlbi9t bXUuYwo+IGluZGV4IDQ3OGEyZGUuLjY0ZDhmMGIgMTAwNjQ0Cj4gLS0tIGEvYXJjaC94ODYveGVu L21tdS5jCj4gKysrIGIvYXJjaC94ODYveGVuL21tdS5jCj4gQEAgLTE1NTEsNDEgKzE1NTEsNiBA QCBzdGF0aWMgdm9pZCB4ZW5fcGdkX2ZyZWUoc3RydWN0IG1tX3N0cnVjdCAqbW0sIHBnZF90ICpw Z2QpCj4gICNlbmRpZgo+ICB9Cj4gIAo+IC0jaWZkZWYgQ09ORklHX1g4Nl8zMgo+IC1zdGF0aWMg cHRlX3QgX19pbml0IG1hc2tfcndfcHRlKHB0ZV90ICpwdGVwLCBwdGVfdCBwdGUpCj4gLXsKPiAt CS8qIElmIHRoZXJlJ3MgYW4gZXhpc3RpbmcgcHRlLCB0aGVuIGRvbid0IGFsbG93IF9QQUdFX1JX IHRvIGJlIHNldCAqLwo+IC0JaWYgKHB0ZV92YWxfbWEoKnB0ZXApICYgX1BBR0VfUFJFU0VOVCkK PiAtCQlwdGUgPSBfX3B0ZV9tYSgoKHB0ZV92YWxfbWEoKnB0ZXApICYgX1BBR0VfUlcpIHwgfl9Q QUdFX1JXKSAmCj4gLQkJCSAgICAgICBwdGVfdmFsX21hKHB0ZSkpOwo+IC0KPiAtCXJldHVybiBw dGU7Cj4gLX0KPiAtI2Vsc2UgLyogQ09ORklHX1g4Nl82NCAqLwo+IC1zdGF0aWMgcHRlX3QgX19p bml0IG1hc2tfcndfcHRlKHB0ZV90ICpwdGVwLCBwdGVfdCBwdGUpCj4gLXsKPiAtCXVuc2lnbmVk IGxvbmcgcGZuOwo+IC0KPiAtCWlmICh4ZW5fZmVhdHVyZShYRU5GRUFUX3dyaXRhYmxlX3BhZ2Vf dGFibGVzKSB8fAo+IC0JICAgIHhlbl9mZWF0dXJlKFhFTkZFQVRfYXV0b190cmFuc2xhdGVkX3Bo eXNtYXApIHx8Cj4gLQkgICAgeGVuX3N0YXJ0X2luZm8tPm1mbl9saXN0ID49IF9fU1RBUlRfS0VS TkVMX21hcCkKPiAtCQlyZXR1cm4gcHRlOwo+IC0KPiAtCS8qCj4gLQkgKiBQYWdlcyBiZWxvbmdp bmcgdG8gdGhlIGluaXRpYWwgcDJtIGxpc3QgbWFwcGVkIG91dHNpZGUgdGhlIGRlZmF1bHQKPiAt CSAqIGFkZHJlc3MgcmFuZ2UgbXVzdCBiZSBtYXBwZWQgcmVhZC1vbmx5LiBUaGlzIHJlZ2lvbiBj b250YWlucyB0aGUKPiAtCSAqIHBhZ2UgdGFibGVzIGZvciBtYXBwaW5nIHRoZSBwMm0gbGlzdCwg dG9vLCBhbmQgcGFnZSB0YWJsZXMgTVVTVCBiZQo+IC0JICogbWFwcGVkIHJlYWQtb25seS4KPiAt CSAqLwo+IC0JcGZuID0gcHRlX3BmbihwdGUpOwo+IC0JaWYgKHBmbiA+PSB4ZW5fc3RhcnRfaW5m by0+Zmlyc3RfcDJtX3BmbiAmJgo+IC0JICAgIHBmbiA8IHhlbl9zdGFydF9pbmZvLT5maXJzdF9w Mm1fcGZuICsgeGVuX3N0YXJ0X2luZm8tPm5yX3AybV9mcmFtZXMpCj4gLQkJcHRlID0gX19wdGVf bWEocHRlX3ZhbF9tYShwdGUpICYgfl9QQUdFX1JXKTsKPiAtCj4gLQlyZXR1cm4gcHRlOwo+IC19 Cj4gLSNlbmRpZiAvKiBDT05GSUdfWDg2XzY0ICovCj4gLQo+ICAvKgo+ICAgKiBJbml0LXRpbWUg c2V0X3B0ZSB3aGlsZSBjb25zdHJ1Y3RpbmcgaW5pdGlhbCBwYWdldGFibGVzLCB3aGljaAo+ICAg KiBkb2Vzbid0IGFsbG93IFJPIHBhZ2UgdGFibGUgcGFnZXMgdG8gYmUgcmVtYXBwZWQgUlcuCj4g QEAgLTE2MDAsMTMgKzE1NjUsNDEgQEAgc3RhdGljIHB0ZV90IF9faW5pdCBtYXNrX3J3X3B0ZShw dGVfdCAqcHRlcCwgcHRlX3QgcHRlKQo+ICAgKiBzbyBhbHdheXMgd3JpdGUgdGhlIFBURSBkaXJl Y3RseSBhbmQgcmVseSBvbiBYZW4gdHJhcHBpbmcgYW5kCj4gICAqIGVtdWxhdGluZyBhbnkgdXBk YXRlcyBhcyBuZWNlc3NhcnkuCj4gICAqLwo+IC1zdGF0aWMgdm9pZCBfX2luaXQgeGVuX3NldF9w dGVfaW5pdChwdGVfdCAqcHRlcCwgcHRlX3QgcHRlKQo+ICtfX3Zpc2libGUgcHRlX3QgeGVuX21h a2VfcHRlX2luaXQocHRldmFsX3QgcHRlKQo+ICB7Cj4gLQlpZiAocHRlX21mbihwdGUpICE9IElO VkFMSURfUDJNX0VOVFJZKQo+IC0JCXB0ZSA9IG1hc2tfcndfcHRlKHB0ZXAsIHB0ZSk7Cj4gLQll bHNlCj4gLQkJcHRlID0gX19wdGVfbWEoMCk7Cj4gKyNpZmRlZiBDT05GSUdfWDg2XzY0Cj4gKwl1 bnNpZ25lZCBsb25nIHBmbjsKPiArCj4gKwkvKgo+ICsJICogUGFnZXMgYmVsb25naW5nIHRvIHRo ZSBpbml0aWFsIHAybSBsaXN0IG1hcHBlZCBvdXRzaWRlIHRoZSBkZWZhdWx0Cj4gKwkgKiBhZGRy ZXNzIHJhbmdlIG11c3QgYmUgbWFwcGVkIHJlYWQtb25seS4gVGhpcyByZWdpb24gY29udGFpbnMg dGhlCj4gKwkgKiBwYWdlIHRhYmxlcyBmb3IgbWFwcGluZyB0aGUgcDJtIGxpc3QsIHRvbywgYW5k IHBhZ2UgdGFibGVzIE1VU1QgYmUKPiArCSAqIG1hcHBlZCByZWFkLW9ubHkuCj4gKwkgKi8KPiAr CXBmbiA9IChwdGUgJiBQVEVfUEZOX01BU0spID4+IFBBR0VfU0hJRlQ7Cj4gKwlpZiAoeGVuX3N0 YXJ0X2luZm8tPm1mbl9saXN0IDwgX19TVEFSVF9LRVJORUxfbWFwICYmCj4gKwkgICAgcGZuID49 IHhlbl9zdGFydF9pbmZvLT5maXJzdF9wMm1fcGZuICYmCj4gKwkgICAgcGZuIDwgeGVuX3N0YXJ0 X2luZm8tPmZpcnN0X3AybV9wZm4gKyB4ZW5fc3RhcnRfaW5mby0+bnJfcDJtX2ZyYW1lcykKPiAr CQlwdGUgJj0gfl9QQUdFX1JXOwo+ICsjZW5kaWYKPiArCXB0ZSA9IHB0ZV9wZm5fdG9fbWZuKHB0 ZSk7Cj4gIAo+ICsJaWYgKChwdGUgJiBQVEVfUEZOX01BU0spID4+IFBBR0VfU0hJRlQgPT0gSU5W QUxJRF9QMk1fRU5UUlkpCgpIb3cgY2FuIHRoaXMgZXZlciBiZSB0cnVlPyBJIGtub3cgdGhpcyBp cyBqdXN0IHRoZSBvcGVuIGNvZGVkCnZhcmlhbnQgZm9ybSB0aGUgb3JpZ2luYWwgeGVuX3NldF9w dGVfaW5pdCgpLiBFaXRoZXIgdGhlIGlmIGlzbid0Cm5lZWRlZCBhdCBhbGwgb3IgaXQgc2hvdWxk IGJlIGNvcnJlY3RlZC4KCj4gKwkJcHRlID0gMDsKPiArCj4gKwlyZXR1cm4gbmF0aXZlX21ha2Vf cHRlKHB0ZSk7Cj4gK30KPiArUFZfQ0FMTEVFX1NBVkVfUkVHU19USFVOSyh4ZW5fbWFrZV9wdGVf aW5pdCk7Cj4gKwo+ICtzdGF0aWMgdm9pZCBfX2luaXQgeGVuX3NldF9wdGVfaW5pdChwdGVfdCAq cHRlcCwgcHRlX3QgcHRlKQo+ICt7Cj4gKyNpZmRlZiBDT05GSUdfWDg2XzMyCj4gKwkvKiBJZiB0 aGVyZSdzIGFuIGV4aXN0aW5nIHB0ZSwgdGhlbiBkb24ndCBhbGxvdyBfUEFHRV9SVyB0byBiZSBz ZXQgKi8KPiArCWlmIChwdGVfbWZuKHB0ZSkgIT0gSU5WQUxJRF9QMk1fRU5UUlkKPiArCSAgICAm JiBwdGVfdmFsX21hKCpwdGVwKSAmIF9QQUdFX1BSRVNFTlQpCgpFdmVuIG1vcmUgb2J2aW91czog ZG8gd2UgcmVhbGx5IGNyZWF0ZSBwdGVzIHdpdGggSU5WQUxJRF9QMk1fRU5UUlkgYW5kCl9QQUdF X1BSRVNFTlQ/IEkgdGhpbmsgdGhlIGZpcnN0IHBhcnQgb2YgdGhlIGlmIGNhbiBiZSBkcm9wcGVk IGFnYWluLgoKCkp1ZXJnZW4KCj4gKwkJcHRlID0gX19wdGVfbWEoKChwdGVfdmFsX21hKCpwdGVw KSAmIF9QQUdFX1JXKSB8IH5fUEFHRV9SVykgJgo+ICsJCQkgICAgICAgcHRlX3ZhbF9tYShwdGUp KTsKPiArI2VuZGlmCj4gIAluYXRpdmVfc2V0X3B0ZShwdGVwLCBwdGUpOwo+ICB9Cj4gIAo+IEBA IC0yNDA3LDYgKzI0MDAsNyBAQCBzdGF0aWMgdm9pZCBfX2luaXQgeGVuX3Bvc3RfYWxsb2NhdG9y X2luaXQodm9pZCkKPiAgCXB2X21tdV9vcHMuYWxsb2NfcHVkID0geGVuX2FsbG9jX3B1ZDsKPiAg CXB2X21tdV9vcHMucmVsZWFzZV9wdWQgPSB4ZW5fcmVsZWFzZV9wdWQ7Cj4gICNlbmRpZgo+ICsJ cHZfbW11X29wcy5tYWtlX3B0ZSA9IFBWX0NBTExFRV9TQVZFKHhlbl9tYWtlX3B0ZSk7Cj4gIAo+ ICAjaWZkZWYgQ09ORklHX1g4Nl82NAo+ICAJcHZfbW11X29wcy53cml0ZV9jcjMgPSAmeGVuX3dy aXRlX2NyMzsKPiBAQCAtMjQ1NSw3ICsyNDQ5LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBwdl9t bXVfb3BzIHhlbl9tbXVfb3BzIF9faW5pdGNvbnN0ID0gewo+ICAJLnB0ZV92YWwgPSBQVl9DQUxM RUVfU0FWRSh4ZW5fcHRlX3ZhbCksCj4gIAkucGdkX3ZhbCA9IFBWX0NBTExFRV9TQVZFKHhlbl9w Z2RfdmFsKSwKPiAgCj4gLQkubWFrZV9wdGUgPSBQVl9DQUxMRUVfU0FWRSh4ZW5fbWFrZV9wdGUp LAo+ICsJLm1ha2VfcHRlID0gUFZfQ0FMTEVFX1NBVkUoeGVuX21ha2VfcHRlX2luaXQpLAo+ICAJ Lm1ha2VfcGdkID0gUFZfQ0FMTEVFX1NBVkUoeGVuX21ha2VfcGdkKSwKPiAgCj4gICNpZmRlZiBD T05GSUdfWDg2X1BBRQo+IAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcK aHR0cDovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==