From mboxrd@z Thu Jan 1 00:00:00 1970 From: Roger Pau Monne Subject: [PATCH v3.1 14/15] xen/x86: hack to setup PVHv2 Dom0 CPUs Date: Sat, 29 Oct 2016 11:00:00 +0200 Message-ID: <1477731601-10926-15-git-send-email-roger.pau@citrix.com> References: <1477731601-10926-1-git-send-email-roger.pau@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta5.messagelabs.com ([195.245.231.135]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1c0PVT-0002DK-ND for xen-devel@lists.xenproject.org; Sat, 29 Oct 2016 09:00:51 +0000 In-Reply-To: <1477731601-10926-1-git-send-email-roger.pau@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org, boris.ostrovsky@oracle.com, konrad.wilk@oracle.com Cc: Andrew Cooper , Jan Beulich , Roger Pau Monne List-Id: xen-devel@lists.xenproject.org SW5pdGlhbGl6ZSBEb20wIEJTUC9BUHMgYW5kIHNldHVwIHRoZSBtZW1vcnkgYW5kIElPIHBlcm1p c3Npb25zLgoKU2lnbmVkLW9mZi1ieTogUm9nZXIgUGF1IE1vbm7DqSA8cm9nZXIucGF1QGNpdHJp eC5jb20+Ci0tLQpDYzogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpDYzogQW5kcmV3 IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KLS0tCkRPIE5PVCBBUFBMWS4KClRo ZSBsb2dpYyB1c2VkIHRvIHNldHVwIHRoZSBDUFVJRCBsZWF2ZXMgaXMgY2xlYXJseSBsYWNraW5n LiBUaGlzIHBhdGNoIHdpbGwKYmUgcmViYXNlZCBvbiB0b3Agb2YgQW5kcmV3J3MgQ1BVSUQgd29y aywgdGhhdCB3aWxsIG1vdmUgQ1BVSUQgc2V0dXAgZnJvbQpsaWJ4YyBpbnRvIFhlbi4gRm9yIHRo ZSB0aW1lIGJlaW5nIHRoaXMgaXMgbmVlZGVkIGluIG9yZGVyIHRvIGJlIGFibGUgdG8KYm9vdCBh IFBWSHYyIERvbTAsIGluIG9yZGVyIHRvIHRlc3QgdGhlIHJlc3Qgb2YgdGhlIHBhdGNoZXMuCi0t LQogeGVuL2FyY2gveDg2L2RvbWFpbl9idWlsZC5jIHwgOTcgKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrCiAxIGZpbGUgY2hhbmdlZCwgOTcgaW5zZXJ0aW9ucygr KQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9kb21haW5fYnVpbGQuYyBiL3hlbi9hcmNoL3g4 Ni9kb21haW5fYnVpbGQuYwppbmRleCAxNjhiZTYyLi4xZWJjMjFmIDEwMDY0NAotLS0gYS94ZW4v YXJjaC94ODYvZG9tYWluX2J1aWxkLmMKKysrIGIveGVuL2FyY2gveDg2L2RvbWFpbl9idWlsZC5j CkBAIC00MCw2ICs0MCw3IEBACiAKICNpbmNsdWRlIDxwdWJsaWMvdmVyc2lvbi5oPgogI2luY2x1 ZGUgPHB1YmxpYy9hcmNoLXg4Ni9odm0vc3RhcnRfaW5mby5oPgorI2luY2x1ZGUgPHB1YmxpYy9o dm0vaHZtX3ZjcHUuaD4KIAogc3RhdGljIGxvbmcgX19pbml0ZGF0YSBkb20wX25ycGFnZXM7CiBz dGF0aWMgbG9uZyBfX2luaXRkYXRhIGRvbTBfbWluX25ycGFnZXM7CkBAIC0yMDI0LDYgKzIwMjUs OTMgQEAgb3V0OgogICAgIHJldHVybiByYzsKIH0KIAorc3RhdGljIGludCBfX2luaXQgaHZtX3Nl dHVwX2NwdXMoc3RydWN0IGRvbWFpbiAqZCwgcGFkZHJfdCBlbnRyeSwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHBhZGRyX3Qgc3RhcnRfaW5mbykKK3sKKyAgICB2Y3B1X2h2bV9j b250ZXh0X3QgY3B1X2N0eDsKKyAgICBzdHJ1Y3QgdmNwdSAqdiA9IGQtPnZjcHVbMF07CisgICAg aW50IGNwdSwgaSwgcmM7CisgICAgc3RydWN0IHsKKyAgICAgICAgdWludDMyX3QgaW5kZXg7Cisg ICAgICAgIHVpbnQzMl90IGNvdW50OworICAgIH0gY3B1aWRfbGVhdmVzW10gPSB7CisgICAgICAg IHswLCBYRU5fQ1BVSURfSU5QVVRfVU5VU0VEfSwKKyAgICAgICAgezEsIFhFTl9DUFVJRF9JTlBV VF9VTlVTRUR9LAorICAgICAgICB7MiwgWEVOX0NQVUlEX0lOUFVUX1VOVVNFRH0sCisgICAgICAg IHs0LCAwfSwKKyAgICAgICAgezQsIDF9LAorICAgICAgICB7NCwgMn0sCisgICAgICAgIHs0LCAz fSwKKyAgICAgICAgezQsIDR9LAorICAgICAgICB7NywgMH0sCisgICAgICAgIHsweGEsIFhFTl9D UFVJRF9JTlBVVF9VTlVTRUR9LAorICAgICAgICB7MHhkLCAwfSwKKyAgICAgICAgezB4ODAwMDAw MDAsIFhFTl9DUFVJRF9JTlBVVF9VTlVTRUR9LAorICAgICAgICB7MHg4MDAwMDAwMSwgWEVOX0NQ VUlEX0lOUFVUX1VOVVNFRH0sCisgICAgICAgIHsweDgwMDAwMDAyLCBYRU5fQ1BVSURfSU5QVVRf VU5VU0VEfSwKKyAgICAgICAgezB4ODAwMDAwMDMsIFhFTl9DUFVJRF9JTlBVVF9VTlVTRUR9LAor ICAgICAgICB7MHg4MDAwMDAwNCwgWEVOX0NQVUlEX0lOUFVUX1VOVVNFRH0sCisgICAgICAgIHsw eDgwMDAwMDA1LCBYRU5fQ1BVSURfSU5QVVRfVU5VU0VEfSwKKyAgICAgICAgezB4ODAwMDAwMDYs IFhFTl9DUFVJRF9JTlBVVF9VTlVTRUR9LAorICAgICAgICB7MHg4MDAwMDAwNywgWEVOX0NQVUlE X0lOUFVUX1VOVVNFRH0sCisgICAgICAgIHsweDgwMDAwMDA4LCBYRU5fQ1BVSURfSU5QVVRfVU5V U0VEfSwKKyAgICB9OworCisgICAgY3B1ID0gdi0+cHJvY2Vzc29yOworICAgIGZvciAoIGkgPSAx OyBpIDwgZC0+bWF4X3ZjcHVzOyBpKysgKQorICAgIHsKKyAgICAgICAgY3B1ID0gY3B1bWFza19j eWNsZShjcHUsICZkb20wX2NwdXMpOworICAgICAgICBzZXR1cF9kb20wX3ZjcHUoZCwgaSwgY3B1 KTsKKyAgICB9CisKKyAgICBtZW1zZXQoJmNwdV9jdHgsIDAsIHNpemVvZihjcHVfY3R4KSk7CisK KyAgICBjcHVfY3R4Lm1vZGUgPSBWQ1BVX0hWTV9NT0RFXzMyQjsKKworICAgIGNwdV9jdHguY3B1 X3JlZ3MueDg2XzMyLmVieCA9IHN0YXJ0X2luZm87CisgICAgY3B1X2N0eC5jcHVfcmVncy54ODZf MzIuZWlwID0gZW50cnk7CisgICAgY3B1X2N0eC5jcHVfcmVncy54ODZfMzIuY3IwID0gWDg2X0NS MF9QRSB8IFg4Nl9DUjBfRVQ7CisKKyAgICBjcHVfY3R4LmNwdV9yZWdzLng4Nl8zMi5jc19saW1p dCA9IH4wdTsKKyAgICBjcHVfY3R4LmNwdV9yZWdzLng4Nl8zMi5kc19saW1pdCA9IH4wdTsKKyAg ICBjcHVfY3R4LmNwdV9yZWdzLng4Nl8zMi5zc19saW1pdCA9IH4wdTsKKyAgICBjcHVfY3R4LmNw dV9yZWdzLng4Nl8zMi50cl9saW1pdCA9IDB4Njc7CisgICAgY3B1X2N0eC5jcHVfcmVncy54ODZf MzIuY3NfYXIgPSAweGM5YjsKKyAgICBjcHVfY3R4LmNwdV9yZWdzLng4Nl8zMi5kc19hciA9IDB4 YzkzOworICAgIGNwdV9jdHguY3B1X3JlZ3MueDg2XzMyLnNzX2FyID0gMHhjOTM7CisgICAgY3B1 X2N0eC5jcHVfcmVncy54ODZfMzIudHJfYXIgPSAweDhiOworCisgICAgcmMgPSBhcmNoX3NldF9p bmZvX2h2bV9ndWVzdCh2LCAmY3B1X2N0eCk7CisgICAgaWYgKCByYyApCisgICAgeworICAgICAg ICBwcmludGsoIlVuYWJsZSB0byBzZXR1cCBEb20wIEJTUCBjb250ZXh0OiAlZFxuIiwgcmMpOwor ICAgICAgICByZXR1cm4gcmM7CisgICAgfQorCisgICAgZm9yICggaSA9IDA7IGkgPCBBUlJBWV9T SVpFKGNwdWlkX2xlYXZlcyk7IGkrKyApCisgICAgeworICAgICAgICBkLT5hcmNoLmNwdWlkc1tp XS5pbnB1dFswXSA9IGNwdWlkX2xlYXZlc1tpXS5pbmRleDsKKyAgICAgICAgZC0+YXJjaC5jcHVp ZHNbaV0uaW5wdXRbMV0gPSBjcHVpZF9sZWF2ZXNbaV0uY291bnQ7CisgICAgICAgIGNwdWlkX2Nv dW50KGQtPmFyY2guY3B1aWRzW2ldLmlucHV0WzBdLCBkLT5hcmNoLmNwdWlkc1tpXS5pbnB1dFsx XSwKKyAgICAgICAgICAgICAgICAgICAgJmQtPmFyY2guY3B1aWRzW2ldLmVheCwgJmQtPmFyY2gu Y3B1aWRzW2ldLmVieCwKKyAgICAgICAgICAgICAgICAgICAgJmQtPmFyY2guY3B1aWRzW2ldLmVj eCwgJmQtPmFyY2guY3B1aWRzW2ldLmVkeCk7CisgICAgICAgIC8qIFhYWDogd2UgbmVlZCB0byBk byBtdWNoIG1vcmUgZmlsdGVyaW5nIGhlcmUuICovCisgICAgICAgIGlmICggZC0+YXJjaC5jcHVp ZHNbaV0uaW5wdXRbMF0gPT0gMSApCisgICAgICAgICAgICBkLT5hcmNoLmNwdWlkc1tpXS5lY3gg Jj0gflg4Nl9GRUFUVVJFX1ZNWDsKKyAgICB9CisKKyAgICByYyA9IHNldHVwX3Blcm1pc3Npb25z KGQpOworICAgIGlmICggcmMgKQorICAgIHsKKyAgICAgICAgcGFuaWMoIlVuYWJsZSB0byBzZXR1 cCBEb20wIHBlcm1pc3Npb25zOiAlZFxuIiwgcmMpOworICAgICAgICByZXR1cm4gcmM7CisgICAg fQorCisgICAgdXBkYXRlX2RvbWFpbl93YWxsY2xvY2tfdGltZShkKTsKKworICAgIHJldHVybiAw OworfQorCiBzdGF0aWMgaW50IF9faW5pdCBjb25zdHJ1Y3RfZG9tMF9odm0oc3RydWN0IGRvbWFp biAqZCwgY29uc3QgbW9kdWxlX3QgKmltYWdlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHVuc2lnbmVkIGxvbmcgaW1hZ2VfaGVhZHJvb20sCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgbW9kdWxlX3QgKmluaXRyZCwKQEAgLTIwNTYsNiArMjE0NCwx NSBAQCBzdGF0aWMgaW50IF9faW5pdCBjb25zdHJ1Y3RfZG9tMF9odm0oc3RydWN0IGRvbWFpbiAq ZCwgY29uc3QgbW9kdWxlX3QgKmltYWdlLAogICAgICAgICByZXR1cm4gcmM7CiAgICAgfQogCisg ICAgcmMgPSBodm1fc2V0dXBfY3B1cyhkLCBlbnRyeSwgc3RhcnRfaW5mbyk7CisgICAgaWYgKCBy YyApCisgICAgeworICAgICAgICBwcmludGsoIkZhaWxlZCB0byBzZXR1cCBEb20wIENQVXM6ICVk XG4iLCByYyk7CisgICAgICAgIHJldHVybiByYzsKKyAgICB9CisKKyAgICBjbGVhcl9iaXQoX1ZQ Rl9kb3duLCAmZC0+dmNwdVswXS0+cGF1c2VfZmxhZ3MpOworCiAgICAgcmV0dXJuIDA7CiB9CiAK LS0gCjIuNy40IChBcHBsZSBHaXQtNjYpCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMu eGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==