On Wed, Jan 27, 2016 at 10:45:13AM -0600, Timothy Pearson wrote:
On 01/27/2016 10:38 AM, Paolo Bonzini wrote:
On 27/01/2016 16:57, Kevin O'Connor wrote:
On Wed, Jan 27, 2016 at 03:51:02PM +0100, Paolo Bonzini wrote:
--- a/src/Kconfig +++ b/src/Kconfig @@ -208,6 +208,12 @@ menu "Hardware support" default y help Support boot from LSI MegaRAID SAS scsi storage.
- config MPT_SCSI
depends on DRIVES
bool "LSI MPT Fusion controllers"
default y
help
Support boot from LSI MPT Fusion scsi storage.
Unless there is good reason to believe this will work on real hardware, I think this should depend on QEMU_HARDWARE and the mpt_scsi_setup() function should check runningOnQEMU().
It should work on real hardware; the submission of requests works more or less the same as for a full-blown driver. I wouldn't have problems with adding the dependency though, since real hardware would come with an option ROM.
This I might be able to test directly on real hardware. Certain systems cannot use the LSI option ROM (coreboot-based systems in particular), so I am keen on seeing this work outside of QEMU.
I will test and report back, though it may be a few days before I can do that.
Thanks! FYI, there are two existing LSI drivers (CONFIG_LSI_SCSI and CONFIG_MEGASAS) as well. And, if you want to test CONFIG_LSI_SCSI support on real hardware, you'll need to remove its check for CONFIG_COREBOOT in Kconfig and remove the check for runningOnQEMU() in lsi_scsi_setup().
Also, if there are option roms on these cards, you'll probably want to set pci->have_driver in init_lsi_scsi(), init_megasas(), and/or init_mpt_scsi() to prevent SeaBIOS from running the optionrom once the driver has been found.
-Kevin