From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Jan Beulich" Subject: Re: [PATCH 09/27] x86/cpuid: Dispatch cpuid_hypervisor_leaves() from guest_cpuid() Date: Wed, 04 Jan 2017 08:34:20 -0700 Message-ID: <586D240C020000780012D1D3@prv-mh.provo.novell.com> References: <1483533584-8015-1-git-send-email-andrew.cooper3@citrix.com> <1483533584-8015-10-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: <1483533584-8015-10-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+IE9uIDA0LjAxLjE3IGF0IDEzOjM5LCA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4gd3Jv dGU6Cj4gLS0tIGEveGVuL2FyY2gveDg2L2NwdWlkLmMKPiArKysgYi94ZW4vYXJjaC94ODYvY3B1 aWQuYwo+IEBAIC0zMzIsNiArMzMyLDkgQEAgdm9pZCBndWVzdF9jcHVpZChjb25zdCBzdHJ1Y3Qg dmNwdSAqdiwgdW5zaWduZWQgaW50IGxlYWYsCj4gICAgICBjYXNlIDB4NDAwMDAwMDAgLi4uIDB4 NDAwMDAwZmY6Cj4gICAgICAgICAgaWYgKCBpc192aXJpZGlhbl9kb21haW4oZCkgKQo+ICAgICAg ICAgICAgICByZXR1cm4gY3B1aWRfdmlyaWRpYW5fbGVhdmVzKHYsIGxlYWYsIHN1YmxlYWYsIHJl cyk7Cj4gKyAgICAgICAgLyogRmFsbHRocm91Z2guICovCj4gKyAgICBjYXNlIDB4NDAwMDAxMDAg Li4uIDB4NGZmZmZmZmY6Cj4gKyAgICAgICAgcmV0dXJuIGNwdWlkX2h5cGVydmlzb3JfbGVhdmVz KHYsIGxlYWYsIHN1YmxlYWYsIHJlcyk7Cj4gICAgICB9CgpBaCAtIHRoYXQncyB3aHkgeW91IGRp ZG4ndCBoYXZlIGEgYnJlYWsgc3RhdGVtZW50IHRoZXJlLiBCdXQ6IElzIHRoaXMKY29ycmVjdD8g WW91J3JlIG5vdyByZXR1cm5pbmcgWGVuIGxlYXZlcyBpbiB0d28gd2luZG93cyBmb3Igbm9uLQpW aXJpZGlhbiBkb21haW5zLgoKPiBAQCAtOTI5LDgzICs5MjcsNzEgQEAgaW50IGNwdWlkX2h5cGVy dmlzb3JfbGVhdmVzKCB1aW50MzJfdCBpZHgsIHVpbnQzMl90IHN1Yl9pZHgsCj4gICAgICAgICAg ICAgIGxpbWl0ID0gWEVOX0NQVUlEX01BWF9OVU1fTEVBVkVTOwo+ICAgICAgfQo+ICAKPiAtICAg IGlmICggaWR4ID4gbGltaXQgKSAKPiAtICAgICAgICByZXR1cm4gMDsKPiArICAgIGlmICggaWR4 ID4gbGltaXQgKQo+ICsgICAgICAgIHJldHVybjsKPiAgCj4gICAgICBzd2l0Y2ggKCBpZHggKQo+ ICAgICAgewo+ICAgICAgY2FzZSAwOgo+IC0gICAgICAgICplYXggPSBiYXNlICsgbGltaXQ7IC8q IExhcmdlc3QgbGVhZiAqLwo+IC0gICAgICAgICplYnggPSBYRU5fQ1BVSURfU0lHTkFUVVJFX0VC WDsKPiAtICAgICAgICAqZWN4ID0gWEVOX0NQVUlEX1NJR05BVFVSRV9FQ1g7Cj4gLSAgICAgICAg KmVkeCA9IFhFTl9DUFVJRF9TSUdOQVRVUkVfRURYOwo+ICsgICAgICAgIHJlcy0+YSA9IGJhc2Ug KyBsaW1pdDsgLyogTGFyZ2VzdCBsZWFmICovCj4gKyAgICAgICAgcmVzLT5iID0gWEVOX0NQVUlE X1NJR05BVFVSRV9FQlg7Cj4gKyAgICAgICAgcmVzLT5jID0gWEVOX0NQVUlEX1NJR05BVFVSRV9F Q1g7Cj4gKyAgICAgICAgcmVzLT5kID0gWEVOX0NQVUlEX1NJR05BVFVSRV9FRFg7Cj4gICAgICAg ICAgYnJlYWs7Cj4gIAo+ICAgICAgY2FzZSAxOgo+IC0gICAgICAgICplYXggPSAoeGVuX21ham9y X3ZlcnNpb24oKSA8PCAxNikgfCB4ZW5fbWlub3JfdmVyc2lvbigpOwo+IC0gICAgICAgICplYngg PSAwOyAgICAgICAgICAvKiBSZXNlcnZlZCAqLwo+IC0gICAgICAgICplY3ggPSAwOyAgICAgICAg ICAvKiBSZXNlcnZlZCAqLwo+IC0gICAgICAgICplZHggPSAwOyAgICAgICAgICAvKiBSZXNlcnZl ZCAqLwo+ICsgICAgICAgIHJlcy0+YSA9ICh4ZW5fbWFqb3JfdmVyc2lvbigpIDw8IDE2KSB8IHhl bl9taW5vcl92ZXJzaW9uKCk7Cj4gICAgICAgICAgYnJlYWs7Cj4gIAo+ICAgICAgY2FzZSAyOgo+ IC0gICAgICAgICplYXggPSAxOyAgICAgICAgICAvKiBOdW1iZXIgb2YgaHlwZXJjYWxsLXRyYW5z ZmVyIHBhZ2VzICovCj4gLSAgICAgICAgKmVieCA9IDB4NDAwMDAwMDA7IC8qIE1TUiBiYXNlIGFk ZHJlc3MgKi8KPiAtICAgICAgICBpZiAoIGlzX3ZpcmlkaWFuX2RvbWFpbihjdXJyZCkgKQo+IC0g ICAgICAgICAgICAqZWJ4ID0gMHg0MDAwMDIwMDsKPiAtICAgICAgICAqZWN4ID0gMDsgICAgICAg ICAgLyogRmVhdHVyZXMgMSAqLwo+IC0gICAgICAgICplZHggPSAwOyAgICAgICAgICAvKiBGZWF0 dXJlcyAyICovCj4gLSAgICAgICAgaWYgKCBpc19wdl9kb21haW4oY3VycmQpICkKPiAtICAgICAg ICAgICAgKmVjeCB8PSBYRU5fQ1BVSURfRkVBVDFfTU1VX1BUX1VQREFURV9QUkVTRVJWRV9BRDsK PiArICAgICAgICByZXMtPmEgPSAxOyAgICAgICAgICAvKiBOdW1iZXIgb2YgaHlwZXJjYWxsLXRy YW5zZmVyIHBhZ2VzICovCj4gKyAgICAgICAgcmVzLT5iID0gMHg0MDAwMDAwMDsgLyogTVNSIGJh c2UgYWRkcmVzcyAqLwo+ICsgICAgICAgIGlmICggaXNfdmlyaWRpYW5fZG9tYWluKGQpICkKPiAr ICAgICAgICAgICAgcmVzLT5iID0gMHg0MDAwMDIwMDsKCkNvdWxkIEkgdGFsayB5b3UgaW50byBt YWtpbmcgdGhpcyBhIGNvbmRpdGlvbmFsIGV4cHJlc3Npb24sIGFzIHlvdSdyZQp0b3VjaGluZyBp dCBhbnl3YXk/Cgo+ICsgICAgICAgIGlmICggaXNfcHZfZG9tYWluKGQpICkKPiArICAgICAgICAg ICAgcmVzLT5jIHw9IFhFTl9DUFVJRF9GRUFUMV9NTVVfUFRfVVBEQVRFX1BSRVNFUlZFX0FEOwo+ ICAgICAgICAgIGJyZWFrOwo+ICAKPiAgICAgIGNhc2UgMzogLyogVGltZSBsZWFmLiAqLwo+IC0g ICAgICAgIHN3aXRjaCAoIHN1Yl9pZHggKQo+ICsgICAgICAgIHN3aXRjaCAoIHN1YmxlYWYgKQo+ ICAgICAgICAgIHsKPiAgICAgICAgICBjYXNlIDA6IC8qIGZlYXR1cmVzICovCj4gLSAgICAgICAg ICAgICplYXggPSAoKCEhY3VycmQtPmFyY2gudnRzYyA8PCAwKSB8Cj4gLSAgICAgICAgICAgICAg ICAgICAgKCEhaG9zdF90c2NfaXNfc2FmZSgpIDw8IDEpIHwKPiAtICAgICAgICAgICAgICAgICAg ICAoISFib290X2NwdV9oYXMoWDg2X0ZFQVRVUkVfUkRUU0NQKSA8PCAyKSk7Cj4gLSAgICAgICAg ICAgICplYnggPSBjdXJyZC0+YXJjaC50c2NfbW9kZTsKPiAtICAgICAgICAgICAgKmVjeCA9IGN1 cnJkLT5hcmNoLnRzY19raHo7Cj4gLSAgICAgICAgICAgICplZHggPSBjdXJyZC0+YXJjaC5pbmNh cm5hdGlvbjsKPiArICAgICAgICAgICAgcmVzLT5hID0gKCghIWQtPmFyY2gudnRzYyA8PCAwKSB8 Cj4gKyAgICAgICAgICAgICAgICAgICAgICAoISFob3N0X3RzY19pc19zYWZlKCkgPDwgMSkgfAo+ ICsgICAgICAgICAgICAgICAgICAgICAgKCEhYm9vdF9jcHVfaGFzKFg4Nl9GRUFUVVJFX1JEVFND UCkgPDwgMikpOwoKVGhlIGxhdHRlciB0d28gISEgYXBwZWFyIHRvIHN0aWxsIGJlIG5lY2Vzc2Fy eSwgYnV0IHRoZSBmaXJzdCBjYW4gZ28KYXdheSBub3cgdGhhdCB3ZSB1c2UgYm9vbCwgYW5kIGJv b2xfdCBpcyBhbiBhbGlhcyB0aGVyZW9mLgoKPiArICAgICAgICAgICAgcmVzLT5iID0gZC0+YXJj aC50c2NfbW9kZTsKPiArICAgICAgICAgICAgcmVzLT5jID0gZC0+YXJjaC50c2Nfa2h6Owo+ICsg ICAgICAgICAgICByZXMtPmQgPSBkLT5hcmNoLmluY2FybmF0aW9uOwo+ICAgICAgICAgICAgICBi cmVhazsKPiAgCj4gICAgICAgICAgY2FzZSAxOiAvKiBzY2FsZSBhbmQgb2Zmc2V0ICovCj4gICAg ICAgICAgewo+ICAgICAgICAgICAgICB1aW50NjRfdCBvZmZzZXQ7Cj4gIAo+IC0gICAgICAgICAg ICBpZiAoICFjdXJyZC0+YXJjaC52dHNjICkKPiAtICAgICAgICAgICAgICAgIG9mZnNldCA9IGN1 cnJkLT5hcmNoLnZ0c2Nfb2Zmc2V0Owo+ICsgICAgICAgICAgICBpZiAoICFkLT5hcmNoLnZ0c2Mg KQo+ICsgICAgICAgICAgICAgICAgb2Zmc2V0ID0gZC0+YXJjaC52dHNjX29mZnNldDsKPiAgICAg ICAgICAgICAgZWxzZQo+ICAgICAgICAgICAgICAgICAgLyogb2Zmc2V0IGFscmVhZHkgYXBwbGll ZCB0byB2YWx1ZSByZXR1cm5lZCBieSB2aXJ0dWFsIHJkdHNjcCAqLwo+ICAgICAgICAgICAgICAg ICAgb2Zmc2V0ID0gMDsKPiAtICAgICAgICAgICAgKmVheCA9ICh1aW50MzJfdClvZmZzZXQ7Cj4g LSAgICAgICAgICAgICplYnggPSAodWludDMyX3QpKG9mZnNldCA+PiAzMik7Cj4gLSAgICAgICAg ICAgICplY3ggPSBjdXJyZC0+YXJjaC52dHNjX3RvX25zLm11bF9mcmFjOwo+IC0gICAgICAgICAg ICAqZWR4ID0gKHM4KWN1cnJkLT5hcmNoLnZ0c2NfdG9fbnMuc2hpZnQ7Cj4gKyAgICAgICAgICAg IHJlcy0+YSA9ICh1aW50MzJfdClvZmZzZXQ7Cj4gKyAgICAgICAgICAgIHJlcy0+YiA9ICh1aW50 MzJfdCkob2Zmc2V0ID4+IDMyKTsKClRoZSBjYXN0cyBhcmVuJ3QgcmVhbGx5IG5lY2Vzc2FyeS4K CkphbgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVu LWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3Rz Lnhlbi5vcmcveGVuLWRldmVsCg==