From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chao Gao Subject: Re: [PATCH v5 3/8] microcode: introduce the global microcode cache Date: Mon, 11 Feb 2019 11:59:21 +0800 Message-ID: <20190211035919.GA17802@gao-cwp> References: <1548659210-16870-1-git-send-email-chao.gao@intel.com> <1548659210-16870-4-git-send-email-chao.gao@intel.com> <5C5D6ADF020000780021502D@prv1-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.89) (envelope-from ) id 1gt2gh-0000de-43 for xen-devel@lists.xenproject.org; Mon, 11 Feb 2019 03:55:19 +0000 Content-Disposition: inline In-Reply-To: <5C5D6ADF020000780021502D@prv1-mh.provo.novell.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: Jan Beulich Cc: Andrew Cooper , Wei Liu , xen-devel , Roger Pau Monne List-Id: xen-devel@lists.xenproject.org T24gRnJpLCBGZWIgMDgsIDIwMTkgYXQgMDQ6NDE6MTlBTSAtMDcwMCwgSmFuIEJldWxpY2ggd3Jv dGU6Cj4+Pj4gT24gMjguMDEuMTkgYXQgMDg6MDYsIDxjaGFvLmdhb0BpbnRlbC5jb20+IHdyb3Rl Ogo+PiBAQCAtMjA4LDYgKzIxMCw1OCBAQCBzdGF0aWMgdm9pZCBtaWNyb2NvZGVfZmluaV9jcHUo dW5zaWduZWQgaW50IGNwdSkKPj4gICAgICBzcGluX3VubG9jaygmbWljcm9jb2RlX211dGV4KTsK Pj4gIH0KPj4gIAo+PiArLyogU2F2ZSBhIHVjb2RlIHBhdGNoIHRvIHRoZSBnbG9iYWwgY2FjaGUg bGlzdCAqLwo+PiArYm9vbCBzYXZlX3BhdGNoKHN0cnVjdCBtaWNyb2NvZGVfcGF0Y2ggKm5ld19w YXRjaCkKPj4gK3sKPj4gKyAgICBzdHJ1Y3QgbWljcm9jb2RlX3BhdGNoICptaWNyb2NvZGVfcGF0 Y2g7Cj4+ICsKPj4gKyAgICBsaXN0X2Zvcl9lYWNoX2VudHJ5KG1pY3JvY29kZV9wYXRjaCwgJm1p Y3JvY29kZV9jYWNoZSwgbGlzdCkKPj4gKyAgICB7Cj4+ICsgICAgICAgIGVudW0gbWljcm9jb2Rl X21hdGNoX3Jlc3VsdCByZXN1bHQgPQo+PiArICAgICAgICAgICAgbWljcm9jb2RlX29wcy0+cmVw bGFjZV9wYXRjaChuZXdfcGF0Y2gsIG1pY3JvY29kZV9wYXRjaCk7Cj4+ICsKPj4gKyAgICAgICAg c3dpdGNoICggcmVzdWx0ICkKPj4gKyAgICAgICAgewo+PiArICAgICAgICBjYXNlIE9MRF9VQ09E RToKPj4gKyAgICAgICAgICAgIG1pY3JvY29kZV9vcHMtPmZyZWVfcGF0Y2gobmV3X3BhdGNoKTsK Pj4gKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKPj4gKwo+PiArICAgICAgICBjYXNlIE5FV19V Q09ERToKPj4gKyAgICAgICAgICAgIG1pY3JvY29kZV9vcHMtPmZyZWVfcGF0Y2gobWljcm9jb2Rl X3BhdGNoKTsKPj4gKyAgICAgICAgICAgIHJldHVybiB0cnVlOwo+PiArCj4+ICsgICAgICAgIGNh c2UgTUlTX1VDT0RFOgo+PiArICAgICAgICAgICAgY29udGludWU7Cj4+ICsKPj4gKyAgICAgICAg ZGVmYXVsdDoKPj4gKyAgICAgICAgICAgIEFTU0VSVF9VTlJFQUNIQUJMRSgpOwo+PiArICAgICAg ICAgICAgcmV0dXJuIDA7Cj4KPmZhbHNlIChvciB0cnVlOyBlaXRoZXIgdmFsdWUgaXMgZ29pbmcg dG8gYmUgZmluZS93cm9uZyBoZXJlIGFmYWljdCkKPgo+QW55d2F5IEknbSBoYXZpbmcgc29tZSBk aWZmaWN1bHR5IHNlZWluZyB3aGF0IHRoZSBpbnRlbmRlZAo+bWVhbmluZyBvZiB0aGUgcmV0dXJu IHZhbHVlIGlzLCBhbmQgd2l0aG91dCB0aGF0IGJlaW5nIGNsZWFyIEkKPmFsc28gY2FuJ3QgbWFr ZSB1cCBteSBtaW5kIHdoZXRoZXIgSSBhZ3JlZSB3aXRoIHRoZSBjYXNlcwo+aGVyZS4KClRoZSBy ZXR1cm4gdmFsdWUgbWVhbnMgd2hldGhlciBzYXZpbmcgYSB1Y29kZSBwYXRjaCBzdWNjZWVkZWQg b3IgZmFpbGVkLgpJbiBhbm90aGVyIHdvcmQsIGl0IGFsc28gbWVhbnMgd2hldGhlciB0aGUgdWNv ZGUgY2FjaGUgaXMgdXBkYXRlZCBvcgpub3QuIEFjY29yZGluZyB0byB0aGUgcmV0dXJuIHZhbHVl LCB0aGUgY2FsbGVyIGRlY2lkZXMgbm90IHRvIGRvIHRoZQpleHBlbnNpdmUgbGF0ZSB1Y29kZSB1 cGRhdGUgZm9yIHNvbWUgY2FzZXMgKGkuZS4gd2hlbiBhZG1pbiBwcm92aWRlcyBhCm9sZCB1Y29k ZSkuCgo+Cj4+ICsgICAgICAgIH0KPj4gKyAgICB9Cj4+ICsgICAgbGlzdF9hZGRfdGFpbCgmbmV3 X3BhdGNoLT5saXN0LCAmbWljcm9jb2RlX2NhY2hlKTsKPgo+SG1tLCB5b3UgYWRkIF9ldmVyeV8g cGF0Y2ggcHJvZHVjaW5nIE1JU19VQ09ERSB0byB0aGUgbGlzdC4KPlRoaXMgaXMgZ29pbmcgdG8g YmUgYSBsb25nIGxpc3QgdGhlbiAtIHRoZXJlIGFyZSBvdmVyIDEwMCBibG9icyBpbgo+dGhlIGxh dGVzdCBkcm9wcGluZywgYW5kIHRoaXMgbnVtYmVyIGlzIG9ubHkgZ29pbmcgdG8gZ3Jvdy4KPlNh dmluZyBibG9icyBpcyB1c2VmdWwgb25seSBmb3IgY2FzZXMgd2hlcmUgbWl4ZWQgc3RlcHBpbmdz IGFyZQo+YWN0dWFsbHkgc3VwcG9ydGVkLiBJIGd1ZXNzIHRoYXQgd291bGRuJ3QgZ28gbXVjaCBi ZXlvbmQgdGhlCj5zdGVwcGluZyBhbmQvb3IgInBmIiBkaWZmZXJpbmcsIGJ1dCBmYW1pbHkgYW5k IG1vZGVsIG1hdGNoaW5nIHVwLgoKV2UgY2FuIGludHJvZHVjZSBhbm90aGVyIHR5cGUgKGkuZS4g TUlYX1VDT0RFKSB0byBkZW5vdGUgdGhlIHVjb2RlCnBhdGNoIHdoaWNoIG1pc21hdGNoZXMgYW55 IHNhdmVkIHBhdGNoZXMgYnV0IG9ubHkgZGlmZmVycyBmcm9tIGN1cnJlbnQKY3B1IGluIHN0ZXBw aW5nIG9yICJwZiIgKG9yIG1vZGVsIGZvciBBTUQpLgoKQW5kIHNhdmUgdWNvZGVzIG9mIE1JWF9V Q09ERSB0eXBlIGFuZCBkaXNjYXJkIHVjb2RlcyBvZiBNSVNfVUNPREUgdHlwZS4KCkFyY2ggc3Bl Y2lmaWMgY2FsbGJhY2sgY2FuIGRldGVybWluZSB0aGUgdHlwZSAoTUlYX1VDT0RFIG9yIE1JU19V Q09ERSkKYWNjb3JkaW5nIHRvIHRoZSBzdXBwb3J0ZWQgbWl4ZXMuCgo+Cj5BZGRpdGlvbmFsbHkg bGlzdCBtYW5hZ2VtZW50IGdlbmVyYWxseSByZXF1aXJlcyBsb2NraW5nLiBUaGlzCj5mdW5jdGlv biBkb2Vzbid0IGV2ZW4gaGF2ZSBhIGNvbW1lbnQgc2F5aW5nIHdoYXQgbG9jayhzKSBpcwo+KGFy ZSkgbmVjZXNzYXJ5IHRvIGJlIGhlbGQgKHNhbWUgZWxzZXdoZXJlKS4KPgo+RmluYWxseSBwbGVh c2UgYWRkIGJsYW5rIGxpbmVzIGFoZWFkIG9mIHRoZSBsaW5lIGFib3ZlIGFzIHdlbGwKPmFzIChu b3QganVzdCBoZXJlKSBhaGVhZCBvZiB0aGUgbWFpbiByZXR1cm4gc3RhdGVtZW50IG9mIHRoZQo+ ZnVuY3Rpb24uCgpXaWxsIGRvCgo+Cj4+ICsvKiBGaW5kIGEgdWNvZGUgcGF0Y2ggd2hvIGhhcyBu ZXdlciByZXZpc2lvbiB0aGFuIHRoZSBvbmUgaW4gdXNlICovCj4+ICtzdHJ1Y3QgbWljcm9jb2Rl X3BhdGNoICpmaW5kX3BhdGNoKHVuc2lnbmVkIGludCBjcHUpCj4KPklzIHRoZSBjYWxsZXIgYWxs b3dlZCB0byBhbHRlciB0aGUgcmV0dXJuZWQgb2JqZWN0PyBJZiBub3QsIHlvdSB3YW50Cj50byBy ZXR1cm4gYSBwb2ludGVyIHRvIGNvbnN0LgoKTm8uIFdpbGwgY29uc3RpZnkgdGhlIHJldHVybiB2 YWx1ZS4KCj4KPj4gK3sKPj4gKyAgICBzdHJ1Y3QgbWljcm9jb2RlX3BhdGNoICptaWNyb2NvZGVf cGF0Y2g7Cj4+ICsgICAgc3RydWN0IHVjb2RlX2NwdV9pbmZvICp1Y2kgPSAmcGVyX2NwdSh1Y29k ZV9jcHVfaW5mbywgY3B1KTsKPj4gKwo+PiArICAgIGlmICggbWljcm9jb2RlX29wcy0+Y29sbGVj dF9jcHVfaW5mbyhjcHUsICZ1Y2ktPmNwdV9zaWcpICkKPj4gKyAgICB7Cj4+ICsgICAgICAgIF9f bWljcm9jb2RlX2ZpbmlfY3B1KGNwdSk7Cj4KPlRoaXMgaXMga2luZCBvZiBhIGxpYnJhcnkgZnVu Y3Rpb24gLSBJIGNhbid0IHNlZSBob3cgaXQgY291bGQgbGVnaXRpbWF0ZWx5Cj5pbnZva2UgImZp bmkiLCB0aGUgbW9yZSB0aGF0IHlvdSBkbyBoZXJlIGJ1dCBub3QgLi4uCj4KPj4gKyAgICAgICAg cmV0dXJuIE5VTEw7Cj4+ICsgICAgfQo+PiArCj4+ICsgICAgbGlzdF9mb3JfZWFjaF9lbnRyeSht aWNyb2NvZGVfcGF0Y2gsICZtaWNyb2NvZGVfY2FjaGUsIGxpc3QpCj4+ICsgICAgewo+PiArICAg ICAgICBpZiAoIG1pY3JvY29kZV9vcHMtPm1hdGNoX2NwdShtaWNyb2NvZGVfcGF0Y2gsIGNwdSkg KQo+PiArICAgICAgICAgICAgcmV0dXJuIG1pY3JvY29kZV9wYXRjaDsKPj4gKyAgICB9Cj4+ICsg ICAgcmV0dXJuIE5VTEw7Cj4KPi4uLiBoZXJlLgoKTXkgdW5kZXJzdGFuZGluZyBpcyBzYXZpbmcg dGhlIGNwdSBzaWduYXR1cmUgYW5kIHVjb2RlIHJldmlzaW9uIGNhbgpyZWR1Y2UgTVNSIHJlYWRz IHRvIGdldCBzdWNoIGluZm9ybWF0aW9uLiBTbyAiZmluaSIgaXMgaW52b2tlZCB3aGVuCiJjb2xs ZWN0IiBmYWlsZWQuIFRoZSBhcHBseV9taWNyb2NvZGUoKSBmb2xsb3dpbmcgZmluZF9wYXRjaCgp IGNhbgphY2Nlc3MgInVjaSIgd2l0aG91dCBpbnZva2luZyAiY29sbGVjdCIgYWdhaW4uCgo+Cj4+ ICtzdGF0aWMgZW51bSBtaWNyb2NvZGVfbWF0Y2hfcmVzdWx0IHJlcGxhY2VfcGF0Y2goc3RydWN0 IG1pY3JvY29kZV9wYXRjaCAqbmV3LAo+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHN0cnVjdCBtaWNyb2NvZGVfcGF0Y2ggKm9sZCkKPj4gK3sKPj4g KyAgICBzdHJ1Y3QgbWljcm9jb2RlX2FtZCAqbmV3X21jID0gbmV3LT5kYXRhOwo+PiArICAgIHN0 cnVjdCBtaWNyb2NvZGVfaGVhZGVyX2FtZCAqbmV3X2hlYWRlciA9IG5ld19tYy0+bXBiOwo+PiAr ICAgIHN0cnVjdCBtaWNyb2NvZGVfYW1kICpvbGRfbWMgPSBvbGQtPmRhdGE7Cj4+ICsgICAgc3Ry dWN0IG1pY3JvY29kZV9oZWFkZXJfYW1kICpvbGRfaGVhZGVyID0gb2xkX21jLT5tcGI7Cj4KPmNv bnN0IChhbGwgZm91ciBvZiB0aGVtIGFmYWljdCkKPgo+PiAtLS0gYS94ZW4vYXJjaC94ODYvbWlj cm9jb2RlX2ludGVsLmMKPj4gKysrIGIveGVuL2FyY2gveDg2L21pY3JvY29kZV9pbnRlbC5jCj4+ IEBAIC0xNDcsNiArMTQ3LDE1IEBAIHN0YXRpYyBlbnVtIG1pY3JvY29kZV9tYXRjaF9yZXN1bHQg bWljcm9jb2RlX3VwZGF0ZV9tYXRjaCgKPj4gICAgICByZXR1cm4gTUlTX1VDT0RFOwo+PiAgfQo+ PiAgCj4+ICtzdGF0aWMgYm9vbCBtYXRjaF9jcHUoY29uc3Qgc3RydWN0IG1pY3JvY29kZV9wYXRj aCAqcGF0Y2gsIHVuc2lnbmVkIGludCBjcHUpCj4+ICt7Cj4+ICsgICAgc3RydWN0IHVjb2RlX2Nw dV9pbmZvICp1Y2kgPSAmcGVyX2NwdSh1Y29kZV9jcHVfaW5mbywgY3B1KTsKPgo+Y29uc3QKPgo+ PiArc3RhdGljIGVudW0gbWljcm9jb2RlX21hdGNoX3Jlc3VsdCByZXBsYWNlX3BhdGNoKHN0cnVj dCBtaWNyb2NvZGVfcGF0Y2ggKm5ldywKPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgbWljcm9jb2RlX3BhdGNoICpvbGQpCj4+ICt7Cj4+ ICsgICAgc3RydWN0IG1pY3JvY29kZV9oZWFkZXJfaW50ZWwgKm9sZF9oZWFkZXIgPSBvbGQtPmRh dGE7Cj4KPmNvbnN0Cj4KPj4gKyAgICBlbnVtIG1pY3JvY29kZV9tYXRjaF9yZXN1bHQgcmV0ID0K Pj4gKyAgICAgICAgICAgICAgICBtaWNyb2NvZGVfdXBkYXRlX21hdGNoKG5ldy0+ZGF0YSwgb2xk X2hlYWRlci0+c2lnLAo+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg b2xkX2hlYWRlci0+cGYsIG9sZF9oZWFkZXItPnJldik7Cj4+ICsKPj4gKyAgICBpZiAoIHJldCA9 PSBORVdfVUNPREUgKQo+PiArICAgICAgICBsaXN0X3JlcGxhY2UoJm9sZC0+bGlzdCwgJm5ldy0+ bGlzdCk7Cj4KPkkgdGhpbmsgaXQgd291bGQgYmUgYmV0dGVyIHRvIGxlYXZlIGFjdHVhbCBsaXN0 IG1haW50ZW5hbmNlIHRvIGdlbmVyaWMKPmNvZGUuIFRoYXQgd2F5IHRoZSBmdW5jdGlvbiBwYXJh bWV0ZXJzIGNhbiBhbHNvIGJlIHBvaW50ZXItdG8tY29uc3QuCgpXaWxsIGRvLgoKPgo+PiBAQCAt MjQ4LDYgKzI3NywyNSBAQCBzdGF0aWMgaW50IGdldF9tYXRjaGluZ19taWNyb2NvZGUoY29uc3Qg dm9pZCAqbWMsIHVuc2lnbmVkIGludCBjcHUpCj4+ICAgICAgY29uc3Qgc3RydWN0IG1pY3JvY29k ZV9oZWFkZXJfaW50ZWwgKm1jX2hlYWRlciA9IG1jOwo+PiAgICAgIHVuc2lnbmVkIGxvbmcgdG90 YWxfc2l6ZSA9IGdldF90b3RhbHNpemUobWNfaGVhZGVyKTsKPj4gICAgICB2b2lkICpuZXdfbWM7 Cj4+ICsgICAgc3RydWN0IG1pY3JvY29kZV9wYXRjaCAqbWljcm9jb2RlX3BhdGNoID0geG1hbGxv YyhzdHJ1Y3QgbWljcm9jb2RlX3BhdGNoKTsKPj4gKyAgICB2b2lkICpuZXdfbWMyID0geG1hbGxv Y19ieXRlcyh0b3RhbF9zaXplKTsKPgo+V2h5IGRvbid0IHlvdSB1c2UgdGhlIGFscmVhZHkgZXhp c3RpbmcgbmV3X21jIGhlcmU/CgpXaWxsIHJldXNlIHRoZSBuZXdfbWMgaGVyZS4KCj4KPj4gQEAg LTI3NiwxOCArMzI0LDI0IEBAIHN0YXRpYyBpbnQgYXBwbHlfbWljcm9jb2RlKHVuc2lnbmVkIGlu dCBjcHUpCj4+ICAgICAgdW5zaWduZWQgaW50IHZhbFsyXTsKPj4gICAgICB1bnNpZ25lZCBpbnQg Y3B1X251bSA9IHJhd19zbXBfcHJvY2Vzc29yX2lkKCk7Cj4+ICAgICAgc3RydWN0IHVjb2RlX2Nw dV9pbmZvICp1Y2kgPSAmcGVyX2NwdSh1Y29kZV9jcHVfaW5mbywgY3B1X251bSk7Cj4+ICsgICAg c3RydWN0IG1pY3JvY29kZV9pbnRlbCAqbWNfaW50ZWw7Cj4+ICsgICAgc3RydWN0IG1pY3JvY29k ZV9wYXRjaCAqcGF0Y2g7Cj4+ICAKPj4gICAgICAvKiBXZSBzaG91bGQgYmluZCB0aGUgdGFzayB0 byB0aGUgQ1BVICovCj4+ICAgICAgQlVHX09OKGNwdV9udW0gIT0gY3B1KTsKPj4gIAo+PiAtICAg IGlmICggdWNpLT5tYy5tY19pbnRlbCA9PSBOVUxMICkKPj4gKyAgICBwYXRjaCA9IGZpbmRfcGF0 Y2goY3B1KTsKPj4gKyAgICBpZiAoICFwYXRjaCApCj4+ICAgICAgICAgIHJldHVybiAtRUlOVkFM Owo+PiAgCj4+ICsgICAgbWNfaW50ZWwgPSBwYXRjaC0+ZGF0YTsKPj4gKyAgICBCVUdfT04oIW1j X2ludGVsKTsKPgo+SSdtIG5vdCBjb252aW5jZWQgdGhpcyBpcyBhIHVzZWZ1bCBjaGVjayAtIHlv dSBuZXZlciBzYXZlX3BhdGNoKCkKPmFueXRoaW5nIHRoYXQgaGFzIGEgTlVMTCBwb2ludGVyIGhl cmUuIEFuZCBnZW5lcmFsIGNvcnJ1cHRpb24gbWlnaHQKPnB1dCBiYWQgdmFsdWVzIG90aGVyIHRo YW4gTlVMTCBpbnRvIHRoZSBmaWVsZC4KClRoZW4gSSB3aWxsIHJlbW92ZSB0aGlzIGNoZWNrLgoK VGhhbmtzCkNoYW8KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3Jn Cmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=