From mboxrd@z Thu Jan 1 00:00:00 1970 From: Roger Pau =?iso-8859-1?Q?Monn=E9?= Subject: Re: [PATCH V3 12/29] x86/vvtd: Add MMIO handler for VVTD Date: Thu, 19 Oct 2017 12:34:54 +0100 Message-ID: <20171019113454.oeknwbrszunu7acp@dhcp-3-128.uk.xensource.com> References: <1506049330-11196-1-git-send-email-tianyu.lan@intel.com> <1506049330-11196-13-git-send-email-tianyu.lan@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <1506049330-11196-13-git-send-email-tianyu.lan@intel.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Lan Tianyu Cc: 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, Chao Gao List-Id: xen-devel@lists.xenproject.org T24gVGh1LCBTZXAgMjEsIDIwMTcgYXQgMTE6MDE6NTNQTSAtMDQwMCwgTGFuIFRpYW55dSB3cm90 ZToKPiBGcm9tOiBDaGFvIEdhbyA8Y2hhby5nYW9AaW50ZWwuY29tPgo+IAo+IFRoaXMgcGF0Y2gg YWRkcyBWVlREIE1NSU8gaGFuZGxlciB0byBkZWFsIHdpdGggTU1JTyBhY2Nlc3MuCj4gCj4gU2ln bmVkLW9mZi1ieTogQ2hhbyBHYW8gPGNoYW8uZ2FvQGludGVsLmNvbT4KPiBTaWduZWQtb2ZmLWJ5 OiBMYW4gVGlhbnl1IDx0aWFueXUubGFuQGludGVsLmNvbT4KPiAtLS0KPiAgeGVuL2RyaXZlcnMv cGFzc3Rocm91Z2gvdnRkL3Z2dGQuYyB8IDkxICsrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrCj4gIDEgZmlsZSBjaGFuZ2VkLCA5MSBpbnNlcnRpb25zKCspCj4gCj4gZGlmZiAt LWdpdCBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC92dnRkLmMgYi94ZW4vZHJpdmVycy9w YXNzdGhyb3VnaC92dGQvdnZ0ZC5jCj4gaW5kZXggYzg1MWVjNy4uYTMwMDJjMyAxMDA2NDQKPiAt LS0gYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvdnZ0ZC5jCj4gKysrIGIveGVuL2RyaXZl cnMvcGFzc3Rocm91Z2gvdnRkL3Z2dGQuYwo+IEBAIC00Nyw2ICs0NywyOSBAQCBzdHJ1Y3QgdnZ0 ZCB7Cj4gICAgICBzdHJ1Y3QgcGFnZV9pbmZvICpyZWdzX3BhZ2U7Cj4gIH07Cj4gIAo+ICsvKiBT ZXR0aW5nIHZpb21tdV92ZXJib3NlIGVuYWJsZXMgZGVidWdnaW5nIG1lc3NhZ2VzIG9mIHZJT01N VSAqLwo+ICtib29sIF9fcmVhZF9tb3N0bHkgdmlvbW11X3ZlcmJvc2U7Cj4gK2Jvb2xlYW5fcnVu dGltZV9wYXJhbSgidmlvbW11X3ZlcmJvc2UiLCB2aW9tbXVfdmVyYm9zZSk7Cj4gKwo+ICsjaWZu ZGVmIE5ERUJVRwo+ICsjZGVmaW5lIHZ2dGRfaW5mbyhmbXQuLi4pIGRvIHsgICAgICAgICAgICAg ICAgICAgIFwKPiArICAgIGlmICggdmlvbW11X3ZlcmJvc2UgKSAgICAgICAgICAgICAgICAgICAg ICAgICBcCj4gKyAgICAgICAgZ3ByaW50ayhYRU5MT0dfR19JTkZPLCAjIyBmbXQpOyAgICAgICAg ICAgXAoKSWYgeW91IHVzZSBncHJpbnRrIHlvdSBzaG91bGQgdXNlIFhFTkxPR19JTkZPLCB0aGUg J19HXycgdmFyaWFudHMgYXJlCm9ubHkgdXNlZCB3aXRoIHBsYWluIHByaW50ay4KCj4gK30gd2hp bGUoMCkKPiArI2RlZmluZSB2dnRkX2RlYnVnKGZtdC4uLikgZG8geyAgICAgICAgICAgICAgICAg ICBcCj4gKyAgICBpZiAoIHZpb21tdV92ZXJib3NlICYmIHByaW50a19yYXRlbGltaXQoKSApICAg XAoKTm90IHN1cmUgd2h5IHlvdSBuZWVkIHByaW50a19yYXRlbGltaXQsIFhFTkxPR19HX0RFQlVH IGlzIGFscmVhZHkKcmF0ZS1saW1pdGVkLgoKPiArICAgICAgICBwcmludGsoWEVOTE9HX0dfREVC VUcgZm10KTsgICAgICAgICAgICAgICBcCgpBbnkgcmVhc29uIHdoeSB2dnRkX2luZm8gdXNlcyBn cHJpbnRrIGFuZCBoZXJlIHlvdSB1c2UgcHJpbnRrPwoKPiArfSB3aGlsZSgwKQo+ICsjZWxzZQo+ ICsjZGVmaW5lIHZ2dGRfaW5mbyhmbXQuLi4pIGRvIHt9IHdoaWxlKDApCj4gKyNkZWZpbmUgdnZ0 ZF9kZWJ1ZyhmbXQuLi4pIGRvIHt9IHdoaWxlKDApCgpObyBuZWVkIGZvciAnZm10Li4uJyBqdXN0 ICcuLi4nIHdpbGwgc3VmZmljZSBzaW5jZSB5b3UgYXJlIGRpc2NhcmRpbmcKdGhlIHBhcmFtZXRl cnMgYW55d2F5LgoKPiArI2VuZGlmCj4gKwo+ICtzdHJ1Y3QgdnZ0ZCAqZG9tYWluX3Z2dGQoc3Ry dWN0IGRvbWFpbiAqZCkKPiArewo+ICsgICAgcmV0dXJuIChkLT52aW9tbXUpID8gZC0+dmlvbW11 LT5wcml2IDogTlVMTDsKClVubmVlZGVkIHBhcmVudGhlc2VzIGFyb3VuZCBkLT52aW9tbXUuCgpB bHNvLCBpdCBzZWVtcyB3cmluZyB0byBjYWxsIGRvbWFpbl92dnRkIHdpdGggIWQtPnZpb21tdS4g U28gSSB0aGluawp0aGlzIGhlbHBlciBzaG91bGQganVzdCBiZSByZW1vdmVkLCBhbmQgZC0+dmlv bW11LT5wcml2IGZldGNoZWQKZGlyZWN0bHkuCgo+ICt9Cj4gKwo+ICBzdGF0aWMgaW5saW5lIHZv aWQgdnZ0ZF9zZXRfcmVnKHN0cnVjdCB2dnRkICp2dGQsIHVpbnQzMl90IHJlZywgdWludDMyX3Qg dmFsdWUpCj4gIHsKPiAgICAgIHZ0ZC0+cmVncy0+ZGF0YTMyW3JlZy9zaXplb2YodWludDMyX3Qp XSA9IHZhbHVlOwo+IEBAIC02OCw2ICs5MSw3MyBAQCBzdGF0aWMgaW5saW5lIHVpbnQ2NF90IHZ2 dGRfZ2V0X3JlZ19xdWFkKHN0cnVjdCB2dnRkICp2dGQsIHVpbnQzMl90IHJlZykKPiAgICAgIHJl dHVybiB2dGQtPnJlZ3MtPmRhdGE2NFtyZWcvc2l6ZW9mKHVpbnQ2NF90KV07Cj4gIH0KPiAgCj4g K3N0YXRpYyBpbnQgdnZ0ZF9pbl9yYW5nZShzdHJ1Y3QgdmNwdSAqdiwgdW5zaWduZWQgbG9uZyBh ZGRyKQo+ICt7Cj4gKyAgICBzdHJ1Y3QgdnZ0ZCAqdnZ0ZCA9IGRvbWFpbl92dnRkKHYtPmRvbWFp bik7Cj4gKwo+ICsgICAgaWYgKCB2dnRkICkKPiArICAgICAgICByZXR1cm4gKGFkZHIgPj0gdnZ0 ZC0+YmFzZV9hZGRyKSAmJgo+ICsgICAgICAgICAgICAgICAoYWRkciA8IHZ2dGQtPmJhc2VfYWRk ciArIFBBR0VfU0laRSk7CgpTbyB0aGUgcmVnaXN0ZXIgc2V0IGNvdmVycyBhIFBBR0VfU0laRSwg YnV0IGh2bV9od192dnRkX3JlZ3Mgb25seQpjb3ZlcnMgZnJvbSAwIHRvIDEwMjRCLCBpdCBzZWVt cyBsaWtlIHRoZXJlJ3Mgc29tZXRoaW5nIHdyb25nIGhlcmUuLi4KCj4gKyAgICByZXR1cm4gMDsK PiArfQo+ICsKPiArc3RhdGljIGludCB2dnRkX3JlYWQoc3RydWN0IHZjcHUgKnYsIHVuc2lnbmVk IGxvbmcgYWRkciwKPiArICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IGxlbiwgdW5z aWduZWQgbG9uZyAqcHZhbCkKPiArewo+ICsgICAgc3RydWN0IHZ2dGQgKnZ2dGQgPSBkb21haW5f dnZ0ZCh2LT5kb21haW4pOwo+ICsgICAgdW5zaWduZWQgaW50IG9mZnNldCA9IGFkZHIgLSB2dnRk LT5iYXNlX2FkZHI7Cj4gKwo+ICsgICAgdnZ0ZF9pbmZvKCJSZWFkIG9mZnNldCAleCBsZW4gJWRc biIsIG9mZnNldCwgbGVuKTsKPiArCj4gKyAgICBpZiAoIChsZW4gIT0gNCAmJiBsZW4gIT0gOCkg fHwgKG9mZnNldCAmIChsZW4gLSAxKSkgKQoKV2hhdCB2YWx1ZSBkb2VzIGhhcmR3YXJlIHJldHVy biB3aGVuIHBlcmZvcm1pbmcgdW5hbGlnbmVkIHJlYWRzIG9yCnJlYWRzIHdpdGggd3Jvbmcgc2l6 ZT8KCkhlcmUgeW91IHJldHVybiB3aXRoIHB2YWwgbm90IHNldCwgd2hpY2ggaXMgZGFuZ2Vyb3Vz LgoKPiArICAgICAgICByZXR1cm4gWDg2RU1VTF9PS0FZOwo+ICsKPiArICAgIGlmICggbGVuID09 IDQgKQo+ICsgICAgICAgICpwdmFsID0gdnZ0ZF9nZXRfcmVnKHZ2dGQsIG9mZnNldCk7Cj4gKyAg ICBlbHNlCj4gKyAgICAgICAgKnB2YWwgPSB2dnRkX2dldF9yZWdfcXVhZCh2dnRkLCBvZmZzZXQp OwoKLi4ueWV0IGhlcmUgeW91IGRvbid0IGNoZWNrIGZvciBvZmZzZXQgPCAxMDI0LgoKPiArCj4g KyAgICByZXR1cm4gWDg2RU1VTF9PS0FZOwo+ICt9Cj4gKwo+ICtzdGF0aWMgaW50IHZ2dGRfd3Jp dGUoc3RydWN0IHZjcHUgKnYsIHVuc2lnbmVkIGxvbmcgYWRkciwKPiArICAgICAgICAgICAgICAg ICAgICAgIHVuc2lnbmVkIGludCBsZW4sIHVuc2lnbmVkIGxvbmcgdmFsKQo+ICt7Cj4gKyAgICBz dHJ1Y3QgdnZ0ZCAqdnZ0ZCA9IGRvbWFpbl92dnRkKHYtPmRvbWFpbik7Cj4gKyAgICB1bnNpZ25l ZCBpbnQgb2Zmc2V0ID0gYWRkciAtIHZ2dGQtPmJhc2VfYWRkcjsKPiArCj4gKyAgICB2dnRkX2lu Zm8oIldyaXRlIG9mZnNldCAleCBsZW4gJWQgdmFsICVseFxuIiwgb2Zmc2V0LCBsZW4sIHZhbCk7 Cj4gKwo+ICsgICAgaWYgKCAobGVuICE9IDQgJiYgbGVuICE9IDgpIHx8IChvZmZzZXQgJiAobGVu IC0gMSkpICkKPiArICAgICAgICByZXR1cm4gWDg2RU1VTF9PS0FZOwo+ICsKPiArICAgIGlmICgg bGVuID09IDQgKQo+ICsgICAgewo+ICsgICAgICAgIHN3aXRjaCAoIG9mZnNldCApCj4gKyAgICAg ICAgewo+ICsgICAgICAgIGNhc2UgRE1BUl9JRURBVEFfUkVHOgo+ICsgICAgICAgIGNhc2UgRE1B Ul9JRUFERFJfUkVHOgo+ICsgICAgICAgIGNhc2UgRE1BUl9JRVVBRERSX1JFRzoKPiArICAgICAg ICBjYXNlIERNQVJfRkVEQVRBX1JFRzoKPiArICAgICAgICBjYXNlIERNQVJfRkVBRERSX1JFRzoK PiArICAgICAgICBjYXNlIERNQVJfRkVVQUREUl9SRUc6Cj4gKyAgICAgICAgICAgIHZ2dGRfc2V0 X3JlZyh2dnRkLCBvZmZzZXQsIHZhbCk7CgpIbSwgc28geW91IGFyZSB1c2luZyBhIGZ1bGwgcGFn ZSB3aGVuIHlvdSBvbmx5IGNhcmUgZm9yIDYgNEIKcmVnaXN0ZXJzPyBTZWVtIGxpa2UgcXVpdGUg b2YgYSB3YXN0ZSBvZiBtZW1vcnkuCgpUaGFua3MsIFJvZ2VyLgoKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4t ZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==