From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Vrabel Subject: Re: [PATCHv2] x86/xen: avoid m2p lookup when setting early page table entries Date: Wed, 22 Jun 2016 12:19:26 +0100 Message-ID: <576A743E.8070006@citrix.com> References: <1466525353-27751-1-git-send-email-david.vrabel@citrix.com> <57699624.4060500@oracle.com> <576A6E6A.8030502@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 1bFgBw-0004JE-AI for xen-devel@lists.xenproject.org; Wed, 22 Jun 2016 11:19:32 +0000 In-Reply-To: <576A6E6A.8030502@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: David Vrabel , Boris Ostrovsky , xen-devel@lists.xenproject.org Cc: Juergen Gross List-Id: xen-devel@lists.xenproject.org T24gMjIvMDYvMTYgMTE6NTQsIERhdmlkIFZyYWJlbCB3cm90ZToKPiBPbiAyMS8wNi8xNiAyMDoz MSwgQm9yaXMgT3N0cm92c2t5IHdyb3RlOgo+PiBPbiAwNi8yMS8yMDE2IDEyOjA5IFBNLCBEYXZp ZCBWcmFiZWwgd3JvdGU6Cj4+PiBXaGVuIHBhZ2UgdGFibGVzIGVudHJpZXMgYXJlIHNldCB1c2lu ZyB4ZW5fc2V0X3B0ZV9pbml0KCkgZHVyaW5nIGVhcmx5Cj4+PiBib290IHRoZXJlIGlzIG5vIHBh Z2UgZmF1bHQgaGFuZGxlciB0aGF0IGNvdWxkIGhhbmRsZSBhIGZhdWx0IHdoZW4KPj4+IHBlcmZv cm1pbmcgYW4gTTJQIGxvb2t1cC4KPj4+Cj4+PiBJbiA2NCBndWVzdCAodXN1YWxseSBkb20wKSBl YXJseV9pb3JlbWFwKCkgd291bGQgZmF1bHQgaW4KPj4+IHhlbl9zZXRfcHRlX2luaXQoKSBiZWNh dXNlIGFuIE0yUCBsb29rdXAgZmF1bHRzIGJlY2F1c2UgdGhlIE1GTiBpcyBpbgo+Pj4gTU1JTyBz cGFjZSBhbmQgbm90IG1hcHBlZCBpbiB0aGUgTTJQLiAgVGhpcyBsb29rdXAgaXMgZG9uZSB0byBz ZWUgaWYKPj4+IHRoZSBQRk4gaW4gaW4gdGhlIHJhbmdlIHVzZWQgZm9yIHRoZSBpbml0aWFsIHBh Z2UgdGFibGUgcGFnZXMsIHNvIHRoYXQKPj4+IHRoZSBQVEUgbWF5IGJlIHNldCBhcyByZWFkLW9u bHkuCj4+Pgo+Pj4gVGhlIE0yUCBsb29rdXAgY2FuIGJlIGF2b2lkZWQgYnkgbW92aW5nIHRoZSBj aGVjayAoYW5kIGNsZWFyIG9mIFJXKQo+Pj4gZWFybGllciB3aGVuIHRoZSBQRk4gaXMgc3RpbGwg YXZhaWxhYmxlLgo+IFsuLi5dCj4+PiAtLS0gYS9hcmNoL3g4Ni94ZW4vbW11LmMKPj4+ICsrKyBi L2FyY2gveDg2L3hlbi9tbXUuYwo+Pj4gQEAgLTE1NjIsNyArMTU2Miw3IEBAIHN0YXRpYyBwdGVf dCBfX2luaXQgbWFza19yd19wdGUocHRlX3QgKnB0ZXAsIHB0ZV90IHB0ZSkKPj4+ICAJcmV0dXJu IHB0ZTsKPj4+ICB9Cj4+PiAgI2Vsc2UgLyogQ09ORklHX1g4Nl82NCAqLwo+Pj4gLXN0YXRpYyBw dGVfdCBfX2luaXQgbWFza19yd19wdGUocHRlX3QgKnB0ZXAsIHB0ZV90IHB0ZSkKPj4+ICtzdGF0 aWMgcHRldmFsX3QgX19pbml0IG1hc2tfcndfcHRlKHB0ZXZhbF90IHB0ZSkKPj4+ICB7Cj4+PiAg CXVuc2lnbmVkIGxvbmcgcGZuOwo+Pj4gIAo+Pj4gQEAgLTE1NzcsMTAgKzE1NzcsMTAgQEAgc3Rh dGljIHB0ZV90IF9faW5pdCBtYXNrX3J3X3B0ZShwdGVfdCAqcHRlcCwgcHRlX3QgcHRlKQo+Pj4g IAkgKiBwYWdlIHRhYmxlcyBmb3IgbWFwcGluZyB0aGUgcDJtIGxpc3QsIHRvbywgYW5kIHBhZ2Ug dGFibGVzIE1VU1QgYmUKPj4+ICAJICogbWFwcGVkIHJlYWQtb25seS4KPj4+ICAJICovCj4+PiAt CXBmbiA9IHB0ZV9wZm4ocHRlKTsKPj4+ICsJcGZuID0gKHB0ZSAmIFBURV9QRk5fTUFTSykgPj4g UEFHRV9TSElGVDsKPj4KPj4gSXMgaXQgb2J2aW91cyB0aGF0IHdlIGFyZSBob2xkaW5nIHZhbGlk IFBGTiBhdCB0aGlzIHBvaW50PyBJdCB3YXNuJ3QKPj4gaW1tZWRpYXRlbHkgb2J2aW91cyB0byBt ZSBzbyBJIHdvbmRlciB3aGV0aGVyIGEgY29tbWVudCBzdGF0aW5nIHRoaXMKPj4gd291bGQgYmUg dXNlZnVsIGhlcmUgKHllcywgeW91IG1lbnRpb24gaXQgaW4gdGhlIGNvbW1pdCBtZXNzYWdlcyku Cj4gCj4gSSBkb24ndCB1bmRlcnN0YW5kIHdoYXQgeW91IG1lYW4gYnkgYSAidmFsaWQgUEZOIj8K PiAKPiBUaGlzIGlzIG9ubHkgY2FsbGVkIGZyb20geGVuX21ha2VfcHRlX2luaXQoKSB3aGljaCBp cyBmb3IgY29udmVydGluZwo+IHB0ZXZhbHMgY29udGFpbmluZyBQRk5zIHRvIE1GTnMuICBEaWQg dGhhdCBhbnN3ZXIgeW91ciBxdWVzdGlvbj8KPiAKPiBXb3VsZCBpdCBiZSBjbGVhcmVyIGlmIEkg anVzdCBpbmxpbmVkIHRoZSB0d28gZnVuY3Rpb25zIGxpa2Ugc286CgpJdCB3b3VsZCBoZWxwIGlm IEkgaW5jbHVkZWQgdGhlIHJpZ2h0IGRpZmYuCgo4PC0tLS0tLS0tLS0tLS0tLS0tLS0tLQp4ODYv eGVuOiBhdm9pZCBtMnAgbG9va3VwIHdoZW4gc2V0dGluZyBlYXJseSBwYWdlIHRhYmxlIGVudHJp ZXMKCldoZW4gcGFnZSB0YWJsZXMgZW50cmllcyBhcmUgc2V0IHVzaW5nIHhlbl9zZXRfcHRlX2lu aXQoKSBkdXJpbmcgZWFybHkKYm9vdCB0aGVyZSBpcyBubyBwYWdlIGZhdWx0IGhhbmRsZXIgdGhh dCBjb3VsZCBoYW5kbGUgYSBmYXVsdCB3aGVuCnBlcmZvcm1pbmcgYW4gTTJQIGxvb2t1cC4KCklu IDY0IGd1ZXN0ICh1c3VhbGx5IGRvbTApIGVhcmx5X2lvcmVtYXAoKSB3b3VsZCBmYXVsdCBpbgp4 ZW5fc2V0X3B0ZV9pbml0KCkgYmVjYXVzZSBhbiBNMlAgbG9va3VwIGZhdWx0cyBiZWNhdXNlIHRo ZSBNRk4gaXMgaW4KTU1JTyBzcGFjZSBhbmQgbm90IG1hcHBlZCBpbiB0aGUgTTJQLiAgVGhpcyBs b29rdXAgaXMgZG9uZSB0byBzZWUgaWYKdGhlIFBGTiBpbiBpbiB0aGUgcmFuZ2UgdXNlZCBmb3Ig dGhlIGluaXRpYWwgcGFnZSB0YWJsZSBwYWdlcywgc28gdGhhdAp0aGUgUFRFIG1heSBiZSBzZXQg YXMgcmVhZC1vbmx5LgoKVGhlIE0yUCBsb29rdXAgY2FuIGJlIGF2b2lkZWQgYnkgbW92aW5nIHRo ZSBjaGVjayAoYW5kIGNsZWFyIG9mIFJXKQplYXJsaWVyIHdoZW4gdGhlIFBGTiBpcyBzdGlsbCBh dmFpbGFibGUuCgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBWcmFiZWwgPGRhdmlkLnZyYWJlbEBjaXRy aXguY29tPgpUZXN0ZWQtYnk6IEtldmVuIE1vcmFnYSA8a21vcmFnYXNAcmlzZXVwLm5ldD4KLS0t CnYzOgotIGZvbGQgbWFza19yd19wdGUoKS9tYXNrX3J3X3B0ZXZhbCgpIGludG8gdGhlaXIgY2Fs bGVycy4KCnYyOgotIFJlbW92ZSBfX2luaXQgYW5ub3RhdGlvbiBmcm9tIHhlbl9tYWtlX3B0ZV9p bml0KCkgc2luY2UKICBQVl9DQUxMRUVfU0FWRV9SRUdTX1RIVU5LIGFsd2F5cyBwdXRzIHRoZSB0 aHVuayBpbiAudGV4dC4KCi0gbWFza19yd19wdGUoKSAtPiBtYXNrX3J3X3B0ZXZhbCgpIGZvciB4 ODYtNjQuCi0tLQogYXJjaC94ODYveGVuL21tdS5jIHwgNzYKKysrKysrKysrKysrKysrKysrKysr KysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMzUgaW5z ZXJ0aW9ucygrKSwgNDEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvYXJjaC94ODYveGVuL21t dS5jIGIvYXJjaC94ODYveGVuL21tdS5jCmluZGV4IDQ3OGEyZGUuLjY0ZDhmMGIgMTAwNjQ0Ci0t LSBhL2FyY2gveDg2L3hlbi9tbXUuYworKysgYi9hcmNoL3g4Ni94ZW4vbW11LmMKQEAgLTE1NTEs NDEgKzE1NTEsNiBAQCBzdGF0aWMgdm9pZCB4ZW5fcGdkX2ZyZWUoc3RydWN0IG1tX3N0cnVjdCAq bW0sCnBnZF90ICpwZ2QpCiAjZW5kaWYKIH0KCi0jaWZkZWYgQ09ORklHX1g4Nl8zMgotc3RhdGlj IHB0ZV90IF9faW5pdCBtYXNrX3J3X3B0ZShwdGVfdCAqcHRlcCwgcHRlX3QgcHRlKQotewotCS8q IElmIHRoZXJlJ3MgYW4gZXhpc3RpbmcgcHRlLCB0aGVuIGRvbid0IGFsbG93IF9QQUdFX1JXIHRv IGJlIHNldCAqLwotCWlmIChwdGVfdmFsX21hKCpwdGVwKSAmIF9QQUdFX1BSRVNFTlQpCi0JCXB0 ZSA9IF9fcHRlX21hKCgocHRlX3ZhbF9tYSgqcHRlcCkgJiBfUEFHRV9SVykgfCB+X1BBR0VfUlcp ICYKLQkJCSAgICAgICBwdGVfdmFsX21hKHB0ZSkpOwotCi0JcmV0dXJuIHB0ZTsKLX0KLSNlbHNl IC8qIENPTkZJR19YODZfNjQgKi8KLXN0YXRpYyBwdGVfdCBfX2luaXQgbWFza19yd19wdGUocHRl X3QgKnB0ZXAsIHB0ZV90IHB0ZSkKLXsKLQl1bnNpZ25lZCBsb25nIHBmbjsKLQotCWlmICh4ZW5f ZmVhdHVyZShYRU5GRUFUX3dyaXRhYmxlX3BhZ2VfdGFibGVzKSB8fAotCSAgICB4ZW5fZmVhdHVy ZShYRU5GRUFUX2F1dG9fdHJhbnNsYXRlZF9waHlzbWFwKSB8fAotCSAgICB4ZW5fc3RhcnRfaW5m by0+bWZuX2xpc3QgPj0gX19TVEFSVF9LRVJORUxfbWFwKQotCQlyZXR1cm4gcHRlOwotCi0JLyoK LQkgKiBQYWdlcyBiZWxvbmdpbmcgdG8gdGhlIGluaXRpYWwgcDJtIGxpc3QgbWFwcGVkIG91dHNp ZGUgdGhlIGRlZmF1bHQKLQkgKiBhZGRyZXNzIHJhbmdlIG11c3QgYmUgbWFwcGVkIHJlYWQtb25s eS4gVGhpcyByZWdpb24gY29udGFpbnMgdGhlCi0JICogcGFnZSB0YWJsZXMgZm9yIG1hcHBpbmcg dGhlIHAybSBsaXN0LCB0b28sIGFuZCBwYWdlIHRhYmxlcyBNVVNUIGJlCi0JICogbWFwcGVkIHJl YWQtb25seS4KLQkgKi8KLQlwZm4gPSBwdGVfcGZuKHB0ZSk7Ci0JaWYgKHBmbiA+PSB4ZW5fc3Rh cnRfaW5mby0+Zmlyc3RfcDJtX3BmbiAmJgotCSAgICBwZm4gPCB4ZW5fc3RhcnRfaW5mby0+Zmly c3RfcDJtX3BmbiArIHhlbl9zdGFydF9pbmZvLT5ucl9wMm1fZnJhbWVzKQotCQlwdGUgPSBfX3B0 ZV9tYShwdGVfdmFsX21hKHB0ZSkgJiB+X1BBR0VfUlcpOwotCi0JcmV0dXJuIHB0ZTsKLX0KLSNl bmRpZiAvKiBDT05GSUdfWDg2XzY0ICovCi0KIC8qCiAgKiBJbml0LXRpbWUgc2V0X3B0ZSB3aGls ZSBjb25zdHJ1Y3RpbmcgaW5pdGlhbCBwYWdldGFibGVzLCB3aGljaAogICogZG9lc24ndCBhbGxv dyBSTyBwYWdlIHRhYmxlIHBhZ2VzIHRvIGJlIHJlbWFwcGVkIFJXLgpAQCAtMTYwMCwxMyArMTU2 NSw0MSBAQCBzdGF0aWMgcHRlX3QgX19pbml0IG1hc2tfcndfcHRlKHB0ZV90ICpwdGVwLApwdGVf dCBwdGUpCiAgKiBzbyBhbHdheXMgd3JpdGUgdGhlIFBURSBkaXJlY3RseSBhbmQgcmVseSBvbiBY ZW4gdHJhcHBpbmcgYW5kCiAgKiBlbXVsYXRpbmcgYW55IHVwZGF0ZXMgYXMgbmVjZXNzYXJ5Lgog ICovCi1zdGF0aWMgdm9pZCBfX2luaXQgeGVuX3NldF9wdGVfaW5pdChwdGVfdCAqcHRlcCwgcHRl X3QgcHRlKQorX192aXNpYmxlIHB0ZV90IHhlbl9tYWtlX3B0ZV9pbml0KHB0ZXZhbF90IHB0ZSkK IHsKLQlpZiAocHRlX21mbihwdGUpICE9IElOVkFMSURfUDJNX0VOVFJZKQotCQlwdGUgPSBtYXNr X3J3X3B0ZShwdGVwLCBwdGUpOwotCWVsc2UKLQkJcHRlID0gX19wdGVfbWEoMCk7CisjaWZkZWYg Q09ORklHX1g4Nl82NAorCXVuc2lnbmVkIGxvbmcgcGZuOworCisJLyoKKwkgKiBQYWdlcyBiZWxv bmdpbmcgdG8gdGhlIGluaXRpYWwgcDJtIGxpc3QgbWFwcGVkIG91dHNpZGUgdGhlIGRlZmF1bHQK KwkgKiBhZGRyZXNzIHJhbmdlIG11c3QgYmUgbWFwcGVkIHJlYWQtb25seS4gVGhpcyByZWdpb24g Y29udGFpbnMgdGhlCisJICogcGFnZSB0YWJsZXMgZm9yIG1hcHBpbmcgdGhlIHAybSBsaXN0LCB0 b28sIGFuZCBwYWdlIHRhYmxlcyBNVVNUIGJlCisJICogbWFwcGVkIHJlYWQtb25seS4KKwkgKi8K KwlwZm4gPSAocHRlICYgUFRFX1BGTl9NQVNLKSA+PiBQQUdFX1NISUZUOworCWlmICh4ZW5fc3Rh cnRfaW5mby0+bWZuX2xpc3QgPCBfX1NUQVJUX0tFUk5FTF9tYXAgJiYKKwkgICAgcGZuID49IHhl bl9zdGFydF9pbmZvLT5maXJzdF9wMm1fcGZuICYmCisJICAgIHBmbiA8IHhlbl9zdGFydF9pbmZv LT5maXJzdF9wMm1fcGZuICsgeGVuX3N0YXJ0X2luZm8tPm5yX3AybV9mcmFtZXMpCisJCXB0ZSAm PSB+X1BBR0VfUlc7CisjZW5kaWYKKwlwdGUgPSBwdGVfcGZuX3RvX21mbihwdGUpOwoKKwlpZiAo KHB0ZSAmIFBURV9QRk5fTUFTSykgPj4gUEFHRV9TSElGVCA9PSBJTlZBTElEX1AyTV9FTlRSWSkK KwkJcHRlID0gMDsKKworCXJldHVybiBuYXRpdmVfbWFrZV9wdGUocHRlKTsKK30KK1BWX0NBTExF RV9TQVZFX1JFR1NfVEhVTksoeGVuX21ha2VfcHRlX2luaXQpOworCitzdGF0aWMgdm9pZCBfX2lu aXQgeGVuX3NldF9wdGVfaW5pdChwdGVfdCAqcHRlcCwgcHRlX3QgcHRlKQoreworI2lmZGVmIENP TkZJR19YODZfMzIKKwkvKiBJZiB0aGVyZSdzIGFuIGV4aXN0aW5nIHB0ZSwgdGhlbiBkb24ndCBh bGxvdyBfUEFHRV9SVyB0byBiZSBzZXQgKi8KKwlpZiAocHRlX21mbihwdGUpICE9IElOVkFMSURf UDJNX0VOVFJZCisJICAgICYmIHB0ZV92YWxfbWEoKnB0ZXApICYgX1BBR0VfUFJFU0VOVCkKKwkJ cHRlID0gX19wdGVfbWEoKChwdGVfdmFsX21hKCpwdGVwKSAmIF9QQUdFX1JXKSB8IH5fUEFHRV9S VykgJgorCQkJICAgICAgIHB0ZV92YWxfbWEocHRlKSk7CisjZW5kaWYKIAluYXRpdmVfc2V0X3B0 ZShwdGVwLCBwdGUpOwogfQoKQEAgLTI0MDcsNiArMjQwMCw3IEBAIHN0YXRpYyB2b2lkIF9faW5p dCB4ZW5fcG9zdF9hbGxvY2F0b3JfaW5pdCh2b2lkKQogCXB2X21tdV9vcHMuYWxsb2NfcHVkID0g eGVuX2FsbG9jX3B1ZDsKIAlwdl9tbXVfb3BzLnJlbGVhc2VfcHVkID0geGVuX3JlbGVhc2VfcHVk OwogI2VuZGlmCisJcHZfbW11X29wcy5tYWtlX3B0ZSA9IFBWX0NBTExFRV9TQVZFKHhlbl9tYWtl X3B0ZSk7CgogI2lmZGVmIENPTkZJR19YODZfNjQKIAlwdl9tbXVfb3BzLndyaXRlX2NyMyA9ICZ4 ZW5fd3JpdGVfY3IzOwpAQCAtMjQ1NSw3ICsyNDQ5LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBw dl9tbXVfb3BzIHhlbl9tbXVfb3BzCl9faW5pdGNvbnN0ID0gewogCS5wdGVfdmFsID0gUFZfQ0FM TEVFX1NBVkUoeGVuX3B0ZV92YWwpLAogCS5wZ2RfdmFsID0gUFZfQ0FMTEVFX1NBVkUoeGVuX3Bn ZF92YWwpLAoKLQkubWFrZV9wdGUgPSBQVl9DQUxMRUVfU0FWRSh4ZW5fbWFrZV9wdGUpLAorCS5t YWtlX3B0ZSA9IFBWX0NBTExFRV9TQVZFKHhlbl9tYWtlX3B0ZV9pbml0KSwKIAkubWFrZV9wZ2Qg PSBQVl9DQUxMRUVfU0FWRSh4ZW5fbWFrZV9wZ2QpLAoKICNpZmRlZiBDT05GSUdfWDg2X1BBRQot LSAKMi4xLjQKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHA6Ly9s aXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=