From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH 3/3] x86/traps: Adjust paged-guest handling in the PV pagefault path Date: Tue, 13 Dec 2016 16:54:34 +0000 Message-ID: <1481648074-11455-4-git-send-email-andrew.cooper3@citrix.com> References: <1481648074-11455-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: <1481648074-11455-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 UFYgZ3Vlc3RzIG5lY2Vzc2FyaWx5IGNhbid0IGJlIGV4dGVybmFsLCBhcyBYZW4gbXVzdCBzdGVh bCBhZGRyZXNzIHNwYWNlIGZyb20KdGhlbS4gIFBhZ2VmYXVsdHMgZm9yIEhWTSBndWVzdHMgYXJl IGhhbmRsZWQgYnkge3ZteCxzdm19X3ZtZXhpdF9oYW5kbGVyKCkgYW5kCmRvbid0IGVudGVyIHRo ZSBQViBmaXh1cF9wYWdlX2ZhdWx0KCkgcGF0aC4gIFRoZXJlZm9yZSwgdGhlIGZpcnN0IGNhbGwg dG8KcGFnaW5nX2ZhdWx0KCkgaXMgZGVhZCwgYW5kIGRyb3BwZWQuCgpMb2dkaXJ0eSBtb2RlIGlz IG5vdyB0aGUgb25seSBwYWdpbmcgbW9kZSB3ZSBzaG91bGQgZXZlciBmaW5kIGEgUFYgZ3Vlc3Qg d2l0aCwKc28gYWRkIGEgbmV3IHByZWRpY2F0ZSBhbmQgYXNzZXJ0aW9uIHRvIHRoaXMgZmFjdC4K CkRyb3AgdGhlIGZpbmFsIHJlZmVyZW5jZSB0byBwYWdpbmdfbW9kZV9leHRlcm5hbCgpLiAgSXQg aXMgbW9yZSBhY2N1cmF0ZWx5IG5vdwpvbmx5IGZvciBsb2dkaXJ0eSBndWVzdHMuCgpTaWduZWQt b2ZmLWJ5OiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPgotLS0KQ0M6 IEphbiBCZXVsaWNoIDxKQmV1bGljaEBzdXNlLmNvbT4KQ0M6IFRpbSBEZWVnYW4gPHRpbUB4ZW4u b3JnPgpDQzogR2VvcmdlIER1bmxhcCA8Z2VvcmdlLmR1bmxhcEBldS5jaXRyaXguY29tPgotLS0K IHhlbi9hcmNoL3g4Ni90cmFwcy5jICAgICAgICAgfCAxNiArKysrKy0tLS0tLS0tLS0tCiB4ZW4v aW5jbHVkZS9hc20teDg2L3BhZ2luZy5oIHwgIDMgKysrCiAyIGZpbGVzIGNoYW5nZWQsIDggaW5z ZXJ0aW9ucygrKSwgMTEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L3Ry YXBzLmMgYi94ZW4vYXJjaC94ODYvdHJhcHMuYwppbmRleCAwMTNlNjMzLi5mNzZhZWMyIDEwMDY0 NAotLS0gYS94ZW4vYXJjaC94ODYvdHJhcHMuYworKysgYi94ZW4vYXJjaC94ODYvdHJhcHMuYwpA QCAtMTc5OSwxNCArMTc5OSw5IEBAIHN0YXRpYyBpbnQgZml4dXBfcGFnZV9mYXVsdCh1bnNpZ25l ZCBsb25nIGFkZHIsIHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzKQogICAgIGlmICggaW5faXJx KCkgfHwgIShyZWdzLT5lZmxhZ3MgJiBYODZfRUZMQUdTX0lGKSApCiAgICAgICAgIHJldHVybiAw OwogCi0gICAgLyogRmF1bHRzIGZyb20gZXh0ZXJuYWwtbW9kZSBndWVzdHMgYXJlIGhhbmRsZWQg Ynkgc2hhZG93L2hhcCAqLwotICAgIGlmICggcGFnaW5nX21vZGVfZXh0ZXJuYWwoZCkgJiYgZ3Vl c3RfbW9kZShyZWdzKSApCi0gICAgewotICAgICAgICBpbnQgcmV0ID0gcGFnaW5nX2ZhdWx0KGFk ZHIsIHJlZ3MpOwotICAgICAgICBpZiAoIHJldCA9PSBFWENSRVRfZmF1bHRfZml4ZWQgKQotICAg ICAgICAgICAgdHJhY2VfdHJhcF90d29fYWRkcihUUkNfUFZfUEFHSU5HX0ZJWFVQLCByZWdzLT5l aXAsIGFkZHIpOwotICAgICAgICByZXR1cm4gcmV0OwotICAgIH0KKyAgICAvKiBMb2dkaXJ0eSBt b2RlIGlzIHRoZSBvbmx5IGV4cGVjdGVkIHBhZ2luZyBtb2RlIGZvciBQViBndWVzdHMuICovCisg ICAgaWYgKCBwYWdpbmdfbW9kZV9lbmFibGVkKGQpICkKKyAgICAgICAgQVNTRVJUKHBhZ2luZ19t b2RlX29ubHlfbG9nX2RpcnR5KGQpKTsKIAogICAgIGlmICggIShyZWdzLT5lcnJvcl9jb2RlICYg UEZFQ19wYWdlX3ByZXNlbnQpICYmCiAgICAgICAgICAgKHBhZ2VmYXVsdF9ieV9tZW1hZGQoYWRk ciwgcmVncykpICkKQEAgLTE4MzgsOSArMTgzMyw4IEBAIHN0YXRpYyBpbnQgZml4dXBfcGFnZV9m YXVsdCh1bnNpZ25lZCBsb25nIGFkZHIsIHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzKQogICAg ICAgICAgICAgcmV0dXJuIEVYQ1JFVF9mYXVsdF9maXhlZDsKICAgICB9CiAKLSAgICAvKiBGb3Ig bm9uLWV4dGVybmFsIHNoYWRvd2VkIGd1ZXN0cywgd2UgZml4IHVwIGJvdGggdGhlaXIgb3duIAot ICAgICAqIHBhZ2VmYXVsdHMgYW5kIFhlbidzLCBzaW5jZSB0aGV5IHNoYXJlIHRoZSBwYWdldGFi bGVzLiAqLwotICAgIGlmICggcGFnaW5nX21vZGVfZW5hYmxlZChkKSAmJiAhcGFnaW5nX21vZGVf ZXh0ZXJuYWwoZCkgKQorICAgIC8qIExvZ2RpcnR5IGd1ZXN0cyBjYWxsIGJhY2sgaW50byB0aGUg cGFnaW5nIGNvZGUgdG8gdXBkYXRlIHNoYWRvd3MuICovCisgICAgaWYgKCBwYWdpbmdfbW9kZV9s b2dfZGlydHkoZCkgKQogICAgIHsKICAgICAgICAgaW50IHJldCA9IHBhZ2luZ19mYXVsdChhZGRy LCByZWdzKTsKICAgICAgICAgaWYgKCByZXQgPT0gRVhDUkVUX2ZhdWx0X2ZpeGVkICkKZGlmZiAt LWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14ODYvcGFnaW5nLmggYi94ZW4vaW5jbHVkZS9hc20teDg2 L3BhZ2luZy5oCmluZGV4IGNjMjlmOWIuLjIyNDNhYTEgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRl L2FzbS14ODYvcGFnaW5nLmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9wYWdpbmcuaApAQCAt NjksNiArNjksOSBAQAogI2RlZmluZSBwYWdpbmdfbW9kZV90cmFuc2xhdGUoX2QpICghISgoX2Qp LT5hcmNoLnBhZ2luZy5tb2RlICYgUEdfdHJhbnNsYXRlKSkKICNkZWZpbmUgcGFnaW5nX21vZGVf ZXh0ZXJuYWwoX2QpICAoISEoKF9kKS0+YXJjaC5wYWdpbmcubW9kZSAmIFBHX2V4dGVybmFsKSkK IAorI2RlZmluZSBwYWdpbmdfbW9kZV9vbmx5X2xvZ19kaXJ0eShfZCkgICAgICAgICAgICAgICAg ICBcCisgICAgKCgoX2QpLT5hcmNoLnBhZ2luZy5tb2RlICYgUEdfTUFTSykgPT0gUEdfbG9nX2Rp cnR5KQorCiAvKiBmbGFncyB1c2VkIGZvciBwYWdpbmcgZGVidWcgKi8KICNkZWZpbmUgUEFHSU5H X0RFQlVHX0xPR0RJUlRZIDAKIAotLSAKMi4xLjQKCgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBs aXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK