[OVMF] Unable to connect a driver to Raid controller


Dinakar Medavaram
 

Hi All,
We are working on a hypervisor for x86_64 and we brought up OVMF on our hypervisor. Our hypervisor pass through whole hardware i.e. whole PCI devices starting from root ports to all devices.
If we connect a USB startup disk, OVMF detects its and boots linux from USB stick.
But OVMF is not able to detect the disk connected to PCI bus. I could see PCI device recognised as Raid controllers ( 00 00 1F 02 ==> Mass Storage Controller - RAID controller) but no drivers gets attached to the controller.
Driver list below. Please suggest the right driver


Shell> pci
Seg Bus Dev Func
--- --- --- ----
00 00 00 00 ==> Bridge Device - Host/PCI bridge
Vendor 8086 Device 0150 Prog Interface 0
00 00 02 00 ==> Display Controller - VGA/8514 controller
Vendor 8086 Device 0162 Prog Interface 0
00 00 14 00 ==> Serial Bus Controllers - USB
Vendor 8086 Device 1E31 Prog Interface 30
00 00 16 00 ==> Simple Communications Controllers - Other communicati
on device
Vendor 8086 Device 1E3A Prog Interface 0
00 00 16 03 ==> Simple Communications Controllers - Serial controller

Vendor 8086 Device 1E3D Prog Interface 2
00 00 19 00 ==> Network Controller - Ethernet controller
Vendor 8086 Device 1502 Prog Interface 0
00 00 1A 00 ==> Serial Bus Controllers - USB
Vendor 8086 Device 1E2D Prog Interface 20
00 00 1B 00 ==> Multimedia Device - Mixed mode device
Vendor 8086 Device 1E20 Prog Interface 0
00 00 1D 00 ==> Serial Bus Controllers - USB
Vendor 8086 Device 1E26 Prog Interface 20
00 00 1E 00 ==> Bridge Device - PCI/PCI bridge
Vendor 8086 Device 244E Prog Interface 1
00 00 1F 00 ==> Bridge Device - PCI/ISA bridge
Vendor 8086 Device 1E47 Prog Interface 0
00 00 1F 02 ==> Mass Storage Controller - RAID controller
Vendor 8086 Device 2822 Prog Interface 0
00 00 1F 03 ==> Serial Bus Controllers - System Management Bus
Vendor 8086 Device 1E22 Prog Interface 0
Shell> drivers
T D
D Y C I
R P F A
V VERSION E G G #D #C DRIVER NAME IMAGE NAME
== ======== = = = == == =================================== ==========
3E 0000000A B - - 1 13 PCI Bus Driver PciBusDxe
40 00000010 ? - - - - Virtio PCI Driver VirtioPciDeviceDxe
41 00000010 ? - - - - Virtio Block Driver VirtioBlkDxe
42 00000010 ? - - - - <null string> GvtGopDxe
43 0000000A D - - 2 - Platform Console Management Driver ConPlatformDxe
44 0000000A D - - 1 - Platform Console Management Driver ConPlatformDxe
45 0000000A B - - 2 2 Console Splitter Driver ConSplitterDxe
46 0000000A ? - - - - Console Splitter Driver ConSplitterDxe
47 0000000A ? - - - - Console Splitter Driver ConSplitterDxe
48 0000000A B - - 1 1 Console Splitter Driver ConSplitterDxe
49 0000000A B - - 1 1 Console Splitter Driver ConSplitterDxe
4D 0000000A ? - - - - Graphics Console Driver GraphicsConsoleDxe
4E 0000000A B - - 1 1 Serial Terminal Driver TerminalDxe
4F 0000000A ? - - - - Generic Disk I/O Driver DiskIoDxe
50 0000000B ? - - - - Partition Driver(MBR/GPT/El Torito) PartitionDxe
53 0000000A ? - - - - SCSI Bus Driver ScsiBus
54 0000000A ? - - - - Scsi Disk Driver ScsiDisk
55 0000000A ? - - - - Sata Controller Init Driver SataController
56 00000010 ? - - - - AtaAtapiPassThru Driver AtaAtapiPassThruDxe
57 00000010 ? - - - - ATA Bus Driver AtaBusDxe
58 00000010 ? - - - - NVM Express Driver NvmExpressDxe
59 0000000A D - - 1 - PC-AT ISA Device Enumeration Driver IsaAcpi
5A 0000000A B - - 1 3 ISA Bus Driver IsaBusDxe
5B 0000000A ? - X - - PCI IDE/ATAPI Bus Driver IdeBusDxe
5C 0000000A ? - - - - Sata Controller Init Driver SataController
5D 0000000A B - - 1 1 ISA Serial Driver IsaSerialDxe
5E 0000000A D - - 1 - PS/2 Keyboard Driver Ps2KeyboardDxe
5F 0000000A ? - - - - FAT File System Driver Fat
60 00000010 ? - - - - UDF File System Driver UdfDxe
61 00000020 ? - - - - Usb Uhci Driver UhciDxe
62 00000030 D - - 2 - Usb Ehci Driver EhciDxe
63 00000030 D - - 1 - Usb Xhci Driver XhciDxe
64 0000000A D - - 3 - Usb Bus Driver UsbBusDxe
65 0000000A ? - - - - Usb Keyboard Driver UsbKbDxe
66 00000011 ? - - - - Usb Mass Storage Driver UsbMassStorageDxe
Shell>