From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chao Gao Subject: Re: [PATCH V3 26/29] x86/vvtd: Handle interrupt translation faults Date: Fri, 20 Oct 2017 13:54:15 +0800 Message-ID: <20171020055415.GK74825@op-computing> References: <1506049330-11196-1-git-send-email-tianyu.lan@intel.com> <1506049330-11196-27-git-send-email-tianyu.lan@intel.com> <20171019163137.ozlz4mx5mn4wmtzb@dhcp-3-128.uk.xensource.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <20171019163137.ozlz4mx5mn4wmtzb@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 =?iso-8859-1?Q?Monn=E9?= Cc: Lan Tianyu , andrew.cooper3@citrix.com, kevin.tian@intel.com, jbeulich@suse.com, xen-devel@lists.xen.org List-Id: xen-devel@lists.xenproject.org T24gVGh1LCBPY3QgMTksIDIwMTcgYXQgMDU6MzE6MzdQTSArMDEwMCwgUm9nZXIgUGF1IE1vbm7D qSB3cm90ZToKPk9uIFRodSwgU2VwIDIxLCAyMDE3IGF0IDExOjAyOjA3UE0gLTA0MDAsIExhbiBU aWFueXUgd3JvdGU6Cj4+IEZyb206IENoYW8gR2FvIDxjaGFvLmdhb0BpbnRlbC5jb20+Cj4+IAo+ PiBJbnRlcnJ1cHQgdHJhbnNsYXRpb24gZmF1bHRzIGFyZSBub24tcmVjb3ZlcmFibGUgZmF1bHQu IFdoZW4gZmF1bHRzCj4+IGFyZSB0cmlnZ2VyZWQsIGl0IG5lZWRzIHRvIHBvcHVsYXRlIGZhdWx0 IGluZm8gdG8gRmF1bHQgUmVjb3JkaW5nCj4+IFJlZ2lzdGVycyBhbmQgaW5qZWN0IHZJT01NVSBt c2kgaW50ZXJydXB0IHRvIG5vdGlmeSBndWVzdCBJT01NVSBkcml2ZXIKPj4gdG8gZGVhbCB3aXRo IGZhdWx0cy4KPj4gCj4+IFRoaXMgcGF0Y2ggZW11bGF0ZXMgaGFyZHdhcmUncyBoYW5kbGluZyBp bnRlcnJ1cHQgdHJhbnNsYXRpb24KPj4gZmF1bHRzIChtb3JlIGluZm9ybWF0aW9uIGFib3V0IHRo ZSBwcm9jZXNzIGNhbiBiZSBmb3VuZCBpbiBWVC1kIHNwZWMsCj4+IGNoaXB0ZXIgIlRyYW5zbGF0 aW9uIEZhdWx0cyIsIHNlY3Rpb24gIk5vbi1SZWNvdmVyYWJsZSBGYXVsdAo+PiBSZXBvcnRpbmci IGFuZCBzZWN0aW9uICJOb24tUmVjb3ZlcmFibGUgTG9nZ2luZyIpLgo+PiBTcGVjaWZpY2FsbHks IHZpb21tdV9yZWNvcmRfZmF1bHQoKSByZWNvcmRzIHRoZSBmYXVsdCBpbmZvcm1hdGlvbiBhbmQK Pj4gdmlvbW11X3JlcG9ydF9ub25fcmVjb3ZlcmFibGVfZmF1bHQoKSByZXBvcnRzIGZhdWx0cyB0 byBzb2Z0d2FyZS4KPj4gQ3VycmVudGx5LCBvbmx5IFByaW1hcnkgRmF1bHQgTG9nZ2luZyBpcyBz dXBwb3J0ZWQgYW5kIHRoZSBOdW1iZXIgb2YKPj4gRmF1bHQtcmVjb3JkaW5nIFJlZ2lzdGVycyBp cyAxLgo+PiAKPj4gU2lnbmVkLW9mZi1ieTogQ2hhbyBHYW8gPGNoYW8uZ2FvQGludGVsLmNvbT4K Pj4gU2lnbmVkLW9mZi1ieTogTGFuIFRpYW55dSA8dGlhbnl1LmxhbkBpbnRlbC5jb20+Cj4+IC0t LQo+PiAgeGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lvbW11LmggfCAgNjAgKysrKysrKy0t Cj4+ICB4ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvdnZ0ZC5jICB8IDI1MiArKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKy0KPj4gIDIgZmlsZXMgY2hhbmdlZCwgMzAxIGluc2Vy dGlvbnMoKyksIDExIGRlbGV0aW9ucygtKQo+PiAKPj4gZGlmZiAtLWdpdCBhL3hlbi9kcml2ZXJz L3Bhc3N0aHJvdWdoL3Z0ZC9pb21tdS5oIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lv bW11LmgKPj4gaW5kZXggNzkwMzg0Zi4uZTE5YjA0NSAxMDA2NDQKPj4gLS0tIGEveGVuL2RyaXZl cnMvcGFzc3Rocm91Z2gvdnRkL2lvbW11LmgKPj4gKysrIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91 Z2gvdnRkL2lvbW11LmgKPj4gQEAgLTE5OCwyNiArMTk4LDY2IEBACj4+ICAjZGVmaW5lIERNQV9D Q01EX0NBSUdfTUFTSyh4KSAoKCh1NjQpeCkgJiAoKHU2NCkgMHgzIDw8IDU5KSkKPj4gIAo+PiAg LyogRkVDVExfUkVHICovCj4+IC0jZGVmaW5lIERNQV9GRUNUTF9JTSAoKCh1NjQpMSkgPDwgMzEp Cj4+ICsjZGVmaW5lIERNQV9GRUNUTF9JTV9TSElGVCAzMQo+PiArI2RlZmluZSBETUFfRkVDVExf SU0gKDFVIDw8IERNQV9GRUNUTF9JTV9TSElGVCkKPj4gKyNkZWZpbmUgRE1BX0ZFQ1RMX0lQX1NI SUZUIDMwCj4+ICsjZGVmaW5lIERNQV9GRUNUTF9JUCAoMVUgPDwgRE1BX0ZFQ1RMX0lQX1NISUZU KQo+Cj5JcyBpdCBmaW5lIHRvIGNoYW5nZSB0aG9zZSBmcm9tIHVpbnQ2NF90IHRvIHVuc2lnbmVk IGludD8KClllcy4gVGhlIEZFQ1RMIGFuZCBGU1RTIGFyZSAzMi1iaXQgcmVnaXN0ZXJzLgoKPgo+ PiAgCj4+ICAvKiBGU1RTX1JFRyAqLwo+PiAtI2RlZmluZSBETUFfRlNUU19QRk8gKCh1NjQpMSA8 PCAwKQo+PiAtI2RlZmluZSBETUFfRlNUU19QUEYgKCh1NjQpMSA8PCAxKQo+PiAtI2RlZmluZSBE TUFfRlNUU19BRk8gKCh1NjQpMSA8PCAyKQo+PiAtI2RlZmluZSBETUFfRlNUU19BUEYgKCh1NjQp MSA8PCAzKQo+PiAtI2RlZmluZSBETUFfRlNUU19JUUUgKCh1NjQpMSA8PCA0KQo+PiAtI2RlZmlu ZSBETUFfRlNUU19JQ0UgKCh1NjQpMSA8PCA1KQo+PiAtI2RlZmluZSBETUFfRlNUU19JVEUgKCh1 NjQpMSA8PCA2KQo+PiAtI2RlZmluZSBETUFfRlNUU19GQVVMVFMgICAgRE1BX0ZTVFNfUEZPIHwg RE1BX0ZTVFNfUFBGIHwgRE1BX0ZTVFNfQUZPIHwgRE1BX0ZTVFNfQVBGIHwgRE1BX0ZTVFNfSVFF IHwgRE1BX0ZTVFNfSUNFIHwgRE1BX0ZTVFNfSVRFCj4+ICsjZGVmaW5lIERNQV9GU1RTX1BGT19T SElGVCAwCj4+ICsjZGVmaW5lIERNQV9GU1RTX1BGTyAoMVUgPDwgRE1BX0ZTVFNfUEZPX1NISUZU KQo+PiArI2RlZmluZSBETUFfRlNUU19QUEZfU0hJRlQgMQo+PiArI2RlZmluZSBETUFfRlNUU19Q UEYgKDFVIDw8IERNQV9GU1RTX1BQRl9TSElGVCkKPj4gKyNkZWZpbmUgRE1BX0ZTVFNfQUZPICgx VSA8PCAyKQo+PiArI2RlZmluZSBETUFfRlNUU19BUEYgKDFVIDw8IDMpCj4+ICsjZGVmaW5lIERN QV9GU1RTX0lRRSAoMVUgPDwgNCkKPj4gKyNkZWZpbmUgRE1BX0ZTVFNfSUNFICgxVSA8PCA1KQo+ PiArI2RlZmluZSBETUFfRlNUU19JVEUgKDFVIDw8IDYpCj4KPlRoaXMgc2VlbWluZ2x5IG5vbi1m dW5jdGlvbmFsIGNoYW5nZXMgc2hvdWxkIGJlIGRvbmUgaW4gYSBzZXBhcmF0ZQo+cGF0Y2guCgpz dXJlLgoKPj4gK3N0YXRpYyBpbnQgdnZ0ZF9hbGxvY19mcmNkKHN0cnVjdCB2dnRkICp2dnRkKQo+ PiArewo+PiArICAgIGludCBwcmV2Owo+PiArICAgIHVpbnQ2NF90IGNhcCA9IHZ2dGRfZ2V0X3Jl Zyh2dnRkLCBETUFSX0NBUF9SRUcpOwo+PiArICAgIHVuc2lnbmVkIGludCBiYXNlID0gY2FwX2Zh dWx0X3JlZ19vZmZzZXQoY2FwKTsKPj4gKwo+PiArICAgIC8qIFNldCB0aGUgRiBiaXQgdG8gaW5k aWNhdGUgdGhlIEZSQ0QgaXMgaW4gdXNlLiAqLwo+PiArICAgIGlmICggIXZ2dGRfdGVzdF9hbmRf c2V0X2JpdCh2dnRkLAo+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYXNlICsg dnZ0ZC0+c3RhdHVzLmZhdWx0X2luZGV4ICogRE1BX0ZSQ0RfTEVOICsKPj4gKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgRE1BX0ZSQ0QzX09GRlNFVCwgRE1BX0ZSQ0RfRl9TSElGVCkg KQo+PiArICAgIHsKPj4gKyAgICAgICAgcHJldiA9IHZ2dGQtPnN0YXR1cy5mYXVsdF9pbmRleDsK Pj4gKyAgICAgICAgdnZ0ZC0+c3RhdHVzLmZhdWx0X2luZGV4ID0gKHByZXYgKyAxKSAlIGNhcF9u dW1fZmF1bHRfcmVncyhjYXApOwo+PiArICAgICAgICByZXR1cm4gdnZ0ZC0+c3RhdHVzLmZhdWx0 X2luZGV4Owo+Cj5JIHdvdWxkIHByZWZlciB0aGF0IHlvdSByZXR1cm4gdGhlIGluZGV4IGFzIGFu IHVuc2lnbmVkIGludCBwYXJhbWV0ZXIKPnBhc3NlZCBieSByZWZlcmVuY2UgcmF0aGVyIHRoYW4g YXMgdGhlIHJldHVybiB2YWx1ZSBvZiB0aGUgZnVuY3Rpb24sCj5idXQgdGhhdCBtaWdodCBub3Qg YmUgdGhlIHByZWZlcmVuY2Ugb2Ygb3RoZXJzLgoKV2hhdCBhcmUgdGhlIHByb3MgYW5kIGNvbnM/ Cgo+PiArc3RhdGljIGludCB2dnRkX3JlY29yZF9mYXVsdChzdHJ1Y3QgdnZ0ZCAqdnZ0ZCwKPj4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGFyY2hfaXJxX3JlbWFwcGluZ19y ZXF1ZXN0ICpyZXF1ZXN0LAo+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVh c29uKQo+PiArewo+PiArICAgIHN0cnVjdCB2dGRfZmF1bHRfcmVjb3JkX3JlZ2lzdGVyIGZyY2Q7 Cj4+ICsgICAgaW50IGZhdWx0X2luZGV4Owo+PiArCj4+ICsgICAgc3dpdGNoKHJlYXNvbikKPj4g KyAgICB7Cj4+ICsgICAgY2FzZSBWVERfRlJfSVJfUkVRX1JTVkQ6Cj4+ICsgICAgY2FzZSBWVERf RlJfSVJfSU5ERVhfT1ZFUjoKPj4gKyAgICBjYXNlIFZURF9GUl9JUl9FTlRSWV9QOgo+PiArICAg IGNhc2UgVlREX0ZSX0lSX1JPT1RfSU5WQUw6Cj4+ICsgICAgY2FzZSBWVERfRlJfSVJfSVJURV9S U1ZEOgo+PiArICAgIGNhc2UgVlREX0ZSX0lSX1JFUV9DT01QQVQ6Cj4+ICsgICAgY2FzZSBWVERf RlJfSVJfU0lEX0VSUjoKPj4gKyAgICAgICAgaWYgKCB2dnRkX3Rlc3RfYml0KHZ2dGQsIERNQVJf RlNUU19SRUcsIERNQV9GU1RTX1BGT19TSElGVCkgKQo+PiArICAgICAgICAgICAgcmV0dXJuIFg4 NkVNVUxfT0tBWTsKPj4gKwo+PiArICAgICAgICAvKiBObyBhdmFpbGFibGUgRmF1bHQgUmVjb3Jk IG1lYW5zIEZhdWx0IG92ZXJmbG93ZWQgKi8KPj4gKyAgICAgICAgZmF1bHRfaW5kZXggPSB2dnRk X2FsbG9jX2ZyY2QodnZ0ZCk7Cj4+ICsgICAgICAgIGlmICggZmF1bHRfaW5kZXggPT0gLTEgKQo+ Cj5Fcm0sIHdvdWxkbid0IHZ2dGRfYWxsb2NfZnJjZCByZXR1cm4gLUVOT01FTSBpbiBjYXNlIG9m IGVycm9yPyBJZTogeW91Cj5zaG91bGQgY2hlY2sgaWYgKCBmYXVsdF9pbmRleCA8IDAgKS4KCkl0 IGlzIGEgbWlzdGFrZS4KClRoYW5rcwpDaGFvCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlz dHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==