From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH RFC 06/44] x86/boot: Allocate percpu pagetables for the idle vcpus Date: Thu, 4 Jan 2018 20:21:31 +0000 Message-ID: <1515097329-31902-7-git-send-email-andrew.cooper3@citrix.com> References: <1515097329-31902-1-git-send-email-andrew.cooper3@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1515097329-31902-1-git-send-email-andrew.cooper3@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: Xen-devel Cc: Andrew Cooper List-Id: xen-devel@lists.xenproject.org SW50cm9kdWNlIGNwdV9zbXBib290X2FsbG9jX2NvbW1vbigpLCBmb3Igc3RhdGUgc2hhcmVkIGJl dHdlZW4KY3B1X3NtcGJvb3RfYWxsb2MoKSBhbmQgY3B1X3NtcGJvb3RfYnNwKCkuCgpBIG5lY2Vz c2FyeSByZXF1aXJlbWVudCBub3cgaXMgdGhhdCBjcHVfc21wYm9vdF9uZmIgbXVzdCBiZSBjYWxs ZWQgYmV0d2VlbgphbGxvY2F0aW5nIHRoZSBwZXJjcHUgYXJlYXMsIGFuZCBjYWxsaW5nIGludG8g dGhlIHNjaGVkdWxlciBsb2dpYy4KClNpZ25lZC1vZmYtYnk6IEFuZHJldyBDb29wZXIgPGFuZHJl dy5jb29wZXIzQGNpdHJpeC5jb20+Ci0tLQogeGVuL2FyY2gveDg2L3NtcGJvb3QuYyAgICB8IDUx ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tCiB4ZW4vaW5j bHVkZS9hc20teDg2L3NtcC5oIHwgIDIgKysKIDIgZmlsZXMgY2hhbmdlZCwgNTAgaW5zZXJ0aW9u cygrKSwgMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvc21wYm9vdC5j IGIveGVuL2FyY2gveDg2L3NtcGJvb3QuYwppbmRleCAzNmI4N2RkLi4yMjFkOWM3IDEwMDY0NAot LS0gYS94ZW4vYXJjaC94ODYvc21wYm9vdC5jCisrKyBiL3hlbi9hcmNoL3g4Ni9zbXBib290LmMK QEAgLTU2LDYgKzU2LDggQEAKIAogdW5zaWduZWQgbG9uZyBfX3JlYWRfbW9zdGx5IHRyYW1wb2xp bmVfcGh5czsKIAorREVGSU5FX1BFUl9DUFVfUkVBRF9NT1NUTFkocGFkZHJfdCwgcGVyY3B1X2lk bGVfcHQpOworCiAvKiByZXByZXNlbnRpbmcgSFQgc2libGluZ3Mgb2YgZWFjaCBsb2dpY2FsIENQ VSAqLwogREVGSU5FX1BFUl9DUFVfUkVBRF9NT1NUTFkoY3B1bWFza192YXJfdCwgY3B1X3NpYmxp bmdfbWFzayk7CiAvKiByZXByZXNlbnRpbmcgSFQgYW5kIGNvcmUgc2libGluZ3Mgb2YgZWFjaCBs b2dpY2FsIENQVSAqLwpAQCAtNjMzLDYgKzYzNSwzNiBAQCB2b2lkIGNwdV9leGl0X2NsZWFyKHVu c2lnbmVkIGludCBjcHUpCiAgICAgc2V0X2NwdV9zdGF0ZShDUFVfU1RBVEVfREVBRCk7CiB9CiAK Ky8qIEFsbG9jYXRlIGRhdGEgY29tbW9uIGJldHdlZW4gdGhlIEJTUCBhbmQgQVBzLiAqLworc3Rh dGljIGludCBjcHVfc21wYm9vdF9hbGxvY19jb21tb24odW5zaWduZWQgaW50IGNwdSkKK3sKKyAg ICB1bnNpZ25lZCBpbnQgbWVtZmxhZ3MgPSAwOworICAgIG5vZGVpZF90IG5vZGUgPSBjcHVfdG9f bm9kZShjcHUpOworICAgIGw0X3BnZW50cnlfdCAqbDR0ID0gTlVMTDsKKyAgICBzdHJ1Y3QgcGFn ZV9pbmZvICpwZzsKKyAgICBpbnQgcmMgPSAtRU5PTUVNOworCisgICAgaWYgKCBub2RlICE9IE5V TUFfTk9fTk9ERSApCisgICAgICAgIG1lbWZsYWdzID0gTUVNRl9ub2RlKG5vZGUpOworCisgICAg LyogUGVyY3B1IEw0IHRhYmxlLCB1c2VkIGJ5IHRoZSBpZGxlIGNwdXMuICovCisgICAgcGcgPSBh bGxvY19kb21oZWFwX3BhZ2UoTlVMTCwgbWVtZmxhZ3MpOworICAgIGlmICggIXBnICkKKyAgICAg ICAgZ290byBvdXQ7CisgICAgcGVyX2NwdShwZXJjcHVfaWRsZV9wdCwgY3B1KSA9IHBhZ2VfdG9f bWFkZHIocGcpOworICAgIGw0dCA9IF9fbWFwX2RvbWFpbl9wYWdlKHBnKTsKKyAgICBjbGVhcl9w YWdlKGw0dCk7CisgICAgaW5pdF94ZW5fbDRfc2xvdHMobDR0LCBwYWdlX3RvX21mbihwZyksIE5V TEwsIElOVkFMSURfTUZOLCBmYWxzZSk7CisKKyAgICByYyA9IDA7IC8qIFN1Y2Nlc3MgKi8KKwor IG91dDoKKyAgICBpZiAoIGw0dCApCisgICAgICAgIHVubWFwX2RvbWFpbl9wYWdlKGw0dCk7CisK KyAgICByZXR1cm4gcmM7Cit9CisKIHN0YXRpYyB2b2lkIGNwdV9zbXBib290X2ZyZWUodW5zaWdu ZWQgaW50IGNwdSkKIHsKICAgICB1bnNpZ25lZCBpbnQgb3JkZXIsIHNvY2tldCA9IGNwdV90b19z b2NrZXQoY3B1KTsKQEAgLTY4Niw2ICs3MTgsMTIgQEAgc3RhdGljIHZvaWQgY3B1X3NtcGJvb3Rf ZnJlZSh1bnNpZ25lZCBpbnQgY3B1KQogICAgICAgICBmcmVlX3hlbmhlYXBfcGFnZXMoc3RhY2tf YmFzZVtjcHVdLCBTVEFDS19PUkRFUik7CiAgICAgICAgIHN0YWNrX2Jhc2VbY3B1XSA9IE5VTEw7 CiAgICAgfQorCisgICAgaWYgKCBwZXJfY3B1KHBlcmNwdV9pZGxlX3B0LCBjcHUpICkKKyAgICB7 CisgICAgICAgIGZyZWVfZG9taGVhcF9wYWdlKG1hZGRyX3RvX3BhZ2UocGVyX2NwdShwZXJjcHVf aWRsZV9wdCwgY3B1KSkpOworICAgICAgICBwZXJfY3B1KHBlcmNwdV9pZGxlX3B0LCBjcHUpID0g MDsKKyAgICB9CiB9CiAKIHN0YXRpYyBpbnQgY3B1X3NtcGJvb3RfYWxsb2ModW5zaWduZWQgaW50 IGNwdSkKQEAgLTc0Nyw3ICs3ODUsNyBAQCBzdGF0aWMgaW50IGNwdV9zbXBib290X2FsbG9jKHVu c2lnbmVkIGludCBjcHUpCiAgICAgICAgICAgIGFsbG9jX2NwdW1hc2tfdmFyKCZwZXJfY3B1KHNj cmF0Y2hfY3B1bWFzaywgY3B1KSkpICkKICAgICAgICAgZ290byBvdXQ7CiAKLSAgICByYyA9IDA7 CisgICAgcmMgPSBjcHVfc21wYm9vdF9hbGxvY19jb21tb24oY3B1KTsKIAogIG91dDoKICAgICBp ZiAoIHJjICkKQEAgLTc1OSwxMSArNzk3LDE3IEBAIHN0YXRpYyBpbnQgY3B1X3NtcGJvb3RfYWxs b2ModW5zaWduZWQgaW50IGNwdSkKIHZvaWQgX19pbml0IGNwdV9zbXBib290X2JzcCh2b2lkKQog ewogICAgIHVuc2lnbmVkIGludCBjcHUgPSBzbXBfcHJvY2Vzc29yX2lkKCk7Ci0gICAgaW50IHJj ID0gLUVOT01FTTsKKyAgICBpbnQgcmM7CisKKyAgICBpZiAoIChyYyA9IGNwdV9zbXBib290X2Fs bG9jX2NvbW1vbihjcHUpKSAhPSAwICkKKyAgICAgICAgZ290byBlcnI7CiAKICAgICBpZiAoIChw ZXJfY3B1KHN0dWJzLmFkZHIsIGNwdSkgPQogICAgICAgICAgIGFsbG9jX3N0dWJfcGFnZShjcHUs ICZwZXJfY3B1KHN0dWJzLCBjcHUpLm1mbikpID09IDAgKQorICAgIHsKKyAgICAgICAgcmMgPSAt RU5PTUVNOwogICAgICAgICBnb3RvIGVycjsKKyAgICB9CiAKICAgICByZXR1cm47CiAKQEAgLTc5 NCw3ICs4MzgsOCBAQCBzdGF0aWMgaW50IGNwdV9zbXBib290X2NhbGxiYWNrKAogfQogCiBzdGF0 aWMgc3RydWN0IG5vdGlmaWVyX2Jsb2NrIGNwdV9zbXBib290X25mYiA9IHsKLSAgICAubm90aWZp ZXJfY2FsbCA9IGNwdV9zbXBib290X2NhbGxiYWNrCisgICAgLm5vdGlmaWVyX2NhbGwgPSBjcHVf c21wYm9vdF9jYWxsYmFjaywKKyAgICAucHJpb3JpdHkgPSA5OSwgLyogTXVzdCBiZSBhZnRlciBw ZXJjcHUgYXJlYSwgYmVmb3JlIGlkbGUgdmNwdS4gKi8KIH07CiAKIHZvaWQgX19pbml0IHNtcF9w cmVwYXJlX2NwdXModW5zaWduZWQgaW50IG1heF9jcHVzKQpkaWZmIC0tZ2l0IGEveGVuL2luY2x1 ZGUvYXNtLXg4Ni9zbXAuaCBiL3hlbi9pbmNsdWRlL2FzbS14ODYvc21wLmgKaW5kZXggNDA5ZjNh Zi4uN2ZjYzk0NiAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9zbXAuaAorKysgYi94 ZW4vaW5jbHVkZS9hc20teDg2L3NtcC5oCkBAIC0xOSw2ICsxOSw4IEBACiAjZGVmaW5lIElOVkFM SURfQ1VJRCAofjBVKSAgIC8qIEFNRCBDb21wdXRlIFVuaXQgSUQgKi8KICNpZm5kZWYgX19BU1NF TUJMWV9fCiAKK0RFQ0xBUkVfUEVSX0NQVShwYWRkcl90LCBwZXJjcHVfaWRsZV9wdCk7CisKIC8q CiAgKiBQcml2YXRlIHJvdXRpbmVzL2RhdGEKICAqLwotLSAKMi4xLjQKCgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0 Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qu b3JnL21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs