From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: Re: [PATCH 4/5] x86/alternative: Implement NMI/#MC-safe patching Date: Thu, 1 Feb 2018 15:20:34 +0000 Message-ID: <39c42e23-360c-c176-90d4-2023151533d5@citrix.com> References: <1517240291-32409-1-git-send-email-andrew.cooper3@citrix.com> <1517240291-32409-5-git-send-email-andrew.cooper3@citrix.com> <5A703D5602000078001A3A1B@prv-mh.provo.novell.com> <4fcd2069-5e5d-2bec-512a-86e04d83b669@citrix.com> <5A71AFE402000078001A3F9C@prv-mh.provo.novell.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <5A71AFE402000078001A3F9C@prv-mh.provo.novell.com> Content-Language: en-GB List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: Jan Beulich Cc: RossLagerwall , Xen-devel List-Id: xen-devel@lists.xenproject.org T24gMzEvMDEvMTggMTE6MDAsIEphbiBCZXVsaWNoIHdyb3RlOgo+Pj4+IE9uIDMwLjAxLjE4IGF0 IDIwOjI2LCA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4gd3JvdGU6Cj4+IE9uIDMwLzAxLzE4 IDA4OjM5LCBKYW4gQmV1bGljaCB3cm90ZToKPj4+Pj4+IE9uIDI5LjAxLjE4IGF0IDE2OjM4LCA8 YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4gd3JvdGU6Cj4+Pj4gKyAgICAvKgo+Pj4+ICsgICAg ICogV2UgYXJlIHRoZSBDUFUgcGVyZm9ybWluZyB0aGUgcGF0Y2hpbmcsIGFuZCBtaWdodCBoYXZl IGVuZGVkIHVwIGhlcmUgYnkKPj4+PiArICAgICAqIGhpdHRpbmcgYSBicmVha3BvaW50Lgo+Pj4+ ICsgICAgICoKPj4+PiArICAgICAqIEVpdGhlciB3YXksIHdlIG5lZWQgdG8gY29tcGxldGUgcGFy dGljdWxhciBwYXRjaCB0byBtYWtlIGZvcndhcmRzCj4+Pj4gKyAgICAgKiBwcm9ncmVzcy4gIFRo aXMgbG9naWMgaXMgc2FmZSBldmVuIGlmIGV4ZWN1dGVkIHJlY3Vyc2l2ZWx5IGluIHRoZQo+Pj4+ ICsgICAgICogYnJlYWtwb2ludCBoYW5kbGVyOyB0aGUgd29yc3QgdGhhdCB3aWxsIGhhcHBlbiB3 aGVuIG5vcm1hbCBleGVjdXRpb24KPj4+PiArICAgICAqIHJlc3VtZXMgaXMgdGhhdCB3ZSB3aWxs IHJld3JpdGUgdGhlIHNhbWUgYnl0ZXMgYSBzZWNvbmQgdGltZS4KPj4+PiArICAgICAqLwo+Pj4+ ICsKPj4+PiArICAgIC8qIEZpcnN0LCBpbnNlcnQgYSBicmVha3BvaW50IHRvIHByZXZlbnQgZXhl Y3V0aW9uIG9mIHRoZSBwYXRjaCBzaXRlLiAqLwo+Pj4+ICsgICAgaS0+YWRkclswXSA9IDB4Y2M7 Cj4+Pj4gKyAgICBzbXBfd21iKCk7Cj4+PiBUaGlzIGlzIG5lY2Vzc2FyeSwgYnV0IG5vdCBzdWZm aWNpZW50IHdoZW4gcmVwbGFjaW5nIG1vcmUgdGhhbiBhCj4+PiBzaW5nbGUgaW5zbjogVGhlIG90 aGVyIENQVSBtYXkgYmUgZXhlY3V0aW5nIGluc3RydWN0aW9ucyBfYWZ0ZXJfCj4+PiB0aGUgaW5p dGlhbCBvbmUgdGhhdCBpcyBiZWluZyByZXBsYWNlZCwgYW5kIC4uLgo+Pj4KPj4+PiArICAgIC8q IFNlY29uZCwgY29weSB0aGUgcmVtYWluaW5nIGluc3RydWN0aW9ucyBpbnRvIHBsYWNlLiAqLwo+ Pj4+ICsgICAgbWVtY3B5KGktPmFkZHIgKyAxLCBpLT5vcGNvZGUgKyAxLCBpLT5sZW4gLSAxKTsK Pj4+IC4uLiB0aGlzIG1heSBiZSBhbHRlcmluZyB0aGluZ3MgdW5kZXJuZWF0aCBpdHMgZmVldC4K Pj4gSG1tLgo+Pgo+PiBJdCBpcyBjb21wbGV0ZWx5IGltcG9zc2libGUgdG8gcmVjb3ZlciBpZiBh bm90aGVyIENQVSBoaXRzIHRoZSBtaWRkbGUgb2YKPj4gdGhpcyBtZW1jcHkoKS4gIEl0IGlzIGlt cG9zc2libGUgdG8gc3luY2hyb25pc2UgYSBzcGVjaWZpYyB3cml0ZSBhZ2FpbnN0Cj4+IHRoZSBy ZW1vdGUgQ1BVIHBpcGVsaW5lcy4KPiBJdCBpcyBub3QgY29tcGxldGVseSBpbXBvc3NpYmxlLCBi dXQgdGhlIHNvbHV0aW9uIHdvdWxkIGJlIGF3a3dhcmQKPiB0byB1c2U6IElmIHRoZSBjb2RlIGRv aW5nIHRoZSBwYXRjaGluZyBrbmV3IGluc3RydWN0aW9uIGJvdW5kYXJpZXMsCj4gaXQgY291bGQg cHV0IGJyZWFrcG9pbnRzIG9udG8gYWxsIG9mIHRoZW0uIE9yIG1heWJlIGl0IGlzbid0IGFsbCB0 aGF0Cj4gYmFkIHRvIHVzZSAtIHdlIGhhdmUgYW4gaW5zbiBkZWNvZGVyIGFmdGVyIGFsbC4KCkFu IGluc3RydWN0aW9uIGRlY29kZXIgZG9lc24ndCBoZWxwLsKgIFllcyAtIGl0IGFsbG93cyB1cyB0 byBhdm9pZApleGVjdXRpbmcgYSBzcGxpY2VkIGluc3RydWN0aW9uLCBidXQgd2UgY2FuJ3QgcmVj b3Zlci9yZXdpbmQgc3RhdGUgZm9yIGEKY3B1IHdoaWNoIGhpdHMgb25lIG9mIHRoZXNlIGxhdHRl ciBicmVha3BvaW50cy4KCj4KPj4gVGhlIG9ubHkgd2F5IHRvIGJlIHNhZmUgaXMgdG8gZ3VhcmFu dGVlIHRoYXQgQ1BVcyBjYW4ndCBoaXQgdGhlIGNvZGUgdG8KPj4gYmVnaW4gd2l0aC4KPj4KPj4g T24gQU1ELCB3ZSBjYW4gdXNlIFNUR0kvQ0xHSSB0byBkbyB0aGlzIHNlbnNpYmx5LCBhbmQgcmVh bGx5IHJlYWxseQo+PiBpbmhpYml0IGFsbCBpbnRlcnJ1cHRzLgo+IE5vdCByZWFsbHkgZm9yICNN QyAtIGNsZWFyIEdJRiBtYXkgYWxzbyByZXN1bHQgaW4gc2h1dGRvd24gd2hlbgo+IG9uZSB3b3Vs ZCBuZWVkIGRlbGl2ZXJpbmcuCgpXaXRoIEdJRiBjbGVhciwgI01DIGlzIGhlbGQgcGVuZGluZyBp ZiBwb3NzaWJsZSwgYnV0IG90aGVyd2lzZSBhCnNodXRkb3duIHdpbGwgb2NjdXIuCgpGcm9tIHRo YXQgcG9pbnQgb2YgdmlldywgaXQgaXMgc2xpZ2h0bHkgYmV0dGVyIHRoYW4gY2xlYXJpbmcgQ1I0 Lk1DRSwKYnV0IG5vdCBieSBtdWNoLgoKPgo+PiAgRm9yIEludGVsLCB3ZSBjYW4gZml4IHRoZSBO TUkgcHJvYmxlbSBieQo+PiByZW5kZXp2b3VzaW5nIGFuZCBydW5uaW5nIHRoZSBwYXRjaGluZyBs b29wIGluIE5NSSBjb250ZXh0LCBhdCB3aGljaAo+PiBwb2ludCB0aGUgaGFyZHdhcmUgbGF0Y2gg d2lsbCBwcmV2ZW50IGZ1cnRoZXIgTk1Jcy4KPj4KPj4gSG93ZXZlciwgdGhlcmUgaXMgbGl0ZXJh bGx5IG5vdGhpbmcgd2UgY2FuIGRvIHRvIHByZXZlbnQgI01DIGZyb20KPj4gYXJyaXZpbmcuICBX ZSBjYW4gc3RvcCBzZXJ2aWNpbmcgI01DIGJ5IGRpc2FibGluZyBDUjQuTUNFLCBidXQgdGhlbiB0 aGUKPj4gcHJvY2Vzc29yIHdpbGwgc2h1dCBkb3duLgo+IE5vdCBhIGdvb2QgaWRlYSBpbmRlZWQu Cj4KPj4gV2UgY2FuJ3QgcHV0IGEgYmlnIGJhcnJpZXIgYXQgdGhlIGhlYWQgb2YgI01DIGhhbmRs ZXIgd2hpY2ggZGVsYXlzCj4+IHByb2Nlc3NpbmcsIGJlY2F1c2Ugd2UgaGF2ZSBubyB3YXkgdG8g ZW5zdXJlIHRoYXQgcHJvY2Vzc29ycyBhcmVuJ3QKPj4gYWxyZWFkeSBsYXRlciBpbiB0aGUgI01D IGhhbmRsZXIuICBGdXJ0aGVybW9yZSwgYXR0ZW1wdGluZyB0byBkbyBzbwo+PiBoZWlnaHRlbnMg dGhlIHJpc2sgb2YgaGl0dGluZyBhIHNodXRkb3duIGNvbmRpdGlvbiBmcm9tIGEgc2Vjb25kIHF1 ZXVlZCAjTUMuCj4+Cj4+Cj4+IFRoZSBjaGFuY2Ugb2YgaGl0dGluZyBhbiBOTUkvI01DIGNvbGxp ZGUgd2l0aCBwYXRjaGluZyBpcyBhbHJlYWR5Cj4+IG1pbnVzY3VsZS4gIEFsdGVybmF0aXZlcyBh bmQgbGl2ZXBhdGNoaW5nIGhhdmUgYmVlbiB1c2VkIChieSBYZW5TZXJ2ZXIKPj4gYWxvbmUpIGlu IHRoaXMgZm9ybSBmb3IgbmVhcmx5IDMgeWVhcnMsIGFjcm9zcyBtaWxsaW9ucyBvZiBzZXJ2ZXJz LAo+PiB3aXRob3V0IGEgc2luZ2xlIHJlcG9ydCBvZiBzdWNoIGEgY29sbGlzaW9uLiAgVGhlIGNo YW5jZSBvZiBhbiAjTUMKPj4gY29sbGlzaW9uIGlzIGZhciBsZXNzIGxpa2VseSB0aGFuIGFuIE5N SSBjb2xsaXNpb24sIGFuZCBpbiB0aGUgYmVzdCBjYXNlLgo+Pgo+PiBXaGlsZSB3ZSBjYW4gYXJy YW5nZSBhbmQgdGVzdCBmdWxsIE5NSSBzYWZldHksIHdlIGNhbm5vdCB0ZXN0ICNNQyBzYWZldHkK Pj4gYXQgYWxsLiAgQW55IGNvZGUgdG8gdHJ5IGFuZCBpbXBsZW1lbnQgI01DIHNhZmV0eSBpcyBn b2luZyB0byBiZQo+PiBjb21wbGljYXRlZCwgYW5kIG1ha2UgdGhpbmdzIHdvcnNlIGlmIGFuICNN QyBkb2VzIGhpdC4KPj4KPj4gVGhlcmVmb3JlLCBJIGFncmVlIHdpdGggdGhlIExpbnV4IHZpZXcg dGhhdCB0cnlpbmcgdG8gZG8gYW55dGhpbmcgZm9yCj4+ICNNQyBzYWZldHkgaXMgZ29pbmcgdG8g YmUgd29yc2UgdGhhbiBkb2luZyBub3RoaW5nIGF0IGFsbC4KPiBJIGFncmVlLiBCdXQgYXMgc2Fp ZCBiZWZvcmUgLSB0aGUgaW1tZWRpYXRlIGdvYWwgb3VnaHQgdG8gYmUgdG8KPiBtYWtlIGFsdGVy bmF0aXZlcyBwYXRjaGluZyBzYWZlLCBhbmQgdGhhdCBkb2Vzbid0IHJlcXVpcmUgYW55Cj4gb2Yg dGhlc2UgY29uc2lkZXJhdGlvbnMuCgo/IE9mIGNvdXJzZSBpdCByZXF1aXJlcyB0aGVzZSBjb25z aWRlcmF0aW9ucy4KCklmIHdlIGlnbm9yZSB0aGUgbGl2ZXBhdGNoaW5nIHNpZGUgb2YgdGhpbmdz ICh3aGljaCBpbmNsdWRlcyBhbgphbHRlcm5hdGl2ZXMgcGFzcyksIHRoZW4gd2UgY2FuIG1ha2Ug dGhlIGJvb3QtdGltZSBhbHRlcm5hdGl2ZXMgcGFzcyBOTUkKc2FmZSBieSBleHBsaWNpdGx5IGNo b29zaW5nIHRvIHBhdGNoIGluIE5NSSBjb250ZXh0IGJlZm9yZSB3ZSd2ZSBib290ZWQKdGhlIEFQ cy4KCkFycmFuZ2luZyBmb3IgYm9vdCB0aW1lIGFsdGVybmF0aXZlcyB0byBiZSBOTUktc2FmZSBp cyBlYXN5LsKgIEFycmFuZ2luZwpmb3IgbGl2ZXBhdGNoaW5nIHRvIGJlIE5NSS1zYWZlIGlzIGFs c28gZmFpcmx5IGVhc3kuCgpBcnJhbmdpbmcgZm9yIGFueXRoaW5nLCAqZXZlbiBhdCBib290IHRp bWUqIHRvIGJlICNNQyBzYWZlLCBpcyB2ZXJ5CmNvbXBsaWNhdGVkLCBhbmQgd2lsbCBiZSBhIGxh cmdlIGFtb3VudCBvZiBjb2RlIHdlIGNhbm5vdCB0ZXN0LsKgIEhlbmNlCndoeSBJJ20gbGVhbmlu ZyB0b3dhcmRzIHRoZSBMaW51eCBzb2x1dGlvbiBmb3IgdGhlICNNQyBwcm9ibGVtLgoKPgo+Pj4+ IEBAIC0xNTMsNyArMjMxLDMxIEBAIHZvaWQgaW5pdF9vcl9saXZlcGF0Y2ggYWRkX25vcHModm9p ZCAqaW5zbnMsIHVuc2lnbmVkIGludCBsZW4pCj4+Pj4gIHZvaWQgaW5pdF9vcl9saXZlcGF0Y2gg bm9pbmxpbmUKPj4+PiAgdGV4dF9wb2tlKHZvaWQgKmFkZHIsIGNvbnN0IHZvaWQgKm9wY29kZSwg c2l6ZV90IGxlbiwgYm9vbCBsaXZlKQo+Pj4+ICB7Cj4+Pj4gLSAgICBtZW1jcHkoYWRkciwgb3Bj b2RlLCBsZW4pOwo+Pj4+ICsgICAgaWYgKCAhbGl2ZSB8fCBsZW4gPT0gMSApCj4+Pj4gKyAgICB7 Cj4+Pj4gKyAgICAgICAgLyoKPj4+PiArICAgICAgICAgKiBJZiB3ZSBrbm93ICphZGRyIGNhbid0 IGJlIGV4ZWN1dGVkLCBvciB3ZSBhcmUgcGF0Y2hpbmcgYSBzaW5nbGUKPj4+PiArICAgICAgICAg KiBieXRlLCBpdCBpcyBzYWZlIHRvIHVzZSBhIHN0cmFpZ2h0IG1lbWNweSgpLgo+Pj4+ICsgICAg ICAgICAqLwo+Pj4+ICsgICAgICAgIG1lbWNweShhZGRyLCBvcGNvZGUsIGxlbik7Cj4+PiBJcyBp dCByZWFsbHkgd29ydGggc3BlY2lhbCBjYXNpbmcgdGhpcz8gV2hldGhlciB0byBhY3R1YWxseSBh Y2sKPj4+IHBhdGNoZXMgMiBhbmQgMyBkZXBlbmRzIG9uIHRoYXQuCj4+IFllcywgYW5kIGV2ZW4g bW9yZSBzbyBpZiB3ZSBhcmUgZ29pbmcgdG8gdXNlIGFuIE5NSSByZW5kZXp2b3VzLiAgV2UKPj4g ZGVmaW5pdGVseSBkb24ndCB3YW50IHRvIGhhdmUgYW4gTk1JIHJlbmRlenZvdXMgd2hpbGUgYXBw bHlpbmcKPj4gYWx0ZXJuYXRpdmVzIGFzIHBhcnQgb2YgbGl2ZXBhdGNoIHByZXBhcmF0aW9uLgo+ IFdlbGwsIGFnYWluIC0gbGl2ZSBwYXRjaGluZyBzaG91bGQgYmUgdGhlIHNlY29uZCBzdGVwIGhl cmUuCgpZb3Uga2VlcCBvbiBzYXlpbmcgdGhpcywgYW5kIEkgY2FuIG9ubHkgY29uY2x1ZGUgdGhh dCB5b3UgYXJlIGNvbmZ1c2VkCmFzIHRvIHdoaWNoIGFjdGlvbnMgaGFwcGVuIHdoZW4uCgpBdCBi b290IHRpbWUsIHdlIGRvIGEgc2luZ2xlIGFsdGVybmF0aXZlcyBwYXNzIG9uIHRoZSBsaXZlIC50 ZXh0IHNlY3Rpb24uCgpBdCBsaXZlcGF0Y2ggbG9hZCB0aW1lLCB3ZSBkbyBhbiBhbHRlcm5hdGl2 ZXMgcGFzcyBvbiB0aGUgaW5jb21pbmcKLnRleHQsIGJ1dCB0aGlzIGlzIHNhZmUgYmVjYXVzZSB0 aGUgdGV4dCBkZWZpbml0ZWx5IGlzbid0IGJlaW5nIGV4ZWN1dGVkLgoKQXQgbGl2ZXBhdGNoIGFw cGx5IHRpbWUsIHdlIHF1aWVzY2UgdGhlIHN5c3RlbSBhbmQgZG8gYSBwYXRjaGluZyBwYXNzIG9u CnRoZSBsaXZlIC50ZXh0LCBtb3N0IG9mIHdoaWNoIGFyZSBgam1wIGRpc3AzMmAuCgoKV2UgdGhl cmVmb3JlIGhhdmUgdHdvIGFsdGVybmF0aXZlcyBwYXNzZXMgKG9uZSBzYWZlLCBvbmUgdW5zYWZl KSwgYW5kCm9uZSAodW5zYWZlKSBsaXZlcGF0Y2ggcGFzcy4KCn5BbmRyZXcKCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxp c3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVj dC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=