Re: cd*.iso reboot loop (vultr, Skylake AVX MDS)
Mike Larkin wrote: > On Sat, Dec 04, 2021 at 06:18:55PM +, Claus Assmann wrote: > > Just in case someone is wondering: vultr moved the VM to a different > > server, the system is up and running again. > > BTW: I guess I can ignore this: > > fd0 at fdc0 drive 1: density unknown > > > > > > OpenBSD 6.9 (GENERIC) #464: Mon Apr 19 10:28:56 MDT 2021 > > dera...@amd64.openbsd.org:/usr/src/sys/arch/amd64/compile/GENERIC > > real mem = 1056813056 (1007MB) > > avail mem = 1009561600 (962MB) > > random: good seed from bootblocks > > mpath0 at root > > scsibus0 at mpath0: 256 targets > > mainbus0 at root > > bios0 at mainbus0: SMBIOS rev. 2.8 @ 0xf5940 (9 entries) > > bios0: vendor Vultr > > bios0: Vultr VC2 > > acpi0 at bios0: ACPI 1.0 > > acpi0: sleep states S3 S4 S5 > > acpi0: tables DSDT FACP APIC HPET WAET > > acpi0: wakeup devices > > acpitimer0 at acpi0: 3579545 Hz, 24 bits > > acpimadt0 at acpi0 addr 0xfee0: PC-AT compat > > cpu0 at mainbus0: apid 0 (boot processor) > > cpu0: Virtual CPU 6db7dc0e7704, 2993.33 MHz, 06-5e-03 > > It was at this point I stopped caring about this configuration. No kidding. The Intel-compatible cpu landcape is pretty fucked up, in that feature bits are missing in some generations or otherwise inaccurate. Therefore a kernel has to someones look at the brand to narrow in on the truth and make a logical decision. At the moment the way we do it looks like this: amd64/cpu.c:if (strcmp(cpu_vendor, "GenuineIntel") == 0) { amd64/cpu.c:if (strcmp(cpu_vendor, "GenuineIntel") != 0 || amd64/cpu.c:if (strcmp(cpu_vendor, "GenuineIntel") == 0 && amd64/cpu.c:if (strcmp(cpu_vendor, "GenuineIntel") == 0 && amd64/identcpu.c: if (!strcmp(cpu_vendor, "GenuineIntel")) { amd64/identcpu.c: } else if (!strcmp(cpu_vendor, "CentaurHauls")) { amd64/identcpu.c: } else if (!strcmp(cpu_vendor, "AuthenticAMD")) { amd64/identcpu.c: if (!strcmp(cpu_vendor, "GenuineIntel") && cpuid_level >= 0x06) { amd64/identcpu.c: } else if (!strcmp(cpu_vendor, "AuthenticAMD")) { amd64/identcpu.c: if (!strcmp(cpu_vendor, "AuthenticAMD")) { amd64/identcpu.c: if (!strcmp(cpu_vendor, "AuthenticAMD")) { amd64/identcpu.c: if (!strcmp(cpu_vendor, "GenuineIntel") && amd64/identcpu.c: if (!strcmp(cpu_vendor, "AuthenticAMD") && amd64/identcpu.c: if (!strcmp(cpu_vendor, "AuthenticAMD")) amd64/identcpu.c: if (CPU_IS_PRIMARY(ci) && !strcmp(cpu_vendor, "CentaurHauls")) { amd64/identcpu.c: if (strcmp(cpu_vendor, "AuthenticAMD") == 0) { amd64/identcpu.c: } else if (strcmp(cpu_vendor, "GenuineIntel") == 0) { amd64/identcpu.c: if (!strcmp(cpu_vendor, "GenuineIntel")) { amd64/lapic.c: if (strcmp(cpu_vendor, "AuthenticAMD") == 0) { amd64/mtrr.c: if (((strcmp(cpu_vendor, "GenuineIntel") == 0) || amd64/mtrr.c: (strcmp(cpu_vendor, "CentaurHauls") == 0) || amd64/mtrr.c: (strcmp(cpu_vendor, "AuthenticAMD") == 0)) && amd64/pctr.c: pctr_isamd = (strcmp(cpu_vendor, "AuthenticAMD") == 0); amd64/pctr.c: pctr_isintel = (strcmp(cpu_vendor, "GenuineIntel") == 0); amd64/tsc.c:if (!strcmp(cpu_vendor, "GenuineIntel") && amd64/ucode.c: if (strcmp(cpu_vendor, "GenuineIntel") == 0) Then someone at Vultr, who is probably really proud of themselves, disabled all those tests. If they can so easily make a damaging decision like that without studying real system behaviour, what else will they get wrong?
Re: cd*.iso reboot loop (vultr, Skylake AVX MDS)
On Sat, Dec 04, 2021 at 06:18:55PM +, Claus Assmann wrote: > Just in case someone is wondering: vultr moved the VM to a different > server, the system is up and running again. > BTW: I guess I can ignore this: > fd0 at fdc0 drive 1: density unknown > > > OpenBSD 6.9 (GENERIC) #464: Mon Apr 19 10:28:56 MDT 2021 > dera...@amd64.openbsd.org:/usr/src/sys/arch/amd64/compile/GENERIC > real mem = 1056813056 (1007MB) > avail mem = 1009561600 (962MB) > random: good seed from bootblocks > mpath0 at root > scsibus0 at mpath0: 256 targets > mainbus0 at root > bios0 at mainbus0: SMBIOS rev. 2.8 @ 0xf5940 (9 entries) > bios0: vendor Vultr > bios0: Vultr VC2 > acpi0 at bios0: ACPI 1.0 > acpi0: sleep states S3 S4 S5 > acpi0: tables DSDT FACP APIC HPET WAET > acpi0: wakeup devices > acpitimer0 at acpi0: 3579545 Hz, 24 bits > acpimadt0 at acpi0 addr 0xfee0: PC-AT compat > cpu0 at mainbus0: apid 0 (boot processor) > cpu0: Virtual CPU 6db7dc0e7704, 2993.33 MHz, 06-5e-03 It was at this point I stopped caring about this configuration. > cpu0: > FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,SSE3,PCLMUL,SSSE3,FMA3,CX16,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND,HV,NXE,RDTSCP,LONG,LAHF,ABM,FSGSBASE,BMI1,AVX2,SMEP,BMI2,ERMS,INVPCID,IBRS,IBPB,SSBD,ARAT,XSAVEOPT,MELTDOWN > cpu0: 64KB 64b/line 2-way I-cache, 64KB 64b/line 2-way D-cache, 512KB > 64b/line 16-way L2 cache > cpu0: ITLB 255 4KB entries direct-mapped, 255 4MB entries direct-mapped > cpu0: DTLB 255 4KB entries direct-mapped, 255 4MB entries direct-mapped > cpu0: smt 0, core 0, package 0 > mtrr: Pentium Pro MTRR support, 8 var ranges, 88 fixed ranges > cpu0: apic clock running at 1000MHz > ioapic0 at mainbus0: apid 0 pa 0xfec0, version 11, 24 pins > acpihpet0 at acpi0: 1 Hz > acpiprt0 at acpi0: bus 0 (PCI0) > "ACPI0006" at acpi0 not configured > acpipci0 at acpi0 PCI0 > acpicmos0 at acpi0 > "PNP0A06" at acpi0 not configured > "PNP0A06" at acpi0 not configured > "PNP0A06" at acpi0 not configured > "QEMU0002" at acpi0 not configured > "ACPI0010" at acpi0 not configured > acpicpu0 at acpi0: C1(@1 halt!) > cpu0: using Skylake AVX MDS workaround > pvbus0 at mainbus0: KVM > pvclock0 at pvbus0 > pci0 at mainbus0 bus 0 > pchb0 at pci0 dev 0 function 0 "Intel 82441FX" rev 0x02 > pcib0 at pci0 dev 1 function 0 "Intel 82371SB ISA" rev 0x00 > pciide0 at pci0 dev 1 function 1 "Intel 82371SB IDE" rev 0x00: DMA, channel 0 > wired to compatibility, channel 1 wired to compatibility > pciide0: channel 0 disabled (no drives) > atapiscsi0 at pciide0 channel 1 drive 0 > scsibus1 at atapiscsi0: 2 targets > cd0 at scsibus1 targ 0 lun 0: removable > cd0(pciide0:1:0): using PIO mode 4, DMA mode 2 > uhci0 at pci0 dev 1 function 2 "Intel 82371SB USB" rev 0x01: apic 0 int 11 > piixpm0 at pci0 dev 1 function 3 "Intel 82371AB Power" rev 0x03: apic 0 int 9 > iic0 at piixpm0 > vga1 at pci0 dev 2 function 0 "Cirrus Logic CL-GD5446" rev 0x00 > wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation) > wsdisplay0: screen 1-5 added (80x25, vt100 emulation) > virtio0 at pci0 dev 3 function 0 "Qumranet Virtio Network" rev 0x00 > vio0 at virtio0: address 56:00:03:1a:c3:11 > virtio0: msix shared > virtio1 at pci0 dev 4 function 0 "Qumranet Virtio Storage" rev 0x00 > vioblk0 at virtio1 > scsibus2 at vioblk0: 1 targets > sd0 at scsibus2 targ 0 lun 0: > sd0: 25600MB, 512 bytes/sector, 52428800 sectors > virtio1: msix shared > virtio2 at pci0 dev 5 function 0 "Qumranet Virtio Memory Balloon" rev 0x00 > viomb0 at virtio2 > virtio2: apic 0 int 10 > virtio3 at pci0 dev 6 function 0 "Qumranet Virtio RNG" rev 0x00 > viornd0 at virtio3 > virtio3: apic 0 int 10 > isa0 at pcib0 > isadma0 at isa0 > fdc0 at isa0 port 0x3f0/6 irq 6 drq 2 > pckbc0 at isa0 port 0x60/5 irq 1 irq 12 > pckbd0 at pckbc0 (kbd slot) > wskbd0 at pckbd0: console keyboard, using wsdisplay0 > pms0 at pckbc0 (aux slot) > wsmouse0 at pms0 mux 0 > pcppi0 at isa0 port 0x61 > spkr0 at pcppi0 > usb0 at uhci0: USB revision 1.0 > uhub0 at usb0 configuration 1 interface 0 "Intel UHCI root hub" rev 1.00/1.00 > addr 1 > uhidev0 at uhub0 port 1 configuration 1 interface 0 "QEMU QEMU USB Tablet" > rev 2.00/0.00 addr 2 > uhidev0: iclass 3/0 > ums0 at uhidev0: 3 buttons, Z dir > wsmouse1 at ums0 mux 0 > vscsi0 at root > scsibus3 at vscsi0: 256 targets > softraid0 at root > scsibus4 at softraid0: 256 targets > root on sd0a (6bd47bbc8137acde.a) swap on sd0b dump on sd0b > fd0 at fdc0 drive 1: density unknown > > -- > Address is valid for this mailing list only, please do not reply > to it direcly, but to the list. >
Re: cd*.iso reboot loop (vultr, Skylake AVX MDS)
Philip Guenther wrote: > They have your virtualization guest configured in a way that doesn't match > any real hardware: it has a family-model-stepping combination that matches > the Skylake line, real hardware of which all have the cflushopt extension, > but the host is making the guest trap when that instruction is used. My personal favorite is AMD cpus with Intel host bridges. Then code has to decide which types of family workarounds apply based upon non-sensical conditions. Oh, I see you have qbus instead of isa, you don't need this specific interrupt controller hack!
Re: cd*.iso reboot loop (vultr, Skylake AVX MDS)
Just in case someone is wondering: vultr moved the VM to a different server, the system is up and running again. BTW: I guess I can ignore this: fd0 at fdc0 drive 1: density unknown OpenBSD 6.9 (GENERIC) #464: Mon Apr 19 10:28:56 MDT 2021 dera...@amd64.openbsd.org:/usr/src/sys/arch/amd64/compile/GENERIC real mem = 1056813056 (1007MB) avail mem = 1009561600 (962MB) random: good seed from bootblocks mpath0 at root scsibus0 at mpath0: 256 targets mainbus0 at root bios0 at mainbus0: SMBIOS rev. 2.8 @ 0xf5940 (9 entries) bios0: vendor Vultr bios0: Vultr VC2 acpi0 at bios0: ACPI 1.0 acpi0: sleep states S3 S4 S5 acpi0: tables DSDT FACP APIC HPET WAET acpi0: wakeup devices acpitimer0 at acpi0: 3579545 Hz, 24 bits acpimadt0 at acpi0 addr 0xfee0: PC-AT compat cpu0 at mainbus0: apid 0 (boot processor) cpu0: Virtual CPU 6db7dc0e7704, 2993.33 MHz, 06-5e-03 cpu0: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,SSE3,PCLMUL,SSSE3,FMA3,CX16,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND,HV,NXE,RDTSCP,LONG,LAHF,ABM,FSGSBASE,BMI1,AVX2,SMEP,BMI2,ERMS,INVPCID,IBRS,IBPB,SSBD,ARAT,XSAVEOPT,MELTDOWN cpu0: 64KB 64b/line 2-way I-cache, 64KB 64b/line 2-way D-cache, 512KB 64b/line 16-way L2 cache cpu0: ITLB 255 4KB entries direct-mapped, 255 4MB entries direct-mapped cpu0: DTLB 255 4KB entries direct-mapped, 255 4MB entries direct-mapped cpu0: smt 0, core 0, package 0 mtrr: Pentium Pro MTRR support, 8 var ranges, 88 fixed ranges cpu0: apic clock running at 1000MHz ioapic0 at mainbus0: apid 0 pa 0xfec0, version 11, 24 pins acpihpet0 at acpi0: 1 Hz acpiprt0 at acpi0: bus 0 (PCI0) "ACPI0006" at acpi0 not configured acpipci0 at acpi0 PCI0 acpicmos0 at acpi0 "PNP0A06" at acpi0 not configured "PNP0A06" at acpi0 not configured "PNP0A06" at acpi0 not configured "QEMU0002" at acpi0 not configured "ACPI0010" at acpi0 not configured acpicpu0 at acpi0: C1(@1 halt!) cpu0: using Skylake AVX MDS workaround pvbus0 at mainbus0: KVM pvclock0 at pvbus0 pci0 at mainbus0 bus 0 pchb0 at pci0 dev 0 function 0 "Intel 82441FX" rev 0x02 pcib0 at pci0 dev 1 function 0 "Intel 82371SB ISA" rev 0x00 pciide0 at pci0 dev 1 function 1 "Intel 82371SB IDE" rev 0x00: DMA, channel 0 wired to compatibility, channel 1 wired to compatibility pciide0: channel 0 disabled (no drives) atapiscsi0 at pciide0 channel 1 drive 0 scsibus1 at atapiscsi0: 2 targets cd0 at scsibus1 targ 0 lun 0: removable cd0(pciide0:1:0): using PIO mode 4, DMA mode 2 uhci0 at pci0 dev 1 function 2 "Intel 82371SB USB" rev 0x01: apic 0 int 11 piixpm0 at pci0 dev 1 function 3 "Intel 82371AB Power" rev 0x03: apic 0 int 9 iic0 at piixpm0 vga1 at pci0 dev 2 function 0 "Cirrus Logic CL-GD5446" rev 0x00 wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation) wsdisplay0: screen 1-5 added (80x25, vt100 emulation) virtio0 at pci0 dev 3 function 0 "Qumranet Virtio Network" rev 0x00 vio0 at virtio0: address 56:00:03:1a:c3:11 virtio0: msix shared virtio1 at pci0 dev 4 function 0 "Qumranet Virtio Storage" rev 0x00 vioblk0 at virtio1 scsibus2 at vioblk0: 1 targets sd0 at scsibus2 targ 0 lun 0: sd0: 25600MB, 512 bytes/sector, 52428800 sectors virtio1: msix shared virtio2 at pci0 dev 5 function 0 "Qumranet Virtio Memory Balloon" rev 0x00 viomb0 at virtio2 virtio2: apic 0 int 10 virtio3 at pci0 dev 6 function 0 "Qumranet Virtio RNG" rev 0x00 viornd0 at virtio3 virtio3: apic 0 int 10 isa0 at pcib0 isadma0 at isa0 fdc0 at isa0 port 0x3f0/6 irq 6 drq 2 pckbc0 at isa0 port 0x60/5 irq 1 irq 12 pckbd0 at pckbc0 (kbd slot) wskbd0 at pckbd0: console keyboard, using wsdisplay0 pms0 at pckbc0 (aux slot) wsmouse0 at pms0 mux 0 pcppi0 at isa0 port 0x61 spkr0 at pcppi0 usb0 at uhci0: USB revision 1.0 uhub0 at usb0 configuration 1 interface 0 "Intel UHCI root hub" rev 1.00/1.00 addr 1 uhidev0 at uhub0 port 1 configuration 1 interface 0 "QEMU QEMU USB Tablet" rev 2.00/0.00 addr 2 uhidev0: iclass 3/0 ums0 at uhidev0: 3 buttons, Z dir wsmouse1 at ums0 mux 0 vscsi0 at root scsibus3 at vscsi0: 256 targets softraid0 at root scsibus4 at softraid0: 256 targets root on sd0a (6bd47bbc8137acde.a) swap on sd0b dump on sd0b fd0 at fdc0 drive 1: density unknown -- Address is valid for this mailing list only, please do not reply to it direcly, but to the list.
Re: cd*.iso reboot loop (vultr, Skylake AVX MDS)
On Sat, Dec 4, 2021 at 4:32 AM Claus Assmann wrote: > My vultr OpenBSD 6.8 instance crashed and when it tried to reboot it > failed at: > > root on sd0a (...) > WARNING: / was not properly unmounted > kernel: privileged instruction fault trap, code=0 > mds_handler_skl_avx+0x33: clflush __ALIGN_SIZE+0x500(%rid,%rax,8) > ... > I noticed at least one difference however: > the crashing system shows > Using Skylake AVX MDS workaround > which might be something related to the function mentioned above? They have your virtualization guest configured in a way that doesn't match any real hardware: it has a family-model-stepping combination that matches the Skylake line, real hardware of which all have the cflushopt extension, but the host is making the guest trap when that instruction is used. You could test this theory by changing "clflushopt" to "clflush" in mds.S and building a new ISO, but poking them to provide a more consistent virtualization setup, whether by migration or reconfiguration, is the better solution. We could add more tests of the cpuid data and codepatch out the instructions that should be there but aren't, but for something like the clflushopt instruction where there's no real good reason for not passing through the extension when the CPU presumably has it, it's hard to get much enthusiasm up for working around a pointlessly dumb (or buggy) virtualization config. > Is this workaround something that could be turned off to see whether > it causes the problem? > The weird thing is that OpenBSD 6.8 was installed fine > (11 months ago), so I don't understand why this problem happens now > (could vultr have changed something in the underlying system?) > The machine hosting your guest probably suffered some failure (thus the crash that you experienced) and they migrated your guest to another host to get you back up and running. I periodically see the tickets go by at my $DAYJOB of this sort of replacement. Hardware, especially modern PCs, don't live anywhere near forever... Philip Guenther
cd*.iso reboot loop (vultr, Skylake AVX MDS)
My vultr OpenBSD 6.8 instance crashed and when it tried to reboot it failed at: root on sd0a (...) WARNING: / was not properly unmounted kernel: privileged instruction fault trap, code=0 mds_handler_skl_avx+0x33: clflush __ALIGN_SIZE+0x500(%rid,%rax,8) I tried to boot from cd{68,69,70}iso but all of them "fail", i.e., they start to boot, show some messages, and then get to the boot prompt again. Unfortunately the screen is cleared so I'm not sure what the last message was, but it seems to be similar as above. Unfortunately I don't have a previous dmesg from the system but I have a different vultr instance which runs fine (see dmesg below) I noticed at least one difference however: the crashing system shows Using Skylake AVX MDS workaround which might be something related to the function mentioned above? Is this workaround something that could be turned off to see whether it causes the problem? The weird thing is that OpenBSD 6.8 was installed fine (11 months ago), so I don't understand why this problem happens now (could vultr have changed something in the underlying system?) OpenBSD 7.0 (GENERIC) #224: Thu Sep 30 14:13:34 MDT 2021 dera...@amd64.openbsd.org:/usr/src/sys/arch/amd64/compile/GENERIC real mem = 1056817152 (1007MB) avail mem = 1008914432 (962MB) random: good seed from bootblocks mpath0 at root scsibus0 at mpath0: 256 targets mainbus0 at root bios0 at mainbus0: SMBIOS rev. 2.8 @ 0xf5950 (9 entries) bios0: vendor Vultr bios0: Vultr VC2 acpi0 at bios0: ACPI 3.0 acpi0: sleep states S3 S4 S5 acpi0: tables DSDT FACP APIC HPET MCFG WAET acpi0: wakeup devices acpitimer0 at acpi0: 3579545 Hz, 24 bits acpimadt0 at acpi0 addr 0xfee0: PC-AT compat cpu0 at mainbus0: apid 0 (boot processor) cpu0: Intel Core Processor (Broadwell, no TSX, IBRS), 2394.77 MHz, 06-3d-02 cpu0: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,SSE3,PCLMUL,SSSE3,FMA3,CX16,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND,HV,NXE,RDTSCP,LONG,LAHF,ABM,FSGSBASE,BMI1,AVX2,SMEP,BMI2,ERMS,INVPCID,IBRS,IBPB,SSBD,ARAT,XSAVEOPT,MELTDOWN cpu0: 64KB 64b/line 2-way I-cache, 64KB 64b/line 2-way D-cache, 512KB 64b/line 16-way L2 cache cpu0: ITLB 255 4KB entries direct-mapped, 255 4MB entries direct-mapped cpu0: DTLB 255 4KB entries direct-mapped, 255 4MB entries direct-mapped cpu0: smt 0, core 0, package 0 mtrr: Pentium Pro MTRR support, 8 var ranges, 88 fixed ranges cpu0: apic clock running at 1000MHz ioapic0 at mainbus0: apid 0 pa 0xfec0, version 11, 24 pins acpihpet0 at acpi0: 1 Hz acpimcfg0 at acpi0 acpimcfg0: addr 0xb000, bus 0-255 acpiprt0 at acpi0: bus 0 (PCI0) "ACPI0006" at acpi0 not configured acpipci0 at acpi0 PCI0: 0x 0x0011 0x0001 acpicmos0 at acpi0 "PNP0A06" at acpi0 not configured "PNP0A06" at acpi0 not configured "QEMU0002" at acpi0 not configured "ACPI0010" at acpi0 not configured acpicpu0 at acpi0: C1(@1 halt!) cpu0: using Broadwell MDS workaround pvbus0 at mainbus0: KVM pvclock0 at pvbus0 pci0 at mainbus0 bus 0 pchb0 at pci0 dev 0 function 0 "Intel 82G33 Host" rev 0x00 vga1 at pci0 dev 1 function 0 "Cirrus Logic CL-GD5446" rev 0x00 wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation) wsdisplay0: screen 1-5 added (80x25, vt100 emulation) ppb0 at pci0 dev 2 function 0 vendor "Red Hat", unknown product 0x000c rev 0x00: apic 0 int 22 pci1 at ppb0 bus 1 virtio0 at pci1 dev 0 function 0 "Qumranet Virtio 1.x Network" rev 0x01 vio0 at virtio0: address 56:00:03:98:50:6e virtio0: msix shared ppb1 at pci0 dev 2 function 1 vendor "Red Hat", unknown product 0x000c rev 0x00: apic 0 int 22 pci2 at ppb1 bus 2 xhci0 at pci2 dev 0 function 0 vendor "Red Hat", unknown product 0x000d rev 0x01: apic 0 int 22, xHCI 0.0 usb0 at xhci0: USB revision 3.0 uhub0 at usb0 configuration 1 interface 0 "Red Hat xHCI root hub" rev 3.00/1.00 addr 1 ppb2 at pci0 dev 2 function 2 vendor "Red Hat", unknown product 0x000c rev 0x00: apic 0 int 22 pci3 at ppb2 bus 3 virtio1 at pci3 dev 0 function 0 "Qumranet Virtio 1.x Storage" rev 0x01 vioblk0 at virtio1 scsibus1 at vioblk0: 1 targets sd0 at scsibus1 targ 0 lun 0: sd0: 25600MB, 512 bytes/sector, 52428800 sectors virtio1: msix shared ppb3 at pci0 dev 2 function 3 vendor "Red Hat", unknown product 0x000c rev 0x00: apic 0 int 22 pci4 at ppb3 bus 4 virtio2 at pci4 dev 0 function 0 vendor "Qumranet", unknown product 0x1045 rev 0x01 viomb0 at virtio2 virtio2: apic 0 int 22 ppb4 at pci0 dev 2 function 4 vendor "Red Hat", unknown product 0x000c rev 0x00: apic 0 int 22 pci5 at ppb4 bus 5 virtio3 at pci5 dev 0 function 0 "Qumranet Virtio 1.x RNG" rev 0x01 viornd0 at virtio3 virtio3: apic 0 int 22 ppb5 at pci0 dev 2 function 5 vendor "Red Hat", unknown product 0x000c rev 0x00: apic 0 int 22 pci6 at ppb5 bus 6 ppb6 at pci0 dev 2 function 6 vendor "Red Hat", unknown product 0x000c rev 0x00: apic 0 int 22 pci7 at ppb6 bus 7 ppb7 at pci0 dev 2 function 7 vendor "Red Hat", unknown product 0x000c r