From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Jan Beulich" Subject: [PATCH v4 18/20] x86/HVM: make use of new read-modify-write emulator hook Date: Wed, 28 Feb 2018 06:12:31 -0700 Message-ID: <5A96B8CF02000078001ACC6A@prv-mh.provo.novell.com> References: <5A96B3B902000078001ACB6D@prv-mh.provo.novell.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1er1X9-00045C-BP for xen-devel@lists.xenproject.org; Wed, 28 Feb 2018 13:12:35 +0000 In-Reply-To: <5A96B3B902000078001ACB6D@prv-mh.provo.novell.com> Content-Disposition: inline List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: xen-devel Cc: George Dunlap , Andrew Cooper , Paul Durrant List-Id: xen-devel@lists.xenproject.org Li4uLCBhdCBsZWFzdCBhcyBmYXIgYXMgY3VycmVudGx5IHBvc3NpYmxlLCBpLmUuIHdoZW4gYSBt YXBwaW5nIGNhbiBiZQpvYnRhaW5lZC4KClNpZ25lZC1vZmYtYnk6IEphbiBCZXVsaWNoIDxqYmV1 bGljaEBzdXNlLmNvbT4KUmV2aWV3ZWQtYnk6IFBhdWwgRHVycmFudCA8cGF1bC5kdXJyYW50QGNp dHJpeC5jb20+ClJldmlld2VkLWJ5OiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRy aXguY29tPgotLS0KdjQ6IGJvb2xfdCAtPiBib29sLgp2MzogTmV3LgoKLS0tIGEveGVuL2FyY2gv eDg2L2h2bS9lbXVsYXRlLmMKKysrIGIveGVuL2FyY2gveDg2L2h2bS9lbXVsYXRlLmMKQEAgLTEx ODgsNiArMTE4OCw2MSBAQCBzdGF0aWMgaW50IGh2bWVtdWxfd3JpdGUoCiAgICAgcmV0dXJuIFg4 NkVNVUxfT0tBWTsKIH0KIAorc3RhdGljIGludCBodm1lbXVsX3JtdygKKyAgICBlbnVtIHg4Nl9z ZWdtZW50IHNlZywKKyAgICB1bnNpZ25lZCBsb25nIG9mZnNldCwKKyAgICB1bnNpZ25lZCBpbnQg Ynl0ZXMsCisgICAgdWludDMyX3QgKmVmbGFncywKKyAgICBzdHJ1Y3QgeDg2X2VtdWxhdGVfc3Rh dGUgKnN0YXRlLAorICAgIHN0cnVjdCB4ODZfZW11bGF0ZV9jdHh0ICpjdHh0KQoreworICAgIHN0 cnVjdCBodm1fZW11bGF0ZV9jdHh0ICpodm1lbXVsX2N0eHQgPQorICAgICAgICBjb250YWluZXJf b2YoY3R4dCwgc3RydWN0IGh2bV9lbXVsYXRlX2N0eHQsIGN0eHQpOworICAgIHVuc2lnbmVkIGxv bmcgYWRkciwgcmVwcyA9IDE7CisgICAgdWludDMyX3QgcGZlYyA9IFBGRUNfcGFnZV9wcmVzZW50 IHwgUEZFQ193cml0ZV9hY2Nlc3M7CisgICAgc3RydWN0IGh2bV92Y3B1X2lvICp2aW8gPSAmY3Vy cmVudC0+YXJjaC5odm1fdmNwdS5odm1faW87CisgICAgaW50IHJjOworICAgIHZvaWQgKm1hcHBp bmc7CisKKyAgICByYyA9IGh2bWVtdWxfdmlydHVhbF90b19saW5lYXIoCisgICAgICAgIHNlZywg b2Zmc2V0LCBieXRlcywgJnJlcHMsIGh2bV9hY2Nlc3Nfd3JpdGUsIGh2bWVtdWxfY3R4dCwgJmFk ZHIpOworICAgIGlmICggcmMgIT0gWDg2RU1VTF9PS0FZIHx8ICFieXRlcyApCisgICAgICAgIHJl dHVybiByYzsKKworICAgIGlmICggaXNfeDg2X3N5c3RlbV9zZWdtZW50KHNlZykgKQorICAgICAg ICBwZmVjIHw9IFBGRUNfaW1wbGljaXQ7CisgICAgZWxzZSBpZiAoIGh2bWVtdWxfY3R4dC0+c2Vn X3JlZ1t4ODZfc2VnX3NzXS5kcGwgPT0gMyApCisgICAgICAgIHBmZWMgfD0gUEZFQ191c2VyX21v ZGU7CisKKyAgICBtYXBwaW5nID0gaHZtZW11bF9tYXBfbGluZWFyX2FkZHIoYWRkciwgYnl0ZXMs IHBmZWMsIGh2bWVtdWxfY3R4dCk7CisgICAgaWYgKCBJU19FUlIobWFwcGluZykgKQorICAgICAg ICByZXR1cm4gflBUUl9FUlIobWFwcGluZyk7CisKKyAgICBpZiAoIG1hcHBpbmcgKQorICAgIHsK KyAgICAgICAgcmMgPSB4ODZfZW11bF9ybXcobWFwcGluZywgYnl0ZXMsIGVmbGFncywgc3RhdGUs IGN0eHQpOworICAgICAgICBodm1lbXVsX3VubWFwX2xpbmVhcl9hZGRyKG1hcHBpbmcsIGFkZHIs IGJ5dGVzLCBodm1lbXVsX2N0eHQpOworICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgICB1 bnNpZ25lZCBsb25nIGRhdGEgPSAwOworICAgICAgICBib29sIGtub3duX2dwZm4gPSB2aW8tPm1t aW9fYWNjZXNzLndyaXRlX2FjY2VzcyAmJgorICAgICAgICAgICAgICAgICAgICAgICAgICB2aW8t Pm1taW9fZ2xhID09IChhZGRyICYgUEFHRV9NQVNLKTsKKworICAgICAgICBpZiAoIGJ5dGVzID4g c2l6ZW9mKGRhdGEpICkKKyAgICAgICAgICAgIHJldHVybiBYODZFTVVMX1VOSEFORExFQUJMRTsK KyAgICAgICAgcmMgPSBodm1lbXVsX2xpbmVhcl9tbWlvX3JlYWQoYWRkciwgYnl0ZXMsICZkYXRh LCBwZmVjLCBodm1lbXVsX2N0eHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGtub3duX2dwZm4pOworICAgICAgICBpZiAoIHJjID09IFg4NkVNVUxfT0tBWSApCisgICAg ICAgICAgICByYyA9IHg4Nl9lbXVsX3JtdygmZGF0YSwgYnl0ZXMsIGVmbGFncywgc3RhdGUsIGN0 eHQpOworICAgICAgICBpZiAoIHJjID09IFg4NkVNVUxfT0tBWSApCisgICAgICAgICAgICByYyA9 IGh2bWVtdWxfbGluZWFyX21taW9fd3JpdGUoYWRkciwgYnl0ZXMsICZkYXRhLCBwZmVjLAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGh2bWVtdWxfY3R4dCwga25v d25fZ3Bmbik7CisgICAgfQorCisgICAgcmV0dXJuIHJjOworfQorCiBzdGF0aWMgaW50IGh2bWVt dWxfd3JpdGVfZGlzY2FyZCgKICAgICBlbnVtIHg4Nl9zZWdtZW50IHNlZywKICAgICB1bnNpZ25l ZCBsb25nIG9mZnNldCwKQEAgLTIxNTcsNiArMjIxMiw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3Qg eDg2X2VtdWxhdGVfb3BzIGh2bV8KICAgICAucmVhZCAgICAgICAgICA9IGh2bWVtdWxfcmVhZCwK ICAgICAuaW5zbl9mZXRjaCAgICA9IGh2bWVtdWxfaW5zbl9mZXRjaCwKICAgICAud3JpdGUgICAg ICAgICA9IGh2bWVtdWxfd3JpdGUsCisgICAgLnJtdyAgICAgICAgICAgPSBodm1lbXVsX3JtdywK ICAgICAuY21weGNoZyAgICAgICA9IGh2bWVtdWxfY21weGNoZywKICAgICAudmFsaWRhdGUgICAg ICA9IGh2bWVtdWxfdmFsaWRhdGUsCiAgICAgLnJlcF9pbnMgICAgICAgPSBodm1lbXVsX3JlcF9p bnMsCgoKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpY ZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRw czovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs