From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paul Durrant Subject: [PATCH v5 1/2] x86/hvm/viridian: keep APIC assist page mapped... Date: Thu, 17 Mar 2016 12:13:51 +0000 Message-ID: <1458216832-18378-2-git-send-email-paul.durrant@citrix.com> References: <1458216832-18378-1-git-send-email-paul.durrant@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta3.messagelabs.com ([195.245.230.39]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1agWyV-0003dS-B8 for xen-devel@lists.xenproject.org; Thu, 17 Mar 2016 12:24:23 +0000 In-Reply-To: <1458216832-18378-1-git-send-email-paul.durrant@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: Paul Durrant , Keir Fraser , Jan Beulich List-Id: xen-devel@lists.xenproject.org Li4uIGZvciB0aGUgbGlmZXRpbWUgb2YgdGhlIGRvbWFpbi4KCklmIFhlbiBpcyB0byBtYWtlIHVz ZSBvZiB0aGUgQVBJQyBhc3Npc3QgZW5saWdodGVubWVudCB0aGVuIGEgcGVyc2lzdGVudAptYXBw aW5nIG5lZWRzIHRvIGJlIGtlcHQsIHJhdGhlciB0aGFuIHRoZSB0ZW1wb3Jhcnkgb25lIHdoaWNo IGlzIGN1cnJlbnRseQp1c2VkIG9ubHkgdG8gaW5pdGlhbGl6ZSB0aGUgcGFnZSBjb250ZW50LgoK VGhpcyBwYXRjaCBhbHNvIGFkZHMgYSBjb21tZW50IGJsb2NrIGF0IHRoZSB0b3Agb2YgdGhlIHNv dXJjZSB3aXRoCmluZm9ybWF0aW9uIG9uIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiB0aGUgc3BlYy4g ZnJvbSBNaWNyb3NvZnQgYW5kIHRoZQpjdXJyZW50IFVSTCB3aGVyZSBpdCBtYXkgYmUgZm91bmQu CgpTaWduZWQtb2ZmLWJ5OiBQYXVsIER1cnJhbnQgPHBhdWwuZHVycmFudEBjaXRyaXguY29tPgpD YzogS2VpciBGcmFzZXIgPGtlaXJAeGVuLm9yZz4KQ2M6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBz dXNlLmNvbT4KUmV2aWV3ZWQtYnk6IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJp eC5jb20+Ci0tLQoKdjU6CiAtIEdldCByaWQgb2YgdGhlIHN0b3JlZCBwYWdlX2luZm8gcG9pbnRl ciBhbmQgaW5zdGVhZCBkZXJpdmUgaXQgZnJvbQogICB0aGUgdmEgb24gdGVhcmRvd24uCgp2NDoK IC0gQWRkZWQgbWlzc2luZyB0ZWFyZG93biByZXF1aXJlZCBpZiB0aGUgTVNSIGlzIHJlLXdyaXR0 ZW4uCgp2MjoKIC0gUmUtaW5zdGF0ZWQgd2FybmluZyBpZiB0aGUgaW5pdGlhbGl6YXRpb24gb2Yg YW4gQVBJQyBhc3Npc3QgcGFnZSBmYWlscy4KIC0gQWRkZWQgdXAtdG8tZGF0ZSBpbmZvcm1hdGlv biBhYm91dCB0aGUgdmlyaWRpYW4gc3BlY2lmaWNhdGlvbiB0byB0aGUKICAgY29tbWVudCBibG9j ayBhdCB0aGUgdG9wIG9mIHRoZSBzb3VyY2UuCi0tLQogeGVuL2FyY2gveDg2L2h2bS9odm0uYyAg ICAgICAgICAgICB8ICAyICsKIHhlbi9hcmNoL3g4Ni9odm0vdmlyaWRpYW4uYyAgICAgICAgfCA3 NyArKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLQogeGVuL2luY2x1ZGUvYXNt LXg4Ni9odm0vdmlyaWRpYW4uaCB8ICA3ICsrKy0KIDMgZmlsZXMgY2hhbmdlZCwgNjUgaW5zZXJ0 aW9ucygrKSwgMjEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2h2bS9o dm0uYyBiL3hlbi9hcmNoL3g4Ni9odm0vaHZtLmMKaW5kZXggNGVhNTFkNy4uZjQ0NmVlNCAxMDA2 NDQKLS0tIGEveGVuL2FyY2gveDg2L2h2bS9odm0uYworKysgYi94ZW4vYXJjaC94ODYvaHZtL2h2 bS5jCkBAIC0yNjA2LDYgKzI2MDYsOCBAQCBpbnQgaHZtX3ZjcHVfaW5pdGlhbGlzZShzdHJ1Y3Qg dmNwdSAqdikKIAogdm9pZCBodm1fdmNwdV9kZXN0cm95KHN0cnVjdCB2Y3B1ICp2KQogeworICAg IHZpcmlkaWFuX3ZjcHVfZGVpbml0KHYpOworCiAgICAgaHZtX2FsbF9pb3JlcV9zZXJ2ZXJzX3Jl bW92ZV92Y3B1KHYtPmRvbWFpbiwgdik7CiAKICAgICBpZiAoIGh2bV9hbHRwMm1fc3VwcG9ydGVk KCkgKQpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2h2bS92aXJpZGlhbi5jIGIveGVuL2FyY2gv eDg2L2h2bS92aXJpZGlhbi5jCmluZGV4IDFlZTIyYWEuLmFiYmNhM2MgMTAwNjQ0Ci0tLSBhL3hl bi9hcmNoL3g4Ni9odm0vdmlyaWRpYW4uYworKysgYi94ZW4vYXJjaC94ODYvaHZtL3ZpcmlkaWFu LmMKQEAgLTEsNyArMSwxMiBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogdmlyaWRpYW4u YwogICoKLSAqIEFuIGltcGxlbWVudGF0aW9uIG9mIHRoZSBWaXJpZGlhbiBoeXBlcmNhbGwgaW50 ZXJmYWNlLgorICogQW4gaW1wbGVtZW50YXRpb24gb2Ygc29tZSBWaXJpZGlhbiBlbmxpZ2h0ZW5t ZW50cy4gU2VlIE1pY3Jvc29mdCdzCisgKiBIeXBlcnZpc29yIFRvcCBMZXZlbCBGdW5jdGlvbmFs IFNwZWNpZmljYXRpb24gKHY0LjBiKSBhdDoKKyAqCisgKiBodHRwczovL21zZG4ubWljcm9zb2Z0 LmNvbS9lbi11cy92aXJ0dWFsaXphdGlvbi9oeXBlcnZfb25fd2luZG93cy9kZXZlbG9wL3RsZnMK KyAqCisgKiBmb3IgbW9yZSBpbmZvcm1hdGlvbi4KICAqLwogCiAjaW5jbHVkZSA8eGVuL3NjaGVk Lmg+CkBAIC0xNjMsNyArMTY4LDcgQEAgc3RhdGljIHZvaWQgZHVtcF9hcGljX2Fzc2lzdChjb25z dCBzdHJ1Y3QgdmNwdSAqdikKIHsKICAgICBjb25zdCB1bmlvbiB2aXJpZGlhbl9hcGljX2Fzc2lz dCAqYWE7CiAKLSAgICBhYSA9ICZ2LT5hcmNoLmh2bV92Y3B1LnZpcmlkaWFuLmFwaWNfYXNzaXN0 OworICAgIGFhID0gJnYtPmFyY2guaHZtX3ZjcHUudmlyaWRpYW4uYXBpY19hc3Npc3QubXNyOwog CiAgICAgcHJpbnRrKFhFTkxPR19HX0lORk8gIiVwdjogVklSSURJQU4gQVBJQ19BU1NJU1Q6IGVu YWJsZWQ6ICV4IHBmbjogJWx4XG4iLAogICAgICAgICAgICB2LCBhYS0+ZmllbGRzLmVuYWJsZWQs ICh1bnNpZ25lZCBsb25nKWFhLT5maWVsZHMucGZuKTsKQEAgLTIxNyw5ICsyMjIsOSBAQCBzdGF0 aWMgdm9pZCBlbmFibGVfaHlwZXJjYWxsX3BhZ2Uoc3RydWN0IGRvbWFpbiAqZCkKIHN0YXRpYyB2 b2lkIGluaXRpYWxpemVfYXBpY19hc3Npc3Qoc3RydWN0IHZjcHUgKnYpCiB7CiAgICAgc3RydWN0 IGRvbWFpbiAqZCA9IHYtPmRvbWFpbjsKLSAgICB1bnNpZ25lZCBsb25nIGdtZm4gPSB2LT5hcmNo Lmh2bV92Y3B1LnZpcmlkaWFuLmFwaWNfYXNzaXN0LmZpZWxkcy5wZm47CisgICAgdW5zaWduZWQg bG9uZyBnbWZuID0gdi0+YXJjaC5odm1fdmNwdS52aXJpZGlhbi5hcGljX2Fzc2lzdC5tc3IuZmll bGRzLnBmbjsKICAgICBzdHJ1Y3QgcGFnZV9pbmZvICpwYWdlID0gZ2V0X3BhZ2VfZnJvbV9nZm4o ZCwgZ21mbiwgTlVMTCwgUDJNX0FMTE9DKTsKLSAgICB1aW50OF90ICpwOworICAgIHZvaWQgKnZh OwogCiAgICAgLyoKICAgICAgKiBXZSBkb24ndCB5ZXQgbWFrZSB1c2Ugb2YgdGhlIEFQSUMgYXNz aXN0IHBhZ2UgYnV0IGJ5IHNldHRpbmcKQEAgLTIyNywyNSArMjMyLDQ5IEBAIHN0YXRpYyB2b2lk IGluaXRpYWxpemVfYXBpY19hc3Npc3Qoc3RydWN0IHZjcHUgKnYpCiAgICAgICogYm91bmQgdG8g c3VwcG9ydCB0aGUgTVNSLiBXZSB0aGVyZWZvcmUgZG8ganVzdCBlbm91Z2ggdG8ga2VlcCB3aW5k b3dzCiAgICAgICogaGFwcHkuCiAgICAgICoKLSAgICAgKiBTZWUgaHR0cDovL21zZG4ubWljcm9z b2Z0LmNvbS9lbi11cy9saWJyYXJ5L2ZmNTM4NjU3JTI4VlMuODUlMjkuYXNweCBmb3IKLSAgICAg KiBkZXRhaWxzIG9mIGhvdyBXaW5kb3dzIHVzZXMgdGhlIHBhZ2UuCisgICAgICogU2VlIHNlY3Rp b24gMTMuMy40LjEgb2YgdGhlIHNwZWNpZmljYXRpb24gZm9yIGRldGFpbHMgb2YgdGhpcworICAg ICAqIGVubGlnaHRlbm1lbnQuCiAgICAgICovCiAKLSAgICBpZiAoICFwYWdlIHx8ICFnZXRfcGFn ZV90eXBlKHBhZ2UsIFBHVF93cml0YWJsZV9wYWdlKSApCisgICAgaWYgKCAhcGFnZSApCisgICAg ICAgIGdvdG8gZmFpbDsKKworICAgIGlmICggIWdldF9wYWdlX3R5cGUocGFnZSwgUEdUX3dyaXRh YmxlX3BhZ2UpICkKICAgICB7Ci0gICAgICAgIGlmICggcGFnZSApCi0gICAgICAgICAgICBwdXRf cGFnZShwYWdlKTsKLSAgICAgICAgZ2RwcmludGsoWEVOTE9HX1dBUk5JTkcsICJCYWQgR01GTiAl bHggKE1GTiAlbHgpXG4iLCBnbWZuLAotICAgICAgICAgICAgICAgICBwYWdlID8gcGFnZV90b19t Zm4ocGFnZSkgOiBJTlZBTElEX01GTik7Ci0gICAgICAgIHJldHVybjsKKyAgICAgICAgcHV0X3Bh Z2UocGFnZSk7CisgICAgICAgIGdvdG8gZmFpbDsKICAgICB9CiAKLSAgICBwID0gX19tYXBfZG9t YWluX3BhZ2UocGFnZSk7CisgICAgdmEgPSBfX21hcF9kb21haW5fcGFnZV9nbG9iYWwocGFnZSk7 CisgICAgaWYgKCAhdmEgKQorICAgIHsKKyAgICAgICAgcHV0X3BhZ2VfYW5kX3R5cGUocGFnZSk7 CisgICAgICAgIGdvdG8gZmFpbDsKKyAgICB9CiAKLSAgICAqKHUzMiAqKXAgPSAwOworICAgICoo dWludDMyX3QgKil2YSA9IDA7CiAKLSAgICB1bm1hcF9kb21haW5fcGFnZShwKTsKKyAgICB2LT5h cmNoLmh2bV92Y3B1LnZpcmlkaWFuLmFwaWNfYXNzaXN0LnZhID0gdmE7CisgICAgcmV0dXJuOwor CisgZmFpbDoKKyAgICBnZHByaW50ayhYRU5MT0dfV0FSTklORywgIkJhZCBHTUZOICVseCAoTUZO ICVseClcbiIsIGdtZm4sCisgICAgICAgICAgICAgcGFnZSA/IHBhZ2VfdG9fbWZuKHBhZ2UpIDog SU5WQUxJRF9NRk4pOworfQorCitzdGF0aWMgdm9pZCB0ZWFyZG93bl9hcGljX2Fzc2lzdChzdHJ1 Y3QgdmNwdSAqdikKK3sKKyAgICB2b2lkICp2YSA9IHYtPmFyY2guaHZtX3ZjcHUudmlyaWRpYW4u YXBpY19hc3Npc3QudmE7CisgICAgc3RydWN0IHBhZ2VfaW5mbyAqcGFnZTsKKworICAgIGlmICgg IXZhICkKKyAgICAgICAgcmV0dXJuOworCisgICAgdi0+YXJjaC5odm1fdmNwdS52aXJpZGlhbi5h cGljX2Fzc2lzdC52YSA9IE5VTEw7CisKKyAgICBwYWdlID0gbWZuX3RvX3BhZ2UoZG9tYWluX3Bh Z2VfbWFwX3RvX21mbih2YSkpOwogCisgICAgdW5tYXBfZG9tYWluX3BhZ2VfZ2xvYmFsKHZhKTsK ICAgICBwdXRfcGFnZV9hbmRfdHlwZShwYWdlKTsKIH0KIApAQCAtMzc0LDkgKzQwMywxMCBAQCBp bnQgd3Jtc3JfdmlyaWRpYW5fcmVncyh1aW50MzJfdCBpZHgsIHVpbnQ2NF90IHZhbCkKIAogICAg IGNhc2UgVklSSURJQU5fTVNSX0FQSUNfQVNTSVNUOgogICAgICAgICBwZXJmY19pbmNyKG1zaHZf d3Jtc3JfYXBpY19tc3IpOwotICAgICAgICB2LT5hcmNoLmh2bV92Y3B1LnZpcmlkaWFuLmFwaWNf YXNzaXN0LnJhdyA9IHZhbDsKKyAgICAgICAgdGVhcmRvd25fYXBpY19hc3Npc3Qodik7IC8qIHJl bGVhc2UgYW55IHByZXZpb3VzIG1hcHBpbmcgKi8KKyAgICAgICAgdi0+YXJjaC5odm1fdmNwdS52 aXJpZGlhbi5hcGljX2Fzc2lzdC5tc3IucmF3ID0gdmFsOwogICAgICAgICBkdW1wX2FwaWNfYXNz aXN0KHYpOwotICAgICAgICBpZiAodi0+YXJjaC5odm1fdmNwdS52aXJpZGlhbi5hcGljX2Fzc2lz dC5maWVsZHMuZW5hYmxlZCkKKyAgICAgICAgaWYgKCB2LT5hcmNoLmh2bV92Y3B1LnZpcmlkaWFu LmFwaWNfYXNzaXN0Lm1zci5maWVsZHMuZW5hYmxlZCApCiAgICAgICAgICAgICBpbml0aWFsaXpl X2FwaWNfYXNzaXN0KHYpOwogICAgICAgICBicmVhazsKIApAQCAtNDg1LDcgKzUxNSw3IEBAIGlu dCByZG1zcl92aXJpZGlhbl9yZWdzKHVpbnQzMl90IGlkeCwgdWludDY0X3QgKnZhbCkKIAogICAg IGNhc2UgVklSSURJQU5fTVNSX0FQSUNfQVNTSVNUOgogICAgICAgICBwZXJmY19pbmNyKG1zaHZf cmRtc3JfYXBpY19tc3IpOwotICAgICAgICAqdmFsID0gdi0+YXJjaC5odm1fdmNwdS52aXJpZGlh bi5hcGljX2Fzc2lzdC5yYXc7CisgICAgICAgICp2YWwgPSB2LT5hcmNoLmh2bV92Y3B1LnZpcmlk aWFuLmFwaWNfYXNzaXN0Lm1zci5yYXc7CiAgICAgICAgIGJyZWFrOwogCiAgICAgY2FzZSBWSVJJ RElBTl9NU1JfUkVGRVJFTkNFX1RTQzoKQEAgLTUyMSw2ICs1NTEsMTEgQEAgaW50IHJkbXNyX3Zp cmlkaWFuX3JlZ3ModWludDMyX3QgaWR4LCB1aW50NjRfdCAqdmFsKQogICAgIHJldHVybiAxOwog fQogCit2b2lkIHZpcmlkaWFuX3ZjcHVfZGVpbml0KHN0cnVjdCB2Y3B1ICp2KQoreworICAgIHRl YXJkb3duX2FwaWNfYXNzaXN0KHYpOworfQorCiBzdGF0aWMgREVGSU5FX1BFUl9DUFUoY3B1bWFz a190LCBpcGlfY3B1bWFzayk7CiAKIGludCB2aXJpZGlhbl9oeXBlcmNhbGwoc3RydWN0IGNwdV91 c2VyX3JlZ3MgKnJlZ3MpCkBAIC03MjEsNyArNzU2LDcgQEAgc3RhdGljIGludCB2aXJpZGlhbl9z YXZlX3ZjcHVfY3R4dChzdHJ1Y3QgZG9tYWluICpkLCBodm1fZG9tYWluX2NvbnRleHRfdCAqaCkK ICAgICBmb3JfZWFjaF92Y3B1KCBkLCB2ICkgewogICAgICAgICBzdHJ1Y3QgaHZtX3ZpcmlkaWFu X3ZjcHVfY29udGV4dCBjdHh0OwogCi0gICAgICAgIGN0eHQuYXBpY19hc3Npc3QgPSB2LT5hcmNo Lmh2bV92Y3B1LnZpcmlkaWFuLmFwaWNfYXNzaXN0LnJhdzsKKyAgICAgICAgY3R4dC5hcGljX2Fz c2lzdCA9IHYtPmFyY2guaHZtX3ZjcHUudmlyaWRpYW4uYXBpY19hc3Npc3QubXNyLnJhdzsKIAog ICAgICAgICBpZiAoIGh2bV9zYXZlX2VudHJ5KFZJUklESUFOX1ZDUFUsIHYtPnZjcHVfaWQsIGgs ICZjdHh0KSAhPSAwICkKICAgICAgICAgICAgIHJldHVybiAxOwpAQCAtNzQ3LDcgKzc4Miw5IEBA IHN0YXRpYyBpbnQgdmlyaWRpYW5fbG9hZF92Y3B1X2N0eHQoc3RydWN0IGRvbWFpbiAqZCwgaHZt X2RvbWFpbl9jb250ZXh0X3QgKmgpCiAgICAgaWYgKCBodm1fbG9hZF9lbnRyeShWSVJJRElBTl9W Q1BVLCBoLCAmY3R4dCkgIT0gMCApCiAgICAgICAgIHJldHVybiAtRUlOVkFMOwogCi0gICAgdi0+ YXJjaC5odm1fdmNwdS52aXJpZGlhbi5hcGljX2Fzc2lzdC5yYXcgPSBjdHh0LmFwaWNfYXNzaXN0 OworICAgIHYtPmFyY2guaHZtX3ZjcHUudmlyaWRpYW4uYXBpY19hc3Npc3QubXNyLnJhdyA9IGN0 eHQuYXBpY19hc3Npc3Q7CisgICAgaWYgKCB2LT5hcmNoLmh2bV92Y3B1LnZpcmlkaWFuLmFwaWNf YXNzaXN0Lm1zci5maWVsZHMuZW5hYmxlZCApCisgICAgICAgIGluaXRpYWxpemVfYXBpY19hc3Np c3Qodik7CiAKICAgICByZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14 ODYvaHZtL3ZpcmlkaWFuLmggYi94ZW4vaW5jbHVkZS9hc20teDg2L2h2bS92aXJpZGlhbi5oCmlu ZGV4IGM0MzE5ZDcuLjE5ZWNjMDYgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvaHZt L3ZpcmlkaWFuLmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vdmlyaWRpYW4uaApAQCAt MjEsNyArMjEsMTAgQEAgdW5pb24gdmlyaWRpYW5fYXBpY19hc3Npc3QKIAogc3RydWN0IHZpcmlk aWFuX3ZjcHUKIHsKLSAgICB1bmlvbiB2aXJpZGlhbl9hcGljX2Fzc2lzdCBhcGljX2Fzc2lzdDsK KyAgICBzdHJ1Y3QgeworICAgICAgICB1bmlvbiB2aXJpZGlhbl9hcGljX2Fzc2lzdCBtc3I7Cisg ICAgICAgIHZvaWQgKnZhOworICAgIH0gYXBpY19hc3Npc3Q7CiB9OwogCiB1bmlvbiB2aXJpZGlh bl9ndWVzdF9vc19pZApAQCAtMTE3LDYgKzEyMCw4IEBAIHZpcmlkaWFuX2h5cGVyY2FsbChzdHJ1 Y3QgY3B1X3VzZXJfcmVncyAqcmVncyk7CiB2b2lkIHZpcmlkaWFuX3RpbWVfcmVmX2NvdW50X2Zy ZWV6ZShzdHJ1Y3QgZG9tYWluICpkKTsKIHZvaWQgdmlyaWRpYW5fdGltZV9yZWZfY291bnRfdGhh dyhzdHJ1Y3QgZG9tYWluICpkKTsKIAordm9pZCB2aXJpZGlhbl92Y3B1X2RlaW5pdChzdHJ1Y3Qg dmNwdSAqdik7CisKICNlbmRpZiAvKiBfX0FTTV9YODZfSFZNX1ZJUklESUFOX0hfXyAqLwogCiAv KgotLSAKMi4xLjQKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHA6 Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=