From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:41672) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fKqaO-0000fG-U7 for qemu-devel@nongnu.org; Mon, 21 May 2018 15:35:16 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fKqaL-0003Ay-7l for qemu-devel@nongnu.org; Mon, 21 May 2018 15:35:12 -0400 Received: from mail.kernel.org ([198.145.29.99]:60210) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1fKqaL-00039F-2U for qemu-devel@nongnu.org; Mon, 21 May 2018 15:35:09 -0400 From: Stefano Stabellini Date: Mon, 21 May 2018 12:34:51 -0700 Message-Id: <1526931304-7289-2-git-send-email-sstabellini@kernel.org> In-Reply-To: References: Subject: [Qemu-devel] [PULL 02/15] xen/pt: use address_space_memory object for memory region hooks List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: peter.maydell@linaro.org, stefanha@gmail.com Cc: sstabellini@kernel.org, stefanha@redhat.com, anthony.perard@citrix.com, xen-devel@lists.xenproject.org, qemu-devel@nongnu.org, Igor Druzhinin From: Igor Druzhinin Commit 99605175c (xen-pt: Fix PCI devices re-attach failed) introduced a subtle bug. As soon as the guest switches off Bus Mastering on the device it immediately causes all the BARs be unmapped due to the DMA address space of the device being changed. This is undesired behavior because the guest may try to communicate with the device after that which triggers the following errors in the logs: [00:05.0] xen_pt_bar_read: Error: Should not read BAR through QEMU. @0x0000000000000200 [00:05.0] xen_pt_bar_write: Error: Should not write BAR through QEMU. @0x0000000000000200 The issue that the original patch tried to workaround (uneven number of region_add/del calls on device attach/detach) was fixed in d25836cafd (memory: do explicit cleanup when remove listeners). Signed-off-by: Igor Druzhinin Reported-by: Ross Lagerwall Acked-by: Anthony PERARD Signed-off-by: Stefano Stabellini --- hw/xen/xen_pt.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/xen/xen_pt.c b/hw/xen/xen_pt.c index 9b7a960..e5a6eff 100644 --- a/hw/xen/xen_pt.c +++ b/hw/xen/xen_pt.c @@ -907,7 +907,7 @@ out: } } - memory_listener_register(&s->memory_listener, &s->dev.bus_master_as); + memory_listener_register(&s->memory_listener, &address_space_memory); memory_listener_register(&s->io_listener, &address_space_io); s->listener_set = true; XEN_PT_LOG(d, -- 1.9.1 From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefano Stabellini Subject: [PULL 02/15] xen/pt: use address_space_memory object for memory region hooks Date: Mon, 21 May 2018 12:34:51 -0700 Message-ID: <1526931304-7289-2-git-send-email-sstabellini@kernel.org> References: Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1fKqaL-0000Re-Am for xen-devel@lists.xenproject.org; Mon, 21 May 2018 19:35:09 +0000 In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: peter.maydell@linaro.org, stefanha@gmail.com Cc: Igor Druzhinin , sstabellini@kernel.org, qemu-devel@nongnu.org, stefanha@redhat.com, anthony.perard@citrix.com, xen-devel@lists.xenproject.org List-Id: xen-devel@lists.xenproject.org RnJvbTogSWdvciBEcnV6aGluaW4gPGlnb3IuZHJ1emhpbmluQGNpdHJpeC5jb20+CgpDb21taXQg OTk2MDUxNzVjICh4ZW4tcHQ6IEZpeCBQQ0kgZGV2aWNlcyByZS1hdHRhY2ggZmFpbGVkKSBpbnRy b2R1Y2VkCmEgc3VidGxlIGJ1Zy4gQXMgc29vbiBhcyB0aGUgZ3Vlc3Qgc3dpdGNoZXMgb2ZmIEJ1 cyBNYXN0ZXJpbmcgb24gdGhlCmRldmljZSBpdCBpbW1lZGlhdGVseSBjYXVzZXMgYWxsIHRoZSBC QVJzIGJlIHVubWFwcGVkIGR1ZSB0byB0aGUgRE1BCmFkZHJlc3Mgc3BhY2Ugb2YgdGhlIGRldmlj ZSBiZWluZyBjaGFuZ2VkLiBUaGlzIGlzIHVuZGVzaXJlZCBiZWhhdmlvcgpiZWNhdXNlIHRoZSBn dWVzdCBtYXkgdHJ5IHRvIGNvbW11bmljYXRlIHdpdGggdGhlIGRldmljZSBhZnRlciB0aGF0Cndo aWNoIHRyaWdnZXJzIHRoZSBmb2xsb3dpbmcgZXJyb3JzIGluIHRoZSBsb2dzOgoKWzAwOjA1LjBd IHhlbl9wdF9iYXJfcmVhZDogRXJyb3I6IFNob3VsZCBub3QgcmVhZCBCQVIgdGhyb3VnaCBRRU1V LiBAMHgwMDAwMDAwMDAwMDAwMjAwClswMDowNS4wXSB4ZW5fcHRfYmFyX3dyaXRlOiBFcnJvcjog U2hvdWxkIG5vdCB3cml0ZSBCQVIgdGhyb3VnaCBRRU1VLiBAMHgwMDAwMDAwMDAwMDAwMjAwCgpU aGUgaXNzdWUgdGhhdCB0aGUgb3JpZ2luYWwgcGF0Y2ggdHJpZWQgdG8gd29ya2Fyb3VuZCAodW5l dmVuIG51bWJlciBvZgpyZWdpb25fYWRkL2RlbCBjYWxscyBvbiBkZXZpY2UgYXR0YWNoL2RldGFj aCkgd2FzIGZpeGVkIGluIGQyNTgzNmNhZmQKKG1lbW9yeTogZG8gZXhwbGljaXQgY2xlYW51cCB3 aGVuIHJlbW92ZSBsaXN0ZW5lcnMpLgoKU2lnbmVkLW9mZi1ieTogSWdvciBEcnV6aGluaW4gPGln b3IuZHJ1emhpbmluQGNpdHJpeC5jb20+ClJlcG9ydGVkLWJ5OiBSb3NzIExhZ2Vyd2FsbCA8cm9z cy5sYWdlcndhbGxAY2l0cml4LmNvbT4KQWNrZWQtYnk6IEFudGhvbnkgUEVSQVJEIDxhbnRob255 LnBlcmFyZEBjaXRyaXguY29tPgpTaWduZWQtb2ZmLWJ5OiBTdGVmYW5vIFN0YWJlbGxpbmkgPHNz dGFiZWxsaW5pQGtlcm5lbC5vcmc+Ci0tLQogaHcveGVuL3hlbl9wdC5jIHwgMiArLQogMSBmaWxl IGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvaHcv eGVuL3hlbl9wdC5jIGIvaHcveGVuL3hlbl9wdC5jCmluZGV4IDliN2E5NjAuLmU1YTZlZmYgMTAw NjQ0Ci0tLSBhL2h3L3hlbi94ZW5fcHQuYworKysgYi9ody94ZW4veGVuX3B0LmMKQEAgLTkwNyw3 ICs5MDcsNyBAQCBvdXQ6CiAgICAgICAgIH0KICAgICB9CiAKLSAgICBtZW1vcnlfbGlzdGVuZXJf cmVnaXN0ZXIoJnMtPm1lbW9yeV9saXN0ZW5lciwgJnMtPmRldi5idXNfbWFzdGVyX2FzKTsKKyAg ICBtZW1vcnlfbGlzdGVuZXJfcmVnaXN0ZXIoJnMtPm1lbW9yeV9saXN0ZW5lciwgJmFkZHJlc3Nf c3BhY2VfbWVtb3J5KTsKICAgICBtZW1vcnlfbGlzdGVuZXJfcmVnaXN0ZXIoJnMtPmlvX2xpc3Rl bmVyLCAmYWRkcmVzc19zcGFjZV9pbyk7CiAgICAgcy0+bGlzdGVuZXJfc2V0ID0gdHJ1ZTsKICAg ICBYRU5fUFRfTE9HKGQsCi0tIAoxLjkuMQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3Rz LnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0 aW5mby94ZW4tZGV2ZWw=