From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yi Sun Subject: Re: [PATCH v4 07/15] x86: implement set value flow for MBA Date: Thu, 28 Sep 2017 10:39:37 +0800 Message-ID: <20170928023937.GY11006@yi.y.sun> References: <1506160104-5890-1-git-send-email-yi.y.sun@linux.intel.com> <1506160104-5890-8-git-send-email-yi.y.sun@linux.intel.com> <20170926093931.3abbfrvl5droyz7r@dhcp-3-128.uk.xensource.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta6.messagelabs.com ([193.109.254.103]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dxOkv-0000N7-UJ for xen-devel@lists.xenproject.org; Thu, 28 Sep 2017 02:40:54 +0000 Content-Disposition: inline In-Reply-To: <20170926093931.3abbfrvl5droyz7r@dhcp-3-128.uk.xensource.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Roger Pau =?utf-8?B?TW9ubu+/vQ==?= Cc: xen-devel@lists.xenproject.org, Wei Liu , Chao Peng , Jan Beulich , Andrew Cooper List-Id: xen-devel@lists.xenproject.org T24gMTctMDktMjYgMTA6Mzk6MzEsIFJvZ2VyIFBhdSBNb25u77+9IHdyb3RlOgo+IE9uIFNhdCwg U2VwIDIzLCAyMDE3IGF0IDA5OjQ4OjE2QU0gKzAwMDAsIFlpIFN1biB3cm90ZToKPiA+IEBAIC0y NzQsMjkgKzI3Nyw2IEBAIHN0YXRpYyBlbnVtIHBzcl9mZWF0X3R5cGUgcHNyX3R5cGVfdG9fZmVh dF90eXBlKGVudW0gcHNyX3R5cGUgdHlwZSkKPiA+ICAgICAgcmV0dXJuIGZlYXRfdHlwZTsKPiA+ ICB9Cj4gPiAgCj4gPiAtc3RhdGljIGJvb2wgcHNyX2NoZWNrX2NibSh1bnNpZ25lZCBpbnQgY2Jt X2xlbiwgdW5zaWduZWQgbG9uZyBjYm0pCj4gPiAtewo+ID4gLSAgICB1bnNpZ25lZCBpbnQgZmly c3RfYml0LCB6ZXJvX2JpdDsKPiA+IC0KPiA+IC0gICAgLyogU2V0IGJpdHMgc2hvdWxkIG9ubHkg aW4gdGhlIHJhbmdlIG9mIFswLCBjYm1fbGVuXS4gKi8KPiA+IC0gICAgaWYgKCBjYm0gJiAofjB1 bCA8PCBjYm1fbGVuKSApCj4gPiAtICAgICAgICByZXR1cm4gZmFsc2U7Cj4gPiAtCj4gPiAtICAg IC8qIEF0IGxlYXN0IG9uZSBiaXQgbmVlZCB0byBiZSBzZXQuICovCj4gPiAtICAgIGlmICggY2Jt ID09IDAgKQo+ID4gLSAgICAgICAgcmV0dXJuIGZhbHNlOwo+ID4gLQo+ID4gLSAgICBmaXJzdF9i aXQgPSBmaW5kX2ZpcnN0X2JpdCgmY2JtLCBjYm1fbGVuKTsKPiA+IC0gICAgemVyb19iaXQgPSBm aW5kX25leHRfemVyb19iaXQoJmNibSwgY2JtX2xlbiwgZmlyc3RfYml0KTsKPiA+IC0KPiA+IC0g ICAgLyogU2V0IGJpdHMgc2hvdWxkIGJlIGNvbnRpZ3VvdXMuICovCj4gPiAtICAgIGlmICggemVy b19iaXQgPCBjYm1fbGVuICYmCj4gPiAtICAgICAgICAgZmluZF9uZXh0X2JpdCgmY2JtLCBjYm1f bGVuLCB6ZXJvX2JpdCkgPCBjYm1fbGVuICkKPiA+IC0gICAgICAgIHJldHVybiBmYWxzZTsKPiA+ IC0KPiA+IC0gICAgcmV0dXJuIHRydWU7Cj4gPiAtfQo+ID4gLQo+ID4gIC8qIEltcGxlbWVudGF0 aW9uIG9mIGFsbG9jYXRpb24gZmVhdHVyZXMnIGZ1bmN0aW9ucy4gKi8KPiA+ICBzdGF0aWMgYm9v bCBjYXRfaW5pdF9mZWF0dXJlKGNvbnN0IHN0cnVjdCBjcHVpZF9sZWFmICpyZWdzLAo+ID4gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgZmVhdF9ub2RlICpmZWF0LAo+ID4gQEAg LTQyNiwxMSArNDA2LDM2IEBAIHN0YXRpYyBib29sIGNhdF9nZXRfZmVhdF9pbmZvKGNvbnN0IHN0 cnVjdCBmZWF0X25vZGUgKmZlYXQsCj4gPiAgICAgIHJldHVybiB0cnVlOwo+ID4gIH0KPiA+ICAK PiA+ICtzdGF0aWMgYm9vbCBjYXRfY2hlY2tfY2JtKGNvbnN0IHN0cnVjdCBmZWF0X25vZGUgKmZl YXQsIHVuc2lnbmVkIGxvbmcgY2JtKQo+ID4gK3sKPiA+ICsgICAgdW5zaWduZWQgaW50IGZpcnN0 X2JpdCwgemVyb19iaXQ7Cj4gPiArICAgIHVuc2lnbmVkIGludCBjYm1fbGVuID0gZmVhdC0+Y2F0 LmNibV9sZW47Cj4gPiArCj4gPiArICAgIC8qCj4gPiArICAgICAqIFNldCBiaXRzIHNob3VsZCBv bmx5IGluIHRoZSByYW5nZSBvZiBbMCwgY2JtX2xlbl0uCj4gPiArICAgICAqIEFuZCwgYXQgbGVh c3Qgb25lIGJpdCBuZWVkIHRvIGJlIHNldC4KPiA+ICsgICAgICovCj4gPiArICAgIGlmICggY2Jt ICYgKH4wdWwgPDwgY2JtX2xlbikgfHwgY2JtID09IDAgKQo+ID4gKyAgICAgICAgcmV0dXJuIGZh bHNlOwo+ID4gKwo+ID4gKyAgICBmaXJzdF9iaXQgPSBmaW5kX2ZpcnN0X2JpdCgmY2JtLCBjYm1f bGVuKTsKPiA+ICsgICAgemVyb19iaXQgPSBmaW5kX25leHRfemVyb19iaXQoJmNibSwgY2JtX2xl biwgZmlyc3RfYml0KTsKPiA+ICsKPiA+ICsgICAgLyogU2V0IGJpdHMgc2hvdWxkIGJlIGNvbnRp Z3VvdXMuICovCj4gPiArICAgIGlmICggemVyb19iaXQgPCBjYm1fbGVuICYmCj4gPiArICAgICAg ICAgZmluZF9uZXh0X2JpdCgmY2JtLCBjYm1fbGVuLCB6ZXJvX2JpdCkgPCBjYm1fbGVuICkKPiA+ ICsgICAgICAgIHJldHVybiBmYWxzZTsKPiA+ICsKPiA+ICsgICAgcmV0dXJuIHRydWU7Cj4gPiAr fQo+IAo+IFdoeSBkbyB5b3UgbmVlZCB0byBtb3ZlIHRoZSBjb2RlIGFwYXJ0IGZyb20gcmVuYW1p bmcgaXQ/Cj4gCkJlY2F1c2UgaXQgaXMgQ0FUIHNwZWNpZmljIGZ1bmN0aW9uIG5vdy4gSSBtb3Zl ZCBpdCBpbnRvIENBVCBzZWN0aW9uLgogICAgJy8qIEltcGxlbWVudGF0aW9uIG9mIGFsbG9jYXRp b24gZmVhdHVyZXMnIGZ1bmN0aW9ucy4gKi8nCgo+ID4gQEAgLTEyMTAsMjUgKzEyMzcsMzkgQEAg c3RhdGljIHVuc2lnbmVkIGludCBnZXRfc29ja2V0X2NwdSh1bnNpZ25lZCBpbnQgc29ja2V0KQo+ ID4gIHN0cnVjdCBjb3Nfd3JpdGVfaW5mbwo+ID4gIHsKPiA+ICAgICAgdW5zaWduZWQgaW50IGNv czsKPiA+IC0gICAgc3RydWN0IGZlYXRfbm9kZSAqZmVhdHVyZTsKPiA+ICsgICAgc3RydWN0IGZl YXRfbm9kZSAqKmZlYXR1cmVzOwo+ID4gICAgICBjb25zdCB1aW50MzJfdCAqdmFsOwo+ID4gLSAg ICBjb25zdCBzdHJ1Y3QgZmVhdF9wcm9wcyAqcHJvcHM7Cj4gPiArICAgIHVuc2lnbmVkIGludCBh cnJheV9sZW47Cj4gPiArICAgIGNvbnN0IHN0cnVjdCBmZWF0X3Byb3BzICoqcHJvcHM7Cj4gCj4g V2h5IGRvIHlvdSBuZWVkIHByb3BzIGhlcmUsIGZyb20gdGhlIHVzYWdlIGJlbG93IGl0J3MganVz dCBwb2ludGluZwo+IHRvIGZlYXRfcHJvcHMsIHdoaWNoIGlzIGFscmVhZHkgYXZhaWxhYmxlIGlu IHRoaXMgY29udGV4dC4KPiAKSSBtYXkgZHJvcCBpdC4KCj4gPiAgfTsKPiA+ICAKPiA+ICBzdGF0 aWMgdm9pZCBkb193cml0ZV9wc3JfbXNycyh2b2lkICpkYXRhKQo+ID4gIHsKPiA+ICAgICAgY29u c3Qgc3RydWN0IGNvc193cml0ZV9pbmZvICppbmZvID0gZGF0YTsKPiA+IC0gICAgc3RydWN0IGZl YXRfbm9kZSAqZmVhdCA9IGluZm8tPmZlYXR1cmU7Cj4gPiAtICAgIGNvbnN0IHN0cnVjdCBmZWF0 X3Byb3BzICpwcm9wcyA9IGluZm8tPnByb3BzOwo+ID4gLSAgICB1bnNpZ25lZCBpbnQgaSwgY29z ID0gaW5mby0+Y29zLCBjb3NfbnVtID0gcHJvcHMtPmNvc19udW07Cj4gPiArICAgIHVuc2lnbmVk IGludCBpLCBpbmRleCA9IDAsIGNvcyA9IGluZm8tPmNvczsKPiA+ICsgICAgY29uc3QgdWludDMy X3QgKnZhbF9hcnJheSA9IGluZm8tPnZhbDsKPiA+ICAKPiA+IC0gICAgZm9yICggaSA9IDA7IGkg PCBjb3NfbnVtOyBpKysgKQo+ID4gKyAgICBmb3IgKCBpID0gMDsgaSA8IEFSUkFZX1NJWkUoZmVh dF9wcm9wcyk7IGkrKyApCj4gPiAgICAgIHsKPiA+IC0gICAgICAgIGlmICggZmVhdC0+Y29zX3Jl Z192YWxbY29zICogY29zX251bSArIGldICE9IGluZm8tPnZhbFtpXSApCj4gPiArICAgICAgICBz dHJ1Y3QgZmVhdF9ub2RlICpmZWF0ID0gaW5mby0+ZmVhdHVyZXNbaV07Cj4gPiArICAgICAgICBj b25zdCBzdHJ1Y3QgZmVhdF9wcm9wcyAqcHJvcHMgPSBpbmZvLT5wcm9wc1tpXTsKPiAKPiBJZiB5 b3UgdXNlIEFSUkFZX1NJWkUoZmVhdF9wcm9wcyksIHRoZSBhYm92ZSBzaG91bGQgYmUgZmVhdF9w cm9wc1tpXS4KCk9rLgoKPiBBbHNvIEknbSB3b3JyaWVkIGFib3V0IHRoZSBzaXplIG9mIHRoZSBw cm9wcyBhcnJheSwgaXNuJ3QgdGhlcmUgYQo+IHBvc3NpYmlsaXR5IHRoYXQgdGhlIHByb3BzIGFy cmF5IGlzIHNtYWxsZXIgdGhhbiB0aGUgZmVhdHVyZSBhcnJheT8KPiAKTm8sIGV2ZXJ5IG1lbWJl ciBpcyBpbnNlcnRlZCBpbnRvIHByb3BzIGFycmF5IGlmIHRoZSBmZWF0dXJlIGlzIGluaXRpYWxp emVkCnN1Y2Nlc3NmdWxseSBhbmQgaW5zZXJ0ZWQgaW50byBmZWF0dXJlIGFycmF5LiBTbywgdGhl eSBhcmUgMToxLgoKPiAKPiBUaGFua3MsIFJvZ2VyLgoKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxA bGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==