From mboxrd@z Thu Jan 1 00:00:00 1970 From: Boris Ostrovsky Subject: Re: [PATCHv2] x86/xen: avoid m2p lookup when setting early page table entries Date: Wed, 22 Jun 2016 10:12:57 -0400 Message-ID: <576A9CE9.2070202@oracle.com> References: <1466525353-27751-1-git-send-email-david.vrabel@citrix.com> <57699624.4060500@oracle.com> <576A6E6A.8030502@citrix.com> <576A743E.8070006@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.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bFitw-000787-7x for xen-devel@lists.xenproject.org; Wed, 22 Jun 2016 14:13:08 +0000 In-Reply-To: <576A743E.8070006@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: Juergen Gross List-Id: xen-devel@lists.xenproject.org T24gMDYvMjIvMjAxNiAwNzoxOSBBTSwgRGF2aWQgVnJhYmVsIHdyb3RlOgo+IE9uIDIyLzA2LzE2 IDExOjU0LCBEYXZpZCBWcmFiZWwgd3JvdGU6Cj4+IE9uIDIxLzA2LzE2IDIwOjMxLCBCb3JpcyBP c3Ryb3Zza3kgd3JvdGU6Cj4+PiBPbiAwNi8yMS8yMDE2IDEyOjA5IFBNLCBEYXZpZCBWcmFiZWwg d3JvdGU6Cj4+Pj4gV2hlbiBwYWdlIHRhYmxlcyBlbnRyaWVzIGFyZSBzZXQgdXNpbmcgeGVuX3Nl dF9wdGVfaW5pdCgpIGR1cmluZyBlYXJseQo+Pj4+IGJvb3QgdGhlcmUgaXMgbm8gcGFnZSBmYXVs dCBoYW5kbGVyIHRoYXQgY291bGQgaGFuZGxlIGEgZmF1bHQgd2hlbgo+Pj4+IHBlcmZvcm1pbmcg YW4gTTJQIGxvb2t1cC4KPj4+Pgo+Pj4+IEluIDY0IGd1ZXN0ICh1c3VhbGx5IGRvbTApIGVhcmx5 X2lvcmVtYXAoKSB3b3VsZCBmYXVsdCBpbgo+Pj4+IHhlbl9zZXRfcHRlX2luaXQoKSBiZWNhdXNl IGFuIE0yUCBsb29rdXAgZmF1bHRzIGJlY2F1c2UgdGhlIE1GTiBpcyBpbgo+Pj4+IE1NSU8gc3Bh Y2UgYW5kIG5vdCBtYXBwZWQgaW4gdGhlIE0yUC4gIFRoaXMgbG9va3VwIGlzIGRvbmUgdG8gc2Vl IGlmCj4+Pj4gdGhlIFBGTiBpbiBpbiB0aGUgcmFuZ2UgdXNlZCBmb3IgdGhlIGluaXRpYWwgcGFn ZSB0YWJsZSBwYWdlcywgc28gdGhhdAo+Pj4+IHRoZSBQVEUgbWF5IGJlIHNldCBhcyByZWFkLW9u bHkuCj4+Pj4KPj4+PiBUaGUgTTJQIGxvb2t1cCBjYW4gYmUgYXZvaWRlZCBieSBtb3ZpbmcgdGhl IGNoZWNrIChhbmQgY2xlYXIgb2YgUlcpCj4+Pj4gZWFybGllciB3aGVuIHRoZSBQRk4gaXMgc3Rp bGwgYXZhaWxhYmxlLgo+PiBbLi4uXQo+Pj4+IC0tLSBhL2FyY2gveDg2L3hlbi9tbXUuYwo+Pj4+ ICsrKyBiL2FyY2gveDg2L3hlbi9tbXUuYwo+Pj4+IEBAIC0xNTYyLDcgKzE1NjIsNyBAQCBzdGF0 aWMgcHRlX3QgX19pbml0IG1hc2tfcndfcHRlKHB0ZV90ICpwdGVwLCBwdGVfdCBwdGUpCj4+Pj4g IAlyZXR1cm4gcHRlOwo+Pj4+ICB9Cj4+Pj4gICNlbHNlIC8qIENPTkZJR19YODZfNjQgKi8KPj4+ PiAtc3RhdGljIHB0ZV90IF9faW5pdCBtYXNrX3J3X3B0ZShwdGVfdCAqcHRlcCwgcHRlX3QgcHRl KQo+Pj4+ICtzdGF0aWMgcHRldmFsX3QgX19pbml0IG1hc2tfcndfcHRlKHB0ZXZhbF90IHB0ZSkK Pj4+PiAgewo+Pj4+ICAJdW5zaWduZWQgbG9uZyBwZm47Cj4+Pj4gIAo+Pj4+IEBAIC0xNTc3LDEw ICsxNTc3LDEwIEBAIHN0YXRpYyBwdGVfdCBfX2luaXQgbWFza19yd19wdGUocHRlX3QgKnB0ZXAs IHB0ZV90IHB0ZSkKPj4+PiAgCSAqIHBhZ2UgdGFibGVzIGZvciBtYXBwaW5nIHRoZSBwMm0gbGlz dCwgdG9vLCBhbmQgcGFnZSB0YWJsZXMgTVVTVCBiZQo+Pj4+ICAJICogbWFwcGVkIHJlYWQtb25s eS4KPj4+PiAgCSAqLwo+Pj4+IC0JcGZuID0gcHRlX3BmbihwdGUpOwo+Pj4+ICsJcGZuID0gKHB0 ZSAmIFBURV9QRk5fTUFTSykgPj4gUEFHRV9TSElGVDsKPj4+IElzIGl0IG9idmlvdXMgdGhhdCB3 ZSBhcmUgaG9sZGluZyB2YWxpZCBQRk4gYXQgdGhpcyBwb2ludD8gSXQgd2Fzbid0Cj4+PiBpbW1l ZGlhdGVseSBvYnZpb3VzIHRvIG1lIHNvIEkgd29uZGVyIHdoZXRoZXIgYSBjb21tZW50IHN0YXRp bmcgdGhpcwo+Pj4gd291bGQgYmUgdXNlZnVsIGhlcmUgKHllcywgeW91IG1lbnRpb24gaXQgaW4g dGhlIGNvbW1pdCBtZXNzYWdlcykuCj4+IEkgZG9uJ3QgdW5kZXJzdGFuZCB3aGF0IHlvdSBtZWFu IGJ5IGEgInZhbGlkIFBGTiI/Cj4+Cj4+IFRoaXMgaXMgb25seSBjYWxsZWQgZnJvbSB4ZW5fbWFr ZV9wdGVfaW5pdCgpIHdoaWNoIGlzIGZvciBjb252ZXJ0aW5nCj4+IHB0ZXZhbHMgY29udGFpbmlu ZyBQRk5zIHRvIE1GTnMuICBEaWQgdGhhdCBhbnN3ZXIgeW91ciBxdWVzdGlvbj8KClllcy4KCj4+ Cj4+IFdvdWxkIGl0IGJlIGNsZWFyZXIgaWYgSSBqdXN0IGlubGluZWQgdGhlIHR3byBmdW5jdGlv bnMgbGlrZSBzbzoKClllcywgSSB0aGluayBpdCdzIG11Y2ggYmV0dGVyIHRoaXMgd2F5LiBPdGhl cndpc2UganVzdCBieSBsb29raW5nIGF0Cm1hc2tfcndfcHRlKCkgaXQgbWF5IG5vdCBiZSBjbGVh ciB0aGF0IHdlIGNhbiBnZXQgUEZOIGRpcmVjdGx5IGZyb20gdGhlCnB0ZSAod2hpY2ggaXMgd2hh dCBJIG1lYW50IHdoZW4gSSBzYWlkICJ2YWxpZCBQRk4iKS4KCk5vdCB0byBtZW50aW9uIHRoYXQg bm93IHdlIHdvbid0IGhhdmUgdHdvIHZlcnNpb25zIG9mIG1hc2tfcndfcHRlKCkuCgotYm9yaXMK Cgo+IEl0IHdvdWxkIGhlbHAgaWYgSSBpbmNsdWRlZCB0aGUgcmlnaHQgZGlmZi4KPgo+IDg8LS0t LS0tLS0tLS0tLS0tLS0tLS0tCj4geDg2L3hlbjogYXZvaWQgbTJwIGxvb2t1cCB3aGVuIHNldHRp bmcgZWFybHkgcGFnZSB0YWJsZSBlbnRyaWVzCj4KPiBXaGVuIHBhZ2UgdGFibGVzIGVudHJpZXMg YXJlIHNldCB1c2luZyB4ZW5fc2V0X3B0ZV9pbml0KCkgZHVyaW5nIGVhcmx5Cj4gYm9vdCB0aGVy ZSBpcyBubyBwYWdlIGZhdWx0IGhhbmRsZXIgdGhhdCBjb3VsZCBoYW5kbGUgYSBmYXVsdCB3aGVu Cj4gcGVyZm9ybWluZyBhbiBNMlAgbG9va3VwLgo+Cj4gSW4gNjQgZ3Vlc3QgKHVzdWFsbHkgZG9t MCkgZWFybHlfaW9yZW1hcCgpIHdvdWxkIGZhdWx0IGluCj4geGVuX3NldF9wdGVfaW5pdCgpIGJl Y2F1c2UgYW4gTTJQIGxvb2t1cCBmYXVsdHMgYmVjYXVzZSB0aGUgTUZOIGlzIGluCj4gTU1JTyBz cGFjZSBhbmQgbm90IG1hcHBlZCBpbiB0aGUgTTJQLiAgVGhpcyBsb29rdXAgaXMgZG9uZSB0byBz ZWUgaWYKPiB0aGUgUEZOIGluIGluIHRoZSByYW5nZSB1c2VkIGZvciB0aGUgaW5pdGlhbCBwYWdl IHRhYmxlIHBhZ2VzLCBzbyB0aGF0Cj4gdGhlIFBURSBtYXkgYmUgc2V0IGFzIHJlYWQtb25seS4K Pgo+IFRoZSBNMlAgbG9va3VwIGNhbiBiZSBhdm9pZGVkIGJ5IG1vdmluZyB0aGUgY2hlY2sgKGFu ZCBjbGVhciBvZiBSVykKPiBlYXJsaWVyIHdoZW4gdGhlIFBGTiBpcyBzdGlsbCBhdmFpbGFibGUu Cj4KPiBTaWduZWQtb2ZmLWJ5OiBEYXZpZCBWcmFiZWwgPGRhdmlkLnZyYWJlbEBjaXRyaXguY29t Pgo+IFRlc3RlZC1ieTogS2V2ZW4gTW9yYWdhIDxrbW9yYWdhc0ByaXNldXAubmV0Pgo+IC0tLQo+ IHYzOgo+IC0gZm9sZCBtYXNrX3J3X3B0ZSgpL21hc2tfcndfcHRldmFsKCkgaW50byB0aGVpciBj YWxsZXJzLgo+Cj4gdjI6Cj4gLSBSZW1vdmUgX19pbml0IGFubm90YXRpb24gZnJvbSB4ZW5fbWFr ZV9wdGVfaW5pdCgpIHNpbmNlCj4gICBQVl9DQUxMRUVfU0FWRV9SRUdTX1RIVU5LIGFsd2F5cyBw dXRzIHRoZSB0aHVuayBpbiAudGV4dC4KPgo+IC0gbWFza19yd19wdGUoKSAtPiBtYXNrX3J3X3B0 ZXZhbCgpIGZvciB4ODYtNjQuCj4gLS0tCj4gIGFyY2gveDg2L3hlbi9tbXUuYyB8IDc2Cj4gKysr KysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gIDEg ZmlsZSBjaGFuZ2VkLCAzNSBpbnNlcnRpb25zKCspLCA0MSBkZWxldGlvbnMoLSkKPgo+IGRpZmYg LS1naXQgYS9hcmNoL3g4Ni94ZW4vbW11LmMgYi9hcmNoL3g4Ni94ZW4vbW11LmMKPiBpbmRleCA0 NzhhMmRlLi42NGQ4ZjBiIDEwMDY0NAo+IC0tLSBhL2FyY2gveDg2L3hlbi9tbXUuYwo+ICsrKyBi L2FyY2gveDg2L3hlbi9tbXUuYwo+IEBAIC0xNTUxLDQxICsxNTUxLDYgQEAgc3RhdGljIHZvaWQg eGVuX3BnZF9mcmVlKHN0cnVjdCBtbV9zdHJ1Y3QgKm1tLAo+IHBnZF90ICpwZ2QpCj4gICNlbmRp Zgo+ICB9Cj4KPiAtI2lmZGVmIENPTkZJR19YODZfMzIKPiAtc3RhdGljIHB0ZV90IF9faW5pdCBt YXNrX3J3X3B0ZShwdGVfdCAqcHRlcCwgcHRlX3QgcHRlKQo+IC17Cj4gLQkvKiBJZiB0aGVyZSdz IGFuIGV4aXN0aW5nIHB0ZSwgdGhlbiBkb24ndCBhbGxvdyBfUEFHRV9SVyB0byBiZSBzZXQgKi8K PiAtCWlmIChwdGVfdmFsX21hKCpwdGVwKSAmIF9QQUdFX1BSRVNFTlQpCj4gLQkJcHRlID0gX19w dGVfbWEoKChwdGVfdmFsX21hKCpwdGVwKSAmIF9QQUdFX1JXKSB8IH5fUEFHRV9SVykgJgo+IC0J CQkgICAgICAgcHRlX3ZhbF9tYShwdGUpKTsKPiAtCj4gLQlyZXR1cm4gcHRlOwo+IC19Cj4gLSNl bHNlIC8qIENPTkZJR19YODZfNjQgKi8KPiAtc3RhdGljIHB0ZV90IF9faW5pdCBtYXNrX3J3X3B0 ZShwdGVfdCAqcHRlcCwgcHRlX3QgcHRlKQo+IC17Cj4gLQl1bnNpZ25lZCBsb25nIHBmbjsKPiAt Cj4gLQlpZiAoeGVuX2ZlYXR1cmUoWEVORkVBVF93cml0YWJsZV9wYWdlX3RhYmxlcykgfHwKPiAt CSAgICB4ZW5fZmVhdHVyZShYRU5GRUFUX2F1dG9fdHJhbnNsYXRlZF9waHlzbWFwKSB8fAo+IC0J ICAgIHhlbl9zdGFydF9pbmZvLT5tZm5fbGlzdCA+PSBfX1NUQVJUX0tFUk5FTF9tYXApCj4gLQkJ cmV0dXJuIHB0ZTsKPiAtCj4gLQkvKgo+IC0JICogUGFnZXMgYmVsb25naW5nIHRvIHRoZSBpbml0 aWFsIHAybSBsaXN0IG1hcHBlZCBvdXRzaWRlIHRoZSBkZWZhdWx0Cj4gLQkgKiBhZGRyZXNzIHJh bmdlIG11c3QgYmUgbWFwcGVkIHJlYWQtb25seS4gVGhpcyByZWdpb24gY29udGFpbnMgdGhlCj4g LQkgKiBwYWdlIHRhYmxlcyBmb3IgbWFwcGluZyB0aGUgcDJtIGxpc3QsIHRvbywgYW5kIHBhZ2Ug dGFibGVzIE1VU1QgYmUKPiAtCSAqIG1hcHBlZCByZWFkLW9ubHkuCj4gLQkgKi8KPiAtCXBmbiA9 IHB0ZV9wZm4ocHRlKTsKPiAtCWlmIChwZm4gPj0geGVuX3N0YXJ0X2luZm8tPmZpcnN0X3AybV9w Zm4gJiYKPiAtCSAgICBwZm4gPCB4ZW5fc3RhcnRfaW5mby0+Zmlyc3RfcDJtX3BmbiArIHhlbl9z dGFydF9pbmZvLT5ucl9wMm1fZnJhbWVzKQo+IC0JCXB0ZSA9IF9fcHRlX21hKHB0ZV92YWxfbWEo cHRlKSAmIH5fUEFHRV9SVyk7Cj4gLQo+IC0JcmV0dXJuIHB0ZTsKPiAtfQo+IC0jZW5kaWYgLyog Q09ORklHX1g4Nl82NCAqLwo+IC0KPiAgLyoKPiAgICogSW5pdC10aW1lIHNldF9wdGUgd2hpbGUg Y29uc3RydWN0aW5nIGluaXRpYWwgcGFnZXRhYmxlcywgd2hpY2gKPiAgICogZG9lc24ndCBhbGxv dyBSTyBwYWdlIHRhYmxlIHBhZ2VzIHRvIGJlIHJlbWFwcGVkIFJXLgo+IEBAIC0xNjAwLDEzICsx NTY1LDQxIEBAIHN0YXRpYyBwdGVfdCBfX2luaXQgbWFza19yd19wdGUocHRlX3QgKnB0ZXAsCj4g cHRlX3QgcHRlKQo+ICAgKiBzbyBhbHdheXMgd3JpdGUgdGhlIFBURSBkaXJlY3RseSBhbmQgcmVs eSBvbiBYZW4gdHJhcHBpbmcgYW5kCj4gICAqIGVtdWxhdGluZyBhbnkgdXBkYXRlcyBhcyBuZWNl c3NhcnkuCj4gICAqLwo+IC1zdGF0aWMgdm9pZCBfX2luaXQgeGVuX3NldF9wdGVfaW5pdChwdGVf dCAqcHRlcCwgcHRlX3QgcHRlKQo+ICtfX3Zpc2libGUgcHRlX3QgeGVuX21ha2VfcHRlX2luaXQo cHRldmFsX3QgcHRlKQo+ICB7Cj4gLQlpZiAocHRlX21mbihwdGUpICE9IElOVkFMSURfUDJNX0VO VFJZKQo+IC0JCXB0ZSA9IG1hc2tfcndfcHRlKHB0ZXAsIHB0ZSk7Cj4gLQllbHNlCj4gLQkJcHRl ID0gX19wdGVfbWEoMCk7Cj4gKyNpZmRlZiBDT05GSUdfWDg2XzY0Cj4gKwl1bnNpZ25lZCBsb25n IHBmbjsKPiArCj4gKwkvKgo+ICsJICogUGFnZXMgYmVsb25naW5nIHRvIHRoZSBpbml0aWFsIHAy bSBsaXN0IG1hcHBlZCBvdXRzaWRlIHRoZSBkZWZhdWx0Cj4gKwkgKiBhZGRyZXNzIHJhbmdlIG11 c3QgYmUgbWFwcGVkIHJlYWQtb25seS4gVGhpcyByZWdpb24gY29udGFpbnMgdGhlCj4gKwkgKiBw YWdlIHRhYmxlcyBmb3IgbWFwcGluZyB0aGUgcDJtIGxpc3QsIHRvbywgYW5kIHBhZ2UgdGFibGVz IE1VU1QgYmUKPiArCSAqIG1hcHBlZCByZWFkLW9ubHkuCj4gKwkgKi8KPiArCXBmbiA9IChwdGUg JiBQVEVfUEZOX01BU0spID4+IFBBR0VfU0hJRlQ7Cj4gKwlpZiAoeGVuX3N0YXJ0X2luZm8tPm1m bl9saXN0IDwgX19TVEFSVF9LRVJORUxfbWFwICYmCj4gKwkgICAgcGZuID49IHhlbl9zdGFydF9p bmZvLT5maXJzdF9wMm1fcGZuICYmCj4gKwkgICAgcGZuIDwgeGVuX3N0YXJ0X2luZm8tPmZpcnN0 X3AybV9wZm4gKyB4ZW5fc3RhcnRfaW5mby0+bnJfcDJtX2ZyYW1lcykKPiArCQlwdGUgJj0gfl9Q QUdFX1JXOwo+ICsjZW5kaWYKPiArCXB0ZSA9IHB0ZV9wZm5fdG9fbWZuKHB0ZSk7Cj4KPiArCWlm ICgocHRlICYgUFRFX1BGTl9NQVNLKSA+PiBQQUdFX1NISUZUID09IElOVkFMSURfUDJNX0VOVFJZ KQo+ICsJCXB0ZSA9IDA7Cj4gKwo+ICsJcmV0dXJuIG5hdGl2ZV9tYWtlX3B0ZShwdGUpOwo+ICt9 Cj4gK1BWX0NBTExFRV9TQVZFX1JFR1NfVEhVTksoeGVuX21ha2VfcHRlX2luaXQpOwo+ICsKPiAr c3RhdGljIHZvaWQgX19pbml0IHhlbl9zZXRfcHRlX2luaXQocHRlX3QgKnB0ZXAsIHB0ZV90IHB0 ZSkKPiArewo+ICsjaWZkZWYgQ09ORklHX1g4Nl8zMgo+ICsJLyogSWYgdGhlcmUncyBhbiBleGlz dGluZyBwdGUsIHRoZW4gZG9uJ3QgYWxsb3cgX1BBR0VfUlcgdG8gYmUgc2V0ICovCj4gKwlpZiAo cHRlX21mbihwdGUpICE9IElOVkFMSURfUDJNX0VOVFJZCj4gKwkgICAgJiYgcHRlX3ZhbF9tYSgq cHRlcCkgJiBfUEFHRV9QUkVTRU5UKQo+ICsJCXB0ZSA9IF9fcHRlX21hKCgocHRlX3ZhbF9tYSgq cHRlcCkgJiBfUEFHRV9SVykgfCB+X1BBR0VfUlcpICYKPiArCQkJICAgICAgIHB0ZV92YWxfbWEo cHRlKSk7Cj4gKyNlbmRpZgo+ICAJbmF0aXZlX3NldF9wdGUocHRlcCwgcHRlKTsKPiAgfQo+Cj4g QEAgLTI0MDcsNiArMjQwMCw3IEBAIHN0YXRpYyB2b2lkIF9faW5pdCB4ZW5fcG9zdF9hbGxvY2F0 b3JfaW5pdCh2b2lkKQo+ICAJcHZfbW11X29wcy5hbGxvY19wdWQgPSB4ZW5fYWxsb2NfcHVkOwo+ ICAJcHZfbW11X29wcy5yZWxlYXNlX3B1ZCA9IHhlbl9yZWxlYXNlX3B1ZDsKPiAgI2VuZGlmCj4g Kwlwdl9tbXVfb3BzLm1ha2VfcHRlID0gUFZfQ0FMTEVFX1NBVkUoeGVuX21ha2VfcHRlKTsKPgo+ ICAjaWZkZWYgQ09ORklHX1g4Nl82NAo+ICAJcHZfbW11X29wcy53cml0ZV9jcjMgPSAmeGVuX3dy aXRlX2NyMzsKPiBAQCAtMjQ1NSw3ICsyNDQ5LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBwdl9t bXVfb3BzIHhlbl9tbXVfb3BzCj4gX19pbml0Y29uc3QgPSB7Cj4gIAkucHRlX3ZhbCA9IFBWX0NB TExFRV9TQVZFKHhlbl9wdGVfdmFsKSwKPiAgCS5wZ2RfdmFsID0gUFZfQ0FMTEVFX1NBVkUoeGVu X3BnZF92YWwpLAo+Cj4gLQkubWFrZV9wdGUgPSBQVl9DQUxMRUVfU0FWRSh4ZW5fbWFrZV9wdGUp LAo+ICsJLm1ha2VfcHRlID0gUFZfQ0FMTEVFX1NBVkUoeGVuX21ha2VfcHRlX2luaXQpLAo+ICAJ Lm1ha2VfcGdkID0gUFZfQ0FMTEVFX1NBVkUoeGVuX21ha2VfcGdkKSwKPgo+ICAjaWZkZWYgQ09O RklHX1g4Nl9QQUUKCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRw Oi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK