From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Jan Beulich" Subject: Re: [PATCH 01/17] x86emul: split instruction decoding from execution Date: Mon, 12 Sep 2016 01:20:37 -0600 Message-ID: <57D67365020000780010DD9B@prv-mh.provo.novell.com> References: <57D17C78020000780010D127@prv-mh.provo.novell.com> <57D17E08020000780010D136@prv-mh.provo.novell.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta5.messagelabs.com ([195.245.231.135]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bjLXo-0002s5-MJ for xen-devel@lists.xenproject.org; Mon, 12 Sep 2016 07:20:44 +0000 In-Reply-To: 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+IE9uIDA5LjA5LjE2IGF0IDIwOjM1LCA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4gd3Jv dGU6Cj4gT24gMDgvMDkvMTYgMTQ6MDQsIEphbiBCZXVsaWNoIHdyb3RlOgo+PiBAQCAtNjA3LDcg KzYwOSw3IEBAIGRveyBhc20gdm9sYXRpbGUgKAo+PiAgfSkKPj4gICNkZWZpbmUgdHJ1bmNhdGVf ZWEoZWEpIHRydW5jYXRlX3dvcmQoKGVhKSwgYWRfYnl0ZXMpCj4+ICAKPj4gLSNkZWZpbmUgbW9k ZV82NGJpdCgpIChkZWZfYWRfYnl0ZXMgPT0gOCkKPj4gKyNkZWZpbmUgbW9kZV82NGJpdCgpIChj dHh0LT5hZGRyX3NpemUgPT0gNjQpCj4+ICAKPj4gICNkZWZpbmUgZmFpbF9pZihwKSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAo+PiAgZG8geyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCj4+IEBAIC0xNTU4LDMyICsxNTYw LDYzIEBAIGludCB4ODZlbXVsX3VuaGFuZGxlYWJsZV9ydygKPj4gICAgICByZXR1cm4gWDg2RU1V TF9VTkhBTkRMRUFCTEU7Cj4+ICB9Cj4+ICAKPj4gLWludAo+PiAteDg2X2VtdWxhdGUoCj4+IC0g ICAgc3RydWN0IHg4Nl9lbXVsYXRlX2N0eHQgKmN0eHQsCj4+IC0gICAgY29uc3Qgc3RydWN0IHg4 Nl9lbXVsYXRlX29wcyAgKm9wcykKPj4gLXsKPj4gLSAgICAvKiBTaGFkb3cgY29weSBvZiByZWdp c3RlciBzdGF0ZS4gQ29tbWl0dGVkIG9uIHN1Y2Nlc3NmdWwgZW11bGF0aW9uLiAqLwo+PiAtICAg IHN0cnVjdCBjcHVfdXNlcl9yZWdzIF9yZWdzID0gKmN0eHQtPnJlZ3M7Cj4+ICtzdHJ1Y3QgeDg2 X2VtdWxhdGVfc3RhdGUgewo+PiArICAgIHVuc2lnbmVkIGludCBvcF9ieXRlcywgYWRfYnl0ZXM7 Cj4+ICsKPj4gKyAgICBlbnVtIHsgZXh0X25vbmUsIGV4dF8wZiwgZXh0XzBmMzggfSBleHQ7Cj4+ ICsgICAgdWludDhfdCBvcGNvZGU7Cj4+ICsgICAgdWludDhfdCBtb2RybSwgbW9kcm1fbW9kLCBt b2RybV9yZWcsIG1vZHJtX3JtOwo+PiArICAgIHVpbnQ4X3QgcmV4X3ByZWZpeDsKPj4gKyAgICBi b29sIGxvY2tfcHJlZml4Owo+PiArICAgIG9wY29kZV9kZXNjX3QgZGVzYzsKPj4gKyAgICB1bmlv biB2ZXggdmV4Owo+PiArICAgIGludCBvdmVycmlkZV9zZWc7Cj4+ICAKPj4gLSAgICB1aW50OF90 IGIsIGQsIHNpYiwgc2liX2luZGV4LCBzaWJfYmFzZSwgcmV4X3ByZWZpeCA9IDA7Cj4+IC0gICAg dWludDhfdCBtb2RybSA9IDAsIG1vZHJtX21vZCA9IDAsIG1vZHJtX3JlZyA9IDAsIG1vZHJtX3Jt ID0gMDsKPj4gLSAgICBlbnVtIHsgZXh0X25vbmUsIGV4dF8wZiwgZXh0XzBmMzggfSBleHQgPSBl eHRfbm9uZTsKPj4gLSAgICB1bmlvbiB2ZXggdmV4ID0ge307Cj4+IC0gICAgdW5zaWduZWQgaW50 IG9wX2J5dGVzLCBkZWZfb3BfYnl0ZXMsIGFkX2J5dGVzLCBkZWZfYWRfYnl0ZXM7Cj4+IC0gICAg Ym9vbF90IGxvY2tfcHJlZml4ID0gMDsKPj4gLSAgICBpbnQgb3ZlcnJpZGVfc2VnID0gLTEsIHJj ID0gWDg2RU1VTF9PS0FZOwo+PiAtICAgIHN0cnVjdCBvcGVyYW5kIHNyYyA9IHsgLnJlZyA9IFJF R19QT0lTT04gfTsKPj4gLSAgICBzdHJ1Y3Qgb3BlcmFuZCBkc3QgPSB7IC5yZWcgPSBSRUdfUE9J U09OIH07Cj4+IC0gICAgZW51bSB4ODZfc3dpbnRfdHlwZSBzd2ludF90eXBlOwo+PiAtICAgIHN0 cnVjdCB4ODZfZW11bGF0ZV9zdHViIHN0dWIgPSB7fTsKPj4gLSAgICBERUNMQVJFX0FMSUdORUQo bW12YWxfdCwgbW12YWwpOwo+PiAgICAgIC8qCj4+ICAgICAgICogRGF0YSBvcGVyYW5kIGVmZmVj dGl2ZSBhZGRyZXNzICh1c3VhbGx5IGNvbXB1dGVkIGZyb20gTW9kUk0pLgo+PiAgICAgICAqIERl ZmF1bHQgaXMgYSBtZW1vcnkgb3BlcmFuZCByZWxhdGl2ZSB0byBzZWdtZW50IERTLgo+PiAgICAg ICAqLwo+PiAtICAgIHN0cnVjdCBvcGVyYW5kIGVhID0geyAudHlwZSA9IE9QX01FTSwgLnJlZyA9 IFJFR19QT0lTT04gfTsKPj4gLSAgICBlYS5tZW0uc2VnID0geDg2X3NlZ19kczsgLyogZ2NjIG1h eSByZWplY3QgYW5vbiB1bmlvbiBpbml0aWFsaXplciAqLwo+PiArICAgIHN0cnVjdCBvcGVyYW5k IGVhOwo+PiArCj4+ICsgICAgLyogSW1tZWRpYXRlIG9wZXJhbmQgdmFsdWVzLCBpZiBhbnkuIFVz ZSBvdGhlcndpc2UgdW51c2VkIGZpZWxkcy4gKi8KPj4gKyNkZWZpbmUgaW1tMSBlYS52YWwKPj4g KyNkZWZpbmUgaW1tMiBlYS5vcmlnX3ZhbAo+IAo+IFNvbWUgaW5zdHJ1Y3Rpb25zIChlLmcuIGJl eHRyKSBoYXZlIGJvdGggaW1tZWRpYXRlIGFuZCBtZW1vcnkgb3BlcmFuZHMuIAo+IFJldXNpbmcg ZWEgbGlrZSB0aGlzIGlzIHVuc2FmZS4KCkkgZGlzYWdyZWU6IEJvdGggZmllbGRzIGhhdmUgbmV2 ZXIgYmVlbiB1c2VkIGZvciBhbnl0aGluZywgYW5kIGl0IHdhcwptb3JlIHRoYW4gb25jZSB0aGF0 IEkgaGFkIHRob3VnaHQgYWJvdXQgaG93IHRvIGVsaW1pbmF0ZSB0aGVtIGZyb20KZWEgd2l0aG91 dCBlbGltaW5hdGluZyB0aGVtIGZyb20gc3JjIGFuZCBkc3QuIFVudGlsIGZpbmFsbHkgSSBmb3Vu ZCBhIHVzZQpmb3IgdGhlbSBoZXJlLgoKPiBJbW1lZGlhdGUgZGF0YSB3YXMgcHJldmlvdXNseSBz dGFzaGVkIGluIHNyYywgc2VwYXJhdGVseSBmcm9tIGVhLiAgSW4KPiB0aGUgbGlnaHQgb2YgdGhl IFhTQS0xMjMgcHJvYmxlbXMsIEkgdGhpbmsgaXQgd291bGQgYmUgYmV0dGVyIHRvIGp1c3QKPiBo YXZlICJ1aW50NjRfdCBpbW0xLCBpbW0yOyIgaGVyZS4KClRoZSBYU0EtMTIzIHByb2JsZW0gd2Fz IGNvbXBsZXRlbHkgZGlmZmVyZW50LCBhbmQgSSBzcGVjaWZpY2FsbHkgdG9vawp0aGlzIGludG8g Y29uc2lkZXJhdGlvbi4gV2UncmUgbm90IGFsaWFzaW5nIHNjYWxhcnMgYW5kIHBvaW50ZXJzIGhl cmUsCnNvIHRoZXJlJ3Mgbm8gcmlzayBvZiBjYXVzaW5nIGEgbmV3IHNlY3VyaXR5IGlzc3VlLiBK dXN0IHRvIHJlcGVhdCAtCnRoZXNlIHR3byBmaWVsZHMgaGF2ZSBiZWVuIGNvbXBsZXRlbHkgdW51 c2VkIHNvIGZhci4KCj4+ICsKPj4gKyAgICAvKiBTaGFkb3cgY29weSBvZiByZWdpc3RlciBzdGF0 ZS4gQ29tbWl0dGVkIG9uIHN1Y2Nlc3NmdWwgZW11bGF0aW9uLiAqLwo+PiArICAgIHN0cnVjdCBj cHVfdXNlcl9yZWdzIHJlZ3M7Cj4+ICt9Owo+PiArCj4+ICsvKiBIZWxwZXIgZGVmaW5pdGlvbnMu ICovCj4+ICsjZGVmaW5lIG9wX2J5dGVzIChzdGF0ZS0+b3BfYnl0ZXMpCj4+ICsjZGVmaW5lIGFk X2J5dGVzIChzdGF0ZS0+YWRfYnl0ZXMpCj4+ICsjZGVmaW5lIGV4dCAoc3RhdGUtPmV4dCkKPj4g KyNkZWZpbmUgbW9kcm0gKHN0YXRlLT5tb2RybSkKPj4gKyNkZWZpbmUgbW9kcm1fbW9kIChzdGF0 ZS0+bW9kcm1fbW9kKQo+PiArI2RlZmluZSBtb2RybV9yZWcgKHN0YXRlLT5tb2RybV9yZWcpCj4+ ICsjZGVmaW5lIG1vZHJtX3JtIChzdGF0ZS0+bW9kcm1fcm0pCj4+ICsjZGVmaW5lIHJleF9wcmVm aXggKHN0YXRlLT5yZXhfcHJlZml4KQo+PiArI2RlZmluZSBsb2NrX3ByZWZpeCAoc3RhdGUtPmxv Y2tfcHJlZml4KQo+PiArI2RlZmluZSB2ZXggKHN0YXRlLT52ZXgpCj4+ICsjZGVmaW5lIG92ZXJy aWRlX3NlZyAoc3RhdGUtPm92ZXJyaWRlX3NlZykKPj4gKyNkZWZpbmUgZWEgKHN0YXRlLT5lYSkK Pj4gKyNkZWZpbmUgX3JlZ3MgKHN0YXRlLT5yZWdzKQo+PiArCj4+ICtzdGF0aWMgaW50Cj4+ICt4 ODZfZGVjb2RlKAo+PiArICAgIHN0cnVjdCB4ODZfZW11bGF0ZV9zdGF0ZSAqc3RhdGUsCj4+ICsg ICAgc3RydWN0IHg4Nl9lbXVsYXRlX2N0eHQgKmN0eHQsCj4+ICsgICAgY29uc3Qgc3RydWN0IHg4 Nl9lbXVsYXRlX29wcyAgKm9wcykKPj4gK3sKPj4gKyAgICB1aW50OF90IGIsIGQsIHNpYiwgc2li X2luZGV4LCBzaWJfYmFzZTsKPj4gKyAgICB1bnNpZ25lZCBpbnQgZGVmX29wX2J5dGVzLCBkZWZf YWRfYnl0ZXM7Cj4+ICsgICAgaW50IHJjID0gWDg2RU1VTF9PS0FZOwo+PiArCj4+ICsgICAgbWVt c2V0KHN0YXRlLCAwLCBzaXplb2YoKnN0YXRlKSk7Cj4+ICsgICAgb3ZlcnJpZGVfc2VnID0gLTE7 Cj4+ICsgICAgZWEudHlwZSA9IE9QX01FTTsKPj4gKyAgICBlYS5tZW0uc2VnID0geDg2X3NlZ19k czsKPj4gKyAgICBlYS5yZWcgPSBSRUdfUE9JU09OOwo+PiArICAgIF9yZWdzID0gKmN0eHQtPnJl Z3M7Cj4gCj4gVGhlIGhlbHBlciBkZWZpbml0aW9ucyBhcmUgZmluZSBmb3IgdGhlIHRyYW5zaXRp b24gcGVyaW9kLCBidXQgSSB3b3VsZAo+IGxpa2UgdG8gc2VlIHRoZW0gZXZlbnR1YWxseSByZW1v dmVkIHRvIGhlbHAgcmVkdWNlIHRoZSBxdWFudGl0eSBvZgo+IGluZm9ybWF0aW9uIGhpZGluZyBp biB0aGlzIGFyZWEuICBQbGVhc2UgZG9uJ3QgaW50cm9kdWNlIG5ldyB1c2VzLgoKSSBzaW1wbHkg Y2FuJ3Qgd3JpdGUgZS5nLiAic3RhdGUtPmVhLnR5cGUiIGhlcmUsIGFzIHRoYXQgd291bGQgZ2V0 Cm1hY3JvIGV4cGFuZGVkIHRvICJzdGF0ZS0+KHN0YXRlLT5lYSkudHlwZSIuIEkndmUgY2FyZWZ1 bGx5IHRyaWVkIHRvCmF2b2lkIGludHJvZHVjaW5nIG5ldyB1c2VzIHdoZXJlIHBvc3NpYmxlLCBh bmQgSSdsbCBiZSBoYXBweSB0bwpjb3JyZWN0IGNhc2VzIHdoZXJlIEkgZmFpbGVkIHRvLCBidXQg aGVyZSB3ZSBqdXN0IGNhbid0IChhbmQgSSBob3BlCnlvdSBhZ3JlZSB0aGF0IGl0IHdvdWxkIGJl IG9kZCB0byBub3QgdXNlIHRoZSBoZWxwZXJzIGNvbnNpc3RlbnRseQppbiBhIHNpbmdsZSBibG9j ayBvZiBjb2RlLCBpLmUuIEknZCBsaWtlIHRvIG5vdCByZXBsYWNlIF9yZWdzICh3aGljaCBnb2Vz CmF3YXkgaW4gcGF0Y2ggMyBhbnl3YXkpLgoKPj4gK2ludAo+PiAreDg2X2VtdWxhdGUoCj4+ICsg ICAgc3RydWN0IHg4Nl9lbXVsYXRlX2N0eHQgKmN0eHQsCj4+ICsgICAgY29uc3Qgc3RydWN0IHg4 Nl9lbXVsYXRlX29wcyAqb3BzKQo+PiArewo+PiArICAgIHN0cnVjdCB4ODZfZW11bGF0ZV9zdGF0 ZSBzdGF0ZTsKPj4gKyAgICBpbnQgcmM7Cj4+ICsgICAgdWludDhfdCBiLCBkOwo+PiArICAgIHN0 cnVjdCBvcGVyYW5kIHNyYyA9IHsgLnJlZyA9IFJFR19QT0lTT04gfTsKPj4gKyAgICBzdHJ1Y3Qg b3BlcmFuZCBkc3QgPSB7IC5yZWcgPSBSRUdfUE9JU09OIH07Cj4+ICsgICAgZW51bSB4ODZfc3dp bnRfdHlwZSBzd2ludF90eXBlOwo+PiArICAgIHN0cnVjdCB4ODZfZW11bGF0ZV9zdHViIHN0dWIg PSB7fTsKPj4gKyAgICBERUNMQVJFX0FMSUdORUQobW12YWxfdCwgbW12YWwpOwo+PiArCj4+ICsg ICAgcmMgPSB4ODZfZGVjb2RlKCZzdGF0ZSwgY3R4dCwgb3BzKTsKPj4gKyAgICBpZiAoIHJjICE9 IFg4NkVNVUxfT0tBWSkKPiAKPiBTcGFjZSBiZWZvcmUgdGhlIGJyYWNrZXQgKGFsdGhvdWdoIEkg Z3Vlc3MgdGhlc2UgbGluZXMgZHJvcCBvdXQgYmVmb3JlCj4gdGhlIGVuZCBvZiB0aGUgc2VyaWVz IGFueXdheT8pCgpPb3BzLiBBbmQgdG8gdGhlIHF1ZXN0aW9uIC0gbm8sIHdoeSB3b3VsZCB0aGV5 PyBFbXVsYXRpb24gb2J2aW91c2x5CnJlcXVpcmVzIGRlY29kaW5nIGFzIHRoZSBmaXJzdCBzdGVw LgoKSmFuCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpY ZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlz dHMueGVuLm9yZy94ZW4tZGV2ZWwK