From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:54546) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dSDE9-00006Y-KS for qemu-devel@nongnu.org; Mon, 03 Jul 2017 22:06:10 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dSDE4-0001rN-Qr for qemu-devel@nongnu.org; Mon, 03 Jul 2017 22:06:09 -0400 Received: from mga02.intel.com ([134.134.136.20]:12166) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1dSDE4-0001pB-F5 for qemu-devel@nongnu.org; Mon, 03 Jul 2017 22:06:04 -0400 References: <1498715394-16402-1-git-send-email-tianyu.lan@intel.com> <1498715394-16402-3-git-send-email-tianyu.lan@intel.com> <20170630154814.GF1598@perard.uk.xensource.com> From: Lan Tianyu Message-ID: <72e9c973-e53e-1937-c37a-07dadaa9c571@intel.com> Date: Tue, 4 Jul 2017 09:52:50 +0800 MIME-Version: 1.0 In-Reply-To: <20170630154814.GF1598@perard.uk.xensource.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH 2/3] xen-pt: bind/unbind interrupt remapping format MSI List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Anthony PERARD Cc: qemu-devel@nongnu.org, xen-devel@lists.xensource.com, Chao Gao , mst@redhat.com, marcel@redhat.com, sstabellini@kernel.org, kevin.tian@intel.com Hi Anthony: On 2017年06月30日 23:48, Anthony PERARD wrote: > On Thu, Jun 29, 2017 at 01:49:53AM -0400, Lan Tianyu wrote: >> From: Chao Gao >> >> If a vIOMMU is exposed to guest, guest will configure the msi to remapping >> format. The original code isn't suitable to the new format. A new pair >> bind/unbind interfaces are added for this usage. This patch recognizes >> this case and uses new interfaces to bind/unbind msi. >> >> Signed-off-by: Chao Gao >> Signed-off-by: Lan Tianyu > > Hi, > > The patch series is going to need to be rebased on top of QEMU upstream. > For starter, configure have changed a bit. Thanks for your reminder. Will do that. > >> --- >> configure | 54 +++++++++++++++++++++++++++++++++++++++++++ >> hw/xen/xen_pt_msi.c | 50 ++++++++++++++++++++++++++++----------- >> include/hw/i386/apic-msidef.h | 1 + >> include/hw/xen/xen_common.h | 25 ++++++++++++++++++++ >> 4 files changed, 117 insertions(+), 13 deletions(-) >> >> diff --git a/configure b/configure >> index 476210b..b3ac49f 100755 >> --- a/configure >> +++ b/configure >> @@ -1982,6 +1982,60 @@ EOF >> /* >> * If we have stable libs the we don't want the libxc compat >> * layers, regardless of what CFLAGS we may have been given. >> + */ >> +#undef XC_WANT_COMPAT_EVTCHN_API >> +#undef XC_WANT_COMPAT_GNTTAB_API >> +#undef XC_WANT_COMPAT_MAP_FOREIGN_API >> +#include >> +#include >> +#include >> +#include >> +#include >> +#include >> +#include >> +#if !defined(HVM_MAX_VCPUS) >> +# error HVM_MAX_VCPUS not defined >> +#endif >> +int main(void) { >> + xc_interface *xc = NULL; >> + xenforeignmemory_handle *xfmem; >> + xenevtchn_handle *xe; >> + xengnttab_handle *xg; >> + xen_domain_handle_t handle; >> + xengnttab_grant_copy_segment_t* seg = NULL; >> + >> + xs_daemon_open(); >> + >> + xc = xc_interface_open(0, 0, 0); >> + xc_hvm_set_mem_type(0, 0, HVMMEM_ram_ro, 0, 0); >> + xc_domain_add_to_physmap(0, 0, XENMAPSPACE_gmfn, 0, 0); >> + xc_hvm_inject_msi(xc, 0, 0xf0000000, 0x00000000); >> + xc_hvm_create_ioreq_server(xc, 0, HVM_IOREQSRV_BUFIOREQ_ATOMIC, NULL); >> + xc_domain_create(xc, 0, handle, 0, NULL, NULL); >> + >> + xfmem = xenforeignmemory_open(0, 0); >> + xenforeignmemory_map(xfmem, 0, 0, 0, 0, 0); >> + >> + xe = xenevtchn_open(0, 0); >> + xenevtchn_fd(xe); >> + >> + xg = xengnttab_open(0, 0); >> + xengnttab_grant_copy(xg, 0, seg); >> + >> + xc_domain_update_msi_irq_remapping(xc, 0, 0, 0, 0, 0 ,0); >> + >> + return 0; >> +} >> +EOF >> + compile_prog "" "$xen_libs $xen_stable_libs" >> + then >> + xen_ctrl_version=4100 >> + xen=yes > > There have been some change/refactoring in configure, so this won't > work. The xen_ctrl_version got one more digit. > > Can you try with this patch? Which is also simpler. Sure. Thanks. > diff --git a/configure b/configure > index c571ad14e5..a06f2c0b92 100755 > --- a/configure > +++ b/configure > @@ -2021,6 +2021,24 @@ EOF > # Xen unstable > elif > cat > $TMPC < +#include > +int main(void) { > + xc_interface *xc = NULL; > + > + xc_domain_update_msi_irq_remapping(xc, 0, 0, 0, 0, 0 ,0); > + > + return 0; > +} > +EOF > + compile_prog "" "$xen_libs -lxendevicemodel $xen_stable_libs" > + then > + xen_stable_libs="-lxendevicemodel $xen_stable_libs" > + xen_ctrl_version=41000 > + xen=yes > + > + # Xen 4.9 > + elif > + cat > $TMPC < #undef XC_WANT_COMPAT_DEVICEMODEL_API > #define __XEN_TOOLS__ > #include > > >> index 8e1580d..4ba43a8 100644 >> --- a/include/hw/xen/xen_common.h >> +++ b/include/hw/xen/xen_common.h >> @@ -438,4 +438,29 @@ static inline int xengnttab_grant_copy(xengnttab_handle *xgt, uint32_t count, >> } >> #endif >> >> +/* Xen before 4.10 */ >> +#if CONFIG_XEN_CTRL_INTERFACE_VERSION < 4100 > > This will needs to be > CONFIG_XEN_CTRL_INTERFACE_VERSION < 41000 > Will update. -- Best regards Tianyu Lan From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lan Tianyu Subject: Re: [PATCH 2/3] xen-pt: bind/unbind interrupt remapping format MSI Date: Tue, 4 Jul 2017 09:52:50 +0800 Message-ID: <72e9c973-e53e-1937-c37a-07dadaa9c571@intel.com> References: <1498715394-16402-1-git-send-email-tianyu.lan@intel.com> <1498715394-16402-3-git-send-email-tianyu.lan@intel.com> <20170630154814.GF1598@perard.uk.xensource.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20170630154814.GF1598@perard.uk.xensource.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Anthony PERARD Cc: kevin.tian@intel.com, sstabellini@kernel.org, mst@redhat.com, qemu-devel@nongnu.org, xen-devel@lists.xensource.com, marcel@redhat.com, Chao Gao List-Id: xen-devel@lists.xenproject.org SGkgQW50aG9ueToKCk9uIDIwMTflubQwNuaciDMw5pelIDIzOjQ4LCBBbnRob255IFBFUkFSRCB3 cm90ZToKPiBPbiBUaHUsIEp1biAyOSwgMjAxNyBhdCAwMTo0OTo1M0FNIC0wNDAwLCBMYW4gVGlh bnl1IHdyb3RlOgo+PiBGcm9tOiBDaGFvIEdhbyA8Y2hhby5nYW9AaW50ZWwuY29tPgo+Pgo+PiBJ ZiBhIHZJT01NVSBpcyBleHBvc2VkIHRvIGd1ZXN0LCBndWVzdCB3aWxsIGNvbmZpZ3VyZSB0aGUg bXNpIHRvIHJlbWFwcGluZwo+PiBmb3JtYXQuIFRoZSBvcmlnaW5hbCBjb2RlIGlzbid0IHN1aXRh YmxlIHRvIHRoZSBuZXcgZm9ybWF0LiBBIG5ldyBwYWlyCj4+IGJpbmQvdW5iaW5kIGludGVyZmFj ZXMgYXJlIGFkZGVkIGZvciB0aGlzIHVzYWdlLiBUaGlzIHBhdGNoIHJlY29nbml6ZXMKPj4gdGhp cyBjYXNlIGFuZCB1c2VzIG5ldyBpbnRlcmZhY2VzIHRvIGJpbmQvdW5iaW5kIG1zaS4KPj4KPj4g U2lnbmVkLW9mZi1ieTogQ2hhbyBHYW8gPGNoYW8uZ2FvQGludGVsLmNvbT4KPj4gU2lnbmVkLW9m Zi1ieTogTGFuIFRpYW55dSA8dGlhbnl1LmxhbkBpbnRlbC5jb20+Cj4gCj4gSGksCj4gCj4gVGhl IHBhdGNoIHNlcmllcyBpcyBnb2luZyB0byBuZWVkIHRvIGJlIHJlYmFzZWQgb24gdG9wIG9mIFFF TVUgdXBzdHJlYW0uCj4gRm9yIHN0YXJ0ZXIsIGNvbmZpZ3VyZSBoYXZlIGNoYW5nZWQgYSBiaXQu CgpUaGFua3MgZm9yIHlvdXIgcmVtaW5kZXIuIFdpbGwgZG8gdGhhdC4KCgo+IAo+PiAtLS0KPj4g IGNvbmZpZ3VyZSAgICAgICAgICAgICAgICAgICAgIHwgNTQgKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKwo+PiAgaHcveGVuL3hlbl9wdF9tc2kuYyAgICAgICAgICAg fCA1MCArKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0KPj4gIGluY2x1ZGUv aHcvaTM4Ni9hcGljLW1zaWRlZi5oIHwgIDEgKwo+PiAgaW5jbHVkZS9ody94ZW4veGVuX2NvbW1v bi5oICAgfCAyNSArKysrKysrKysrKysrKysrKysrKwo+PiAgNCBmaWxlcyBjaGFuZ2VkLCAxMTcg aW5zZXJ0aW9ucygrKSwgMTMgZGVsZXRpb25zKC0pCj4+Cj4+IGRpZmYgLS1naXQgYS9jb25maWd1 cmUgYi9jb25maWd1cmUKPj4gaW5kZXggNDc2MjEwYi4uYjNhYzQ5ZiAxMDA3NTUKPj4gLS0tIGEv Y29uZmlndXJlCj4+ICsrKyBiL2NvbmZpZ3VyZQo+PiBAQCAtMTk4Miw2ICsxOTgyLDYwIEBAIEVP Rgo+PiAgLyoKPj4gICAqIElmIHdlIGhhdmUgc3RhYmxlIGxpYnMgdGhlIHdlIGRvbid0IHdhbnQg dGhlIGxpYnhjIGNvbXBhdAo+PiAgICogbGF5ZXJzLCByZWdhcmRsZXNzIG9mIHdoYXQgQ0ZMQUdT IHdlIG1heSBoYXZlIGJlZW4gZ2l2ZW4uCj4+ICsgKi8KPj4gKyN1bmRlZiBYQ19XQU5UX0NPTVBB VF9FVlRDSE5fQVBJCj4+ICsjdW5kZWYgWENfV0FOVF9DT01QQVRfR05UVEFCX0FQSQo+PiArI3Vu ZGVmIFhDX1dBTlRfQ09NUEFUX01BUF9GT1JFSUdOX0FQSQo+PiArI2luY2x1ZGUgPHhlbmN0cmwu aD4KPj4gKyNpbmNsdWRlIDx4ZW5zdG9yZS5oPgo+PiArI2luY2x1ZGUgPHhlbmV2dGNobi5oPgo+ PiArI2luY2x1ZGUgPHhlbmdudHRhYi5oPgo+PiArI2luY2x1ZGUgPHhlbmZvcmVpZ25tZW1vcnku aD4KPj4gKyNpbmNsdWRlIDxzdGRpbnQuaD4KPj4gKyNpbmNsdWRlIDx4ZW4vaHZtL2h2bV9pbmZv X3RhYmxlLmg+Cj4+ICsjaWYgIWRlZmluZWQoSFZNX01BWF9WQ1BVUykKPj4gKyMgZXJyb3IgSFZN X01BWF9WQ1BVUyBub3QgZGVmaW5lZAo+PiArI2VuZGlmCj4+ICtpbnQgbWFpbih2b2lkKSB7Cj4+ ICsgIHhjX2ludGVyZmFjZSAqeGMgPSBOVUxMOwo+PiArICB4ZW5mb3JlaWdubWVtb3J5X2hhbmRs ZSAqeGZtZW07Cj4+ICsgIHhlbmV2dGNobl9oYW5kbGUgKnhlOwo+PiArICB4ZW5nbnR0YWJfaGFu ZGxlICp4ZzsKPj4gKyAgeGVuX2RvbWFpbl9oYW5kbGVfdCBoYW5kbGU7Cj4+ICsgIHhlbmdudHRh Yl9ncmFudF9jb3B5X3NlZ21lbnRfdCogc2VnID0gTlVMTDsKPj4gKwo+PiArICB4c19kYWVtb25f b3BlbigpOwo+PiArCj4+ICsgIHhjID0geGNfaW50ZXJmYWNlX29wZW4oMCwgMCwgMCk7Cj4+ICsg IHhjX2h2bV9zZXRfbWVtX3R5cGUoMCwgMCwgSFZNTUVNX3JhbV9ybywgMCwgMCk7Cj4+ICsgIHhj X2RvbWFpbl9hZGRfdG9fcGh5c21hcCgwLCAwLCBYRU5NQVBTUEFDRV9nbWZuLCAwLCAwKTsKPj4g KyAgeGNfaHZtX2luamVjdF9tc2koeGMsIDAsIDB4ZjAwMDAwMDAsIDB4MDAwMDAwMDApOwo+PiAr ICB4Y19odm1fY3JlYXRlX2lvcmVxX3NlcnZlcih4YywgMCwgSFZNX0lPUkVRU1JWX0JVRklPUkVR X0FUT01JQywgTlVMTCk7Cj4+ICsgIHhjX2RvbWFpbl9jcmVhdGUoeGMsIDAsIGhhbmRsZSwgMCwg TlVMTCwgTlVMTCk7Cj4+ICsKPj4gKyAgeGZtZW0gPSB4ZW5mb3JlaWdubWVtb3J5X29wZW4oMCwg MCk7Cj4+ICsgIHhlbmZvcmVpZ25tZW1vcnlfbWFwKHhmbWVtLCAwLCAwLCAwLCAwLCAwKTsKPj4g Kwo+PiArICB4ZSA9IHhlbmV2dGNobl9vcGVuKDAsIDApOwo+PiArICB4ZW5ldnRjaG5fZmQoeGUp Owo+PiArCj4+ICsgIHhnID0geGVuZ250dGFiX29wZW4oMCwgMCk7Cj4+ICsgIHhlbmdudHRhYl9n cmFudF9jb3B5KHhnLCAwLCBzZWcpOwo+PiArCj4+ICsgIHhjX2RvbWFpbl91cGRhdGVfbXNpX2ly cV9yZW1hcHBpbmcoeGMsIDAsIDAsIDAsIDAsIDAgLDApOwo+PiArCj4+ICsgIHJldHVybiAwOwo+ PiArfQo+PiArRU9GCj4+ICsgICAgICBjb21waWxlX3Byb2cgIiIgIiR4ZW5fbGlicyAkeGVuX3N0 YWJsZV9saWJzIgo+PiArICAgIHRoZW4KPj4gKyAgICB4ZW5fY3RybF92ZXJzaW9uPTQxMDAKPj4g KyAgICB4ZW49eWVzCj4gCj4gVGhlcmUgaGF2ZSBiZWVuIHNvbWUgY2hhbmdlL3JlZmFjdG9yaW5n IGluIGNvbmZpZ3VyZSwgc28gdGhpcyB3b24ndAo+IHdvcmsuIFRoZSB4ZW5fY3RybF92ZXJzaW9u IGdvdCBvbmUgbW9yZSBkaWdpdC4KPiAKPiBDYW4geW91IHRyeSB3aXRoIHRoaXMgcGF0Y2g/IFdo aWNoIGlzIGFsc28gc2ltcGxlci4KClN1cmUuIFRoYW5rcy4KCj4gZGlmZiAtLWdpdCBhL2NvbmZp Z3VyZSBiL2NvbmZpZ3VyZQo+IGluZGV4IGM1NzFhZDE0ZTUuLmEwNmYyYzBiOTIgMTAwNzU1Cj4g LS0tIGEvY29uZmlndXJlCj4gKysrIGIvY29uZmlndXJlCj4gQEAgLTIwMjEsNiArMjAyMSwyNCBA QCBFT0YKPiAgICAgICMgWGVuIHVuc3RhYmxlCj4gICAgICBlbGlmCj4gICAgICAgICAgY2F0ID4g JFRNUEMgPDxFT0YgJiYKPiArI2luY2x1ZGUgPHhlbmN0cmwuaD4KPiAraW50IG1haW4odm9pZCkg ewo+ICsgIHhjX2ludGVyZmFjZSAqeGMgPSBOVUxMOwo+ICsKPiArICB4Y19kb21haW5fdXBkYXRl X21zaV9pcnFfcmVtYXBwaW5nKHhjLCAwLCAwLCAwLCAwLCAwICwwKTsKPiArCj4gKyAgcmV0dXJu IDA7Cj4gK30KPiArRU9GCj4gKyAgICAgICAgY29tcGlsZV9wcm9nICIiICIkeGVuX2xpYnMgLWx4 ZW5kZXZpY2Vtb2RlbCAkeGVuX3N0YWJsZV9saWJzIgo+ICsgICAgICB0aGVuCj4gKyAgICAgIHhl bl9zdGFibGVfbGlicz0iLWx4ZW5kZXZpY2Vtb2RlbCAkeGVuX3N0YWJsZV9saWJzIgo+ICsgICAg ICB4ZW5fY3RybF92ZXJzaW9uPTQxMDAwCj4gKyAgICAgIHhlbj15ZXMKPiArCj4gKyAgICAjIFhl biA0LjkKPiArICAgIGVsaWYKPiArICAgICAgICBjYXQgPiAkVE1QQyA8PEVPRiAmJgo+ICAjdW5k ZWYgWENfV0FOVF9DT01QQVRfREVWSUNFTU9ERUxfQVBJCj4gICNkZWZpbmUgX19YRU5fVE9PTFNf Xwo+ICAjaW5jbHVkZSA8eGVuZGV2aWNlbW9kZWwuaD4KPiAKPiAKPj4gaW5kZXggOGUxNTgwZC4u NGJhNDNhOCAxMDA2NDQKPj4gLS0tIGEvaW5jbHVkZS9ody94ZW4veGVuX2NvbW1vbi5oCj4+ICsr KyBiL2luY2x1ZGUvaHcveGVuL3hlbl9jb21tb24uaAo+PiBAQCAtNDM4LDQgKzQzOCwyOSBAQCBz dGF0aWMgaW5saW5lIGludCB4ZW5nbnR0YWJfZ3JhbnRfY29weSh4ZW5nbnR0YWJfaGFuZGxlICp4 Z3QsIHVpbnQzMl90IGNvdW50LAo+PiAgfQo+PiAgI2VuZGlmCj4+ICAKPj4gKy8qIFhlbiBiZWZv cmUgNC4xMCAqLwo+PiArI2lmIENPTkZJR19YRU5fQ1RSTF9JTlRFUkZBQ0VfVkVSU0lPTiA8IDQx MDAKPiAKPiBUaGlzIHdpbGwgbmVlZHMgdG8gYmUKPiBDT05GSUdfWEVOX0NUUkxfSU5URVJGQUNF X1ZFUlNJT04gPCA0MTAwMAo+IAoKV2lsbCB1cGRhdGUuCgotLSAKQmVzdCByZWdhcmRzClRpYW55 dSBMYW4KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhl bi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0 cy54ZW4ub3JnL3hlbi1kZXZlbAo=