Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 29 Feb 2016 23:47:09 +0000
From:      bugzilla-noreply@freebsd.org
To:        freebsd-amd64@FreeBSD.org
Subject:   [Bug 207602] 10.3-BETA 2 zroot doesn't boot with VT-d enabled and vmm in loader.conf
Message-ID:  <bug-207602-6@https.bugs.freebsd.org/bugzilla/>

next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D207602

            Bug ID: 207602
           Summary: 10.3-BETA 2 zroot doesn't boot with VT-d enabled and
                    vmm in loader.conf
           Product: Base System
           Version: 10.3-BETA2
          Hardware: amd64
                OS: Any
            Status: New
          Severity: Affects Some People
          Priority: ---
         Component: misc
          Assignee: freebsd-bugs@FreeBSD.org
          Reporter: ehrmann@gmail.com
                CC: freebsd-amd64@FreeBSD.org
                CC: freebsd-amd64@FreeBSD.org

I installed FreeBSD 10.3-BETA2 on a system with a Z170 chipset and Skylake =
CPU
on a ZFS root device. When I have both VT-d enabled in the bios, vmm enabled
(for bhyve) and pptdevs=3D"<any pci dev>" (for PCI passthrough) in loader.c=
onf,
sometime during the boot, there's an unrecoverable error with my SATA hard
drive, it's reattched, but the boot was interrupted, and the boot loader ca=
n't
find the ZFS root.

If either VT-d is disabled, vmm isn't enabled in loader.conf, or there's no=
 PCI
passthrough device, the system boots fine.

The cause seems to be an interrupt storm. It always happens on IRQ64, even =
when
a different device claims it. It's the lowest IRQ listed by vmstat -i.

Here's my /boot/loader.conf:

    kern.geom.label.gptid.enable=3D"0"
    net.link.tap.up_on_open=3D"1"
    net.inet.ip.forwarding=3D"1"
    zfs_load=3D"YES"
    pptdevs=3D"0/31/6"
    vmm_load=3D"YES"

This is the device I'm trying to do PCI passthrough on
    ppt0@pci0:0:31:6:       class=3D0x020000 card=3D0x86721043 chip=3D0x15b=
88086
rev=3D0x31 hdr=3D0x00
        vendor     =3D 'Intel Corporation'
        device     =3D 'Ethernet Connection (2) I219-V'
        class      =3D network
        subclass   =3D ethernet

Because this is a modern motherboard/chipset, it lacks IO like RS-232, and I
couldn't capture the log directly. The best I could do is this video:
http://imgur.com/wiiU9Bf

Root mount waiting for: usbus1 usbus0
uhub1: 4 ports with 4 removable, self powered
uhub0: 26 ports with 26 removable, self powered
Root mount waiting for: usbus0
<another line?  it's not clear in the video>
xhci_interrupt: host controller halted
<repeated ~200 times>
interrupt storm detected on "irq264:"; throttling interrupt source
Trying to mount root from zfs:zroot/ROOT/default []...
uhub0: (ada0:ahcich0:0:0:0) READ_FPDMA_QUEUED. ACB: 60 00 00 00 00 40 00 00=
 00
01 00 00
(ada:ahcich0:0:0:0): CAM status: CCB request was invalid
at usbus0, port 1. addr 1 (disconnected)
xhci_interrupt: host controller halted
(ada0:ahcich0:0:0:0): Error 22. Unretryable error
xhci_interrupt: host controller halted
<missing lines?>
(aprobe0:ahcich0:0:0:0): CAM status: CCB request was invalid
(aprobe0:ahcich0:0:0:0): Error 22. Unretryable error.
ada0 at ahcich0 bus 0 scbus0 target 0 lun 0
ada0: ... detached
Solaris: NOTICE: Cannot find the pool label for 'zroot'
Mounting from zfs:zroot/ROOT/default failed with error 5.

--=20
You are receiving this mail because:
You are on the CC list for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-207602-6>