[edk2] [PATCH 07/14] OvmfPkg/MptScsiDxe: Build DevicePath for discovered devices

2019-01-31 Thread Nikita Leshenko
Used to identify the individual disks in the hardware tree Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Nikita Leshenko Reviewed-by: Konrad Rzeszutek Wilk Reviewed-by: Aaron Young Reviewed-by: Liran Alon --- OvmfPkg/MptScsiDxe/MptScsi.c | 18 +- 1

[edk2] [PATCH 14/14] OvmfPkg/MptScsiDxe: Support packets with pointers above 4G

2019-01-31 Thread Nikita Leshenko
Contribution Agreement 1.1 Signed-off-by: Nikita Leshenko Reviewed-by: Konrad Rzeszutek Wilk Reviewed-by: Aaron Young Reviewed-by: Liran Alon --- OvmfPkg/MptScsiDxe/MptScsi.c | 50 +++- 1 file changed, 44 insertions(+), 6 deletions(-) diff --git a/OvmfPkg/MptScsiDxe

[edk2] [PATCH 02/14] OvmfPkg/MptScsiDxe: Install DriverBinding Protocol

2019-01-31 Thread Nikita Leshenko
In order to probe and connect to the MptScsi device we need this protocol. Currently it does nothing. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Nikita Leshenko Reviewed-by: Konrad Rzeszutek Wilk Reviewed-by: Aaron Young Reviewed-by: Liran Alon --- OvmfPkg

[edk2] [PATCH 10/14] OvmfPkg/MptScsiDxe: Set and restore PCI attributes

2019-01-31 Thread Nikita Leshenko
Enable the IO Space and Bus Mastering and restore the original values when the device is stopped. This is a standard procedure in PCI drivers. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Nikita Leshenko Reviewed-by: Konrad Rzeszutek Wilk Reviewed-by: Aaron Young

[edk2] [PATCH 05/14] OvmfPkg/MptScsiDxe: Install stubbed EXT_SCSI_PASS_THRU

2019-01-31 Thread Nikita Leshenko
Support dynamic insertion and removal of the protocol Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Nikita Leshenko Reviewed-by: Konrad Rzeszutek Wilk Reviewed-by: Aaron Young Reviewed-by: Liran Alon --- OvmfPkg/MptScsiDxe/MptScsi.c | 204

[edk2] [PATCH 04/14] OvmfPkg/MptScsiDxe: Probe PCI devices and look for MptScsi

2019-01-31 Thread Nikita Leshenko
Signed-off-by: Nikita Leshenko Reviewed-by: Konrad Rzeszutek Wilk Reviewed-by: Aaron Young Reviewed-by: Liran Alon --- OvmfPkg/MptScsiDxe/MptScsi.c | 55 ++- OvmfPkg/MptScsiDxe/MptScsiDxe.inf | 5 +++ 2 files changed, 59 insertions(+), 1 deletion(-) diff --git

[edk2] [PATCH 03/14] OvmfPkg/MptScsiDxe: Report name of driver

2019-01-31 Thread Nikita Leshenko
Install Component Name protocols to have a nice display name for the driver in places such as UEFI shell. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Nikita Leshenko Reviewed-by: Konrad Rzeszutek Wilk Reviewed-by: Aaron Young Reviewed-by: Liran Alon --- OvmfPkg

[edk2] [PATCH 12/14] OvmfPkg/MptScsiDxe: Implement the PassThru method

2019-01-31 Thread Nikita Leshenko
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). Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Nikita Leshenko Reviewed-by: Aaron Young

[edk2] [PATCH 13/14] OvmfPkg/MptScsiDxe: Report multiple targets

2019-01-31 Thread Nikita Leshenko
for multiple LUNs will be implemented in another series. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Nikita Leshenko Reviewed-by: Konrad Rzeszutek Wilk Reviewed-by: Aaron Young Reviewed-by: Liran Alon --- OvmfPkg/MptScsiDxe/MptScsi.c | 27

