On Monday 04 May 2009 17:11:59 Nicholas A. Bellinger wrote:
> On Mon, 2009-05-04 at 16:20 +0800, Sheng Yang wrote:
> > On Monday 04 May 2009 12:36:04 Nicholas A. Bellinger wrote:
> > > On Mon, 2009-05-04 at 10:09 +0800, Sheng Yang wrote:
> > > > On Monday 04 May 2009 08:53:07 Nicholas A. Bellinger wrote:
> > > > > On Sat, 2009-05-02 at 18:22 +0800, Sheng Yang wrote:
> > > > > > On Thu, Apr 30, 2009 at 01:22:54PM -0700, Nicholas A. Bellinger 
wrote:
> > > > > > > Greetings KVM folks,
> > > > > > >
> > > > > > > I wondering if any information exists for doing SR-IOV on the
> > > > > > > new VT-d capable chipsets with KVM..?  From what I understand
> > > > > > > the patches for doing this with KVM are floating around, but I
> > > > > > > have been unable to find any user-level docs for actually
> > > > > > > making it all go against a upstream v2.6.30-rc3 code..
> > > > > > >
> > > > > > > So far I have been doing IOV testing with Xen 3.3 and
> > > > > > > 3.4.0-pre, and I am really hoping to be able to jump to KVM for
> > > > > > > single-function and and then multi-function SR-IOV.  I know
> > > > > > > that the VM migration stuff for IOV in Xen is up and running, 
> > > > > > > and I assume it is being worked in for KVM instance migration
> > > > > > > as well..? This part is less important (at least for me :-)
> > > > > > > than getting a stable SR-IOV setup running under the KVM
> > > > > > > hypervisor..  Does anyone have any pointers for this..?
> > > > > > >
> > > > > > > Any comments or suggestions are appreciated!
> > > > > >
> > > > > > Hi Nicholas
> > > > > >
> > > > > > The patches are not floating around now. As you know, SR-IOV for
> > > > > > Linux have been in 2.6.30, so then you can use upstream KVM and
> > > > > > qemu-kvm(or recent released kvm-85) with 2.6.30-rc3 as host
> > > > > > kernel. And some time ago, there are several SRIOV related
> > > > > > patches for qemu-kvm, and now they all have been checked in.
> > > > > >
> > > > > > And for KVM, the extra document is not necessary, for you can
> > > > > > simple assign a VF to guest like any other devices. And how to
> > > > > > create VF is specific for each device driver. So just create a VF
> > > > > > then assign it to KVM guest is fine.
> > > > >
> > > > > Greetings Sheng,
> > > > >
> > > > > So, I have been trying the latest kvm-85 release on a v2.6.30-rc3
> > > > > checkout from linux-2.6.git on a CentOS 5u3 x86_64 install on Intel
> > > > > IOH-5520 based dual socket Nehalem board.  I have enabled DMAR and
> > > > > Interrupt Remapping my KVM host using v2.6.30-rc3 and from what I
> > > > > can tell, the KVM_CAP_* defines from libkvm are enabled with
> > > > > building kvm-85 after './configure
> > > > > --kerneldir=/usr/src/linux-2.6.git' and the PCI passthrough code is
> > > > > being enabled in
> > > > > kvm-85/qemu/hw/device-assignment.c AFAICT..
> > > > >
> > > > > >From there, I use the freshly installed qemu-x86_64-system binary
> > > > > > to
> > > > >
> > > > > start a Debian 5 x86_64 HVM (that previously had been moving
> > > > > network packets under Xen for PCIe passthrough). I see the MSI-X
> > > > > interrupt remapping working on the KVM host for the passed
> > > > > -pcidevice, and the MMIO mappings from the qemu build that I also
> > > > > saw while using Xen/qemu-dm built with PCI passthrough are there as
> > > > > well..
> > > >
> > > > Hi Nicholas
> > > >
> > > > > But while the KVM guest is booting, I see the following
> > > > > exception(s) from qemu-x86_64-system for one of the VFs for a
> > > > > multi-function PCIe device:
> > > > >
> > > > > BUG: kvm_destroy_phys_mem: invalid parameters (slot=-1)
> > > >
> > > > This one is mostly harmless.
> > >
> > > Ok, good to know..  :-)
> > >
> > > > > I try with one of the on-board e1000e ports (02:00.0) and I see the
> > > > > same exception along with some MSI-X exceptions from
> > > > > qemu-x86_64-system in KVM guest.. However, I am still able to see
> > > > > the e1000e and the other vxge multi-function device with lspci, but
> > > > > I am unable to dhcp or ping with the e1000e and VF from
> > > > > multi-function device fails to register the MSI-X interrupt in the
> > > > > guest..
> > > >
> > > > Did you see the interrupt in the guest and host side?
> > >
> > > Ok, I am restarting the e1000e test with a fresh Fedora 11 install and
> > > KVM host kernel 2.6.29.1-111.fc11.x86_64.   After unbinding and
> > > attaching the e1000e single-function device at 02:00.0 to pci-stub
> > > with:
> > >
> > >    echo "8086 10d3" > /sys/bus/pci/drivers/pci-stub/new_id
> > >    echo 0000:02:00.0 > /sys/bus/pci/devices/0000:02:00.0/driver/unbind
> > >    echo 0000:02:00.0 > /sys/bus/pci/drivers/pci-stub/bind
> > >
> > > I see the following the KVM host kernel ring buffer:
> > >
> > >    e1000e 0000:02:00.0: PCI INT A disabled
> > >    pci-stub 0000:02:00.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17
> > >    pci-stub 0000:02:00.0: irq 58 for MSI/MSI-X
> > >
> > > >  I think you can try on-
> > > > board e1000e for MSI-X first. And please ensure correlated driver
> > > > have been loaded correctly.
> > >
> > > <nod>..
> > >
> > > >  And what do you mean by "some MSI-X exceptions"? Better with
> > > > the log.
> > >
> > > Ok, with the Fedora 11 installed qemu-kemu, I see the expected
> > > kvm_destroy_phys_mem() statements:
> > >
> > > #kvm-host qemu-kvm -m 2048 -smp 8 -pcidevice host=02:00.0
> > > lenny64guest1-orig.img BUG: kvm_destroy_phys_mem: invalid parameters
> > > (slot=-1)
> > > BUG: kvm_destroy_phys_mem: invalid parameters (slot=-1)
> > >
> > > However I still see the following in the KVM guest kernel ring buffer
> > > running v2.6.30-rc in the HVM guest.
> > >
> > > [    5.523790] ACPI: PCI Interrupt Link [LNKA] enabled at IRQ 10
> > > [    5.524582] e1000e 0000:00:05.0: PCI INT A -> Link[LNKA] -> GSI 10
> > > (level, high) -> IRQ 10 [    5.525710] e1000e 0000:00:05.0: setting
> > > latency timer to 64
> > > [    5.526048] 0000:00:05.0: 0000:00:05.0: Failed to initialize MSI-X
> > > interrupts.  Falling back to MSI interrupts. [    5.527200]
> > > 0000:00:05.0: 0000:00:05.0: Failed to initialize MSI interrupts. 
> > > Falling back to legacy interrupts. [    5.829988] 0000:00:05.0: eth0:
> > > (PCI Express:2.5GB/s:Width x1) 00:e0:81:c0:90:b2 [    5.830672]
> > > 0000:00:05.0: eth0: Intel(R) PRO/1000 Network Connection [    5.831240]
> > > 0000:00:05.0: eth0: MAC: 3, PHY: 8, PBA No: ffffff-0ff
> >
> > Hi Nicholas
> >
> > I think something need to be clarify:
> > 1. For SRIOV, you need 2.6.30 as host kernel... But it's better to know
> > if normal device assignment work in your environment at first.
> > 2. The Fedora's userspace is even more old... You'd better try qemu-kvm
> > upstream, which is more convenient for us to track the problem(and kvm-85
> > is also ok). And as you see above, your QEmu don't support MSI/MSIX...
>
> Ok, got it..
>
> > So you can:
> > 1. Use latest qemu-kvm or kvm-85's QEmu. As well as latest KVM.
>
> Ok, I am now updated on in the FC 11 Host with kvm-85 kernel modules and
> am using the built qemu-system-x86_64 from the kvm-85 source package:
>
> loaded kvm module (kvm-85)
> QEMU PC emulator version 0.10.0 (kvm-85), Copyright (c) 2003-2008 Fabrice
> Bellard
>
> > 2. Your host kernel is Fedora 11 Preview, that should be fine with device
> > assignment at first(and let's solve it first, SRIOV the next step).
>
> Ok, yeah I will stick with the v2.6.29 fc11 kernel on the KVM host for
> the momemt to get e1000e working.  But I will start building a
> v2.6.30-rc3 kernel again for my fc11 host kernel as I do need SR-IOV at
> some point... :-)
>
> > 3. Your KVM version seems like kvm-85, you may provide some dmesg on host
> > side(I think you didn't use the KVM come along with kernel).
>
> Ok, now within the KVM guest running v2.6.29.2, I see the following:
>
> [    2.669243] e1000e: Intel(R) PRO/1000 Network Driver - 0.3.3.3-k6
> [    2.672931] e1000e: Copyright (c) 1999-2008 Intel Corporation.
> [    2.674932] ACPI: PCI Interrupt Link [LNKA] enabled at IRQ 10
> [    2.675181] 8139too Fast Ethernet driver 0.9.28
> [    2.676783] e1000e 0000:00:05.0: PCI INT A -> Link[LNKA] -> GSI 10
> (level, high) -> IRQ 10
> [    2.678143] e1000e 0000:00:05.0: setting latency timer to 64
> [    2.679539] e1000e 0000:00:05.0: irq 24 for MSI/MSI-X
> [    2.679603] e1000e 0000:00:05.0: irq 25 for MSI/MSI-X
> [    2.679659] e1000e 0000:00:05.0: irq 26 for MSI/MSI-X
> [    2.698039] FDC 0 is a S82078B
> [    2.801673] 0000:00:05.0: eth0: (PCI Express:2.5GB/s:Width x1)
> 00:e0:81:c0:90:b2
> [    2.802811] 0000:00:05.0: eth0: Intel(R) PRO/1000 Network Connection
> [    2.803697] 0000:00:05.0: eth0: MAC: 3, PHY: 8, PBA No: ffffff-0ff
>
> And the folllowing from /proc/interrupts inside of the KVM guest:
>
>  24:        117          0          0          0          0          0     
>     0          0          0          0   PCI-MSI-edge      eth1-rx-0 25:   
>       0          0          0          0          0          0          0  
>        0          0          0   PCI-MSI-edge      eth1-tx-0 26:          2
>          0          0          0          0          0          0         
> 0          0          0   PCI-MSI-edge      eth1
>
> ethtool eth1 reports that Link is detected, but I am still unable to get
> a dhcp to work.

It's a little strange that I checked all the log you posted, but can't find 
anything suspicious...(Except you got a MCE log in your dmesg, but I don't 
think it would relate to this).

You also already have interrupts in the guest for eth1-rx-0 and eth1, so at 
least part of interrupts can be delivered to the guest. 

You can try to connect the port to another NIC port directly. Set fixed ip for 
each, then ping each other.

You can also try to disable MSI-X capability in QEmu. Just using "#if 
0/#endif" to wrap "#ifdef KVM_CAP_DEVICE_MSIX/#endif" in 
hw/assigned_device_pci_cap_init(). Then the device would use MSI.

If I am lucky enough to find a 82574L card by hand, I would give it a try...

-- 
regards
Yang, Sheng

>
> However, I do not see the netdev watchdog TX timeouts this time with
> kvm-85, but still no ping to eth1 from KVM guest..
>
> > 4. Your guest kernel is somehow new, maybe you can change it to something
> > like 2.6.29.x which is more stable(but it may not matter). And you are
> > right, no special setup needed for guest kernel (just suppose it's run in
> > a no-VT capability machine).
>
> I will retest with the v2.6.20-rc3 guest and see if MSI-X is able to
> successfully come-up and get dhcp.
>
> > And you can post your _host_ dmesg, as well as the output of debug for
>
> Attached is the dmesg from the 2.6.29.1-111.fc11.x86_64-iov-dmesg KVM
> host machine.
>
> > kvm-85/qemu/hw/device-assignment.c when you don't get response from dhcp.
>
> [r...@barret ~]#  qemu-system-x86_64 -m 2048 -smp 10 -pcidevice
> host=02:00.0 lenny64guest1-orig.img init_assigned_device: Registering real
> physical device 02:00.0 (bus=2 dev=0 func=0) get_real_device: region 0 size
> 131072 start 0xfb5e0000 type 512 resource_fd 21 get_real_device: region 2
> size 32 start 0xdc00 type 256 resource_fd 0 get_real_device: region 3 size
> 16384 start 0xfb5dc000 type 512 resource_fd 22
> assigned_dev_pci_read_config: (5.0): address=0000 val=0x00008086 len=2
> assigned_dev_pci_read_config: (5.0): address=0002 val=0x000010d3 len=2
> assigned_dev_pci_read_config: (5.0): address=0000 val=0x00008086 len=2
> assigned_dev_pci_read_config: (5.0): address=0002 val=0x000010d3 len=2
> assigned_dev_pci_read_config: (5.0): address=0000 val=0x00008086 len=2
> assigned_dev_pci_read_config: (5.0): address=0002 val=0x000010d3 len=2
> assigned_dev_pci_read_config: (5.0): address=000a val=0x00000200 len=2
> assigned_dev_pci_read_config: (5.0): address=0000 val=0x00008086 len=2
> assigned_dev_pci_read_config: (5.0): address=0002 val=0x000010d3 len=2
> assigned_dev_pci_write_config: (5.0): address=0010 val=0xffffffff len=4
> assigned_dev_pci_read_config: (5.0): address=0010 val=0xfffe0000 len=4
> assigned_dev_pci_read_config: (5.0): address=0010 val=0xfffe0000 len=4
> assigned_dev_pci_write_config: (5.0): address=0010 val=0xf2020000 len=4
> assigned_dev_iomem_map: e_phys=f2020000 r_virt=0x7f4a24018000 type=0
> len=00020000 region_num=0 assigned_dev_pci_read_config: (5.0): address=0004
> val=0x00000403 len=2 assigned_dev_pci_write_config: (5.0): address=0004
> val=0x00000403 len=2 assigned_dev_pci_write_config: NON BAR (5.0):
> address=0004 val=0x00000403 len=2 assigned_dev_pci_write_config: (5.0):
> address=0014 val=0xffffffff len=4 assigned_dev_pci_read_config: (5.0):
> address=0014 val=0x00000000 len=4 assigned_dev_pci_write_config: (5.0):
> address=0018 val=0xffffffff len=4 assigned_dev_pci_read_config: (5.0):
> address=0018 val=0xffffffe1 len=4 assigned_dev_pci_read_config: (5.0):
> address=0018 val=0xffffffe1 len=4 assigned_dev_pci_write_config: (5.0):
> address=0018 val=0x0000c220 len=4 assigned_dev_ioport_map: e_phys=0xc220
> r_baseport=dc00 type=0x1 len=32 region_num=2 assigned_dev_pci_read_config:
> (5.0): address=0004 val=0x00000403 len=2 assigned_dev_pci_write_config:
> (5.0): address=0004 val=0x00000403 len=2 assigned_dev_pci_write_config: NON
> BAR (5.0): address=0004 val=0x00000403 len=2 assigned_dev_pci_write_config:
> (5.0): address=001c val=0xffffffff len=4 assigned_dev_pci_read_config:
> (5.0): address=001c val=0xffffc000 len=4 assigned_dev_pci_read_config:
> (5.0): address=001c val=0xffffc000 len=4 assigned_dev_pci_write_config:
> (5.0): address=001c val=0xf2040000 len=4 assigned_dev_iomem_map:
> e_phys=f2040000 r_virt=0x7f4a24014000 type=0 len=00004000 region_num=3
> assigned_dev_iomem_map: munmap done, virt_base 0x0x7f4a24014000
> assigned_dev_pci_read_config: (5.0): address=0004 val=0x00000403 len=2
> assigned_dev_pci_write_config: (5.0): address=0004 val=0x00000403 len=2
> assigned_dev_pci_write_config: NON BAR (5.0): address=0004 val=0x00000403
> len=2 assigned_dev_pci_write_config: (5.0): address=0020 val=0xffffffff
> len=4 assigned_dev_pci_read_config: (5.0): address=0020 val=0x00000000
> len=4 assigned_dev_pci_write_config: (5.0): address=0024 val=0xffffffff
> len=4 assigned_dev_pci_read_config: (5.0): address=0024 val=0x00000000
> len=4 assigned_dev_pci_write_config: (5.0): address=0030 val=0xffffffff
> len=4 assigned_dev_pci_write_config: NON BAR (5.0): address=0030
> val=0xffffffff len=4 assigned_dev_pci_read_config: (5.0): address=0030
> val=0x00000000 len=4 assigned_dev_pci_read_config: (5.0): address=003d
> val=0x00000001 len=1 assigned_dev_pci_write_config: (5.0): address=003c
> val=0x0000000a len=1 assigned_dev_pci_read_config: (5.0): address=0000
> val=0x10d38086 len=4 assigned_dev_pci_read_config: (5.0): address=000a
> val=0x00000200 len=2 assigned_dev_pci_read_config: (5.0): address=0000
> val=0x00008086 len=2 assigned_dev_pci_read_config: (5.0): address=0002
> val=0x000010d3 len=2 assigned_dev_pci_read_config: (5.0): address=000e
> val=0x00000000 len=1 assigned_dev_pci_read_config: (5.0): address=0008
> val=0x02000000 len=4 assigned_dev_pci_read_config: (5.0): address=000e
> val=0x00000000 len=1 assigned_dev_pci_read_config: (5.0): address=0000
> val=0x10d38086 len=4 assigned_dev_pci_read_config: (5.0): address=000e
> val=0x00000000 len=1 assigned_dev_pci_read_config: (5.0): address=0006
> val=0x00000010 len=2 assigned_dev_pci_read_config: (5.0): address=0034
> val=0x00000040 len=1 assigned_dev_pci_read_config: (5.0): address=0040
> val=0x00000005 len=1 assigned_dev_pci_read_config: (5.0): address=0041
> val=0x00000050 len=1 assigned_dev_pci_read_config: (5.0): address=0050
> val=0x00000011 len=1 assigned_dev_pci_read_config: (5.0): address=0051
> val=0x00000000 len=1 assigned_dev_pci_read_config: (5.0): address=0008
> val=0x02000000 len=4 assigned_dev_pci_read_config: (5.0): address=003d
> val=0x00000001 len=1 assigned_dev_pci_read_config: (5.0): address=003c
> val=0x0000000a len=1 assigned_dev_pci_read_config: (5.0): address=0010
> val=0xf2020000 len=4 assigned_dev_pci_write_config: (5.0): address=0010
> val=0xffffffff len=4 assigned_dev_pci_read_config: (5.0): address=0010
> val=0xfffe0000 len=4 assigned_dev_pci_write_config: (5.0): address=0010
> val=0xf2020000 len=4 assigned_dev_iomem_map: e_phys=f2020000
> r_virt=0x7f4a24018000 type=0 len=00020000 region_num=0 BUG:
> kvm_destroy_phys_mem: invalid parameters (slot=-1)
> assigned_dev_pci_read_config: (5.0): address=0014 val=0x00000000 len=4
> assigned_dev_pci_write_config: (5.0): address=0014 val=0xffffffff len=4
> assigned_dev_pci_read_config: (5.0): address=0014 val=0x00000000 len=4
> assigned_dev_pci_write_config: (5.0): address=0014 val=0x00000000 len=4
> assigned_dev_pci_read_config: (5.0): address=0018 val=0x0000c221 len=4
> assigned_dev_pci_write_config: (5.0): address=0018 val=0xffffffff len=4
> assigned_dev_pci_read_config: (5.0): address=0018 val=0xffffffe1 len=4
> assigned_dev_pci_write_config: (5.0): address=0018 val=0x0000c221 len=4
> assigned_dev_ioport_map: e_phys=0xc220 r_baseport=dc00 type=0x1 len=32
> region_num=2 assigned_dev_pci_read_config: (5.0): address=001c
> val=0xf2040000 len=4 assigned_dev_pci_write_config: (5.0): address=001c
> val=0xffffffff len=4 assigned_dev_pci_read_config: (5.0): address=001c
> val=0xffffc000 len=4 assigned_dev_pci_write_config: (5.0): address=001c
> val=0xf2040000 len=4 assigned_dev_iomem_map: e_phys=f2040000
> r_virt=0x7f4a24014000 type=0 len=00004000 region_num=3 BUG:
> kvm_destroy_phys_mem: invalid parameters (slot=-1)
> assigned_dev_iomem_map: munmap done, virt_base 0x0x7f4a24014000
> assigned_dev_pci_read_config: (5.0): address=0020 val=0x00000000 len=4
> assigned_dev_pci_write_config: (5.0): address=0020 val=0xffffffff len=4
> assigned_dev_pci_read_config: (5.0): address=0020 val=0x00000000 len=4
> assigned_dev_pci_write_config: (5.0): address=0020 val=0x00000000 len=4
> assigned_dev_pci_read_config: (5.0): address=0024 val=0x00000000 len=4
> assigned_dev_pci_write_config: (5.0): address=0024 val=0xffffffff len=4
> assigned_dev_pci_read_config: (5.0): address=0024 val=0x00000000 len=4
> assigned_dev_pci_write_config: (5.0): address=0024 val=0x00000000 len=4
> assigned_dev_pci_read_config: (5.0): address=0030 val=0x00000000 len=4
> assigned_dev_pci_write_config: (5.0): address=0030 val=0xfffffffe len=4
> assigned_dev_pci_write_config: NON BAR (5.0): address=0030 val=0xfffffffe
> len=4 assigned_dev_pci_read_config: (5.0): address=0030 val=0x00000000
> len=4 assigned_dev_pci_write_config: (5.0): address=0030 val=0x00000000
> len=4 assigned_dev_pci_write_config: NON BAR (5.0): address=0030
> val=0x00000000 len=4 assigned_dev_pci_read_config: (5.0): address=002c
> val=0x00008086 len=2 assigned_dev_pci_read_config: (5.0): address=002e
> val=0x00000000 len=2 assigned_dev_pci_read_config: (5.0): address=0006
> val=0x00000010 len=2 assigned_dev_pci_read_config: (5.0): address=0034
> val=0x00000040 len=1 assigned_dev_pci_read_config: (5.0): address=0040
> val=0x00000005 len=1 assigned_dev_pci_read_config: (5.0): address=0041
> val=0x00000050 len=1 assigned_dev_pci_read_config: (5.0): address=0050
> val=0x00000011 len=1 assigned_dev_pci_read_config: (5.0): address=0051
> val=0x00000000 len=1 assigned_dev_pci_read_config: (5.0): address=0006
> val=0x00000010 len=2 assigned_dev_pci_read_config: (5.0): address=0034
> val=0x00000040 len=1 assigned_dev_pci_read_config: (5.0): address=0040
> val=0x00000005 len=1 assigned_dev_pci_read_config: (5.0): address=0041
> val=0x00000050 len=1 assigned_dev_pci_read_config: (5.0): address=0050
> val=0x00000011 len=1 assigned_dev_pci_read_config: (5.0): address=0051
> val=0x00000000 len=1 assigned_dev_pci_read_config: (5.0): address=0006
> val=0x00000010 len=2 assigned_dev_pci_read_config: (5.0): address=0034
> val=0x00000040 len=1 assigned_dev_pci_read_config: (5.0): address=0040
> val=0x00000005 len=1 assigned_dev_pci_read_config: (5.0): address=0041
> val=0x00000050 len=1 assigned_dev_pci_read_config: (5.0): address=0050
> val=0x00000011 len=1 assigned_dev_pci_read_config: (5.0): address=0051
> val=0x00000000 len=1 assigned_dev_pci_read_config: (5.0): address=0006
> val=0x00000010 len=2 assigned_dev_pci_read_config: (5.0): address=0034
> val=0x00000040 len=1 assigned_dev_pci_read_config: (5.0): address=0040
> val=0x00000005 len=1 assigned_dev_pci_read_config: (5.0): address=0041
> val=0x00000050 len=1 assigned_dev_pci_read_config: (5.0): address=0050
> val=0x00000011 len=1 assigned_dev_pci_read_config: (5.0): address=0051
> val=0x00000000 len=1 assigned_dev_pci_read_config: (5.0): address=0006
> val=0x00000010 len=2 assigned_dev_pci_read_config: (5.0): address=0034
> val=0x00000040 len=1 assigned_dev_pci_read_config: (5.0): address=0040
> val=0x00000005 len=1 assigned_dev_pci_read_config: (5.0): address=0041
> val=0x00000050 len=1 assigned_dev_pci_read_config: (5.0): address=0050
> val=0x00000011 len=1 assigned_dev_pci_read_config: (5.0): address=0051
> val=0x00000000 len=1 assigned_dev_pci_read_config: (5.0): address=0006
> val=0x00000010 len=2 assigned_dev_pci_read_config: (5.0): address=0034
> val=0x00000040 len=1 assigned_dev_pci_read_config: (5.0): address=0040
> val=0x00000005 len=1 assigned_dev_pci_read_config: (5.0): address=0041
> val=0x00000050 len=1 assigned_dev_pci_read_config: (5.0): address=0050
> val=0x00000011 len=1 assigned_dev_pci_read_config: (5.0): address=0051
> val=0x00000000 len=1 assigned_dev_pci_read_config: (5.0): address=0004
> val=0x00000403 len=2 assigned_dev_pci_read_config: (5.0): address=0004
> val=0x00000403 len=2 assigned_dev_pci_read_config: (5.0): address=0006
> val=0x00000010 len=2 assigned_dev_pci_read_config: (5.0): address=0034
> val=0x00000040 len=1 assigned_dev_pci_read_config: (5.0): address=0040
> val=0x00000005 len=1 assigned_dev_pci_read_config: (5.0): address=0041
> val=0x00000050 len=1 assigned_dev_pci_read_config: (5.0): address=0050
> val=0x00000011 len=1 assigned_dev_pci_read_config: (5.0): address=0051
> val=0x00000000 len=1 assigned_dev_pci_read_config: (5.0): address=0010
> val=0x00000000 len=2 assigned_dev_pci_read_config: (5.0): address=0004
> val=0x00000403 len=2 assigned_dev_pci_read_config: (5.0): address=0004
> val=0x00000403 len=2 assigned_dev_pci_write_config: (5.0): address=0004
> val=0x00000407 len=2 assigned_dev_pci_write_config: NON BAR (5.0):
> address=0004 val=0x00000407 len=2 assigned_dev_pci_read_config: (5.0):
> address=000d val=0x00000000 len=1 assigned_dev_pci_write_config: (5.0):
> address=000d val=0x00000040 len=1 assigned_dev_pci_write_config: NON BAR
> (5.0): address=000d val=0x00000040 len=1 assigned_dev_pci_read_config:
> (5.0): address=0000 val=0x10d38086 len=4 assigned_dev_pci_read_config:
> (5.0): address=0004 val=0x00100407 len=4 assigned_dev_pci_read_config:
> (5.0): address=0008 val=0x02000000 len=4 assigned_dev_pci_read_config:
> (5.0): address=000c val=0x00000010 len=4 assigned_dev_pci_read_config:
> (5.0): address=0010 val=0xf2020000 len=4 assigned_dev_pci_read_config:
> (5.0): address=0014 val=0x00000000 len=4 assigned_dev_pci_read_config:
> (5.0): address=0018 val=0x0000c221 len=4 assigned_dev_pci_read_config:
> (5.0): address=001c val=0xf2040000 len=4 assigned_dev_pci_read_config:
> (5.0): address=0020 val=0x00000000 len=4 assigned_dev_pci_read_config:
> (5.0): address=0024 val=0x00000000 len=4 assigned_dev_pci_read_config:
> (5.0): address=0028 val=0x00000000 len=4 assigned_dev_pci_read_config:
> (5.0): address=002c val=0x00008086 len=4 assigned_dev_pci_read_config:
> (5.0): address=0030 val=0x00000000 len=4 assigned_dev_pci_read_config:
> (5.0): address=0034 val=0x00000040 len=4 assigned_dev_pci_read_config:
> (5.0): address=0038 val=0x00000000 len=4 assigned_dev_pci_read_config:
> (5.0): address=003c val=0x0000010a len=4 assigned_dev_pci_read_config:
> (5.0): address=0006 val=0x00000010 len=2 assigned_dev_pci_read_config:
> (5.0): address=0034 val=0x00000040 len=1 assigned_dev_pci_read_config:
> (5.0): address=0040 val=0x00000005 len=1 assigned_dev_pci_read_config:
> (5.0): address=0041 val=0x00000050 len=1 assigned_dev_pci_read_config:
> (5.0): address=0050 val=0x00000011 len=1 assigned_dev_pci_read_config:
> (5.0): address=0051 val=0x00000000 len=1 assigned_dev_pci_read_config:
> (5.0): address=0006 val=0x00000010 len=2 assigned_dev_pci_read_config:
> (5.0): address=0034 val=0x00000040 len=1 assigned_dev_pci_read_config:
> (5.0): address=0040 val=0x00000005 len=1 assigned_dev_pci_read_config:
> (5.0): address=0041 val=0x00000050 len=1 assigned_dev_pci_read_config:
> (5.0): address=0050 val=0x00000011 len=1 assigned_dev_pci_read_config:
> (5.0): address=0051 val=0x00000000 len=1 assigned_dev_pci_read_config:
> (5.0): address=0006 val=0x00000010 len=2 assigned_dev_pci_read_config:
> (5.0): address=0034 val=0x00000040 len=1 assigned_dev_pci_read_config:
> (5.0): address=0040 val=0x00000005 len=1 assigned_dev_pci_read_config:
> (5.0): address=0041 val=0x00000050 len=1 assigned_dev_pci_read_config:
> (5.0): address=0050 val=0x00000011 len=1 assigned_dev_pci_read_config:
> (5.0): address=0006 val=0x00000010 len=2 assigned_dev_pci_read_config:
> (5.0): address=0034 val=0x00000040 len=1 assigned_dev_pci_read_config:
> (5.0): address=0040 val=0x00000005 len=1 assigned_dev_pci_read_config:
> (5.0): address=0041 val=0x00000050 len=1 assigned_dev_pci_read_config:
> (5.0): address=0050 val=0x00000011 len=1 assigned_dev_pci_read_config:
> (5.0): address=0052 val=0x00000004 len=2 assigned_dev_pci_read_config:
> (5.0): address=0006 val=0x00000010 len=2 assigned_dev_pci_read_config:
> (5.0): address=0034 val=0x00000040 len=1 assigned_dev_pci_read_config:
> (5.0): address=0040 val=0x00000005 len=1 assigned_dev_pci_read_config:
> (5.0): address=0041 val=0x00000050 len=1 assigned_dev_pci_read_config:
> (5.0): address=0050 val=0x00000011 len=1 assigned_dev_pci_read_config:
> (5.0): address=0052 val=0x00000004 len=2 assigned_dev_pci_write_config:
> (5.0): address=0052 val=0x00000004 len=2 assigned_dev_pci_read_config:
> (5.0): address=0006 val=0x00000010 len=2 assigned_dev_pci_read_config:
> (5.0): address=0034 val=0x00000040 len=1 assigned_dev_pci_read_config:
> (5.0): address=0040 val=0x00000005 len=1 assigned_dev_pci_read_config:
> (5.0): address=0041 val=0x00000050 len=1 assigned_dev_pci_read_config:
> (5.0): address=0050 val=0x00000011 len=1 assigned_dev_pci_read_config:
> (5.0): address=0052 val=0x00000004 len=2 assigned_dev_pci_read_config:
> (5.0): address=0054 val=0x00000003 len=4 msix_mmio_writel: write to MSI-X
> entry table mmio offset 0x0, val 0xfee00000 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 0x4049 msix_mmio_writel: write to MSI-X
> entry table mmio offset 0x10, val 0xfee00000 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 0x4051 msix_mmio_writel: write to
> MSI-X entry table mmio offset 0x20, val 0xfee00000 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 0x4059
> assigned_dev_pci_read_config: (5.0): address=0004 val=0x00000007 len=2
> assigned_dev_pci_write_config: (5.0): address=0004 val=0x00000407 len=2
> assigned_dev_pci_write_config: NON BAR (5.0): address=0004 val=0x00000407
> len=2 assigned_dev_pci_read_config: (5.0): address=0006 val=0x00000010
> len=2 assigned_dev_pci_read_config: (5.0): address=0034 val=0x00000040
> len=1 assigned_dev_pci_read_config: (5.0): address=0040 val=0x00000005
> len=1 assigned_dev_pci_read_config: (5.0): address=0041 val=0x00000050
> len=1 assigned_dev_pci_read_config: (5.0): address=0050 val=0x00000011
> len=1 assigned_dev_pci_read_config: (5.0): address=0052 val=0x00000004
> len=2 assigned_dev_pci_write_config: (5.0): address=0052 val=0x00008004
> len=2 assigned_dev_update_msix_mmio: MSI-X data 0x4049, MSI-X addr_lo
> 0xfee00000 !assigned_dev_update_msix_mmio: MSI-X entry gsi 0x18, entry 0
> !assigned_dev_update_msix_mmio: MSI-X data 0x4051, MSI-X addr_lo 0xfee00000
> !assigned_dev_update_msix_mmio: MSI-X entry gsi 0x19, entry 1
> !assigned_dev_update_msix_mmio: MSI-X data 0x4059, MSI-X addr_lo 0xfee00000
> !assigned_dev_update_msix_mmio: MSI-X entry gsi 0x1a, entry 2
> !assigned_dev_pci_read_config: (5.0): address=0006 val=0x00000010 len=2
> assigned_dev_pci_read_config: (5.0): address=0034 val=0x00000040 len=1
> assigned_dev_pci_read_config: (5.0): address=0040 val=0x00000005 len=1
> assigned_dev_pci_read_config: (5.0): address=0041 val=0x00000050 len=1
> assigned_dev_pci_read_config: (5.0): address=0050 val=0x00000011 len=1
> assigned_dev_pci_read_config: (5.0): address=0051 val=0x00000000 len=1
> assigned_dev_pci_read_config: (5.0): address=000e val=0x00000000 len=2
> 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 0x0, val
> 0xfee00000 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
> 0x4049 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 0x10, val
> 0xfee00000 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
> 0x4051 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 0x20, val
> 0xfee00000 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
> 0x4059
>
> > Unhandled MSR doesn't matter - and I thought they have already been
> > discard long ago?
> >
> > I saw the interrupt of host assigned device seems fine, you can also
> > check if guest have interrupt for that device.
> >
> > Thanks.
>
> Thanks!
>
> --nab


--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to