I've been working for a few days now trying to convince Windows 8 to install on the q35 machine type. The work I'm doing needs PCIe and I believe that is the only PC machine type that includes PCIe end points. Here is what happens:
1) Windows Startup runs fine from the ISO install image.
2) Windows can't find a hard disk to install the OS onto even when I provide the correct driver using a USB device. Windows reports that it can't find the device.
I've verified that I'm using a supported storage controller. I'm using the megasas device and I've confirmed that the ACPI PCI IDs (what Windows uses to identify a controller) are correct and are available from an in-box driver. In theory, things should just work. I've reviewed the output from 'info qtree' in the monitor and the devices are there. However, Windows isn't picking them up for some reason. I could change the PCI sub IDs to exactly match what is in the in-box INF files. But that should not be necessary.
Any / all help would be greatly appreciated.
Am I just missing something easy - stupid newbie problem?
My goal: get the NVMe driver running properly in Windows which requires the device is attached to a PCIe port. Linux doesn't seem to care about the fact that a PCIe device is connected to a PCI port.
Windows kernel developer - storage stack; ata port, stor port, ahci, nvme, ata/sata, scsi.