[edk2] [PATCH 11/14] OvmfPkg/MptScsiDxe: Initialize hardware

2019-01-31 Thread Nikita Leshenko
cal manual for more information. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Nikita Leshenko Reviewed-by: Aaron Young Reviewed-by: Liran Alon --- OvmfPkg/MptScsiDxe/MptScsi.c | 234 +++ 1 file changed, 234 insertions(+) diff --git

[edk2] [PATCH 09/14] OvmfPkg/MptScsiDxe: Open PciIo protocol for later use

2019-01-31 Thread Nikita Leshenko
This will give us an exclusive access to the PciIo of this device after it was started and until is will be stopped. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Nikita Leshenko Reviewed-by: Konrad Rzeszutek Wilk Reviewed-by: Aaron Young Reviewed-by: Liran Alon

[edk2] [PATCH 01/14] OvmfPkg/MptScsiDxe: Create empty driver

2019-01-31 Thread Nikita Leshenko
In preparation for implementing LSI Fusion MPT SCSI devices, create a basic scaffolding for a driver. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Nikita Leshenko Reviewed-by: Konrad Rzeszutek Wilk Reviewed-by: Aaron Young Reviewed-by: Liran Alon --- OvmfPkg

[edk2] [PATCH 06/14] OvmfPkg/MptScsiDxe: Report one Target and one LUN

2019-01-31 Thread Nikita Leshenko
Support for multiple targets will be implemented in a later commit in this series. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Nikita Leshenko Reviewed-by: Konrad Rzeszutek Wilk Reviewed-by: Aaron Young Reviewed-by: Liran Alon --- OvmfPkg/MptScsiDxe/MptScsi.c | 34

[edk2] [PATCH 08/14] OvmfPkg/MptScsiDxe: Implement GetTargetLun

2019-01-31 Thread Nikita Leshenko
Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Nikita Leshenko Reviewed-by: Konrad Rzeszutek Wilk Reviewed-by: Aaron Young Reviewed-by: Liran Alon --- OvmfPkg/MptScsiDxe/MptScsi.c | 12 +++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/OvmfPkg

[edk2] OvmfPkg: Support booting from Fusion-MPT SCSI controllers

2019-01-31 Thread Nikita Leshenko
This series adds driver support for: - LSI53C1030 - SAS1068 - SAS1068E These controllers are widely supported by QEMU, VirtualBox and VMWare. This work is part of the more general agenda of enhancing OVMF boot device support to have feature parity with SeaBIOS. We have also developed support for

Re: [edk2] PciBusDxe: PCI-Express bug with dynamic PcdPciExpressBaseAddress

2018-09-16 Thread Nikita Leshenko
> On 13 Sep 2018, at 15:15, Laszlo Ersek wrote: > > On 09/13/18 14:27, Nikita Leshenko wrote: >> >> Thanks for the detailed explanation. I guess we have no choice >> but to copy BaseCachingPciExpressLib (renamed to >> DxePciExpressLibCaching) from ArmVir

Re: [edk2] PciBusDxe: PCI-Express bug with dynamic PcdPciExpressBaseAddress

2018-09-13 Thread Nikita Leshenko
> On 11 Sep 2018, at 15:34, Laszlo Ersek wrote: > > "BasePciExpressLib" has the prefix "Base", meaning that it is supposed > to be usable in all types of firmware modules, even in SEC and PEIMs -- > which may not have access to writeable memory except stack (i.e. > writeable global

[edk2] PciBusDxe: PCI-Express bug with dynamic PcdPciExpressBaseAddress

2018-09-06 Thread Nikita Leshenko
Hi, We ran into a bug in EDK2 relating to PCI-Express in PciBusDxe. Here's the flow of the bug: 1. PciBusDxe/PciEnumeratorSupport.c: Function BarExisted probes a BAR. It raises TPL to TPL_HIGH_LEVEL to avoid timer interrupts while probing the BAR and calls PciIo->Pci.Write. 2.