From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alex Williamson Subject: Re: [PATCH 13/16] kvm: enable MSI-X capabilty for assigned device Date: Wed, 08 Apr 2009 10:13:56 -0600 Message-ID: <1239207236.4726.175.camel@lappy> References: <1237261817-27955-1-git-send-email-sheng@linux.intel.com> <200904071409.10361.sheng@linux.intel.com> <1239122290.6184.86.camel@bling> <200904081026.02816.sheng@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: QUOTED-PRINTABLE Cc: kvm@vger.kernel.org, Avi Kivity , Marcelo Tosatti , Anthony Liguori To: Sheng Yang Return-path: Received: from g1t0026.austin.hp.com ([15.216.28.33]:17228 "EHLO g1t0026.austin.hp.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S934266AbZDHQOB (ORCPT ); Wed, 8 Apr 2009 12:14:01 -0400 In-Reply-To: <200904081026.02816.sheng@linux.intel.com> Sender: kvm-owner@vger.kernel.org List-ID: Hi Sheng, On Wed, 2009-04-08 at 10:26 +0800, Sheng Yang wrote: > On Wednesday 08 April 2009 00:38:10 Alex Williamson wrote: > > On Tue, 2009-04-07 at 14:09 +0800, Sheng Yang wrote: > > > Could you enable DEVICE_ASSSIGNMENT_DEBUG=3D1 in > > > qemu/hw/device-assignment.c and post the output? > > > > Yup, see below. The error comes after I 'ifdown eth0; ifup eth0' i= n the > > guest. Note bnx2 appears to only turn on MSIX for SMP systems. Th= anks, > > > > Alex >=20 > Seems your "ifdown/ifup" script reload the module? No, the bnx2 module isn't unloaded on ifdown. > Oh god, I found one bug=20 > after checked the spec: >=20 > System software reads this field to determine the MSI-X Table Size *N= *, which=20 > is encoded as *N-1*. For example, a returned value of =E2=80=9C000000= 00011=E2=80=9D indicates=20 > a table size of 4. >=20 > But it seems still can't explain the problem...(OK, it may affect the= guest in=20 > a unknown way as well...) I would post a fix for it soon. [snip] >=20 > The writing to MMIO have been intercepted, but code fail to count it?= =20 > Strange... >=20 > Could you try this debug? I added the debug printfs, plus the MSI-X table size patch, and printed the value of msg_ctrl as we loop through. Output below. This is what made me think the MSI-X state isn't getting cleared when the driver closes the interface. Let me know what you think. Thanks, Alex init_assigned_device: Registering real physical device 03:00.0 (bus=3D3= dev=3D0 func=3D0) get_real_device: region 0 size 33554432 start 0xf4000000 type 512 resou= rce_fd 19 assigned_dev_pci_read_config: (4.0): address=3D0000 val=3D0x000014e4 le= n=3D2 assigned_dev_pci_read_config: (4.0): address=3D0002 val=3D0x00001639 le= n=3D2 assigned_dev_pci_read_config: (4.0): address=3D0000 val=3D0x000014e4 le= n=3D2 assigned_dev_pci_read_config: (4.0): address=3D0002 val=3D0x00001639 le= n=3D2 assigned_dev_pci_read_config: (4.0): address=3D0000 val=3D0x000014e4 le= n=3D2 assigned_dev_pci_read_config: (4.0): address=3D0002 val=3D0x00001639 le= n=3D2 assigned_dev_pci_read_config: (4.0): address=3D000a val=3D0x00000200 le= n=3D2 assigned_dev_pci_read_config: (4.0): address=3D0000 val=3D0x000014e4 le= n=3D2 assigned_dev_pci_read_config: (4.0): address=3D0002 val=3D0x00001639 le= n=3D2 assigned_dev_pci_write_config: (4.0): address=3D0010 val=3D0xffffffff l= en=3D4 assigned_dev_pci_read_config: (4.0): address=3D0010 val=3D0xfe000000 le= n=3D4 assigned_dev_pci_read_config: (4.0): address=3D0010 val=3D0xfe000000 le= n=3D4 assigned_dev_pci_write_config: (4.0): address=3D0010 val=3D0xf4000000 l= en=3D4 assigned_dev_iomem_map: e_phys=3Df4000000 r_virt=3D0x7f4fd9bfc000 type=3D= 0 len=3D02000000 region_num=3D0=20 assigned_dev_iomem_map: munmap done, virt_base 0x0x7f4fd9c08000 assigned_dev_pci_read_config: (4.0): address=3D0004 val=3D0x00000442 le= n=3D2 assigned_dev_pci_write_config: (4.0): address=3D0004 val=3D0x00000442 l= en=3D2 assigned_dev_pci_write_config: NON BAR (4.0): address=3D0004 val=3D0x00= 000442 len=3D2 assigned_dev_pci_write_config: (4.0): address=3D0014 val=3D0xffffffff l= en=3D4 assigned_dev_pci_read_config: (4.0): address=3D0014 val=3D0x00000000 le= n=3D4 assigned_dev_pci_write_config: (4.0): address=3D0018 val=3D0xffffffff l= en=3D4 assigned_dev_pci_read_config: (4.0): address=3D0018 val=3D0x00000000 le= n=3D4 assigned_dev_pci_write_config: (4.0): address=3D001c val=3D0xffffffff l= en=3D4 assigned_dev_pci_read_config: (4.0): address=3D001c val=3D0x00000000 le= n=3D4 assigned_dev_pci_write_config: (4.0): address=3D0020 val=3D0xffffffff l= en=3D4 assigned_dev_pci_read_config: (4.0): address=3D0020 val=3D0x00000000 le= n=3D4 assigned_dev_pci_write_config: (4.0): address=3D0024 val=3D0xffffffff l= en=3D4 assigned_dev_pci_read_config: (4.0): address=3D0024 val=3D0x00000000 le= n=3D4 assigned_dev_pci_write_config: (4.0): address=3D0030 val=3D0xffffffff l= en=3D4 assigned_dev_pci_write_config: NON BAR (4.0): address=3D0030 val=3D0xff= ffffff len=3D4 assigned_dev_pci_read_config: (4.0): address=3D0030 val=3D0xffff0001 le= n=3D4 assigned_dev_pci_read_config: (4.0): address=3D0030 val=3D0xffff0001 le= n=3D4 assigned_dev_pci_write_config: (4.0): address=3D0030 val=3D0x00010000 l= en=3D4 assigned_dev_pci_write_config: NON BAR (4.0): address=3D0030 val=3D0x00= 010000 len=3D4 assigned_dev_pci_read_config: (4.0): address=3D0004 val=3D0x00000442 le= n=3D2 assigned_dev_pci_write_config: (4.0): address=3D0004 val=3D0x00000442 l= en=3D2 assigned_dev_pci_write_config: NON BAR (4.0): address=3D0004 val=3D0x00= 000442 len=3D2 assigned_dev_pci_read_config: (4.0): address=3D003d val=3D0x00000001 le= n=3D1 assigned_dev_pci_write_config: (4.0): address=3D003c val=3D0x0000000b l= en=3D1 assigned_dev_pci_read_config: (4.0): address=3D000a val=3D0x00000200 le= n=3D2 assigned_dev_pci_read_config: (4.0): address=3D0000 val=3D0x000014e4 le= n=3D2 assigned_dev_pci_read_config: (4.0): address=3D0002 val=3D0x00001639 le= n=3D2 assigned_dev_pci_read_config: (4.0): address=3D000e val=3D0x00000080 le= n=3D1 assigned_dev_pci_read_config: (4.0): address=3D0000 val=3D0x163914e4 le= n=3D4 assigned_dev_pci_read_config: (4.0): address=3D000e val=3D0x00000080 le= n=3D1 assigned_dev_pci_read_config: (4.0): address=3D0006 val=3D0x00000010 le= n=3D2 assigned_dev_pci_read_config: (4.0): address=3D0034 val=3D0x00000040 le= n=3D1 assigned_dev_pci_read_config: (4.0): address=3D0040 val=3D0x00000005 le= n=3D1 assigned_dev_pci_read_config: (4.0): address=3D0041 val=3D0x00000050 le= n=3D1 assigned_dev_pci_read_config: (4.0): address=3D0050 val=3D0x00000011 le= n=3D1 assigned_dev_pci_read_config: (4.0): address=3D0051 val=3D0x00000000 le= n=3D1 assigned_dev_pci_read_config: (4.0): address=3D0006 val=3D0x00000010 le= n=3D2 assigned_dev_pci_read_config: (4.0): address=3D0034 val=3D0x00000040 le= n=3D1 assigned_dev_pci_read_config: (4.0): address=3D0040 val=3D0x00000005 le= n=3D1 assigned_dev_pci_read_config: (4.0): address=3D0041 val=3D0x00000050 le= n=3D1 assigned_dev_pci_read_config: (4.0): address=3D0050 val=3D0x00000011 le= n=3D1 assigned_dev_pci_read_config: (4.0): address=3D0051 val=3D0x00000000 le= n=3D1 assigned_dev_pci_read_config: (4.0): address=3D0006 val=3D0x00000010 le= n=3D2 assigned_dev_pci_read_config: (4.0): address=3D0034 val=3D0x00000040 le= n=3D1 assigned_dev_pci_read_config: (4.0): address=3D0040 val=3D0x00000005 le= n=3D1 assigned_dev_pci_read_config: (4.0): address=3D0041 val=3D0x00000050 le= n=3D1 assigned_dev_pci_read_config: (4.0): address=3D0050 val=3D0x00000011 le= n=3D1 assigned_dev_pci_read_config: (4.0): address=3D0051 val=3D0x00000000 le= n=3D1 assigned_dev_pci_read_config: (4.0): address=3D0008 val=3D0x02000020 le= n=3D4 assigned_dev_pci_read_config: (4.0): address=3D003d val=3D0x00000001 le= n=3D1 assigned_dev_pci_read_config: (4.0): address=3D003c val=3D0x0000000b le= n=3D1 assigned_dev_pci_read_config: (4.0): address=3D0010 val=3D0xf4000000 le= n=3D4 assigned_dev_pci_write_config: (4.0): address=3D0010 val=3D0xffffffff l= en=3D4 assigned_dev_pci_read_config: (4.0): address=3D0010 val=3D0xfe000000 le= n=3D4 assigned_dev_pci_write_config: (4.0): address=3D0010 val=3D0xf4000000 l= en=3D4 assigned_dev_iomem_map: e_phys=3Df4000000 r_virt=3D0x7f4fd9bfc000 type=3D= 0 len=3D02000000 region_num=3D0=20 BUG: kvm_destroy_phys_mem: invalid parameters (slot=3D-1) assigned_dev_iomem_map: munmap done, virt_base 0x0x7f4fd9c08000 assigned_dev_pci_read_config: (4.0): address=3D0014 val=3D0x00000000 le= n=3D4 assigned_dev_pci_write_config: (4.0): address=3D0014 val=3D0xffffffff l= en=3D4 assigned_dev_pci_read_config: (4.0): address=3D0014 val=3D0x00000000 le= n=3D4 assigned_dev_pci_write_config: (4.0): address=3D0014 val=3D0x00000000 l= en=3D4 assigned_dev_pci_read_config: (4.0): address=3D0018 val=3D0x00000000 le= n=3D4 assigned_dev_pci_write_config: (4.0): address=3D0018 val=3D0xffffffff l= en=3D4 assigned_dev_pci_read_config: (4.0): address=3D0018 val=3D0x00000000 le= n=3D4 assigned_dev_pci_write_config: (4.0): address=3D0018 val=3D0x00000000 l= en=3D4 assigned_dev_pci_read_config: (4.0): address=3D001c val=3D0x00000000 le= n=3D4 assigned_dev_pci_write_config: (4.0): address=3D001c val=3D0xffffffff l= en=3D4 assigned_dev_pci_read_config: (4.0): address=3D001c val=3D0x00000000 le= n=3D4 assigned_dev_pci_write_config: (4.0): address=3D001c val=3D0x00000000 l= en=3D4 assigned_dev_pci_read_config: (4.0): address=3D0020 val=3D0x00000000 le= n=3D4 assigned_dev_pci_write_config: (4.0): address=3D0020 val=3D0xffffffff l= en=3D4 assigned_dev_pci_read_config: (4.0): address=3D0020 val=3D0x00000000 le= n=3D4 assigned_dev_pci_write_config: (4.0): address=3D0020 val=3D0x00000000 l= en=3D4 assigned_dev_pci_read_config: (4.0): address=3D0024 val=3D0x00000000 le= n=3D4 assigned_dev_pci_write_config: (4.0): address=3D0024 val=3D0xffffffff l= en=3D4 assigned_dev_pci_read_config: (4.0): address=3D0024 val=3D0x00000000 le= n=3D4 assigned_dev_pci_write_config: (4.0): address=3D0024 val=3D0x00000000 l= en=3D4 assigned_dev_pci_read_config: (4.0): address=3D0030 val=3D0x00010000 le= n=3D4 assigned_dev_pci_write_config: (4.0): address=3D0030 val=3D0xfffffffe l= en=3D4 assigned_dev_pci_write_config: NON BAR (4.0): address=3D0030 val=3D0xff= fffffe len=3D4 assigned_dev_pci_read_config: (4.0): address=3D0030 val=3D0xffff0000 le= n=3D4 assigned_dev_pci_write_config: (4.0): address=3D0030 val=3D0x00010000 l= en=3D4 assigned_dev_pci_write_config: NON BAR (4.0): address=3D0030 val=3D0x00= 010000 len=3D4 assigned_dev_pci_read_config: (4.0): address=3D002c val=3D0x0000103c le= n=3D2 assigned_dev_pci_read_config: (4.0): address=3D002e val=3D0x00007055 le= n=3D2 assigned_dev_pci_read_config: (4.0): address=3D0006 val=3D0x00000010 le= n=3D2 assigned_dev_pci_read_config: (4.0): address=3D0034 val=3D0x00000040 le= n=3D1 assigned_dev_pci_read_config: (4.0): address=3D0040 val=3D0x00000005 le= n=3D1 assigned_dev_pci_read_config: (4.0): address=3D0041 val=3D0x00000050 le= n=3D1 assigned_dev_pci_read_config: (4.0): address=3D0050 val=3D0x00000011 le= n=3D1 assigned_dev_pci_read_config: (4.0): address=3D0051 val=3D0x00000000 le= n=3D1 assigned_dev_pci_read_config: (4.0): address=3D0006 val=3D0x00000010 le= n=3D2 assigned_dev_pci_read_config: (4.0): address=3D0034 val=3D0x00000040 le= n=3D1 assigned_dev_pci_read_config: (4.0): address=3D0040 val=3D0x00000005 le= n=3D1 assigned_dev_pci_read_config: (4.0): address=3D0041 val=3D0x00000050 le= n=3D1 assigned_dev_pci_read_config: (4.0): address=3D0050 val=3D0x00000011 le= n=3D1 assigned_dev_pci_read_config: (4.0): address=3D0051 val=3D0x00000000 le= n=3D1 assigned_dev_pci_read_config: (4.0): address=3D0006 val=3D0x00000010 le= n=3D2 assigned_dev_pci_read_config: (4.0): address=3D0034 val=3D0x00000040 le= n=3D1 assigned_dev_pci_read_config: (4.0): address=3D0040 val=3D0x00000005 le= n=3D1 assigned_dev_pci_read_config: (4.0): address=3D0041 val=3D0x00000050 le= n=3D1 assigned_dev_pci_read_config: (4.0): address=3D0050 val=3D0x00000011 le= n=3D1 assigned_dev_pci_read_config: (4.0): address=3D0051 val=3D0x00000000 le= n=3D1 assigned_dev_pci_read_config: (4.0): address=3D0006 val=3D0x00000010 le= n=3D2 assigned_dev_pci_read_config: (4.0): address=3D0034 val=3D0x00000040 le= n=3D1 assigned_dev_pci_read_config: (4.0): address=3D0040 val=3D0x00000005 le= n=3D1 assigned_dev_pci_read_config: (4.0): address=3D0041 val=3D0x00000050 le= n=3D1 assigned_dev_pci_read_config: (4.0): address=3D0050 val=3D0x00000011 le= n=3D1 assigned_dev_pci_read_config: (4.0): address=3D0051 val=3D0x00000000 le= n=3D1 assigned_dev_pci_read_config: (4.0): address=3D0004 val=3D0x00000442 le= n=3D2 assigned_dev_pci_read_config: (4.0): address=3D0004 val=3D0x00000442 le= n=3D2 assigned_dev_pci_read_config: (4.0): address=3D0004 val=3D0x00000442 le= n=3D2 assigned_dev_pci_read_config: (4.0): address=3D0004 val=3D0x00000442 le= n=3D2 assigned_dev_pci_write_config: (4.0): address=3D0004 val=3D0x00000446 l= en=3D2 assigned_dev_pci_write_config: NON BAR (4.0): address=3D0004 val=3D0x00= 000446 len=3D2 assigned_dev_pci_read_config: (4.0): address=3D000d val=3D0x00000000 le= n=3D1 assigned_dev_pci_write_config: (4.0): address=3D000d val=3D0x00000040 l= en=3D1 assigned_dev_pci_write_config: NON BAR (4.0): address=3D000d val=3D0x00= 000040 len=3D1 assigned_dev_pci_read_config: (4.0): address=3D0000 val=3D0x163914e4 le= n=3D4 assigned_dev_pci_read_config: (4.0): address=3D0004 val=3D0x00100446 le= n=3D4 assigned_dev_pci_read_config: (4.0): address=3D0008 val=3D0x02000020 le= n=3D4 assigned_dev_pci_read_config: (4.0): address=3D000c val=3D0x00800010 le= n=3D4 assigned_dev_pci_read_config: (4.0): address=3D0010 val=3D0xf4000000 le= n=3D4 assigned_dev_pci_read_config: (4.0): address=3D0014 val=3D0x00000000 le= n=3D4 assigned_dev_pci_read_config: (4.0): address=3D0018 val=3D0x00000000 le= n=3D4 assigned_dev_pci_read_config: (4.0): address=3D001c val=3D0x00000000 le= n=3D4 assigned_dev_pci_read_config: (4.0): address=3D0020 val=3D0x00000000 le= n=3D4 assigned_dev_pci_read_config: (4.0): address=3D0024 val=3D0x00000000 le= n=3D4 assigned_dev_pci_read_config: (4.0): address=3D0028 val=3D0x00000000 le= n=3D4 assigned_dev_pci_read_config: (4.0): address=3D002c val=3D0x7055103c le= n=3D4 assigned_dev_pci_read_config: (4.0): address=3D0030 val=3D0x00010000 le= n=3D4 assigned_dev_pci_read_config: (4.0): address=3D0034 val=3D0x00000040 le= n=3D4 assigned_dev_pci_read_config: (4.0): address=3D0038 val=3D0x00000000 le= n=3D4 assigned_dev_pci_read_config: (4.0): address=3D003c val=3D0x0000010b le= n=3D4 assigned_dev_pci_read_config: (4.0): address=3D0006 val=3D0x00000010 le= n=3D2 assigned_dev_pci_read_config: (4.0): address=3D0034 val=3D0x00000040 le= n=3D1 assigned_dev_pci_read_config: (4.0): address=3D0040 val=3D0x00000005 le= n=3D1 assigned_dev_pci_read_config: (4.0): address=3D0041 val=3D0x00000050 le= n=3D1 assigned_dev_pci_read_config: (4.0): address=3D0050 val=3D0x00000011 le= n=3D1 assigned_dev_pci_read_config: (4.0): address=3D0051 val=3D0x00000000 le= n=3D1 assigned_dev_pci_read_config: (4.0): address=3D0006 val=3D0x00000010 le= n=3D2 assigned_dev_pci_read_config: (4.0): address=3D0034 val=3D0x00000040 le= n=3D1 assigned_dev_pci_read_config: (4.0): address=3D0040 val=3D0x00000005 le= n=3D1 assigned_dev_pci_read_config: (4.0): address=3D0041 val=3D0x00000050 le= n=3D1 assigned_dev_pci_read_config: (4.0): address=3D0050 val=3D0x00000011 le= n=3D1 assigned_dev_pci_read_config: (4.0): address=3D0051 val=3D0x00000000 le= n=3D1 assigned_dev_pci_read_config: (4.0): address=3D0006 val=3D0x00000010 le= n=3D2 assigned_dev_pci_read_config: (4.0): address=3D0034 val=3D0x00000040 le= n=3D1 assigned_dev_pci_read_config: (4.0): address=3D0040 val=3D0x00000005 le= n=3D1 assigned_dev_pci_read_config: (4.0): address=3D0041 val=3D0x00000050 le= n=3D1 assigned_dev_pci_read_config: (4.0): address=3D0050 val=3D0x00000011 le= n=3D1 assigned_dev_pci_read_config: (4.0): address=3D0051 val=3D0x00000000 le= n=3D1 assigned_dev_pci_write_config: (4.0): address=3D0068 val=3D0x00000088 l= en=3D4 assigned_dev_pci_write_config: NON BAR (4.0): address=3D0068 val=3D0x00= 000088 len=3D4 assigned_dev_pci_read_config: (4.0): address=3D0006 val=3D0x00000010 le= n=3D2 assigned_dev_pci_read_config: (4.0): address=3D0034 val=3D0x00000040 le= n=3D1 assigned_dev_pci_read_config: (4.0): address=3D0040 val=3D0x00000005 le= n=3D1 assigned_dev_pci_read_config: (4.0): address=3D0041 val=3D0x00000050 le= n=3D1 assigned_dev_pci_read_config: (4.0): address=3D0050 val=3D0x00000011 le= n=3D1 assigned_dev_pci_read_config: (4.0): address=3D0051 val=3D0x00000000 le= n=3D1 assigned_dev_pci_read_config: (4.0): address=3D0006 val=3D0x00000010 le= n=3D2 assigned_dev_pci_read_config: (4.0): address=3D0034 val=3D0x00000040 le= n=3D1 assigned_dev_pci_read_config: (4.0): address=3D0040 val=3D0x00000005 le= n=3D1 assigned_dev_pci_read_config: (4.0): address=3D0041 val=3D0x00000050 le= n=3D1 assigned_dev_pci_read_config: (4.0): address=3D0050 val=3D0x00000011 le= n=3D1 assigned_dev_pci_read_config: (4.0): address=3D0006 val=3D0x00000010 le= n=3D2 assigned_dev_pci_read_config: (4.0): address=3D0034 val=3D0x00000040 le= n=3D1 assigned_dev_pci_read_config: (4.0): address=3D0040 val=3D0x00000005 le= n=3D1 assigned_dev_pci_read_config: (4.0): address=3D0006 val=3D0x00000010 le= n=3D2 assigned_dev_pci_read_config: (4.0): address=3D0034 val=3D0x00000040 le= n=3D1 assigned_dev_pci_read_config: (4.0): address=3D0040 val=3D0x00000005 le= n=3D1 assigned_dev_pci_read_config: (4.0): address=3D0041 val=3D0x00000050 le= n=3D1 assigned_dev_pci_read_config: (4.0): address=3D0050 val=3D0x00000011 le= n=3D1 assigned_dev_pci_read_config: (4.0): address=3D0006 val=3D0x00000010 le= n=3D2 assigned_dev_pci_read_config: (4.0): address=3D0034 val=3D0x00000040 le= n=3D1 assigned_dev_pci_read_config: (4.0): address=3D0040 val=3D0x00000005 le= n=3D1 assigned_dev_pci_read_config: (4.0): address=3D0041 val=3D0x00000050 le= n=3D1 assigned_dev_pci_read_config: (4.0): address=3D0050 val=3D0x00000011 le= n=3D1 assigned_dev_pci_read_config: (4.0): address=3D0052 val=3D0x00000008 le= n=3D2 assigned_dev_pci_read_config: (4.0): address=3D0006 val=3D0x00000010 le= n=3D2 assigned_dev_pci_read_config: (4.0): address=3D0034 val=3D0x00000040 le= n=3D1 assigned_dev_pci_read_config: (4.0): address=3D0040 val=3D0x00000005 le= n=3D1 assigned_dev_pci_read_config: (4.0): address=3D0041 val=3D0x00000050 le= n=3D1 assigned_dev_pci_read_config: (4.0): address=3D0050 val=3D0x00000011 le= n=3D1 assigned_dev_pci_read_config: (4.0): address=3D0052 val=3D0x00000008 le= n=3D2 assigned_dev_pci_write_config: (4.0): address=3D0052 val=3D0x00000008 l= en=3D2 assigned_dev_pci_read_config: (4.0): address=3D0006 val=3D0x00000010 le= n=3D2 assigned_dev_pci_read_config: (4.0): address=3D0034 val=3D0x00000040 le= n=3D1 assigned_dev_pci_read_config: (4.0): address=3D0040 val=3D0x00000005 le= n=3D1 assigned_dev_pci_read_config: (4.0): address=3D0041 val=3D0x00000050 le= n=3D1 assigned_dev_pci_read_config: (4.0): address=3D0050 val=3D0x00000011 le= n=3D1 assigned_dev_pci_read_config: (4.0): address=3D0052 val=3D0x00000008 le= n=3D2 assigned_dev_pci_read_config: (4.0): address=3D0054 val=3D0x0000c000 le= n=3D4 msix_mmio_writel: write to MSI-X entry table mmio offset 0x0, val 0xfee= ff00c msix_mmio_writel: write to MSI-X entry table mmio offset 0x4, val 0x0 msix_mmio_writel: write to MSI-X entry table mmio offset 0x8, val 0x414= 9 msix_mmio_writel: write to MSI-X entry table mmio offset 0x10, val 0xfe= eff00c msix_mmio_writel: write to MSI-X entry table mmio offset 0x14, val 0x0 msix_mmio_writel: write to MSI-X entry table mmio offset 0x18, val 0x41= 51 msix_mmio_writel: write to MSI-X entry table mmio offset 0x20, val 0xfe= eff00c msix_mmio_writel: write to MSI-X entry table mmio offset 0x24, val 0x0 msix_mmio_writel: write to MSI-X entry table mmio offset 0x28, val 0x41= 59 msix_mmio_writel: write to MSI-X entry table mmio offset 0x30, val 0xfe= eff00c msix_mmio_writel: write to MSI-X entry table mmio offset 0x34, val 0x0 msix_mmio_writel: write to MSI-X entry table mmio offset 0x38, val 0x41= 61 msix_mmio_writel: write to MSI-X entry table mmio offset 0x40, val 0xfe= eff00c msix_mmio_writel: write to MSI-X entry table mmio offset 0x44, val 0x0 msix_mmio_writel: write to MSI-X entry table mmio offset 0x48, val 0x41= 69 msix_mmio_writel: write to MSI-X entry table mmio offset 0x50, val 0xfe= eff00c msix_mmio_writel: write to MSI-X entry table mmio offset 0x54, val 0x0 msix_mmio_writel: write to MSI-X entry table mmio offset 0x58, val 0x41= 71 msix_mmio_writel: write to MSI-X entry table mmio offset 0x60, val 0xfe= eff00c msix_mmio_writel: write to MSI-X entry table mmio offset 0x64, val 0x0 msix_mmio_writel: write to MSI-X entry table mmio offset 0x68, val 0x41= 79 msix_mmio_writel: write to MSI-X entry table mmio offset 0x70, val 0xfe= eff00c msix_mmio_writel: write to MSI-X entry table mmio offset 0x74, val 0x0 msix_mmio_writel: write to MSI-X entry table mmio offset 0x78, val 0x41= 81 msix_mmio_writel: write to MSI-X entry table mmio offset 0x80, val 0xfe= eff00c msix_mmio_writel: write to MSI-X entry table mmio offset 0x84, val 0x0 msix_mmio_writel: write to MSI-X entry table mmio offset 0x88, val 0x41= 89 assigned_dev_pci_read_config: (4.0): address=3D0004 val=3D0x00000046 le= n=3D2 assigned_dev_pci_write_config: (4.0): address=3D0004 val=3D0x00000446 l= en=3D2 assigned_dev_pci_write_config: NON BAR (4.0): address=3D0004 val=3D0x00= 000446 len=3D2 assigned_dev_pci_read_config: (4.0): address=3D0006 val=3D0x00000010 le= n=3D2 assigned_dev_pci_read_config: (4.0): address=3D0034 val=3D0x00000040 le= n=3D1 assigned_dev_pci_read_config: (4.0): address=3D0040 val=3D0x00000005 le= n=3D1 assigned_dev_pci_read_config: (4.0): address=3D0041 val=3D0x00000050 le= n=3D1 assigned_dev_pci_read_config: (4.0): address=3D0050 val=3D0x00000011 le= n=3D1 assigned_dev_pci_read_config: (4.0): address=3D0052 val=3D0x00000008 le= n=3D2 assigned_dev_pci_write_config: (4.0): address=3D0052 val=3D0x00008008 l= en=3D2 the MSIX capabilty position is 0x50 the MSIX entries_max_nr is 0x9 0: msg_ctrl: 0000 1: msg_ctrl: 0000 2: msg_ctrl: 0000 3: msg_ctrl: 0000 4: msg_ctrl: 0000 5: msg_ctrl: 0000 6: msg_ctrl: 0000 7: msg_ctrl: 0000 8: msg_ctrl: 0000 assigned_dev_update_msix_mmio: MSI-X data 0x4149, MSI-X addr_lo 0xfeeff= 00c !assigned_dev_update_msix_mmio: MSI-X entry gsi 0x18, entry 0 !assigned_dev_update_msix_mmio: MSI-X data 0x4151, MSI-X addr_lo 0xfeef= f00c !assigned_dev_update_msix_mmio: MSI-X entry gsi 0x19, entry 1 !assigned_dev_update_msix_mmio: MSI-X data 0x4159, MSI-X addr_lo 0xfeef= f00c !assigned_dev_update_msix_mmio: MSI-X entry gsi 0x1a, entry 2 !assigned_dev_update_msix_mmio: MSI-X data 0x4161, MSI-X addr_lo 0xfeef= f00c !assigned_dev_update_msix_mmio: MSI-X entry gsi 0x1b, entry 3 !assigned_dev_update_msix_mmio: MSI-X data 0x4169, MSI-X addr_lo 0xfeef= f00c !assigned_dev_update_msix_mmio: MSI-X entry gsi 0x1c, entry 4 !assigned_dev_update_msix_mmio: MSI-X data 0x4171, MSI-X addr_lo 0xfeef= f00c !assigned_dev_update_msix_mmio: MSI-X entry gsi 0x1d, entry 5 !assigned_dev_update_msix_mmio: MSI-X data 0x4179, MSI-X addr_lo 0xfeef= f00c !assigned_dev_update_msix_mmio: MSI-X entry gsi 0x1e, entry 6 !assigned_dev_update_msix_mmio: MSI-X data 0x4181, MSI-X addr_lo 0xfeef= f00c !assigned_dev_update_msix_mmio: MSI-X entry gsi 0x1f, entry 7 !assigned_dev_update_msix_mmio: MSI-X data 0x4189, MSI-X addr_lo 0xfeef= f00c !assigned_dev_update_msix_mmio: MSI-X entry gsi 0x20, entry 8 !msix_mmio_writel: write to MSI-X entry table mmio offset 0xc, val 0x0 msix_mmio_writel: write to MSI-X entry table mmio offset 0x1c, val 0x0 msix_mmio_writel: write to MSI-X entry table mmio offset 0x2c, val 0x0 msix_mmio_writel: write to MSI-X entry table mmio offset 0x3c, val 0x0 msix_mmio_writel: write to MSI-X entry table mmio offset 0x4c, val 0x0 msix_mmio_writel: write to MSI-X entry table mmio offset 0x5c, val 0x0 msix_mmio_writel: write to MSI-X entry table mmio offset 0x6c, val 0x0 msix_mmio_writel: write to MSI-X entry table mmio offset 0x7c, val 0x0 assigned_dev_pci_write_config: (4.0): address=3D0068 val=3D0x00000088 l= en=3D4 assigned_dev_pci_write_config: NON BAR (4.0): address=3D0068 val=3D0x00= 000088 len=3D4 assigned_dev_pci_write_config: (4.0): address=3D0068 val=3D0x00000088 l= en=3D4 assigned_dev_pci_write_config: NON BAR (4.0): address=3D0068 val=3D0x00= 000088 len=3D4 msix_mmio_writel: write to MSI-X entry table mmio offset 0xc, val 0x1 msix_mmio_writel: write to MSI-X entry table mmio offset 0x1c, val 0x1 msix_mmio_writel: write to MSI-X entry table mmio offset 0x2c, val 0x1 msix_mmio_writel: write to MSI-X entry table mmio offset 0x3c, val 0x1 msix_mmio_writel: write to MSI-X entry table mmio offset 0x4c, val 0x1 msix_mmio_writel: write to MSI-X entry table mmio offset 0x5c, val 0x1 msix_mmio_writel: write to MSI-X entry table mmio offset 0x6c, val 0x1 msix_mmio_writel: write to MSI-X entry table mmio offset 0x7c, val 0x1 assigned_dev_pci_read_config: (4.0): address=3D0006 val=3D0x00000010 le= n=3D2 assigned_dev_pci_read_config: (4.0): address=3D0034 val=3D0x00000040 le= n=3D1 assigned_dev_pci_read_config: (4.0): address=3D0040 val=3D0x00000005 le= n=3D1 assigned_dev_pci_read_config: (4.0): address=3D0041 val=3D0x00000050 le= n=3D1 assigned_dev_pci_read_config: (4.0): address=3D0050 val=3D0x00000011 le= n=3D1 assigned_dev_pci_read_config: (4.0): address=3D0052 val=3D0x00008008 le= n=3D2 assigned_dev_pci_write_config: (4.0): address=3D0052 val=3D0x00000008 l= en=3D2 assigned_dev_pci_read_config: (4.0): address=3D0004 val=3D0x00000046 le= n=3D2 msix_mmio_writel: write to MSI-X entry table mmio offset 0xc, val 0x1 msix_mmio_writel: write to MSI-X entry table mmio offset 0x1c, val 0x1 msix_mmio_writel: write to MSI-X entry table mmio offset 0x2c, val 0x1 msix_mmio_writel: write to MSI-X entry table mmio offset 0x3c, val 0x1 msix_mmio_writel: write to MSI-X entry table mmio offset 0x4c, val 0x1 msix_mmio_writel: write to MSI-X entry table mmio offset 0x5c, val 0x1 msix_mmio_writel: write to MSI-X entry table mmio offset 0x6c, val 0x1 msix_mmio_writel: write to MSI-X entry table mmio offset 0x7c, val 0x1 msix_mmio_writel: write to MSI-X entry table mmio offset 0x8c, val 0x1 assigned_dev_pci_read_config: (4.0): address=3D0006 val=3D0x00000010 le= n=3D2 assigned_dev_pci_read_config: (4.0): address=3D0034 val=3D0x00000040 le= n=3D1 assigned_dev_pci_read_config: (4.0): address=3D0040 val=3D0x00000005 le= n=3D1 assigned_dev_pci_read_config: (4.0): address=3D0041 val=3D0x00000050 le= n=3D1 assigned_dev_pci_read_config: (4.0): address=3D0050 val=3D0x00000011 le= n=3D1 assigned_dev_pci_read_config: (4.0): address=3D0006 val=3D0x00000010 le= n=3D2 assigned_dev_pci_read_config: (4.0): address=3D0034 val=3D0x00000040 le= n=3D1 assigned_dev_pci_read_config: (4.0): address=3D0040 val=3D0x00000005 le= n=3D1 assigned_dev_pci_read_config: (4.0): address=3D0041 val=3D0x00000050 le= n=3D1 assigned_dev_pci_read_config: (4.0): address=3D0050 val=3D0x00000011 le= n=3D1 assigned_dev_pci_read_config: (4.0): address=3D0052 val=3D0x00000008 le= n=3D2 assigned_dev_pci_read_config: (4.0): address=3D0006 val=3D0x00000010 le= n=3D2 assigned_dev_pci_read_config: (4.0): address=3D0034 val=3D0x00000040 le= n=3D1 assigned_dev_pci_read_config: (4.0): address=3D0040 val=3D0x00000005 le= n=3D1 assigned_dev_pci_read_config: (4.0): address=3D0041 val=3D0x00000050 le= n=3D1 assigned_dev_pci_read_config: (4.0): address=3D0050 val=3D0x00000011 le= n=3D1 assigned_dev_pci_read_config: (4.0): address=3D0052 val=3D0x00000008 le= n=3D2 assigned_dev_pci_write_config: (4.0): address=3D0052 val=3D0x00000008 l= en=3D2 assigned_dev_pci_read_config: (4.0): address=3D0006 val=3D0x00000010 le= n=3D2 assigned_dev_pci_read_config: (4.0): address=3D0034 val=3D0x00000040 le= n=3D1 assigned_dev_pci_read_config: (4.0): address=3D0040 val=3D0x00000005 le= n=3D1 assigned_dev_pci_read_config: (4.0): address=3D0041 val=3D0x00000050 le= n=3D1 assigned_dev_pci_read_config: (4.0): address=3D0050 val=3D0x00000011 le= n=3D1 assigned_dev_pci_read_config: (4.0): address=3D0052 val=3D0x00000008 le= n=3D2 assigned_dev_pci_read_config: (4.0): address=3D0054 val=3D0x0000c000 le= n=3D4 msix_mmio_writel: write to MSI-X entry table mmio offset 0x0, val 0xfee= ff00c msix_mmio_writel: write to MSI-X entry table mmio offset 0x4, val 0x0 msix_mmio_writel: write to MSI-X entry table mmio offset 0x8, val 0x419= 1 msix_mmio_writel: write to MSI-X entry table mmio offset 0x10, val 0xfe= eff00c msix_mmio_writel: write to MSI-X entry table mmio offset 0x14, val 0x0 msix_mmio_writel: write to MSI-X entry table mmio offset 0x18, val 0x41= 99 msix_mmio_writel: write to MSI-X entry table mmio offset 0x20, val 0xfe= eff00c msix_mmio_writel: write to MSI-X entry table mmio offset 0x24, val 0x0 msix_mmio_writel: write to MSI-X entry table mmio offset 0x28, val 0x41= a1 msix_mmio_writel: write to MSI-X entry table mmio offset 0x30, val 0xfe= eff00c msix_mmio_writel: write to MSI-X entry table mmio offset 0x34, val 0x0 msix_mmio_writel: write to MSI-X entry table mmio offset 0x38, val 0x41= a9 msix_mmio_writel: write to MSI-X entry table mmio offset 0x40, val 0xfe= eff00c msix_mmio_writel: write to MSI-X entry table mmio offset 0x44, val 0x0 msix_mmio_writel: write to MSI-X entry table mmio offset 0x48, val 0x41= b1 msix_mmio_writel: write to MSI-X entry table mmio offset 0x50, val 0xfe= eff00c msix_mmio_writel: write to MSI-X entry table mmio offset 0x54, val 0x0 msix_mmio_writel: write to MSI-X entry table mmio offset 0x58, val 0x41= b9 msix_mmio_writel: write to MSI-X entry table mmio offset 0x60, val 0xfe= eff00c msix_mmio_writel: write to MSI-X entry table mmio offset 0x64, val 0x0 msix_mmio_writel: write to MSI-X entry table mmio offset 0x68, val 0x41= c1 msix_mmio_writel: write to MSI-X entry table mmio offset 0x70, val 0xfe= eff00c msix_mmio_writel: write to MSI-X entry table mmio offset 0x74, val 0x0 msix_mmio_writel: write to MSI-X entry table mmio offset 0x78, val 0x41= c9 msix_mmio_writel: write to MSI-X entry table mmio offset 0x80, val 0xfe= eff00c msix_mmio_writel: write to MSI-X entry table mmio offset 0x84, val 0x0 msix_mmio_writel: write to MSI-X entry table mmio offset 0x88, val 0x41= d1 assigned_dev_pci_read_config: (4.0): address=3D0004 val=3D0x00000046 le= n=3D2 assigned_dev_pci_write_config: (4.0): address=3D0004 val=3D0x00000446 l= en=3D2 assigned_dev_pci_write_config: NON BAR (4.0): address=3D0004 val=3D0x00= 000446 len=3D2 assigned_dev_pci_read_config: (4.0): address=3D0006 val=3D0x00000010 le= n=3D2 assigned_dev_pci_read_config: (4.0): address=3D0034 val=3D0x00000040 le= n=3D1 assigned_dev_pci_read_config: (4.0): address=3D0040 val=3D0x00000005 le= n=3D1 assigned_dev_pci_read_config: (4.0): address=3D0041 val=3D0x00000050 le= n=3D1 assigned_dev_pci_read_config: (4.0): address=3D0050 val=3D0x00000011 le= n=3D1 assigned_dev_pci_read_config: (4.0): address=3D0052 val=3D0x00000008 le= n=3D2 assigned_dev_pci_write_config: (4.0): address=3D0052 val=3D0x00008008 l= en=3D2 the MSIX capabilty position is 0x50 the MSIX entries_max_nr is 0x9 0: msg_ctrl: 0001 1: msg_ctrl: 0001 2: msg_ctrl: 0001 3: msg_ctrl: 0001 4: msg_ctrl: 0001 5: msg_ctrl: 0001 6: msg_ctrl: 0001 7: msg_ctrl: 0001 8: msg_ctrl: 0001 MSI-X entry number is zero! assigned_dev_update_msix_mmio: No such device or address msix_mmio_writel: write to MSI-X entry table mmio offset 0xc, val 0x0 msix_mmio_writel: write to MSI-X entry table mmio offset 0x1c, val 0x0 msix_mmio_writel: write to MSI-X entry table mmio offset 0x2c, val 0x0 msix_mmio_writel: write to MSI-X entry table mmio offset 0x3c, val 0x0 msix_mmio_writel: write to MSI-X entry table mmio offset 0x4c, val 0x0 msix_mmio_writel: write to MSI-X entry table mmio offset 0x5c, val 0x0 msix_mmio_writel: write to MSI-X entry table mmio offset 0x6c, val 0x0 msix_mmio_writel: write to MSI-X entry table mmio offset 0x7c, val 0x0 assigned_dev_pci_write_config: (4.0): address=3D0068 val=3D0x00000088 l= en=3D4 assigned_dev_pci_write_config: NON BAR (4.0): address=3D0068 val=3D0x00= 000088 len=3D4