From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH 3/5] x86/pv: Break handle_ldt_mapping_fault() out of handle_gdt_ldt_mapping_fault() Date: Fri, 12 Jan 2018 18:37:22 +0000 Message-ID: <1515782244-6412-4-git-send-email-andrew.cooper3@citrix.com> References: <1515782244-6412-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: <1515782244-6412-1-git-send-email-andrew.cooper3@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: Xen-devel Cc: Andrew Cooper , Jan Beulich List-Id: xen-devel@lists.xenproject.org QWRqdXN0IGhhbmRsZV9sZHRfbWFwcGluZ19mYXVsdCgpIGV4Y2x1ZGUgdGhlIHVzZSBvZiB0aGlz IGZpeHVwIHBhdGggZm9yCm5vbi1QViBndWVzdHMuICBXZWxsLWZvcm1lZCBjb2RlIHNob3VsZG4n dCByZWZlcmVuY2UgdGhlIExEVCB3aGlsZSBpbiBIVk0gdmNwdQpjb250ZXh0LCBidXQgY3VycmVu dGx5IG9uIGEgY29udGV4dCBzd2l0Y2ggZnJvbSBQViB0byBIVk0gY29udGV4dCwgdGhlcmUgbWF5 CmJlIGEgc3RhbGUgTERUIHNlbGVjdG9yIGxvYWRlZCwgb3ZlciBhbiB1bm1hcHBlZCByZWdpb24u CgpCeSBleHBsaWNpdGx5IGV4Y2x1ZGluZyBIVk0gY29udGV4dCBhdCB0aGlzIHBvaW50LCB3ZSBh dm9pZCBlcnJvbmVvdXMKaHlwZXJ2aXNvciBleGVjdXRpb24gcmVzdWx0aW5nIGluIGEgY2FzY2Fk ZSBmYWlsdXJlLCBieSBmYWxsaW5nIGludG8KcHZfbWFwX2xkdF9zaGFkb3dfcGFnZSgpLgoKU2ln bmVkLW9mZi1ieTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KLS0t CkNDOiBKYW4gQmV1bGljaCA8SkJldWxpY2hAc3VzZS5jb20+Ci0tLQogeGVuL2FyY2gveDg2L3Ry YXBzLmMgfCA3OSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0t LS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgNDYgaW5zZXJ0aW9ucygrKSwgMzMgZGVsZXRpb25zKC0p CgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L3RyYXBzLmMgYi94ZW4vYXJjaC94ODYvdHJhcHMu YwppbmRleCBiNTg0OWMzLi4zZDZhNGQ1IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvdHJhcHMu YworKysgYi94ZW4vYXJjaC94ODYvdHJhcHMuYwpAQCAtMTA5Myw2ICsxMDkzLDQ4IEBAIHN0YXRp YyB2b2lkIHJlc2VydmVkX2JpdF9wYWdlX2ZhdWx0KHVuc2lnbmVkIGxvbmcgYWRkciwKICAgICBz aG93X2V4ZWN1dGlvbl9zdGF0ZShyZWdzKTsKIH0KIAorc3RhdGljIGludCBoYW5kbGVfbGR0X21h cHBpbmdfZmF1bHQodW5zaWduZWQgaW50IG9mZnNldCwKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzKQoreworICAgIHN0cnVjdCB2 Y3B1ICpjdXJyID0gY3VycmVudDsKKworICAgIC8qCisgICAgICogTm90IGluIFBWIGNvbnRleHQ/ ICBTb21ldGhpbmcgaXMgdmVyeSBicm9rZW4uICBMZWF2ZSBpdCB0byB0aGUgI1BGCisgICAgICog aGFuZGxlciwgd2hpY2ggd2lsbCBwcm9iYWJseSByZXN1bHQgaW4gYSBwYW5pYygpLgorICAgICAq LworICAgIGlmICggIWlzX3B2X3ZjcHUoY3VycikgKQorICAgICAgICByZXR1cm4gMDsKKworICAg IC8qIFRyeSB0byBjb3B5IGEgbWFwcGluZyBmcm9tIHRoZSBndWVzdCdzIExEVCwgaWYgaXQgaXMg dmFsaWQuICovCisgICAgaWYgKCBsaWtlbHkocHZfbWFwX2xkdF9zaGFkb3dfcGFnZShvZmZzZXQp KSApCisgICAgeworICAgICAgICBpZiAoIGd1ZXN0X21vZGUocmVncykgKQorICAgICAgICAgICAg dHJhY2VfdHJhcF90d29fYWRkcihUUkNfUFZfR0RUX0xEVF9NQVBQSU5HX0ZBVUxULAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICByZWdzLT5yaXAsIG9mZnNldCk7CisgICAgfQorICAg IGVsc2UKKyAgICB7CisgICAgICAgIC8qIEluIGh5cGVydmlzb3IgbW9kZT8gTGVhdmUgaXQgdG8g dGhlICNQRiBoYW5kbGVyIHRvIGZpeCB1cC4gKi8KKyAgICAgICAgaWYgKCAhZ3Vlc3RfbW9kZShy ZWdzKSApCisgICAgICAgICAgICByZXR1cm4gMDsKKworICAgICAgICAvKiBBY2Nlc3Mgd291bGQg aGF2ZSBiZWNvbWUgbm9uLWNhbm9uaWNhbD8gUGFzcyAjR1Bbc2VsXSBiYWNrLiAqLworICAgICAg ICBpZiAoIHVubGlrZWx5KCFpc19jYW5vbmljYWxfYWRkcmVzcygKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgY3Vyci0+YXJjaC5wdl92Y3B1LmxkdF9iYXNlICsgb2Zmc2V0KSkgKQorICAgICAg ICB7CisgICAgICAgICAgICB1aW50MTZfdCBlYyA9IChvZmZzZXQgJiB+KFg4Nl9YRUNfRVhUIHwg WDg2X1hFQ19JRFQpKSB8IFg4Nl9YRUNfVEk7CisKKyAgICAgICAgICAgIHB2X2luamVjdF9od19l eGNlcHRpb24oVFJBUF9ncF9mYXVsdCwgZWMpOworICAgICAgICB9CisgICAgICAgIGVsc2UKKyAg ICAgICAgICAgIC8qIGVsc2UgcGFzcyB0aGUgI1BGIGJhY2ssIHdpdGggYWRqdXN0ZWQgJWNyMi4g Ki8KKyAgICAgICAgICAgIHB2X2luamVjdF9wYWdlX2ZhdWx0KHJlZ3MtPmVycm9yX2NvZGUsCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJyLT5hcmNoLnB2X3ZjcHUubGR0X2Jh c2UgKyBvZmZzZXQpOworICAgIH0KKworICAgIHJldHVybiBFWENSRVRfZmF1bHRfZml4ZWQ7Cit9 CisKIHN0YXRpYyBpbnQgaGFuZGxlX2dkdF9sZHRfbWFwcGluZ19mYXVsdCh1bnNpZ25lZCBsb25n IG9mZnNldCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3Qg Y3B1X3VzZXJfcmVncyAqcmVncykKIHsKQEAgLTExMTQsNDAgKzExNTYsMTEgQEAgc3RhdGljIGlu dCBoYW5kbGVfZ2R0X2xkdF9tYXBwaW5nX2ZhdWx0KHVuc2lnbmVkIGxvbmcgb2Zmc2V0LAogICAg IG9mZnNldCAmPSAoMVVMIDw8IChHRFRfTERUX1ZDUFVfVkFfU0hJRlQtMSkpIC0gMVVMOwogCiAg ICAgaWYgKCBsaWtlbHkoaXNfbGR0X2FyZWEpICkKLSAgICB7Ci0gICAgICAgIC8qIExEVCBmYXVs dDogQ29weSBhIG1hcHBpbmcgZnJvbSB0aGUgZ3Vlc3QncyBMRFQsIGlmIGl0IGlzIHZhbGlkLiAq LwotICAgICAgICBpZiAoIGxpa2VseShwdl9tYXBfbGR0X3NoYWRvd19wYWdlKG9mZnNldCkpICkK LSAgICAgICAgewotICAgICAgICAgICAgaWYgKCBndWVzdF9tb2RlKHJlZ3MpICkKLSAgICAgICAg ICAgICAgICB0cmFjZV90cmFwX3R3b19hZGRyKFRSQ19QVl9HRFRfTERUX01BUFBJTkdfRkFVTFQs Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWdzLT5yaXAsIG9mZnNldCk7 Ci0gICAgICAgIH0KLSAgICAgICAgZWxzZQotICAgICAgICB7Ci0gICAgICAgICAgICAvKiBJbiBo eXBlcnZpc29yIG1vZGU/IExlYXZlIGl0IHRvIHRoZSAjUEYgaGFuZGxlciB0byBmaXggdXAuICov Ci0gICAgICAgICAgICBpZiAoICFndWVzdF9tb2RlKHJlZ3MpICkKLSAgICAgICAgICAgICAgICBy ZXR1cm4gMDsKKyAgICAgICAgcmV0dXJuIGhhbmRsZV9sZHRfbWFwcGluZ19mYXVsdChvZmZzZXQs IHJlZ3MpOwogCi0gICAgICAgICAgICAvKiBBY2Nlc3Mgd291bGQgaGF2ZSBiZWNvbWUgbm9uLWNh bm9uaWNhbD8gUGFzcyAjR1Bbc2VsXSBiYWNrLiAqLwotICAgICAgICAgICAgaWYgKCB1bmxpa2Vs eSghaXNfY2Fub25pY2FsX2FkZHJlc3MoCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj dXJyLT5hcmNoLnB2X3ZjcHUubGR0X2Jhc2UgKyBvZmZzZXQpKSApCi0gICAgICAgICAgICB7Ci0g ICAgICAgICAgICAgICAgdWludDE2X3QgZWMgPSAob2Zmc2V0ICYgfihYODZfWEVDX0VYVCB8IFg4 Nl9YRUNfSURUKSkgfCBYODZfWEVDX1RJOwotCi0gICAgICAgICAgICAgICAgcHZfaW5qZWN0X2h3 X2V4Y2VwdGlvbihUUkFQX2dwX2ZhdWx0LCBlYyk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAg ICBlbHNlCi0gICAgICAgICAgICAgICAgLyogZWxzZSBwYXNzIHRoZSAjUEYgYmFjaywgd2l0aCBh ZGp1c3RlZCAlY3IyLiAqLwotICAgICAgICAgICAgICAgIHB2X2luamVjdF9wYWdlX2ZhdWx0KHJl Z3MtPmVycm9yX2NvZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3Vy ci0+YXJjaC5wdl92Y3B1LmxkdF9iYXNlICsgb2Zmc2V0KTsKLSAgICAgICAgfQotICAgIH0KLSAg ICBlbHNlCi0gICAgewotICAgICAgICAvKiBHRFQgZmF1bHQ6IGhhbmRsZSB0aGUgZmF1bHQgYXMg I0dQKHNlbGVjdG9yKS4gKi8KLSAgICAgICAgcmVncy0+ZXJyb3JfY29kZSA9IG9mZnNldCAmIH4o WDg2X1hFQ19FWFQgfCBYODZfWEVDX0lEVCB8IFg4Nl9YRUNfVEkpOwotICAgICAgICAodm9pZClk b19nZW5lcmFsX3Byb3RlY3Rpb24ocmVncyk7Ci0gICAgfQorICAgIC8qIEdEVCBmYXVsdDogaGFu ZGxlIHRoZSBmYXVsdCBhcyAjR1Aoc2VsZWN0b3IpLiAqLworICAgIHJlZ3MtPmVycm9yX2NvZGUg PSBvZmZzZXQgJiB+KFg4Nl9YRUNfRVhUIHwgWDg2X1hFQ19JRFQgfCBYODZfWEVDX1RJKTsKKyAg ICBkb19nZW5lcmFsX3Byb3RlY3Rpb24ocmVncyk7CiAKICAgICByZXR1cm4gRVhDUkVUX2ZhdWx0 X2ZpeGVkOwogfQotLSAKMi4xLjQKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW5w cm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8v eGVuLWRldmVs