From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH 4/5] x86/shadow: Drop all emulation for PV vcpus Date: Mon, 12 Dec 2016 10:43:44 +0000 Message-ID: <1481539425-9239-5-git-send-email-andrew.cooper3@citrix.com> References: <1481539425-9239-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: <1481539425-9239-1-git-send-email-andrew.cooper3@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Xen-devel Cc: George Dunlap , Andrew Cooper , Tim Deegan , Jan Beulich List-Id: xen-devel@lists.xenproject.org RW11bGF0aW9uIGlzIG9ubHkgcGVyZm9ybWVkIGZvciBwYWdpbmdfbW9kZV9yZWZjb3VudCgpIGRv bWFpbnMsIHdoaWNoIGluCnByYWN0aWNlIG1lYW5zIEhWTSBkb21haW5zIG9ubHkuCgpEcm9wIHRo ZSBQViBlbXVsYXRpb24gY29kZS4gIEFzIGl0IGFsd2F5cyBzZXQgYWRkcl9zaWRlIGFuZCBzcF9z aXplIHRvCkJJVFNfUEVSX0xPTkcsIGl0IGNhbid0IGhhdmUgd29ya2VkIGNvcnJlY3RseSBmb3Ig UFYgZ3Vlc3RzIHJ1bm5pbmcgaW4gYQpkaWZmZXJlbnQgbW9kZSB0byBYZW4uCgpTaWduZWQtb2Zm LWJ5OiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPgotLS0KQ0M6IEph biBCZXVsaWNoIDxKQmV1bGljaEBzdXNlLmNvbT4KQ0M6IFRpbSBEZWVnYW4gPHRpbUB4ZW4ub3Jn PgpDQzogR2VvcmdlIER1bmxhcCA8Z2VvcmdlLmR1bmxhcEBldS5jaXRyaXguY29tPgotLS0KIHhl bi9hcmNoL3g4Ni9tbS9zaGFkb3cvY29tbW9uLmMgfCAxMTEgKysrKysrKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLQogeGVuL2FyY2gveDg2L21tL3NoYWRvdy9tdWx0aS5jICB8ICAy MSArKy0tLS0tLQogMiBmaWxlcyBjaGFuZ2VkLCAyMiBpbnNlcnRpb25zKCspLCAxMTAgZGVsZXRp b25zKC0pCgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L21tL3NoYWRvdy9jb21tb24uYyBiL3hl bi9hcmNoL3g4Ni9tbS9zaGFkb3cvY29tbW9uLmMKaW5kZXggODRhODdmMy4uMjUyNWE1NyAxMDA2 NDQKLS0tIGEveGVuL2FyY2gveDg2L21tL3NoYWRvdy9jb21tb24uYworKysgYi94ZW4vYXJjaC94 ODYvbW0vc2hhZG93L2NvbW1vbi5jCkBAIC0zMTgsNzUgKzMxOCw2IEBAIHN0YXRpYyBjb25zdCBz dHJ1Y3QgeDg2X2VtdWxhdGVfb3BzIGh2bV9zaGFkb3dfZW11bGF0b3Jfb3BzID0gewogICAgIC5j cHVpZCAgICAgID0gaHZtZW11bF9jcHVpZCwKIH07CiAKLXN0YXRpYyBpbnQKLXB2X2VtdWxhdGVf cmVhZChlbnVtIHg4Nl9zZWdtZW50IHNlZywKLSAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25n IG9mZnNldCwKLSAgICAgICAgICAgICAgICB2b2lkICpwX2RhdGEsCi0gICAgICAgICAgICAgICAg dW5zaWduZWQgaW50IGJ5dGVzLAotICAgICAgICAgICAgICAgIHN0cnVjdCB4ODZfZW11bGF0ZV9j dHh0ICpjdHh0KQotewotICAgIHVuc2lnbmVkIGludCByYzsKLQotICAgIGlmICggIWlzX3g4Nl91 c2VyX3NlZ21lbnQoc2VnKSApCi0gICAgICAgIHJldHVybiBYODZFTVVMX1VOSEFORExFQUJMRTsK LQotICAgIGlmICggKHJjID0gY29weV9mcm9tX3VzZXIocF9kYXRhLCAodm9pZCAqKW9mZnNldCwg Ynl0ZXMpKSAhPSAwICkKLSAgICB7Ci0gICAgICAgIHg4Nl9lbXVsX3BhZ2VmYXVsdCgwLCBvZmZz ZXQgKyBieXRlcyAtIHJjLCBjdHh0KTsgLyogUmVhZCBmYXVsdC4gKi8KLSAgICAgICAgcmV0dXJu IFg4NkVNVUxfRVhDRVBUSU9OOwotICAgIH0KLQotICAgIHJldHVybiBYODZFTVVMX09LQVk7Ci19 Ci0KLXN0YXRpYyBpbnQKLXB2X2VtdWxhdGVfd3JpdGUoZW51bSB4ODZfc2VnbWVudCBzZWcsCi0g ICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgb2Zmc2V0LAotICAgICAgICAgICAgICAgICB2 b2lkICpwX2RhdGEsCi0gICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBieXRlcywKLSAgICAg ICAgICAgICAgICAgc3RydWN0IHg4Nl9lbXVsYXRlX2N0eHQgKmN0eHQpCi17Ci0gICAgc3RydWN0 IHNoX2VtdWxhdGVfY3R4dCAqc2hfY3R4dCA9Ci0gICAgICAgIGNvbnRhaW5lcl9vZihjdHh0LCBz dHJ1Y3Qgc2hfZW11bGF0ZV9jdHh0LCBjdHh0KTsKLSAgICBzdHJ1Y3QgdmNwdSAqdiA9IGN1cnJl bnQ7Ci0gICAgaWYgKCAhaXNfeDg2X3VzZXJfc2VnbWVudChzZWcpICkKLSAgICAgICAgcmV0dXJu IFg4NkVNVUxfVU5IQU5ETEVBQkxFOwotICAgIHJldHVybiB2LT5hcmNoLnBhZ2luZy5tb2RlLT5z aGFkb3cueDg2X2VtdWxhdGVfd3JpdGUoCi0gICAgICAgIHYsIG9mZnNldCwgcF9kYXRhLCBieXRl cywgc2hfY3R4dCk7Ci19Ci0KLXN0YXRpYyBpbnQKLXB2X2VtdWxhdGVfY21weGNoZyhlbnVtIHg4 Nl9zZWdtZW50IHNlZywKLSAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIG9mZnNldCwK LSAgICAgICAgICAgICAgICAgICB2b2lkICpwX29sZCwKLSAgICAgICAgICAgICAgICAgICB2b2lk ICpwX25ldywKLSAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgYnl0ZXMsCi0gICAgICAg ICAgICAgICAgICAgc3RydWN0IHg4Nl9lbXVsYXRlX2N0eHQgKmN0eHQpCi17Ci0gICAgc3RydWN0 IHNoX2VtdWxhdGVfY3R4dCAqc2hfY3R4dCA9Ci0gICAgICAgIGNvbnRhaW5lcl9vZihjdHh0LCBz dHJ1Y3Qgc2hfZW11bGF0ZV9jdHh0LCBjdHh0KTsKLSAgICB1bnNpZ25lZCBsb25nIG9sZCwgbmV3 OwotICAgIHN0cnVjdCB2Y3B1ICp2ID0gY3VycmVudDsKLQotICAgIGlmICggIWlzX3g4Nl91c2Vy X3NlZ21lbnQoc2VnKSB8fCBieXRlcyA+IHNpemVvZihsb25nKSApCi0gICAgICAgIHJldHVybiBY ODZFTVVMX1VOSEFORExFQUJMRTsKLQotICAgIG9sZCA9IG5ldyA9IDA7Ci0gICAgbWVtY3B5KCZv bGQsIHBfb2xkLCBieXRlcyk7Ci0gICAgbWVtY3B5KCZuZXcsIHBfbmV3LCBieXRlcyk7Ci0KLSAg ICByZXR1cm4gdi0+YXJjaC5wYWdpbmcubW9kZS0+c2hhZG93Lng4Nl9lbXVsYXRlX2NtcHhjaGco Ci0gICAgICAgICAgICAgICB2LCBvZmZzZXQsIG9sZCwgbmV3LCBieXRlcywgc2hfY3R4dCk7Ci19 Ci0KLXN0YXRpYyBjb25zdCBzdHJ1Y3QgeDg2X2VtdWxhdGVfb3BzIHB2X3NoYWRvd19lbXVsYXRv cl9vcHMgPSB7Ci0gICAgLnJlYWQgICAgICAgPSBwdl9lbXVsYXRlX3JlYWQsCi0gICAgLmluc25f ZmV0Y2ggPSBwdl9lbXVsYXRlX3JlYWQsCi0gICAgLndyaXRlICAgICAgPSBwdl9lbXVsYXRlX3dy aXRlLAotICAgIC5jbXB4Y2hnICAgID0gcHZfZW11bGF0ZV9jbXB4Y2hnLAotICAgIC5jcHVpZCAg ICAgID0gcHZfZW11bF9jcHVpZCwKLX07Ci0KIGNvbnN0IHN0cnVjdCB4ODZfZW11bGF0ZV9vcHMg KnNoYWRvd19pbml0X2VtdWxhdGlvbigKICAgICBzdHJ1Y3Qgc2hfZW11bGF0ZV9jdHh0ICpzaF9j dHh0LCBzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncykKIHsKQEAgLTM5NCwxNyArMzI1LDEzIEBA IGNvbnN0IHN0cnVjdCB4ODZfZW11bGF0ZV9vcHMgKnNoYWRvd19pbml0X2VtdWxhdGlvbigKICAg ICBzdHJ1Y3QgdmNwdSAqdiA9IGN1cnJlbnQ7CiAgICAgdW5zaWduZWQgbG9uZyBhZGRyOwogCisg ICAgQVNTRVJUKGhhc19odm1fY29udGFpbmVyX3ZjcHUodikpOworCiAgICAgbWVtc2V0KHNoX2N0 eHQsIDAsIHNpemVvZigqc2hfY3R4dCkpOwogCiAgICAgc2hfY3R4dC0+Y3R4dC5yZWdzID0gcmVn czsKICAgICBzaF9jdHh0LT5jdHh0LnN3aW50X2VtdWxhdGUgPSB4ODZfc3dpbnRfZW11bGF0ZV9u b25lOwogCi0gICAgaWYgKCBpc19wdl92Y3B1KHYpICkKLSAgICB7Ci0gICAgICAgIHNoX2N0eHQt PmN0eHQuYWRkcl9zaXplID0gc2hfY3R4dC0+Y3R4dC5zcF9zaXplID0gQklUU19QRVJfTE9ORzsK LSAgICAgICAgcmV0dXJuICZwdl9zaGFkb3dfZW11bGF0b3Jfb3BzOwotICAgIH0KLQogICAgIC8q IFNlZ21lbnQgY2FjaGUgaW5pdGlhbGlzYXRpb24uIFByaW1lZCB3aXRoIENTLiAqLwogICAgIGNy ZWcgPSBodm1fZ2V0X3NlZ19yZWcoeDg2X3NlZ19jcywgc2hfY3R4dCk7CiAKQEAgLTQ0MSwyNCAr MzY4LDI0IEBAIHZvaWQgc2hhZG93X2NvbnRpbnVlX2VtdWxhdGlvbihzdHJ1Y3Qgc2hfZW11bGF0 ZV9jdHh0ICpzaF9jdHh0LAogICAgIHN0cnVjdCB2Y3B1ICp2ID0gY3VycmVudDsKICAgICB1bnNp Z25lZCBsb25nIGFkZHIsIGRpZmY7CiAKLSAgICAvKiBXZSBkb24ndCByZWZldGNoIHRoZSBzZWdt ZW50IGJhc2VzLCBiZWNhdXNlIHdlIGRvbid0IGVtdWxhdGUKLSAgICAgKiB3cml0ZXMgdG8gc2Vn bWVudCByZWdpc3RlcnMgKi8KKyAgICBBU1NFUlQoaGFzX2h2bV9jb250YWluZXJfdmNwdSh2KSk7 CiAKLSAgICBpZiAoIGlzX2h2bV92Y3B1KHYpICkKLSAgICB7Ci0gICAgICAgIGRpZmYgPSByZWdz LT5laXAgLSBzaF9jdHh0LT5pbnNuX2J1Zl9laXA7Ci0gICAgICAgIGlmICggZGlmZiA+IHNoX2N0 eHQtPmluc25fYnVmX2J5dGVzICkKLSAgICAgICAgewotICAgICAgICAgICAgLyogUHJlZmV0Y2gg bW9yZSBieXRlcy4gKi8KLSAgICAgICAgICAgIHNoX2N0eHQtPmluc25fYnVmX2J5dGVzID0KLSAg ICAgICAgICAgICAgICAoIWh2bV90cmFuc2xhdGVfbGluZWFyX2FkZHIoCi0gICAgICAgICAgICAg ICAgICAgIHg4Nl9zZWdfY3MsIHJlZ3MtPmVpcCwgc2l6ZW9mKHNoX2N0eHQtPmluc25fYnVmKSwK LSAgICAgICAgICAgICAgICAgICAgaHZtX2FjY2Vzc19pbnNuX2ZldGNoLCBzaF9jdHh0LCAmYWRk cikgJiYKLSAgICAgICAgICAgICAgICAgIWh2bV9mZXRjaF9mcm9tX2d1ZXN0X2xpbmVhcigKLSAg ICAgICAgICAgICAgICAgICAgIHNoX2N0eHQtPmluc25fYnVmLCBhZGRyLCBzaXplb2Yoc2hfY3R4 dC0+aW5zbl9idWYpLCAwLCBOVUxMKSkKLSAgICAgICAgICAgICAgICA/IHNpemVvZihzaF9jdHh0 LT5pbnNuX2J1ZikgOiAwOwotICAgICAgICAgICAgc2hfY3R4dC0+aW5zbl9idWZfZWlwID0gcmVn cy0+ZWlwOwotICAgICAgICB9CisgICAgLyoKKyAgICAgKiBXZSBkb24ndCByZWZldGNoIHRoZSBz ZWdtZW50IGJhc2VzLCBiZWNhdXNlIHdlIGRvbid0IGVtdWxhdGUKKyAgICAgKiB3cml0ZXMgdG8g c2VnbWVudCByZWdpc3RlcnMKKyAgICAgKi8KKyAgICBkaWZmID0gcmVncy0+ZWlwIC0gc2hfY3R4 dC0+aW5zbl9idWZfZWlwOworICAgIGlmICggZGlmZiA+IHNoX2N0eHQtPmluc25fYnVmX2J5dGVz ICkKKyAgICB7CisgICAgICAgIC8qIFByZWZldGNoIG1vcmUgYnl0ZXMuICovCisgICAgICAgIHNo X2N0eHQtPmluc25fYnVmX2J5dGVzID0KKyAgICAgICAgICAgICghaHZtX3RyYW5zbGF0ZV9saW5l YXJfYWRkcigKKyAgICAgICAgICAgICAgICB4ODZfc2VnX2NzLCByZWdzLT5laXAsIHNpemVvZihz aF9jdHh0LT5pbnNuX2J1ZiksCisgICAgICAgICAgICAgICAgaHZtX2FjY2Vzc19pbnNuX2ZldGNo LCBzaF9jdHh0LCAmYWRkcikgJiYKKyAgICAgICAgICAgICAhaHZtX2ZldGNoX2Zyb21fZ3Vlc3Rf bGluZWFyKAorICAgICAgICAgICAgICAgICBzaF9jdHh0LT5pbnNuX2J1ZiwgYWRkciwgc2l6ZW9m KHNoX2N0eHQtPmluc25fYnVmKSwgMCwgTlVMTCkpCisgICAgICAgICAgICA/IHNpemVvZihzaF9j dHh0LT5pbnNuX2J1ZikgOiAwOworICAgICAgICBzaF9jdHh0LT5pbnNuX2J1Zl9laXAgPSByZWdz LT5laXA7CiAgICAgfQogfQogCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvbW0vc2hhZG93L211 bHRpLmMgYi94ZW4vYXJjaC94ODYvbW0vc2hhZG93L211bHRpLmMKaW5kZXggNjdjOThiOS4uNzEz ZjIzZCAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L21tL3NoYWRvdy9tdWx0aS5jCisrKyBiL3hl bi9hcmNoL3g4Ni9tbS9zaGFkb3cvbXVsdGkuYwpAQCAtMzM4MiwxMiArMzM4Miw3IEBAIHN0YXRp YyBpbnQgc2hfcGFnZV9mYXVsdChzdHJ1Y3QgdmNwdSAqdiwKICAgICAgICAgICAgICAgKCgoZW11 bF9jdHh0LmN0eHQuZXZlbnQudmVjdG9yID09IFRSQVBfZ3BfZmF1bHQpIHx8CiAgICAgICAgICAg ICAgICAgKGVtdWxfY3R4dC5jdHh0LmV2ZW50LnZlY3RvciA9PSBUUkFQX3N0YWNrX2Vycm9yKSkg JiYKICAgICAgICAgICAgICAgIGVtdWxfY3R4dC5jdHh0LmV2ZW50LmVycm9yX2NvZGUgPT0gMCkp ICkKLSAgICAgICAgewotICAgICAgICAgICAgaWYgKCBoYXNfaHZtX2NvbnRhaW5lcl9kb21haW4o ZCkgKQotICAgICAgICAgICAgICAgIGh2bV9pbmplY3RfZXZlbnQoJmVtdWxfY3R4dC5jdHh0LmV2 ZW50KTsKLSAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICBwdl9pbmplY3RfZXZlbnQo JmVtdWxfY3R4dC5jdHh0LmV2ZW50KTsKLSAgICAgICAgfQorICAgICAgICAgICAgaHZtX2luamVj dF9ldmVudCgmZW11bF9jdHh0LmN0eHQuZXZlbnQpOwogICAgICAgICBlbHNlCiAgICAgICAgIHsK ICAgICAgICAgICAgIFNIQURPV19QUklOVEsoCkBAIC0zNDQ3LDEyICszNDQyLDcgQEAgc3RhdGlj IGludCBzaF9wYWdlX2ZhdWx0KHN0cnVjdCB2Y3B1ICp2LAogI2VuZGlmCiAKICAgICBpZiAoIGVt dWxfY3R4dC5jdHh0LnJldGlyZS5zaW5nbGVzdGVwICkKLSAgICB7Ci0gICAgICAgIGlmICggaGFz X2h2bV9jb250YWluZXJfZG9tYWluKGQpICkKLSAgICAgICAgICAgIGh2bV9pbmplY3RfaHdfZXhj ZXB0aW9uKFRSQVBfZGVidWcsIFg4Nl9FVkVOVF9OT19FQyk7Ci0gICAgICAgIGVsc2UKLSAgICAg ICAgICAgIHB2X2luamVjdF9od19leGNlcHRpb24oVFJBUF9kZWJ1ZywgWDg2X0VWRU5UX05PX0VD KTsKLSAgICB9CisgICAgICAgIGh2bV9pbmplY3RfaHdfZXhjZXB0aW9uKFRSQVBfZGVidWcsIFg4 Nl9FVkVOVF9OT19FQyk7CiAKICNpZiBHVUVTVF9QQUdJTkdfTEVWRUxTID09IDMgLyogUEFFIGd1 ZXN0ICovCiAgICAgLyoKQEAgLTM0OTMsMTIgKzM0ODMsNyBAQCBzdGF0aWMgaW50IHNoX3BhZ2Vf ZmF1bHQoc3RydWN0IHZjcHUgKnYsCiAgICAgICAgICAgICAgICAgVFJBQ0VfU0hBRE9XX1BBVEhf RkxBRyhUUkNFX1NGTEFHX0VNVUxBVElPTl9MQVNUX0ZBSUxFRCk7CiAKICAgICAgICAgICAgICAg ICBpZiAoIGVtdWxfY3R4dC5jdHh0LnJldGlyZS5zaW5nbGVzdGVwICkKLSAgICAgICAgICAgICAg ICB7Ci0gICAgICAgICAgICAgICAgICAgIGlmICggaGFzX2h2bV9jb250YWluZXJfZG9tYWluKGQp ICkKLSAgICAgICAgICAgICAgICAgICAgICAgIGh2bV9pbmplY3RfaHdfZXhjZXB0aW9uKFRSQVBf ZGVidWcsIFg4Nl9FVkVOVF9OT19FQyk7Ci0gICAgICAgICAgICAgICAgICAgIGVsc2UKLSAgICAg ICAgICAgICAgICAgICAgICAgIHB2X2luamVjdF9od19leGNlcHRpb24oVFJBUF9kZWJ1ZywgWDg2 X0VWRU5UX05PX0VDKTsKLSAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIGh2 bV9pbmplY3RfaHdfZXhjZXB0aW9uKFRSQVBfZGVidWcsIFg4Nl9FVkVOVF9OT19FQyk7CiAKICAg ICAgICAgICAgICAgICBicmVhazsgLyogRG9uJ3QgZW11bGF0ZSBhZ2FpbiBpZiB3ZSBmYWlsZWQh ICovCiAgICAgICAgICAgICB9Ci0tIAoyLjEuNAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxp c3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=