From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chao Gao Subject: Re: [PATCH V3 12/29] x86/vvtd: Add MMIO handler for VVTD Date: Fri, 20 Oct 2017 10:58:32 +0800 Message-ID: <20171020025832.GF74825@op-computing> References: <1506049330-11196-1-git-send-email-tianyu.lan@intel.com> <1506049330-11196-13-git-send-email-tianyu.lan@intel.com> <20171019113454.oeknwbrszunu7acp@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: <20171019113454.oeknwbrszunu7acp@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 , tim@xen.org, kevin.tian@intel.com, sstabellini@kernel.org, wei.liu2@citrix.com, konrad.wilk@oracle.com, George.Dunlap@eu.citrix.com, andrew.cooper3@citrix.com, ian.jackson@eu.citrix.com, xen-devel@lists.xen.org, jbeulich@suse.com List-Id: xen-devel@lists.xenproject.org T24gVGh1LCBPY3QgMTksIDIwMTcgYXQgMTI6MzQ6NTRQTSArMDEwMCwgUm9nZXIgUGF1IE1vbm7D qSB3cm90ZToKPk9uIFRodSwgU2VwIDIxLCAyMDE3IGF0IDExOjAxOjUzUE0gLTA0MDAsIExhbiBU aWFueXUgd3JvdGU6Cj4+IEZyb206IENoYW8gR2FvIDxjaGFvLmdhb0BpbnRlbC5jb20+Cj4+IAo+ PiBUaGlzIHBhdGNoIGFkZHMgVlZURCBNTUlPIGhhbmRsZXIgdG8gZGVhbCB3aXRoIE1NSU8gYWNj ZXNzLgo+PiAKPj4gU2lnbmVkLW9mZi1ieTogQ2hhbyBHYW8gPGNoYW8uZ2FvQGludGVsLmNvbT4K Pj4gU2lnbmVkLW9mZi1ieTogTGFuIFRpYW55dSA8dGlhbnl1LmxhbkBpbnRlbC5jb20+Cj4+IC0t LQo+PiAgeGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL3Z2dGQuYyB8IDkxICsrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrCj4+ICAxIGZpbGUgY2hhbmdlZCwgOTEgaW5zZXJ0 aW9ucygrKQo+PiAKPj4gZGlmZiAtLWdpdCBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC92 dnRkLmMgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvdnZ0ZC5jCj4+IGluZGV4IGM4NTFl YzcuLmEzMDAyYzMgMTAwNjQ0Cj4+IC0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC92 dnRkLmMKPj4gKysrIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL3Z2dGQuYwo+PiBAQCAt NDcsNiArNDcsMjkgQEAgc3RydWN0IHZ2dGQgewo+PiAgICAgIHN0cnVjdCBwYWdlX2luZm8gKnJl Z3NfcGFnZTsKPj4gIH07Cj4+ICAKPj4gKy8qIFNldHRpbmcgdmlvbW11X3ZlcmJvc2UgZW5hYmxl cyBkZWJ1Z2dpbmcgbWVzc2FnZXMgb2YgdklPTU1VICovCj4+ICtib29sIF9fcmVhZF9tb3N0bHkg dmlvbW11X3ZlcmJvc2U7Cj4+ICtib29sZWFuX3J1bnRpbWVfcGFyYW0oInZpb21tdV92ZXJib3Nl IiwgdmlvbW11X3ZlcmJvc2UpOwo+PiArCj4+ICsjaWZuZGVmIE5ERUJVRwo+PiArI2RlZmluZSB2 dnRkX2luZm8oZm10Li4uKSBkbyB7ICAgICAgICAgICAgICAgICAgICBcCj4+ICsgICAgaWYgKCB2 aW9tbXVfdmVyYm9zZSApICAgICAgICAgICAgICAgICAgICAgICAgIFwKPj4gKyAgICAgICAgZ3By aW50ayhYRU5MT0dfR19JTkZPLCAjIyBmbXQpOyAgICAgICAgICAgXAo+Cj5JZiB5b3UgdXNlIGdw cmludGsgeW91IHNob3VsZCB1c2UgWEVOTE9HX0lORk8sIHRoZSAnX0dfJyB2YXJpYW50cyBhcmUK Pm9ubHkgdXNlZCB3aXRoIHBsYWluIHByaW50ay4KPgo+PiArfSB3aGlsZSgwKQo+PiArI2RlZmlu ZSB2dnRkX2RlYnVnKGZtdC4uLikgZG8geyAgICAgICAgICAgICAgICAgICBcCj4+ICsgICAgaWYg KCB2aW9tbXVfdmVyYm9zZSAmJiBwcmludGtfcmF0ZWxpbWl0KCkgKSAgIFwKPgo+Tm90IHN1cmUg d2h5IHlvdSBuZWVkIHByaW50a19yYXRlbGltaXQsIFhFTkxPR19HX0RFQlVHIGlzIGFscmVhZHkK PnJhdGUtbGltaXRlZC4KPgo+PiArICAgICAgICBwcmludGsoWEVOTE9HX0dfREVCVUcgZm10KTsg ICAgICAgICAgICAgICBcCj4KPkFueSByZWFzb24gd2h5IHZ2dGRfaW5mbyB1c2VzIGdwcmludGsg YW5kIGhlcmUgeW91IHVzZSBwcmludGs/Cj4KPj4gK30gd2hpbGUoMCkKPj4gKyNlbHNlCj4+ICsj ZGVmaW5lIHZ2dGRfaW5mbyhmbXQuLi4pIGRvIHt9IHdoaWxlKDApCj4+ICsjZGVmaW5lIHZ2dGRf ZGVidWcoZm10Li4uKSBkbyB7fSB3aGlsZSgwKQo+Cj5ObyBuZWVkIGZvciAnZm10Li4uJyBqdXN0 ICcuLi4nIHdpbGwgc3VmZmljZSBzaW5jZSB5b3UgYXJlIGRpc2NhcmRpbmcKPnRoZSBwYXJhbWV0 ZXJzIGFueXdheS4KPgo+PiArI2VuZGlmCj4+ICsKPj4gK3N0cnVjdCB2dnRkICpkb21haW5fdnZ0 ZChzdHJ1Y3QgZG9tYWluICpkKQo+PiArewo+PiArICAgIHJldHVybiAoZC0+dmlvbW11KSA/IGQt PnZpb21tdS0+cHJpdiA6IE5VTEw7Cj4KPlVubmVlZGVkIHBhcmVudGhlc2VzIGFyb3VuZCBkLT52 aW9tbXUuCj4KPkFsc28sIGl0IHNlZW1zIHdyaW5nIHRvIGNhbGwgZG9tYWluX3Z2dGQgd2l0aCAh ZC0+dmlvbW11LiBTbyBJIHRoaW5rCj50aGlzIGhlbHBlciBzaG91bGQganVzdCBiZSByZW1vdmVk LCBhbmQgZC0+dmlvbW11LT5wcml2IGZldGNoZWQKPmRpcmVjdGx5Lgo+Cj4+ICt9Cj4+ICsKPj4g IHN0YXRpYyBpbmxpbmUgdm9pZCB2dnRkX3NldF9yZWcoc3RydWN0IHZ2dGQgKnZ0ZCwgdWludDMy X3QgcmVnLCB1aW50MzJfdCB2YWx1ZSkKPj4gIHsKPj4gICAgICB2dGQtPnJlZ3MtPmRhdGEzMlty ZWcvc2l6ZW9mKHVpbnQzMl90KV0gPSB2YWx1ZTsKPj4gQEAgLTY4LDYgKzkxLDczIEBAIHN0YXRp YyBpbmxpbmUgdWludDY0X3QgdnZ0ZF9nZXRfcmVnX3F1YWQoc3RydWN0IHZ2dGQgKnZ0ZCwgdWlu dDMyX3QgcmVnKQo+PiAgICAgIHJldHVybiB2dGQtPnJlZ3MtPmRhdGE2NFtyZWcvc2l6ZW9mKHVp bnQ2NF90KV07Cj4+ICB9Cj4+ICAKPj4gK3N0YXRpYyBpbnQgdnZ0ZF9pbl9yYW5nZShzdHJ1Y3Qg dmNwdSAqdiwgdW5zaWduZWQgbG9uZyBhZGRyKQo+PiArewo+PiArICAgIHN0cnVjdCB2dnRkICp2 dnRkID0gZG9tYWluX3Z2dGQodi0+ZG9tYWluKTsKPj4gKwo+PiArICAgIGlmICggdnZ0ZCApCj4+ ICsgICAgICAgIHJldHVybiAoYWRkciA+PSB2dnRkLT5iYXNlX2FkZHIpICYmCj4+ICsgICAgICAg ICAgICAgICAoYWRkciA8IHZ2dGQtPmJhc2VfYWRkciArIFBBR0VfU0laRSk7Cj4KPlNvIHRoZSBy ZWdpc3RlciBzZXQgY292ZXJzIGEgUEFHRV9TSVpFLCBidXQgaHZtX2h3X3Z2dGRfcmVncyBvbmx5 Cj5jb3ZlcnMgZnJvbSAwIHRvIDEwMjRCLCBpdCBzZWVtcyBsaWtlIHRoZXJlJ3Mgc29tZXRoaW5n IHdyb25nIGhlcmUuLi4KPgo+PiArICAgIHJldHVybiAwOwo+PiArfQo+PiArCj4+ICtzdGF0aWMg aW50IHZ2dGRfcmVhZChzdHJ1Y3QgdmNwdSAqdiwgdW5zaWduZWQgbG9uZyBhZGRyLAo+PiArICAg ICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IGxlbiwgdW5zaWduZWQgbG9uZyAqcHZhbCkK Pj4gK3sKPj4gKyAgICBzdHJ1Y3QgdnZ0ZCAqdnZ0ZCA9IGRvbWFpbl92dnRkKHYtPmRvbWFpbik7 Cj4+ICsgICAgdW5zaWduZWQgaW50IG9mZnNldCA9IGFkZHIgLSB2dnRkLT5iYXNlX2FkZHI7Cj4+ ICsKPj4gKyAgICB2dnRkX2luZm8oIlJlYWQgb2Zmc2V0ICV4IGxlbiAlZFxuIiwgb2Zmc2V0LCBs ZW4pOwo+PiArCj4+ICsgICAgaWYgKCAobGVuICE9IDQgJiYgbGVuICE9IDgpIHx8IChvZmZzZXQg JiAobGVuIC0gMSkpICkKPgo+V2hhdCB2YWx1ZSBkb2VzIGhhcmR3YXJlIHJldHVybiB3aGVuIHBl cmZvcm1pbmcgdW5hbGlnbmVkIHJlYWRzIG9yCj5yZWFkcyB3aXRoIHdyb25nIHNpemU/CgpBY2Nv cmRpbmcgdG8gVlQtZCBzcGVjIHNlY3Rpb24gMTAuMiwgIlNvZnR3YXJlIG11c3QgYWNjZXNzIDY0 LWJpdCBhbmQKMTI4LWJpdCByZWdpc3RlcnMgYXMgZWl0aGVyIGFsaWduZWQgcXVhZHdvcmRzIG9y IGFsaWduZWQgZG91Ymxld29yZHMiLgpJIGFtIGFmcmFpZCB0aGVyZSBpcyBubyBzcGVjaWZpYyBo YXJkd2FyZSBhY3Rpb24gZm9yIHVuYWxpZ25lZCBhY2Nlc3MKaW5mb3JtYXRpb24uIFdlIGNhbiB0 cmVhdCBpdCBhcyB1bmRlZmluZWQ/IFRoZW4gZG8gbm90aGluZy4KQnV0IEkgZGlkIHNlZSB3aW5k b3dzIGRyaXZlciBoYXMgc3VjaCBhY2Nlc3Nlcy4gV2UgbmVlZCB0byBhZGQgYQp3b3JrYXJvdW5k IGZvciB3aW5kb3dzIGxhdGVyLgoKPgo+SGVyZSB5b3UgcmV0dXJuIHdpdGggcHZhbCBub3Qgc2V0 LCB3aGljaCBpcyBkYW5nZXJvdXMuCgpJbmRlZWQuIEJ1dCBJIG5lZWQgY2hlY2sgd2hldGhlciB0 aGUgcHZhbCBpcyBpbml0aWFsaXplZCBieSB0aGUgY2FsbGVyLgpJZiB0aGF0LCBpdCBpcyBzYWZl LgoKPgo+PiArICAgICAgICByZXR1cm4gWDg2RU1VTF9PS0FZOwo+PiArCj4+ICsgICAgaWYgKCBs ZW4gPT0gNCApCj4+ICsgICAgICAgICpwdmFsID0gdnZ0ZF9nZXRfcmVnKHZ2dGQsIG9mZnNldCk7 Cj4+ICsgICAgZWxzZQo+PiArICAgICAgICAqcHZhbCA9IHZ2dGRfZ2V0X3JlZ19xdWFkKHZ2dGQs IG9mZnNldCk7Cj4KPi4uLnlldCBoZXJlIHlvdSBkb24ndCBjaGVjayBmb3Igb2Zmc2V0IDwgMTAy NC4KPgo+PiArCj4+ICsgICAgcmV0dXJuIFg4NkVNVUxfT0tBWTsKPj4gK30KPj4gKwo+PiArc3Rh dGljIGludCB2dnRkX3dyaXRlKHN0cnVjdCB2Y3B1ICp2LCB1bnNpZ25lZCBsb25nIGFkZHIsCj4+ ICsgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IGxlbiwgdW5zaWduZWQgbG9uZyB2 YWwpCj4+ICt7Cj4+ICsgICAgc3RydWN0IHZ2dGQgKnZ2dGQgPSBkb21haW5fdnZ0ZCh2LT5kb21h aW4pOwo+PiArICAgIHVuc2lnbmVkIGludCBvZmZzZXQgPSBhZGRyIC0gdnZ0ZC0+YmFzZV9hZGRy Owo+PiArCj4+ICsgICAgdnZ0ZF9pbmZvKCJXcml0ZSBvZmZzZXQgJXggbGVuICVkIHZhbCAlbHhc biIsIG9mZnNldCwgbGVuLCB2YWwpOwo+PiArCj4+ICsgICAgaWYgKCAobGVuICE9IDQgJiYgbGVu ICE9IDgpIHx8IChvZmZzZXQgJiAobGVuIC0gMSkpICkKPj4gKyAgICAgICAgcmV0dXJuIFg4NkVN VUxfT0tBWTsKPj4gKwo+PiArICAgIGlmICggbGVuID09IDQgKQo+PiArICAgIHsKPj4gKyAgICAg ICAgc3dpdGNoICggb2Zmc2V0ICkKPj4gKyAgICAgICAgewo+PiArICAgICAgICBjYXNlIERNQVJf SUVEQVRBX1JFRzoKPj4gKyAgICAgICAgY2FzZSBETUFSX0lFQUREUl9SRUc6Cj4+ICsgICAgICAg IGNhc2UgRE1BUl9JRVVBRERSX1JFRzoKPj4gKyAgICAgICAgY2FzZSBETUFSX0ZFREFUQV9SRUc6 Cj4+ICsgICAgICAgIGNhc2UgRE1BUl9GRUFERFJfUkVHOgo+PiArICAgICAgICBjYXNlIERNQVJf RkVVQUREUl9SRUc6Cj4+ICsgICAgICAgICAgICB2dnRkX3NldF9yZWcodnZ0ZCwgb2Zmc2V0LCB2 YWwpOwo+Cj5IbSwgc28geW91IGFyZSB1c2luZyBhIGZ1bGwgcGFnZSB3aGVuIHlvdSBvbmx5IGNh cmUgZm9yIDYgNEIKPnJlZ2lzdGVycz8gU2VlbSBsaWtlIHF1aXRlIG9mIGEgd2FzdGUgb2YgbWVt b3J5LgoKUmVnaXN0ZXJzIGFyZSBhZGRlZCBoZXJlIHdoZW4gYWNjb3JkaW5nIGZlYXR1cmVzIGFy ZSBpbnRyb2R1Y2VkLgoKVGhhbmtzCkNoYW8KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3Rz Lnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=