Nikita Leshenko
505812ae1d
OvmfPkg/MptScsiDxe: Implement the PassThru method
...
Machines should be able to boot after this commit. Tested with different
Linux distributions (Ubuntu, CentOS) and different Windows
versions (Windows 7, Windows 10, Server 2016).
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=2390
Signed-off-by: Nikita Leshenko <nikita.leshchenko@oracle.com >
Reviewed-by: Laszlo Ersek <lersek@redhat.com >
Message-Id: <20200504210607.144434-12-nikita.leshchenko@oracle.com >
[lersek@redhat.com: MPT_SCSI_DMA_ADDR_HIGH: drop redundant space char]
2020-05-05 20:43:02 +00:00
Nikita Leshenko
093cceaf79
OvmfPkg/MptScsiDxe: Report targets and one LUN
...
The controller supports up to 8 targets in practice (Not reported by the
controller, but based on the implementation of the virtual device),
report them in GetNextTarget and GetNextTargetLun. The firmware will
then try to communicate with them and create a block device for each one
that responds.
Support for multiple LUNs will be implemented in another series.
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=2390
Signed-off-by: Nikita Leshenko <nikita.leshchenko@oracle.com >
Reviewed-by: Laszlo Ersek <lersek@redhat.com >
Message-Id: <20200504210607.144434-7-nikita.leshchenko@oracle.com >
2020-05-05 20:43:02 +00:00
Nikita Leshenko
a53e5b4174
OvmfPkg/MptScsiDxe: Install stubbed EXT_SCSI_PASS_THRU
...
Support dynamic insertion and removal of the protocol
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=2390
Signed-off-by: Nikita Leshenko <nikita.leshchenko@oracle.com >
Reviewed-by: Laszlo Ersek <lersek@redhat.com >
Message-Id: <20200504210607.144434-6-nikita.leshchenko@oracle.com >
2020-05-05 20:43:02 +00:00
Nikita Leshenko
f47074425d
OvmfPkg/MptScsiDxe: Probe PCI devices and look for MptScsi
...
The MptScsiControllerSupported function is called on handles passed in
by the ConnectController() boot service and if the handle is the
lsi53c1030 controller the function would return success. A successful
return value will attach our driver to the device.
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=2390
Signed-off-by: Nikita Leshenko <nikita.leshchenko@oracle.com >
Reviewed-by: Laszlo Ersek <lersek@redhat.com >
Reviewed-by: Liran Alon <liran.alon@oracle.com >
Message-Id: <20200504210607.144434-5-nikita.leshchenko@oracle.com >
2020-05-05 20:43:02 +00:00
Nikita Leshenko
ad8f2d6b07
OvmfPkg/MptScsiDxe: Install DriverBinding Protocol
...
In order to probe and connect to the MptScsi device we need this
protocol. Currently it does nothing.
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=2390
Signed-off-by: Nikita Leshenko <nikita.leshchenko@oracle.com >
Reviewed-by: Laszlo Ersek <lersek@redhat.com >
Reviewed-by: Liran Alon <liran.alon@oracle.com >
Message-Id: <20200504210607.144434-3-nikita.leshchenko@oracle.com >
2020-05-05 20:43:02 +00:00
Nikita Leshenko
feec20b28d
OvmfPkg/MptScsiDxe: Create empty driver
...
In preparation for implementing LSI Fusion MPT SCSI devices, create a
basic scaffolding for a driver.
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=2390
Signed-off-by: Nikita Leshenko <nikita.leshchenko@oracle.com >
Reviewed-by: Liran Alon <liran.alon@oracle.com >
Reviewed-by: Laszlo Ersek <lersek@redhat.com >
Message-Id: <20200504210607.144434-2-nikita.leshchenko@oracle.com >
2020-05-05 20:43:02 +00:00