From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Jan Beulich" Subject: Re: [PATCH v2 2/6] x86/cpuid: Introduce recalculate_xstate() Date: Tue, 17 Jan 2017 05:52:07 -0700 Message-ID: <587E21870200007800130CF5@prv-mh.provo.novell.com> References: <1484566830-13916-3-git-send-email-andrew.cooper3@citrix.com> <1484652467-8251-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: <1484652467-8251-1-git-send-email-andrew.cooper3@citrix.com> Content-Disposition: inline List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Andrew Cooper Cc: Xen-devel List-Id: xen-devel@lists.xenproject.org Pj4+IE9uIDE3LjAxLjE3IGF0IDEyOjI3LCA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4gd3Jv dGU6Cj4gLS0tIGEveGVuL2FyY2gveDg2L2NwdWlkLmMKPiArKysgYi94ZW4vYXJjaC94ODYvY3B1 aWQuYwo+IEBAIC04MCw2ICs4MCwxMDMgQEAgc3RhdGljIHZvaWQgc2FuaXRpc2VfZmVhdHVyZXNl dCh1aW50MzJfdCAqZnMpCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGZzW0ZFQVRVUkVT RVRfZTFkXSAmIH5DUFVJRF9DT01NT05fMURfRkVBVFVSRVMpKTsKPiAgfQo+ICAKPiArc3RhdGlj IHZvaWQgcmVjYWxjdWxhdGVfeHN0YXRlKHN0cnVjdCBjcHVpZF9wb2xpY3kgKnApCj4gK3sKPiAr ICAgIHVpbnQ2NF90IHhzdGF0ZXMgPSBYU1RBVEVfRlBfU1NFOwo+ICsgICAgdWludDMyX3QgeHN0 YXRlX3NpemUgPSBYU1RBVEVfQVJFQV9NSU5fU0laRTsKPiArICAgIHVuc2lnbmVkIGludCBpLCBE YTEgPSBwLT54c3RhdGUuRGExOwo+ICsKPiArICAgIC8qCj4gKyAgICAgKiBUaGUgRGExIGxlYWYg aXMgdGhlIG9ubHkgcGllY2UgaWYgaW5mb3JtYXRpb24gcHJlc2VydmVkIGluIHRoZSBjb21tb24K PiArICAgICAqIGNhc2UuICBFdmVyeXRoaW5nIGVsc2UgaXMgZGVyaXZlZCBmcm9tIG90aGVyIGZl YXR1cmUgc3RhdGUuCj4gKyAgICAgKi8KCiJwaWVjZSBvZiIgSSB0aGluay4KCj4gKyAgICBtZW1z ZXQoJnAtPnhzdGF0ZSwgMCwgc2l6ZW9mKHAtPnhzdGF0ZSkpOwo+ICsKPiArICAgIGlmICggIXAt PmJhc2ljLnhzYXZlICkKPiArICAgICAgICByZXR1cm47Cj4gKwo+ICsgICAgaWYgKCBwLT5iYXNp Yy5hdnggKQo+ICsgICAgewo+ICsgICAgICAgIHhzdGF0ZXMgfD0gWFNUQVRFX1lNTTsKPiArICAg ICAgICB4c3RhdGVfc2l6ZSA9IG1heCh4c3RhdGVfc2l6ZSwKPiArICAgICAgICAgICAgICAgICAg ICAgICAgICB4c3RhdGVfb2Zmc2V0c1tfWFNUQVRFX1lNTV0gKwo+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgIHhzdGF0ZV9zaXplc1tfWFNUQVRFX1lNTV0pOwo+ICsgICAgfQo+ICsKPiArICAg IGlmICggcC0+ZmVhdC5tcHggKQo+ICsgICAgewo+ICsgICAgICAgIHhzdGF0ZXMgfD0gWFNUQVRF X0JORFJFR1MgfCBYU1RBVEVfQk5EQ1NSOwo+ICsgICAgICAgIHhzdGF0ZV9zaXplID0gbWF4KHhz dGF0ZV9zaXplLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgIHhzdGF0ZV9vZmZzZXRzW19Y U1RBVEVfQk5EQ1NSXSArCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgeHN0YXRlX3NpemVz W19YU1RBVEVfQk5EQ1NSXSk7Cj4gKyAgICB9Cj4gKwo+ICsgICAgaWYgKCBwLT5mZWF0LmF2eDUx MmYgKQo+ICsgICAgewo+ICsgICAgICAgIHhzdGF0ZXMgfD0gWFNUQVRFX09QTUFTSyB8IFhTVEFU RV9aTU0gfCBYU1RBVEVfSElfWk1NOwo+ICsgICAgICAgIHhzdGF0ZV9zaXplID0gbWF4KHhzdGF0 ZV9zaXplLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgIHhzdGF0ZV9vZmZzZXRzW19YU1RB VEVfSElfWk1NXSArCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgeHN0YXRlX3NpemVzW19Y U1RBVEVfSElfWk1NXSk7Cj4gKyAgICB9Cj4gKwo+ICsgICAgaWYgKCBwLT5mZWF0LnBrdSApCj4g KyAgICB7Cj4gKyAgICAgICAgeHN0YXRlcyB8PSBYU1RBVEVfUEtSVTsKPiArICAgICAgICB4c3Rh dGVfc2l6ZSA9IG1heCh4c3RhdGVfc2l6ZSwKPiArICAgICAgICAgICAgICAgICAgICAgICAgICB4 c3RhdGVfb2Zmc2V0c1tfWFNUQVRFX1BLUlVdICsKPiArICAgICAgICAgICAgICAgICAgICAgICAg ICB4c3RhdGVfc2l6ZXNbX1hTVEFURV9QS1JVXSk7Cj4gKyAgICB9Cj4gKwo+ICsgICAgaWYgKCBw LT5leHRkLmx3cCApCj4gKyAgICB7Cj4gKyAgICAgICAgeHN0YXRlcyB8PSBYU1RBVEVfTFdQOwo+ ICsgICAgICAgIHhzdGF0ZV9zaXplID0gbWF4KHhzdGF0ZV9zaXplLAo+ICsgICAgICAgICAgICAg ICAgICAgICAgICAgIHhzdGF0ZV9vZmZzZXRzW19YU1RBVEVfTFdQXSArCj4gKyAgICAgICAgICAg ICAgICAgICAgICAgICAgeHN0YXRlX3NpemVzW19YU1RBVEVfTFdQXSk7Cj4gKyAgICB9Cj4gKwo+ ICsgICAgLyogU2FuaXR5IGNoZWNrIHdlIGFyZW4ndCBhZHZlcnRpc2luZyB1bmtub3duIHN0YXRl cy4gKi8KPiArICAgIEFTU0VSVCgoeHN0YXRlcyAmIH5YQ05UWFRfTUFTSykgPT0gMCk7Cj4gKwo+ ICsgICAgcC0+eHN0YXRlLm1heF9zaXplICA9ICB4c3RhdGVfc2l6ZTsKPiArICAgIHAtPnhzdGF0 ZS54Y3IwX2xvdyAgPSAgeHN0YXRlcyAmIH5YU1RBVEVfWFNBVkVTX09OTFk7Cj4gKyAgICBwLT54 c3RhdGUueGNyMF9oaWdoID0gKHhzdGF0ZXMgJiB+WFNUQVRFX1hTQVZFU19PTkxZKSA+PiAzMjsK PiArCj4gKyAgICBwLT54c3RhdGUuRGExID0gRGExOwo+ICsgICAgaWYgKCBwLT54c3RhdGUueHNh dmVzICkKPiArICAgIHsKPiArICAgICAgICBwLT54c3RhdGUueHNzX2xvdyAgID0gIHhzdGF0ZXMg JiBYU1RBVEVfWFNBVkVTX09OTFk7Cj4gKyAgICAgICAgcC0+eHN0YXRlLnhzc19oaWdoICA9ICh4 c3RhdGVzICYgWFNUQVRFX1hTQVZFU19PTkxZKSA+PiAzMjsKPiArICAgIH0KPiArICAgIGVsc2UK PiArICAgICAgICB4c3RhdGVzICY9IH5YU1RBVEVfWFNBVkVTX09OTFk7Cj4gKwo+ICsgICAgZm9y ICggaSA9IDI7IGkgPCBtaW4oNjN1bCwgQVJSQVlfU0laRShwLT54c3RhdGUuY29tcCkpOyArK2kg KQo+ICsgICAgewo+ICsgICAgICAgIHVpbnQ2NF90IGN1cnJfeHN0YXRlID0gMXVsIDw8IGk7Cj4g Kwo+ICsgICAgICAgIGlmICggISh4c3RhdGVzICYgY3Vycl94c3RhdGUpICkKPiArICAgICAgICAg ICAgY29udGludWU7Cj4gKwo+ICsgICAgICAgIHAtPnhzdGF0ZS5jb21wW2ldLnNpemUgICA9IHhz dGF0ZV9zaXplc1tpXTsKPiArICAgICAgICBwLT54c3RhdGUuY29tcFtpXS5vZmZzZXQgPSB4c3Rh dGVfb2Zmc2V0c1tpXTsKPiArICAgICAgICBwLT54c3RhdGUuY29tcFtpXS54c3MgICAgPSBjdXJy X3hzdGF0ZSAmIFhTVEFURV9YU0FWRVNfT05MWTsKPiArICAgICAgICBwLT54c3RhdGUuY29tcFtp XS5hbGlnbiAgPSBjdXJyX3hzdGF0ZSAmIHhzdGF0ZV9hbGlnbjsKPiArCj4gKyAgICAgICAgLyoK PiArICAgICAgICAgKiBTYW5pdHkgY2hlY2tzOgo+ICsgICAgICAgICAqIC0gQWxsIHZhbGlkIGNv bXBvbmVudHMgc2hvdWxkIGhhdmUgbm9uLXplcm8gc2l6ZS4KPiArICAgICAgICAgKiAtIEFsbCB4 Y3IwIGNvbXBvbmVudHMgc2hvdWxkIGhhdmUgbm9uLXplcm8gb2Zmc2V0Lgo+ICsgICAgICAgICAq IC0gQWxsIHhzcyBjb21wb25lbnRzIHNob3VsZCByZXBvcnQgMCBvZmZzZXQuCj4gKyAgICAgICAg ICovCj4gKyAgICAgICAgQVNTRVJUKHhzdGF0ZV9zaXplc1tpXSk7Cj4gKyAgICAgICAgaWYgKCBj dXJyX3hzdGF0ZSAmIFhTVEFURV9YU0FWRVNfT05MWSApCj4gKyAgICAgICAgICAgIEFTU0VSVCh4 c3RhdGVfb2Zmc2V0c1tpXSA9PSAwKTsKPiArICAgICAgICBlbHNlCj4gKyAgICAgICAgICAgIEFT U0VSVCh4c3RhdGVfb2Zmc2V0c1tpXSk7Cj4gKyAgICB9CgpIbW0sIG5vdyB0aGF0IEkgbG9vayBh dCB0aGlzIGFnYWluIC0gd2hhdCBidXNpbmVzcyBkbyB0aGVzZQphc3NlcnRpb25zIGhhdmUgaGVy ZT8gVGhleSdyZSBjaGVja2luZyBob3N0IGluZm9ybWF0aW9uLCB3aGljaAppc24ndCBnb2luZyB0 byBjaGFuZ2UgcG9zdCBib290LiBTdWNoIGNoZWNraW5nLCBpZiBpbmRlZWQgd2FudGVkLApzaG91 bGQgYmUgZG9uZSBvbmNlIGR1cmluZyBzeXN0ZW0gYm9vdC4KCkkgYWxzbyB0aGluayBzdWNoIGNo ZWNrcyBzaG91bGQgYmUgY29uc2lzdGVudCBpbiBzdHlsZSAtIGVpdGhlciBib3RoCmV4cGxpY2l0 bHkgY29tcGFyaW5nIHdpdGggemVybywgb3IgdXNpbmcgISBpbiB0aGUgaWYoKSBicmFuY2ggdG8g bWF0Y2gKdGhlIGVsc2Ugb25lLgoKPiBAQCAtMTU0LDYgKzE1MiwxMyBAQCBzdHJ1Y3QgY3B1aWRf cG9saWN5Cj4gICAgICAgICAgICAgIH07Cj4gICAgICAgICAgICAgIHVpbnQzMl90IC8qIGIgKi86 MzIsIHhzc19sb3csIHhzc19oaWdoOwo+ICAgICAgICAgIH07Cj4gKwo+ICsgICAgICAgIC8qIFBl ci1jb21wb25lbnQgY29tbW9uIHN0YXRlLiAgVmFsaWQgZm9yIGkgPj0gMi4gKi8KPiArICAgICAg ICBzdHJ1Y3Qgewo+ICsgICAgICAgICAgICB1aW50MzJfdCBzaXplLCBvZmZzZXQ7Cj4gKyAgICAg ICAgICAgIGJvb2wgeHNzOjEsIGFsaWduOjE7Cj4gKyAgICAgICAgICAgIHVpbnQzMl90IF9yZXNf ZDsKCkkgc2VlIHlvdSd2ZSBkZWNpZGVkIGFnYWluc3QgYW4gaW5uZXIgdW5pb24uIFNob3VsZCBi ZSBmaW5lIG9mCmNvdXJzZSwgYXQgbGVhc3QgdW50aWwgd2UgaGF2ZSBhIG5lZWQgdG8gYWNjZXNz IHRoZSBmdWxsIEVDWCB2YWx1ZQpieSBuYW1lLgoKSmFuCgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZl bEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK