[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] LSI SAS2008 Option Rom Failure
On Wed, Aug 1, 2012 at 4:13 AM, Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> wrote: > On Tue, 31 Jul 2012, David Erickson wrote: >> On Tue, Jul 31, 2012 at 4:39 AM, Stefano Stabellini >> <stefano.stabellini@xxxxxxxxxxxxx> wrote: >> > On Tue, 31 Jul 2012, David Erickson wrote: >> >> Just got back in town, following up on the prior discussion. I >> >> successfully compiled the latest code (25688 and qemu upstream >> >> 5e3bc7144edd6e4fa2824944e5eb16c28197dd5a), but am still having >> >> problems during initialization of the card in the guest, in particular >> >> the unsupported delivery mode 3 which seems to cause interrupt related >> >> problems during init. I've again attached the qemu-dm-log, and xl >> >> dmesg log files, and additionally screenshots of the guest dmesg and >> >> also for comparison starting the same livecd natively on the box. >> > >> > "unsupported delivery mode 3" means that the Linux guest is trying to >> > remap the MSI onto an event channel but Xen is still trying to deliver >> > the MSI using the emulated code path anyway. >> > >> > Adding >> > >> > #define XEN_PT_LOGGING_ENABLED 1 >> > >> > at the top of hw/xen_pt.h and posting the additional QEMU logs could >> > be helpful. >> > >> > The full Xen logs might also be useful. I would add some more tracing to >> > the hypervisor too: >> > >> > diff --git a/xen/drivers/passthrough/io.c b/xen/drivers/passthrough/io.c >> > index b5975d1..08f4ab7 100644 >> > --- a/xen/drivers/passthrough/io.c >> > +++ b/xen/drivers/passthrough/io.c >> > @@ -474,6 +474,11 @@ static void hvm_pci_msi_assert( >> > { >> > struct pirq *pirq = dpci_pirq(pirq_dpci); >> > >> > + printk("DEBUG %s pirq=%d hvm_domain_use_pirq=%d emuirq=%d\n", >> > __func__, >> > + pirq->pirq, >> > + hvm_domain_use_pirq(d, pirq), >> > + pirq->arch.hvm.emuirq); >> > + >> > if ( hvm_domain_use_pirq(d, pirq) ) >> > send_guest_pirq(d, pirq); >> > else >> >> Hi Stefano- >> I made the modifications (it looks like that DEFINE hasn't been used >> in awhile, caused a few compilation issues, I had to prefix most of >> the logged variables with s->hostaddr.), and am attaching the >> qemu-dm-ubuntu.log and dmesg from xl. You referred to full Xen logs, >> where do I find those at? > > Thanks for the logs! > You can get the full Xen logs from the serial console but you can also > grab the last few lines with "xl dmesg", like you did and it seems to be > enough in this case. > > > The initial MSI remapping has been done: > > [00:05.0] msi_msix_setup: requested pirq 4 for MSI-X (vec: 0, entry: 0) > [00:05.0] msi_msix_update: Updating MSI-X with pirq 4 gvec 0 gflags 0x3037 > (entry: 0) > > But the guest is not issuing the EVTCHNOP_bind_pirq hypercall that is > necessary to be able to receive event notifications (emuirq=-1 in the > Xen logs). > > Now we need to figure out why: we still need more logs, this time on the > guest side. > What is the kernel version that you are using in the guest? > Could you please add "debug loglevel=9" to the guest kernel command line > and then post the guest dmesg again? > It would be great if you could use the emulated serial to get the logs > rather than a picture. You can do that by adding serial='pty' to the VM > config file and console=ttyS0 to the guest command line. > This additional Xen change could also tell us if the EVTCHNOP_bind_pirq > has been done: > > > diff --git a/xen/common/event_channel.c b/xen/common/event_channel.c > index 53777f8..d65a97a 100644 > --- a/xen/common/event_channel.c > +++ b/xen/common/event_channel.c > @@ -405,6 +405,8 @@ static long evtchn_bind_pirq(evtchn_bind_pirq_t *bind) > #ifdef CONFIG_X86 > if ( is_hvm_domain(d) && domain_pirq_to_irq(d, pirq) > 0 ) > map_domain_emuirq_pirq(d, pirq, IRQ_PT); > + printk("DEBUG %s %d pirq=%d irq=%d emuirq=%d\n", __func__, __LINE__, > + pirq, domain_pirq_to_irq(d, pirq), domain_pirq_to_emuirq(d, > pirq)); > #endif > > out: The guest is an Ubuntu 11.10 livecd, kernel version 3.0.0-12-generic. I've also attached all the logs, thanks for the tip on the serial console, very useful. Additionally I've attached logs for booting a solaris livecd (my ultimate goal is to use this HBA card in Solaris), with the serial console tip I was able to capture its kernel boot as well. Lastly I still also have the issue where no NIC is being presented enabled in the guests, my assumption is this is because of the error in xen-hotplug.log: "RTNETLINK answers: Operation not supported", is there some way to debug this? I checked my dom0's dmesg and this is what I get when I boot the Ubuntu livecd VM: [ 2506.619039] device vif8.0 entered promiscuous mode [ 2506.624304] ADDRCONF(NETDEV_UP): vif8.0: link is not ready [ 2506.777865] device vif8.0-emu entered promiscuous mode [ 2506.783073] xenbr0: port 3(vif8.0-emu) entering forwarding state [ 2506.783079] xenbr0: port 3(vif8.0-emu) entering forwarding state [ 2506.895379] pciback 0000:02:00.0: restoring config space at offset 0xf (was 0x100, writing 0x10a) [ 2506.895393] pciback 0000:02:00.0: restoring config space at offset 0xc (was 0x0, writing 0xf7a00000) [ 2506.895410] pciback 0000:02:00.0: restoring config space at offset 0x7 (was 0x4, writing 0xf7a80004) [ 2506.895420] pciback 0000:02:00.0: restoring config space at offset 0x5 (was 0x4, writing 0xf7ac0004) [ 2506.895428] pciback 0000:02:00.0: restoring config space at offset 0x4 (was 0x1, writing 0xd001) [ 2506.895435] pciback 0000:02:00.0: restoring config space at offset 0x3 (was 0x0, writing 0x10) [ 2507.056216] xen-pciback: vpci: 0000:02:00.0: assign to virtual slot 0 [ 2507.056398] pciback 0000:02:00.0: device has been assigned to another domain! Over-writting the ownership, but beware. [ 2517.191338] vif8.0-emu: no IPv6 routers present [ 2521.799320] xenbr0: port 3(vif8.0-emu) entering forwarding state and here is my ifconfig while ubuntu is booted (without VMs it doesn't have the vifs): eth0 Link encap:Ethernet HWaddr 00:e0:81:cb:db:74 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:71977 errors:0 dropped:0 overruns:0 frame:0 TX packets:126629 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:5472933 (5.4 MB) TX bytes:57934759 (57.9 MB) Interrupt:16 Memory:f7900000-f7920000 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:4002 errors:0 dropped:0 overruns:0 frame:0 TX packets:4002 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:26667388 (26.6 MB) TX bytes:26667388 (26.6 MB) vif8.0 Link encap:Ethernet HWaddr fe:ff:ff:ff:ff:ff UP BROADCAST RUNNING PROMISC MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:32 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) vif8.0-emu Link encap:Ethernet HWaddr fe:ff:ff:ff:ff:ff inet6 addr: fe80::fcff:ffff:feff:ffff/64 Scope:Link UP BROADCAST RUNNING PROMISC MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:172 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:500 RX bytes:0 (0.0 B) TX bytes:26220 (26.2 KB) xenbr0 Link encap:Ethernet HWaddr 00:e0:81:cb:db:74 inet addr:192.168.1.7 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80::2e0:81ff:fecb:db74/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:71245 errors:0 dropped:0 overruns:0 frame:0 TX packets:98995 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:3595409 (3.5 MB) TX bytes:55909320 (55.9 MB) And the line from my ubuntu.conf: vif = ['bridge=xenbr0'] Thanks- David Attachment:
xen-hotplug.log Attachment:
qemu-dm-ubuntu.log Attachment:
ubuntu_guest_boot.log Attachment:
ubuntu_guest_xl_dmesg.log Attachment:
qemu-dm-solaris.log Attachment:
solaris_guest_boot.log Attachment:
solaris_guest_xl_dmesg.log _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |