From mboxrd@z Thu Jan 1 00:00:00 1970 From: Roger Pau Monne Subject: [PATCH RFC 08/12] xen/x86: setup PVHv2 Dom0 CPUs Date: Fri, 29 Jul 2016 18:29:03 +0200 Message-ID: <1469809747-11176-9-git-send-email-roger.pau@citrix.com> References: <1469809747-11176-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 1bTAfS-0003hd-28 for xen-devel@lists.xenproject.org; Fri, 29 Jul 2016 16:29:46 +0000 In-Reply-To: <1469809747-11176-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 Cc: Andrew Cooper , Jan Beulich , Roger Pau Monne List-Id: xen-devel@lists.xenproject.org SW5pdGlhbGl6ZSBEb20wIEJTUC9BUHMgYW5kIHNldHVwIHRoZSBtZW1vcnkgYW5kIElPIHBlcm1p c3Npb25zLgoKU2lnbmVkLW9mZi1ieTogUm9nZXIgUGF1IE1vbm7DqSA8cm9nZXIucGF1QGNpdHJp eC5jb20+Ci0tLQpDYzogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpDYzogQW5kcmV3 IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KLS0tClRoZSBsb2dpYyB1c2VkIHRv IHNldHVwIHRoZSBDUFVJRCBsZWF2ZXMgaXMgZXh0cmVtZWx5IHNpbXBsaXN0aWMgKGFuZApwcm9i YWJseSB3cm9uZyBmb3IgaGFyZHdhcmUgZGlmZmVyZW50IHRoYW4gbWluZSkuIEknbSBub3Qgc3Vy ZSB3aGF0J3MgdGhlCmJlc3Qgd2F5IHRvIGRlYWwgd2l0aCB0aGlzLCB0aGUgY29kZSB0aGF0IGN1 cnJlbnRseSBzZXRzIHRoZSBDUFVJRCBsZWF2ZXMKZm9yIEhWTSBndWVzdHMgbGl2ZXMgaW4gbGli eGMsIG1heWJlIG1vdmluZyBpdCB4ZW4vY29tbW9uIHdvdWxkIGJlIGJldHRlcj8KLS0tCiB4ZW4v YXJjaC94ODYvZG9tYWluX2J1aWxkLmMgfCAxMDMgKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysKIDEgZmlsZSBjaGFuZ2VkLCAxMDMgaW5zZXJ0aW9ucygrKQoKZGlm ZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9kb21haW5fYnVpbGQuYyBiL3hlbi9hcmNoL3g4Ni9kb21h aW5fYnVpbGQuYwppbmRleCBkZjYzNTRhLi44OWVmNTllIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94 ODYvZG9tYWluX2J1aWxkLmMKKysrIGIveGVuL2FyY2gveDg2L2RvbWFpbl9idWlsZC5jCkBAIC00 MCw2ICs0MCw3IEBACiAKICNpbmNsdWRlIDxwdWJsaWMvdmVyc2lvbi5oPgogI2luY2x1ZGUgPHB1 YmxpYy9hcmNoLXg4Ni9odm0vc3RhcnRfaW5mby5oPgorI2luY2x1ZGUgPHB1YmxpYy9odm0vaHZt X3ZjcHUuaD4KIAogc3RhdGljIGxvbmcgX19pbml0ZGF0YSBkb20wX25ycGFnZXM7CiBzdGF0aWMg bG9uZyBfX2luaXRkYXRhIGRvbTBfbWluX25ycGFnZXM7CkBAIC0xOTQ4LDYgKzE5NDksMTAxIEBA IG91dDoKICAgICByZXR1cm4gcmM7CiB9CiAKK3N0YXRpYyBpbnQgX19pbml0IGh2bV9zZXR1cF9j cHVzKHN0cnVjdCBkb21haW4gKmQsIHBhZGRyX3QgZW50cnksCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBwYWRkcl90IHN0YXJ0X2luZm8pCit7CisgICAgdmNwdV9odm1fY29udGV4 dF90IGNwdV9jdHg7CisgICAgc3RydWN0IHZjcHUgKnYgPSBkLT52Y3B1WzBdOworICAgIGludCBj cHUsIGksIHJjOworICAgIHN0cnVjdCB7CisgICAgICAgIHVpbnQzMl90IGluZGV4OworICAgICAg ICB1aW50MzJfdCBjb3VudDsKKyAgICB9IGNwdWlkX2xlYXZlc1tdID0geworICAgICAgICB7MCwg WEVOX0NQVUlEX0lOUFVUX1VOVVNFRH0sCisgICAgICAgIHsxLCBYRU5fQ1BVSURfSU5QVVRfVU5V U0VEfSwKKyAgICAgICAgezIsIFhFTl9DUFVJRF9JTlBVVF9VTlVTRUR9LAorICAgICAgICB7NCwg MH0sCisgICAgICAgIHs0LCAxfSwKKyAgICAgICAgezQsIDJ9LAorICAgICAgICB7NCwgM30sCisg ICAgICAgIHs0LCA0fSwKKyAgICAgICAgezcsIDB9LAorICAgICAgICB7MHhhLCBYRU5fQ1BVSURf SU5QVVRfVU5VU0VEfSwKKyAgICAgICAgezB4ZCwgMH0sCisgICAgICAgIHsweDgwMDAwMDAwLCBY RU5fQ1BVSURfSU5QVVRfVU5VU0VEfSwKKyAgICAgICAgezB4ODAwMDAwMDEsIFhFTl9DUFVJRF9J TlBVVF9VTlVTRUR9LAorICAgICAgICB7MHg4MDAwMDAwMiwgWEVOX0NQVUlEX0lOUFVUX1VOVVNF RH0sCisgICAgICAgIHsweDgwMDAwMDAzLCBYRU5fQ1BVSURfSU5QVVRfVU5VU0VEfSwKKyAgICAg ICAgezB4ODAwMDAwMDQsIFhFTl9DUFVJRF9JTlBVVF9VTlVTRUR9LAorICAgICAgICB7MHg4MDAw MDAwNSwgWEVOX0NQVUlEX0lOUFVUX1VOVVNFRH0sCisgICAgICAgIHsweDgwMDAwMDA2LCBYRU5f Q1BVSURfSU5QVVRfVU5VU0VEfSwKKyAgICAgICAgezB4ODAwMDAwMDcsIFhFTl9DUFVJRF9JTlBV VF9VTlVTRUR9LAorICAgICAgICB7MHg4MDAwMDAwOCwgWEVOX0NQVUlEX0lOUFVUX1VOVVNFRH0s CisgICAgfTsKKworICAgIHByaW50aygiKiogU2V0dGluZyB1cCBCU1AvQVBzICoqXG4iKTsKKwor ICAgIGNwdSA9IHYtPnByb2Nlc3NvcjsKKyAgICBmb3IgKCBpID0gMTsgaSA8IGQtPm1heF92Y3B1 czsgaSsrICkKKyAgICB7CisgICAgICAgIGNwdSA9IGNwdW1hc2tfY3ljbGUoY3B1LCAmZG9tMF9j cHVzKTsKKyAgICAgICAgc2V0dXBfZG9tMF92Y3B1KGQsIGksIGNwdSk7CisgICAgfQorCisgICAg bWVtc2V0KCZjcHVfY3R4LCAwLCBzaXplb2YoY3B1X2N0eCkpOworCisgICAgY3B1X2N0eC5tb2Rl ID0gVkNQVV9IVk1fTU9ERV8zMkI7CisKKyAgICBjcHVfY3R4LmNwdV9yZWdzLng4Nl8zMi5lYngg PSBzdGFydF9pbmZvOworICAgIGNwdV9jdHguY3B1X3JlZ3MueDg2XzMyLmVpcCA9IGVudHJ5Owor ICAgIGNwdV9jdHguY3B1X3JlZ3MueDg2XzMyLmNyMCA9IFg4Nl9DUjBfUEUgfCBYODZfQ1IwX0VU OworCisgICAgY3B1X2N0eC5jcHVfcmVncy54ODZfMzIuY3NfbGltaXQgPSB+MHU7CisgICAgY3B1 X2N0eC5jcHVfcmVncy54ODZfMzIuZHNfbGltaXQgPSB+MHU7CisgICAgY3B1X2N0eC5jcHVfcmVn cy54ODZfMzIuc3NfbGltaXQgPSB+MHU7CisgICAgY3B1X2N0eC5jcHVfcmVncy54ODZfMzIudHJf bGltaXQgPSAweDY3OworICAgIGNwdV9jdHguY3B1X3JlZ3MueDg2XzMyLmNzX2FyID0gMHhjOWI7 CisgICAgY3B1X2N0eC5jcHVfcmVncy54ODZfMzIuZHNfYXIgPSAweGM5MzsKKyAgICBjcHVfY3R4 LmNwdV9yZWdzLng4Nl8zMi5zc19hciA9IDB4YzkzOworICAgIGNwdV9jdHguY3B1X3JlZ3MueDg2 XzMyLnRyX2FyID0gMHg4YjsKKworICAgIHJjID0gYXJjaF9zZXRfaW5mb19odm1fZ3Vlc3Qodiwg JmNwdV9jdHgpOworICAgIGlmICggcmMgKQorICAgIHsKKyAgICAgICAgcHJpbnRrKCJVbmFibGUg dG8gc2V0dXAgRG9tMCBCU1AgY29udGV4dDogJWRcbiIsIHJjKTsKKyAgICAgICAgcmV0dXJuIHJj OworICAgIH0KKyAgICBjbGVhcl9iaXQoX1ZQRl9kb3duLCAmdi0+cGF1c2VfZmxhZ3MpOworCisg ICAgZm9yICggaSA9IDA7IGkgPCBBUlJBWV9TSVpFKGNwdWlkX2xlYXZlcyk7IGkrKyApCisgICAg eworICAgICAgICBkLT5hcmNoLmNwdWlkc1tpXS5pbnB1dFswXSA9IGNwdWlkX2xlYXZlc1tpXS5p bmRleDsKKyAgICAgICAgZC0+YXJjaC5jcHVpZHNbaV0uaW5wdXRbMV0gPSBjcHVpZF9sZWF2ZXNb aV0uY291bnQ7CisgICAgICAgIGlmICggZC0+YXJjaC5jcHVpZHNbaV0uaW5wdXRbMV0gPT0gWEVO X0NQVUlEX0lOUFVUX1VOVVNFRCApCisgICAgICAgICAgICBjcHVpZChkLT5hcmNoLmNwdWlkc1tp XS5pbnB1dFswXSwgJmQtPmFyY2guY3B1aWRzW2ldLmVheCwKKyAgICAgICAgICAgICAgICAgICZk LT5hcmNoLmNwdWlkc1tpXS5lYngsICZkLT5hcmNoLmNwdWlkc1tpXS5lY3gsCisgICAgICAgICAg ICAgICAgICAmZC0+YXJjaC5jcHVpZHNbaV0uZWR4KTsKKyAgICAgICAgZWxzZQorICAgICAgICAg ICAgY3B1aWRfY291bnQoZC0+YXJjaC5jcHVpZHNbaV0uaW5wdXRbMF0sIGQtPmFyY2guY3B1aWRz W2ldLmlucHV0WzFdLAorICAgICAgICAgICAgICAgICAgICAgICAgJmQtPmFyY2guY3B1aWRzW2ld LmVheCwgJmQtPmFyY2guY3B1aWRzW2ldLmVieCwKKyAgICAgICAgICAgICAgICAgICAgICAgICZk LT5hcmNoLmNwdWlkc1tpXS5lY3gsICZkLT5hcmNoLmNwdWlkc1tpXS5lZHgpOworICAgICAgICAv KiBYWFg6IHdlIG5lZWQgdG8gZG8gbXVjaCBtb3JlIGZpbHRlcmluZyBoZXJlLiAqLworICAgICAg ICBpZiAoIGQtPmFyY2guY3B1aWRzW2ldLmlucHV0WzBdID09IDEgKQorICAgICAgICAgICAgZC0+ YXJjaC5jcHVpZHNbaV0uZWN4ICY9IH5YODZfRkVBVFVSRV9WTVg7CisgICAgfQorCisgICAgcmMg PSBzZXR1cF9wZXJtaXNzaW9ucyhkKTsKKyAgICBpZiAoIHJjICkKKyAgICB7CisgICAgICAgIHBh bmljKCJVbmFibGUgdG8gc2V0dXAgRG9tMCBwZXJtaXNzaW9uczogJWRcbiIsIHJjKTsKKyAgICAg ICAgcmV0dXJuIHJjOworICAgIH0KKworICAgIHVwZGF0ZV9kb21haW5fd2FsbGNsb2NrX3RpbWUo ZCk7CisKKyAgICByZXR1cm4gMDsKK30KKwogc3RhdGljIGludCBfX2luaXQgY29uc3RydWN0X2Rv bTBfaHZtKHN0cnVjdCBkb21haW4gKmQsIGNvbnN0IG1vZHVsZV90ICppbWFnZSwKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIGltYWdlX2hlYWRyb29t LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vZHVsZV90ICppbml0cmQs CkBAIC0xOTgyLDYgKzIwNzgsMTMgQEAgc3RhdGljIGludCBfX2luaXQgY29uc3RydWN0X2RvbTBf aHZtKHN0cnVjdCBkb21haW4gKmQsIGNvbnN0IG1vZHVsZV90ICppbWFnZSwKICAgICAgICAgcmV0 dXJuIHJjOwogICAgIH0KIAorICAgIHJjID0gaHZtX3NldHVwX2NwdXMoZCwgZW50cnksIHN0YXJ0 X2luZm8pOworICAgIGlmICggcmMgKQorICAgIHsKKyAgICAgICAgcHJpbnRrKCJGYWlsZWQgdG8g c2V0dXAgRG9tMCBDUFVzOiAlZFxuIiwgcmMpOworICAgICAgICByZXR1cm4gcmM7CisgICAgfQor CiAgICAgcmV0dXJuIDA7CiB9CiAKLS0gCjIuNy40IChBcHBsZSBHaXQtNjYpCgoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcg bGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRl dmVsCg==