From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH RFC 40/44] x86/boot: Switch the APs to the percpu pagetables before entering C Date: Thu, 4 Jan 2018 20:22:05 +0000 Message-ID: <1515097329-31902-41-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 VGhpcyBpcyBpbiBwcmVwYXJhdGlvbiBmb3IgdGhlIEFQcyB0byBzd2l0Y2ggdG8gdGhlaXIgcGVy Y3B1IHN0YWNrIGJlZm9yZQplbnRlcmluZyBDLgoKVGhpcyByZXF1aXJlcyBzcGxpdHRpbmcgdGhl IEJTUCBhbmQgQVAgcGF0aHMgaW4gX19oaWdoX3N0YXJ0KCksIGFuZCBmb3IKZG9fYm9vdF9jcHUo KSB0byBwYXNzIHRoZSBhcHByb3ByaWF0ZSBwYWdldGFibGVzLiAgVGhlIHJlc3VsdCBpcyB0aGF0 CmVhcmx5X3N3aXRjaF90b19pZGxlKCkgbm8gbG9uZ2VyIG5lZWRzIHRvIHN3aXRjaCBwYWdldGFi bGVzLCBidXQgdGhlIHN3aXRjaApkb2VzIG5lZWQgdG8gcmV0YWluZWQgZm9yIHRoZSBCU1AuCgpT aWduZWQtb2ZmLWJ5OiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPgot LS0KIHhlbi9hcmNoL3g4Ni9ib290L3g4Nl82NC5TIHwgMTMgKysrKysrKysrKysrKwogeGVuL2Fy Y2gveDg2L3NldHVwLmMgICAgICAgfCAyMSArKysrKysrKysrKystLS0tLS0tLS0KIHhlbi9hcmNo L3g4Ni9zbXBib290LmMgICAgIHwgIDQgKysrLQogMyBmaWxlcyBjaGFuZ2VkLCAyOCBpbnNlcnRp b25zKCspLCAxMCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvYm9vdC94 ODZfNjQuUyBiL3hlbi9hcmNoL3g4Ni9ib290L3g4Nl82NC5TCmluZGV4IDkyNWZkNGIuLmIxZjA0 NTcgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9ib290L3g4Nl82NC5TCisrKyBiL3hlbi9hcmNo L3g4Ni9ib290L3g4Nl82NC5TCkBAIC0xNSw2ICsxNSwxOSBAQCBFTlRSWShfX2hpZ2hfc3RhcnQp CiAgICAgICAgIG1vdiAgICAgJFhFTl9NSU5JTUFMX0NSNCwlcmN4CiAgICAgICAgIG1vdiAgICAg JXJjeCwlY3I0CiAKKyAgICAgICAgLyogU2V0IHVwICVjcjMgKGRpZmZlcnMgYmV0d2VlbiBCU1Ag YW5kIEFQcykuICovCisgICAgICAgIHRlc3QgICAgJWVieCwgJWVieAorICAgICAgICBqeiAgICAg IC5MYnNwX3NldHVwCisKKyAgICAgICAgLyogQVBzIHN3aXRjaCBvbnRvIHBlcmNwdV9pZGxlX3B0 W10sIGFzIHByb3ZpZGVkIGJ5IGRvX2Jvb3RfY3B1KCkuICovCisgICAgICAgIG1vdiAgICAgYXBf Y3IzKCVyaXApLCAlcmF4CisgICAgICAgIG1vdiAgICAgJXJheCwgJWNyMworICAgICAgICBqbXAg ICAgIC5MZG9uZQorCisuTGJzcF9zZXR1cDoKKyAgICAgICAgLyogVGhlIEJTUCBzdGF5cyBvbiB0 aGUgaWRsZV9wZ190YWJsZVtdIGR1cmluZyBlYXJseSBib290LiAqLworLkxkb25lOgorCiAgICAg ICAgIG1vdiAgICAgc3RhY2tfc3RhcnQoJXJpcCksJXJzcAogICAgICAgICBvciAgICAgICQoU1RB Q0tfU0laRS1DUFVJTkZPX3NpemVvZiksJXJzcAogCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYv c2V0dXAuYyBiL3hlbi9hcmNoL3g4Ni9zZXR1cC5jCmluZGV4IDM5ZDE1OTIuLmQ2MjRiOTUgMTAw NjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9zZXR1cC5jCisrKyBiL3hlbi9hcmNoL3g4Ni9zZXR1cC5j CkBAIC0yNDEsNyArMjQxLDYgQEAgdm9pZCBlYXJseV9zd2l0Y2hfdG9faWRsZShib29sIGJzcCkK IHsKICAgICB1bnNpZ25lZCBpbnQgY3B1ID0gc21wX3Byb2Nlc3Nvcl9pZCgpOwogICAgIHN0cnVj dCB2Y3B1ICp2ID0gaWRsZV92Y3B1W2NwdV07Ci0gICAgdW5zaWduZWQgbG9uZyBjcjQgPSByZWFk X2NyNCgpOwogCiAgICAgLyoKICAgICAgKiBWVC14IGhhcmR3aXJlcyB0aGUgR0RUIGFuZCBJRFQg bGltaXQgYXQgMHhmZmZmIG9uIFZNRXhpdC4KQEAgLTI2NCwxNCArMjYzLDYgQEAgdm9pZCBlYXJs eV9zd2l0Y2hfdG9faWRsZShib29sIGJzcCkKICAgICBwZXJfY3B1KGN1cnJfdmNwdSwgY3B1KSA9 IHY7CiAKICAgICBfX3NldF9iaXQoX1BHQ19pbnVzZV9wZ3RhYmxlLCAmbWFkZHJfdG9fcGFnZSh2 LT5hcmNoLmNyMyktPmNvdW50X2luZm8pOwotICAgIGFzbSB2b2xhdGlsZSAoICJtb3YgJVtucGdl XSwgJSVjcjQ7IgotICAgICAgICAgICAgICAgICAgICJtb3YgJVtjcjNdLCAlJWNyMzsiCi0gICAg ICAgICAgICAgICAgICAgIm1vdiAlW3BnZV0sICUlY3I0OyIKLSAgICAgICAgICAgICAgICAgICA6 OgotICAgICAgICAgICAgICAgICAgICBbbnBnZV0gInIiIChjcjQgJiB+WDg2X0NSNF9QR0UpLAot ICAgICAgICAgICAgICAgICAgICBbY3IzXSAgInIiICh2LT5hcmNoLmNyMyksCi0gICAgICAgICAg ICAgICAgICAgIFtwZ2VdICAiciIgKGNyNCkKLSAgICAgICAgICAgICAgICAgICA6ICJtZW1vcnki ICk7CiAKICAgICBwZXJfY3B1KGN1cnJfcHRiYXNlLCBjcHUpID0gdi0+YXJjaC5jcjM7CiAgICAg cGVyX2NwdShjdXJyX2V4dGVuZGVkX2RpcmVjdG1hcCwgY3B1KSA9IHRydWU7CkBAIC0yODYsNyAr Mjc3LDE5IEBAIHZvaWQgZWFybHlfc3dpdGNoX3RvX2lkbGUoYm9vbCBic3ApCiAKIHN0YXRpYyB2 b2lkIF9faW5pdCBpbml0X2lkbGVfZG9tYWluKHZvaWQpCiB7CisgICAgdW5zaWduZWQgbG9uZyBj cjQgPSByZWFkX2NyNCgpOworCiAgICAgc2NoZWR1bGVyX2luaXQoKTsKKworICAgIGFzbSB2b2xh dGlsZSAoICJtb3YgJVtucGdlXSwgJSVjcjQ7IgorICAgICAgICAgICAgICAgICAgICJtb3YgJVtj cjNdLCAlJWNyMzsiCisgICAgICAgICAgICAgICAgICAgIm1vdiAlW3BnZV0sICUlY3I0OyIKKyAg ICAgICAgICAgICAgICAgICA6OgorICAgICAgICAgICAgICAgICAgICBbbnBnZV0gInIiIChjcjQg JiB+WDg2X0NSNF9QR0UpLAorICAgICAgICAgICAgICAgICAgICBbY3IzXSAgInIiIChpZGxlX3Zj cHVbMF0tPmFyY2guY3IzKSwKKyAgICAgICAgICAgICAgICAgICAgW3BnZV0gICJyIiAoY3I0KQor ICAgICAgICAgICAgICAgICAgIDogIm1lbW9yeSIgKTsKKwogICAgIGVhcmx5X3N3aXRjaF90b19p ZGxlKHRydWUpOwogfQogCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvc21wYm9vdC5jIGIveGVu L2FyY2gveDg2L3NtcGJvb3QuYwppbmRleCAxYmY2ZGMxLi5mNzg1ZDVmIDEwMDY0NAotLS0gYS94 ZW4vYXJjaC94ODYvc21wYm9vdC5jCisrKyBiL3hlbi9hcmNoL3g4Ni9zbXBib290LmMKQEAgLTMw OSw3ICszMDksNiBAQCB2b2lkIHN0YXJ0X3NlY29uZGFyeSh2b2lkICp1bnVzZWQpCiAgICAgLyog Q3JpdGljYWwgcmVnaW9uIHdpdGhvdXQgSURUIG9yIFRTUy4gIEFueSBmYXVsdCBpcyBkZWFkbHkh ICovCiAKICAgICBzZXRfcHJvY2Vzc29yX2lkKGNwdSk7Ci0gICAgZ2V0X2NwdV9pbmZvKCktPmNy NCA9IFhFTl9NSU5JTUFMX0NSNDsKIAogICAgIGVhcmx5X3N3aXRjaF90b19pZGxlKGZhbHNlKTsK IApAQCAtMzg1LDYgKzM4NCw4IEBAIHZvaWQgc3RhcnRfc2Vjb25kYXJ5KHZvaWQgKnVudXNlZCkK ICAgICBzdGFydHVwX2NwdV9pZGxlX2xvb3AoKTsKIH0KIAorLyogVXNlZCB0byBwYXNzIHBlcmNw dV9pZGxlX3B0IHRvIHRoZSBib290aW5nIEFQLiAqLworcGFkZHJfdCBhcF9jcjM7CiBleHRlcm4g dm9pZCAqc3RhY2tfc3RhcnQ7CiAKIHN0YXRpYyBpbnQgd2FrZXVwX3NlY29uZGFyeV9jcHUoaW50 IHBoeXNfYXBpY2lkLCB1bnNpZ25lZCBsb25nIHN0YXJ0X2VpcCkKQEAgLTUyNyw2ICs1MjgsNyBA QCBzdGF0aWMgaW50IGRvX2Jvb3RfY3B1KGludCBhcGljaWQsIGludCBjcHUpCiAgICAgICAgIHBy aW50aygiQm9vdGluZyBwcm9jZXNzb3IgJWQvJWQgZWlwICVseFxuIiwKICAgICAgICAgICAgICAg IGNwdSwgYXBpY2lkLCBzdGFydF9laXApOwogCisgICAgYXBfY3IzID0gcGVyX2NwdShwZXJjcHVf aWRsZV9wdCwgY3B1KTsKICAgICBzdGFja19zdGFydCA9IHN0YWNrX2Jhc2VbY3B1XTsKIAogICAg IC8qIFRoaXMgZ3J1bmdlIHJ1bnMgdGhlIHN0YXJ0dXAgcHJvY2VzcyBmb3IgdGhlIHRhcmdldGVk IHByb2Nlc3Nvci4gKi8KLS0gCjIuMS40CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMu eGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3Rp bmZvL3hlbi1kZXZlbA==