From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paul Durrant Subject: [PATCH v2] x86/hvm/viridian: save APIC assist vector Date: Tue, 29 Mar 2016 10:30:05 +0100 Message-ID: <1459243805-2150-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 1akq98-0005IE-VI for xen-devel@lists.xenproject.org; Tue, 29 Mar 2016 09:41:11 +0000 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 , Jan Beulich List-Id: xen-devel@lists.xenproject.org SWYgYW55IHZjcHUgaGFzIGEgcGVuZGluZyBBUElDIGFzc2lzdCB3aGVuIHRoZSBkb21haW4gaXMg c3VzcGVuZGVkCnRoZW4gdGhlIHZlY3RvciBuZWVkcyB0byBiZSBzYXZlZC4gSWYgdGhpcyBpcyBu b3QgZG9uZSB0aGVuIGl0J3MKcG9zc2libGUgZm9yIHRoZSB2ZWN0b3IgdG8gcmVtYWluIHBlbmRp bmcgaW4gdGhlIHZsYXBpYyBJU1IKaW5kZWZpbml0ZWx5IGFmdGVyIHJlc3VtZS4KClRoaXMgcGF0 Y2ggYWRkcyBjb2RlIHRvIHNhdmUgdGhlIEFQSUMgYXNzaXN0IHZlY3RvciB2YWx1ZSBpbiB0aGUK dmlyaWRpYW4gdmNwdSBzYXZlIHJlY29yZC4gVGhpcyBtZWFucyB0aGF0IHRoZSByZWNvcmQgaXMg bm93IHplcm8tCmV4dGVuZGVkIG9uIGxvYWQgYW5kLCBiZWNhdXNlIHRoaXMgaW1wbGllcyBhIGxv YWRlZCB2YWx1ZSBvZgp6ZXJvIG1lYW5zIG5vdGhpbmcgaXMgcGVuZGluZyAoZm9yIGJhY2t3YXJk cyBjb21wYXRpYmlsaXR5IHdpdGgKaG9zdHMgbm90IGltcGxlbWVudGluZyBBUElDIGFzc2lzdCks IHRoZSByZXN0IG9mIHRoZSB2aXJpZGlhbiBBUElDCmFzc2lzdCBjb2RlIGlzIGFkanVzdGVkIHRv IHRyZWF0IGEgemVybyB2YWx1ZSBpbiB0aGlzIHdheS4gQQpjaGVjayBoYXMgdGhlcmVmb3JlIGJl ZW4gYWRkZWQgdG8gdmlyaWRpYW5fc3RhcnRfYXBpY19hc3Npc3QoKSB0bwpwcmV2ZW50IHRoZSBl bmxpZ2h0ZW5tZW50IGJlaW5nIHVzZWQgZm9yIHZlY3RvcnMgPCAweDEwICh3aGljaAphcmUgaWxs ZWdhbCBmb3IgYW4gQVBJQykuCgpTaWduZWQtb2ZmLWJ5OiBQYXVsIER1cnJhbnQgPHBhdWwuZHVy cmFudEBjaXRyaXguY29tPgpDYzogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgotLS0K CnYyOgogLSBkb24ndCB1c2UgYmlhc2luZwogLSBhZGQgbWlzc2luZyBwYWRkaW5nIHRvIHNhdmUg cmVjb3JkCi0tLQogeGVuL2FyY2gveDg2L2h2bS92aXJpZGlhbi5jICAgICAgICAgICAgfCAyMyAr KysrKysrKysrKysrKy0tLS0tLS0tLQogeGVuL2FyY2gveDg2L2h2bS92bGFwaWMuYyAgICAgICAg ICAgICAgfCAgMiArLQogeGVuL2luY2x1ZGUvcHVibGljL2FyY2gteDg2L2h2bS9zYXZlLmggfCAg NCArKystCiAzIGZpbGVzIGNoYW5nZWQsIDE4IGluc2VydGlvbnMoKyksIDExIGRlbGV0aW9ucygt KQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9odm0vdmlyaWRpYW4uYyBiL3hlbi9hcmNoL3g4 Ni9odm0vdmlyaWRpYW4uYwppbmRleCA0MTAzMjBjLi5kY2VlZDJjIDEwMDY0NAotLS0gYS94ZW4v YXJjaC94ODYvaHZtL3ZpcmlkaWFuLmMKKysrIGIveGVuL2FyY2gveDg2L2h2bS92aXJpZGlhbi5j CkBAIC0yNTIsNyArMjUyLDYgQEAgc3RhdGljIHZvaWQgaW5pdGlhbGl6ZV9hcGljX2Fzc2lzdChz dHJ1Y3QgdmNwdSAqdikKICAgICBpZiAoIHZpcmlkaWFuX2ZlYXR1cmVfbWFzayh2LT5kb21haW4p ICYgSFZNUFZfYXBpY19hc3Npc3QgKQogICAgIHsKICAgICAgICAgdi0+YXJjaC5odm1fdmNwdS52 aXJpZGlhbi5hcGljX2Fzc2lzdC52YSA9IHZhOwotICAgICAgICB2LT5hcmNoLmh2bV92Y3B1LnZp cmlkaWFuLmFwaWNfYXNzaXN0LnZlY3RvciA9IC0xOwogICAgICAgICByZXR1cm47CiAgICAgfQog CkBAIC0yODgsMTIgKzI4NywxNSBAQCB2b2lkIHZpcmlkaWFuX3N0YXJ0X2FwaWNfYXNzaXN0KHN0 cnVjdCB2Y3B1ICp2LCBpbnQgdmVjdG9yKQogICAgIGlmICggIXZhICkKICAgICAgICAgcmV0dXJu OwogCisgICAgaWYgKCB2ZWN0b3IgPCAweDEwICkKKyAgICAgICAgcmV0dXJuOworCiAgICAgLyoK ICAgICAgKiBJZiB0aGVyZSBpcyBhbHJlYWR5IGFuIGFzc2lzdCBwZW5kaW5nIHRoZW4gc29tZXRo aW5nIGhhcyBnb25lCiAgICAgICogd3JvbmcgYW5kIHRoZSBWTSB3aWxsIG1vc3QgbGlrZWx5IGhh bmcgc28gZm9yY2UgYSBjcmFzaCBub3cKICAgICAgKiB0byBtYWtlIHRoZSBwcm9ibGVtIGNsZWFy LgogICAgICAqLwotICAgIGlmICggdi0+YXJjaC5odm1fdmNwdS52aXJpZGlhbi5hcGljX2Fzc2lz dC52ZWN0b3IgPj0gMCApCisgICAgaWYgKCB2LT5hcmNoLmh2bV92Y3B1LnZpcmlkaWFuLmFwaWNf YXNzaXN0LnZlY3RvciApCiAgICAgICAgIGRvbWFpbl9jcmFzaCh2LT5kb21haW4pOwogCiAgICAg di0+YXJjaC5odm1fdmNwdS52aXJpZGlhbi5hcGljX2Fzc2lzdC52ZWN0b3IgPSB2ZWN0b3I7CkBA IC0zMDYsMTMgKzMwOCwxMyBAQCBpbnQgdmlyaWRpYW5fY29tcGxldGVfYXBpY19hc3Npc3Qoc3Ry dWN0IHZjcHUgKnYpCiAgICAgaW50IHZlY3RvcjsKIAogICAgIGlmICggIXZhICkKLSAgICAgICAg cmV0dXJuIC0xOworICAgICAgICByZXR1cm4gMDsKIAogICAgIGlmICggKnZhICYgMXUgKQotICAg ICAgICByZXR1cm4gLTE7IC8qIEludGVycnVwdCBub3QgeWV0IHByb2Nlc3NlZCBieSB0aGUgZ3Vl c3QuICovCisgICAgICAgIHJldHVybiAwOyAvKiBJbnRlcnJ1cHQgbm90IHlldCBwcm9jZXNzZWQg YnkgdGhlIGd1ZXN0LiAqLwogCiAgICAgdmVjdG9yID0gdi0+YXJjaC5odm1fdmNwdS52aXJpZGlh bi5hcGljX2Fzc2lzdC52ZWN0b3I7Ci0gICAgdi0+YXJjaC5odm1fdmNwdS52aXJpZGlhbi5hcGlj X2Fzc2lzdC52ZWN0b3IgPSAtMTsKKyAgICB2LT5hcmNoLmh2bV92Y3B1LnZpcmlkaWFuLmFwaWNf YXNzaXN0LnZlY3RvciA9IDA7CiAKICAgICByZXR1cm4gdmVjdG9yOwogfQpAQCAtMzI1LDcgKzMy Nyw3IEBAIHZvaWQgdmlyaWRpYW5fYWJvcnRfYXBpY19hc3Npc3Qoc3RydWN0IHZjcHUgKnYpCiAg ICAgICAgIHJldHVybjsKIAogICAgICp2YSAmPSB+MXU7Ci0gICAgdi0+YXJjaC5odm1fdmNwdS52 aXJpZGlhbi5hcGljX2Fzc2lzdC52ZWN0b3IgPSAtMTsKKyAgICB2LT5hcmNoLmh2bV92Y3B1LnZp cmlkaWFuLmFwaWNfYXNzaXN0LnZlY3RvciA9IDA7CiB9CiAKIHN0YXRpYyB2b2lkIHVwZGF0ZV9y ZWZlcmVuY2VfdHNjKHN0cnVjdCBkb21haW4gKmQsIGJvb2xfdCBpbml0aWFsaXplKQpAQCAtODA2 LDcgKzgwOCw4IEBAIHN0YXRpYyBpbnQgdmlyaWRpYW5fc2F2ZV92Y3B1X2N0eHQoc3RydWN0IGRv bWFpbiAqZCwgaHZtX2RvbWFpbl9jb250ZXh0X3QgKmgpCiAgICAgZm9yX2VhY2hfdmNwdSggZCwg diApIHsKICAgICAgICAgc3RydWN0IGh2bV92aXJpZGlhbl92Y3B1X2NvbnRleHQgY3R4dDsKIAot ICAgICAgICBjdHh0LmFwaWNfYXNzaXN0ID0gdi0+YXJjaC5odm1fdmNwdS52aXJpZGlhbi5hcGlj X2Fzc2lzdC5tc3IucmF3OworICAgICAgICBjdHh0LmFwaWNfYXNzaXN0X21zciA9IHYtPmFyY2gu aHZtX3ZjcHUudmlyaWRpYW4uYXBpY19hc3Npc3QubXNyLnJhdzsKKyAgICAgICAgY3R4dC5hcGlj X2Fzc2lzdF92ZWN0b3IgPSB2LT5hcmNoLmh2bV92Y3B1LnZpcmlkaWFuLmFwaWNfYXNzaXN0LnZl Y3RvcjsKIAogICAgICAgICBpZiAoIGh2bV9zYXZlX2VudHJ5KFZJUklESUFOX1ZDUFUsIHYtPnZj cHVfaWQsIGgsICZjdHh0KSAhPSAwICkKICAgICAgICAgICAgIHJldHVybiAxOwpAQCAtODI5LDEz ICs4MzIsMTUgQEAgc3RhdGljIGludCB2aXJpZGlhbl9sb2FkX3ZjcHVfY3R4dChzdHJ1Y3QgZG9t YWluICpkLCBodm1fZG9tYWluX2NvbnRleHRfdCAqaCkKICAgICAgICAgcmV0dXJuIC1FSU5WQUw7 CiAgICAgfQogCi0gICAgaWYgKCBodm1fbG9hZF9lbnRyeShWSVJJRElBTl9WQ1BVLCBoLCAmY3R4 dCkgIT0gMCApCisgICAgaWYgKCBodm1fbG9hZF9lbnRyeV96ZXJvZXh0ZW5kKFZJUklESUFOX1ZD UFUsIGgsICZjdHh0KSAhPSAwICkKICAgICAgICAgcmV0dXJuIC1FSU5WQUw7CiAKLSAgICB2LT5h cmNoLmh2bV92Y3B1LnZpcmlkaWFuLmFwaWNfYXNzaXN0Lm1zci5yYXcgPSBjdHh0LmFwaWNfYXNz aXN0OworICAgIHYtPmFyY2guaHZtX3ZjcHUudmlyaWRpYW4uYXBpY19hc3Npc3QubXNyLnJhdyA9 IGN0eHQuYXBpY19hc3Npc3RfbXNyOwogICAgIGlmICggdi0+YXJjaC5odm1fdmNwdS52aXJpZGlh bi5hcGljX2Fzc2lzdC5tc3IuZmllbGRzLmVuYWJsZWQgKQogICAgICAgICBpbml0aWFsaXplX2Fw aWNfYXNzaXN0KHYpOwogCisgICAgdi0+YXJjaC5odm1fdmNwdS52aXJpZGlhbi5hcGljX2Fzc2lz dC52ZWN0b3IgPSBjdHh0LmFwaWNfYXNzaXN0X3ZlY3RvcjsKKwogICAgIHJldHVybiAwOwogfQog CmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvaHZtL3ZsYXBpYy5jIGIveGVuL2FyY2gveDg2L2h2 bS92bGFwaWMuYwppbmRleCBmMzZlZmY3Li5lMmY0NDUwIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94 ODYvaHZtL3ZsYXBpYy5jCisrKyBiL3hlbi9hcmNoL3g4Ni9odm0vdmxhcGljLmMKQEAgLTExODks NyArMTE4OSw3IEBAIGludCB2bGFwaWNfaGFzX3BlbmRpbmdfaXJxKHN0cnVjdCB2Y3B1ICp2KQog ICAgICAqIGNvbXBhcmluZyB3aXRoIHRoZSBJUlIuCiAgICAgICovCiAgICAgdmVjdG9yID0gdmly aWRpYW5fY29tcGxldGVfYXBpY19hc3Npc3Qodik7Ci0gICAgaWYgKCB2ZWN0b3IgIT0gLTEgKQor ICAgIGlmICggdmVjdG9yICkKICAgICAgICAgdmxhcGljX2NsZWFyX3ZlY3Rvcih2ZWN0b3IsICZ2 bGFwaWMtPnJlZ3MtPmRhdGFbQVBJQ19JU1JdKTsKIAogICAgIGlzciA9IHZsYXBpY19maW5kX2hp Z2hlc3RfaXNyKHZsYXBpYyk7CmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9wdWJsaWMvYXJjaC14 ODYvaHZtL3NhdmUuaCBiL3hlbi9pbmNsdWRlL3B1YmxpYy9hcmNoLXg4Ni9odm0vc2F2ZS5oCmlu ZGV4IGZiZDFjNmEuLjhkNzNiNTEgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL3B1YmxpYy9hcmNo LXg4Ni9odm0vc2F2ZS5oCisrKyBiL3hlbi9pbmNsdWRlL3B1YmxpYy9hcmNoLXg4Ni9odm0vc2F2 ZS5oCkBAIC01ODgsNyArNTg4LDkgQEAgc3RydWN0IGh2bV92aXJpZGlhbl9kb21haW5fY29udGV4 dCB7CiBERUNMQVJFX0hWTV9TQVZFX1RZUEUoVklSSURJQU5fRE9NQUlOLCAxNSwgc3RydWN0IGh2 bV92aXJpZGlhbl9kb21haW5fY29udGV4dCk7CiAKIHN0cnVjdCBodm1fdmlyaWRpYW5fdmNwdV9j b250ZXh0IHsKLSAgICB1aW50NjRfdCBhcGljX2Fzc2lzdDsKKyAgICB1aW50NjRfdCBhcGljX2Fz c2lzdF9tc3I7CisgICAgdWludDhfdCAgYXBpY19hc3Npc3RfdmVjdG9yOworICAgIHVpbnQ4X3Qg IF9wYWRbN107CiB9OwogCiBERUNMQVJFX0hWTV9TQVZFX1RZUEUoVklSSURJQU5fVkNQVSwgMTcs IHN0cnVjdCBodm1fdmlyaWRpYW5fdmNwdV9jb250ZXh0KTsKLS0gCjIuMS40CgoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcg bGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2 ZWwK