[edk2] [PATCH v2 0/4] Add PEI BlockIo support for NVM Express devices

Hao Wu posted 4 patches 5 years, 11 months ago
Failed in applying to current master (apply log)
FatPkg/FatPei/FatLiteApi.c                                 |   6 +-
FatPkg/FatPei/FatPei.inf                                   |   3 +-
MdeModulePkg/Bus/Pci/NvmExpressPei/DmaMem.c                | 249 +++++++
MdeModulePkg/Bus/Pci/NvmExpressPei/NvmExpressPei.c         | 358 ++++++++++
MdeModulePkg/Bus/Pci/NvmExpressPei/NvmExpressPei.h         | 265 +++++++
MdeModulePkg/Bus/Pci/NvmExpressPei/NvmExpressPei.inf       |  69 ++
MdeModulePkg/Bus/Pci/NvmExpressPei/NvmExpressPei.uni       |  21 +
MdeModulePkg/Bus/Pci/NvmExpressPei/NvmExpressPeiBlockIo.c  | 527 ++++++++++++++
MdeModulePkg/Bus/Pci/NvmExpressPei/NvmExpressPeiBlockIo.h  | 266 +++++++
MdeModulePkg/Bus/Pci/NvmExpressPei/NvmExpressPeiExtra.uni  |  19 +
MdeModulePkg/Bus/Pci/NvmExpressPei/NvmExpressPeiHci.c      | 748 ++++++++++++++++++++
MdeModulePkg/Bus/Pci/NvmExpressPei/NvmExpressPeiHci.h      | 166 +++++
MdeModulePkg/Bus/Pci/NvmExpressPei/NvmExpressPeiPassThru.c | 628 ++++++++++++++++
MdeModulePkg/Bus/Pci/NvmExpressPei/NvmExpressPeiPassThru.h | 107 +++
MdeModulePkg/Include/Guid/RecoveryDevice.h                 |   9 +
MdeModulePkg/Include/Ppi/NvmExpressHostController.h        |  92 +++
MdeModulePkg/MdeModulePkg.dec                              |   6 +
MdeModulePkg/MdeModulePkg.dsc                              |   1 +
18 files changed, 3538 insertions(+), 2 deletions(-)
create mode 100644 MdeModulePkg/Bus/Pci/NvmExpressPei/DmaMem.c
create mode 100644 MdeModulePkg/Bus/Pci/NvmExpressPei/NvmExpressPei.c
create mode 100644 MdeModulePkg/Bus/Pci/NvmExpressPei/NvmExpressPei.h
create mode 100644 MdeModulePkg/Bus/Pci/NvmExpressPei/NvmExpressPei.inf
create mode 100644 MdeModulePkg/Bus/Pci/NvmExpressPei/NvmExpressPei.uni
create mode 100644 MdeModulePkg/Bus/Pci/NvmExpressPei/NvmExpressPeiBlockIo.c
create mode 100644 MdeModulePkg/Bus/Pci/NvmExpressPei/NvmExpressPeiBlockIo.h
create mode 100644 MdeModulePkg/Bus/Pci/NvmExpressPei/NvmExpressPeiExtra.uni
create mode 100644 MdeModulePkg/Bus/Pci/NvmExpressPei/NvmExpressPeiHci.c
create mode 100644 MdeModulePkg/Bus/Pci/NvmExpressPei/NvmExpressPeiHci.h
create mode 100644 MdeModulePkg/Bus/Pci/NvmExpressPei/NvmExpressPeiPassThru.c
create mode 100644 MdeModulePkg/Bus/Pci/NvmExpressPei/NvmExpressPeiPassThru.h
create mode 100644 MdeModulePkg/Include/Ppi/NvmExpressHostController.h
[edk2] [PATCH v2 0/4] Add PEI BlockIo support for NVM Express devices
Posted by Hao Wu 5 years, 11 months ago
The series is also available at:
https://github.com/hwu25/edk2/tree/nvme_pei_blockio_v2

V2 updates:

Patch 1/4:
A. Remove the unnecessary input parameter 'PeiServices' from the 2
services of the EDKII PEI NVME host controller PPI.

B. Fix typo of 'DevicePathLenth' to 'DevicePathLength' within the
GetNvmeHcDevicePath service.

C. Refine the parameter description for 'DevicePath' within the
GetNvmeHcDevicePath service.

Patch 2/4:
A. Use CopyMem() API to perform the value assign to a structure variable

B. Remove 'IPF' from the valid arch fields in the driver INF file.

C. Remove the boot mode check at the driver entry point and remove the
'gEfiPeiMasterBootModePpiGuid' depex from the driver INF file.

D. Enhance the debug message level used in file NvmExpressPeiBlockIo.c.
DEBUG_BLKIO is used in proper places.


V1 history:
The series will add the PEI BlockIo support for NVM Express devices.

A new EDKII PEI NVME host controller PPI will be introduced. It will
provide the caller with the MMIO BAR address and the device path
information of the NVM Express host controllers within system.

The NvmExpressPei driver is added to comsume the EDKII PEI NVME host
controller PPI and produce the BlockIo PPIs for those NVME devices.

Also, FatPei driver has been updated to support the recovery from NVME
devices.

Tests done for the patch:
(NOTE: All tests are performed with 1 NVME device attached, and 2 NVME
devices attached. And all tests are performed with Vtd enabled and
disabled on platform.)

1. Use the BlockIo PPIs to read and verify the data on NVME devices.
2. Recovery from NVME device test on real platform.

Cc: Star Zeng <star.zeng@intel.com>
Cc: Eric Dong <eric.dong@intel.com>
Cc: Ruiyu Ni <ruiyu.ni@intel.com>
Cc: Jiewen Yao <jiewen.yao@intel.com>

Hao Wu (4):
  MdeModulePkg: Add definitions for EDKII PEI NVME host controller PPI
  MdeModulePkg/NvmExpressPei: Add the NVME device PEI BlockIo support
  MdeModulePkg: Add GUID for recovery capsule on NVM Express devices
  FatPkg/FatPei: Add the recognition of recovery capsule on NVME device

 FatPkg/FatPei/FatLiteApi.c                                 |   6 +-
 FatPkg/FatPei/FatPei.inf                                   |   3 +-
 MdeModulePkg/Bus/Pci/NvmExpressPei/DmaMem.c                | 249 +++++++
 MdeModulePkg/Bus/Pci/NvmExpressPei/NvmExpressPei.c         | 358 ++++++++++
 MdeModulePkg/Bus/Pci/NvmExpressPei/NvmExpressPei.h         | 265 +++++++
 MdeModulePkg/Bus/Pci/NvmExpressPei/NvmExpressPei.inf       |  69 ++
 MdeModulePkg/Bus/Pci/NvmExpressPei/NvmExpressPei.uni       |  21 +
 MdeModulePkg/Bus/Pci/NvmExpressPei/NvmExpressPeiBlockIo.c  | 527 ++++++++++++++
 MdeModulePkg/Bus/Pci/NvmExpressPei/NvmExpressPeiBlockIo.h  | 266 +++++++
 MdeModulePkg/Bus/Pci/NvmExpressPei/NvmExpressPeiExtra.uni  |  19 +
 MdeModulePkg/Bus/Pci/NvmExpressPei/NvmExpressPeiHci.c      | 748 ++++++++++++++++++++
 MdeModulePkg/Bus/Pci/NvmExpressPei/NvmExpressPeiHci.h      | 166 +++++
 MdeModulePkg/Bus/Pci/NvmExpressPei/NvmExpressPeiPassThru.c | 628 ++++++++++++++++
 MdeModulePkg/Bus/Pci/NvmExpressPei/NvmExpressPeiPassThru.h | 107 +++
 MdeModulePkg/Include/Guid/RecoveryDevice.h                 |   9 +
 MdeModulePkg/Include/Ppi/NvmExpressHostController.h        |  92 +++
 MdeModulePkg/MdeModulePkg.dec                              |   6 +
 MdeModulePkg/MdeModulePkg.dsc                              |   1 +
 18 files changed, 3538 insertions(+), 2 deletions(-)
 create mode 100644 MdeModulePkg/Bus/Pci/NvmExpressPei/DmaMem.c
 create mode 100644 MdeModulePkg/Bus/Pci/NvmExpressPei/NvmExpressPei.c
 create mode 100644 MdeModulePkg/Bus/Pci/NvmExpressPei/NvmExpressPei.h
 create mode 100644 MdeModulePkg/Bus/Pci/NvmExpressPei/NvmExpressPei.inf
 create mode 100644 MdeModulePkg/Bus/Pci/NvmExpressPei/NvmExpressPei.uni
 create mode 100644 MdeModulePkg/Bus/Pci/NvmExpressPei/NvmExpressPeiBlockIo.c
 create mode 100644 MdeModulePkg/Bus/Pci/NvmExpressPei/NvmExpressPeiBlockIo.h
 create mode 100644 MdeModulePkg/Bus/Pci/NvmExpressPei/NvmExpressPeiExtra.uni
 create mode 100644 MdeModulePkg/Bus/Pci/NvmExpressPei/NvmExpressPeiHci.c
 create mode 100644 MdeModulePkg/Bus/Pci/NvmExpressPei/NvmExpressPeiHci.h
 create mode 100644 MdeModulePkg/Bus/Pci/NvmExpressPei/NvmExpressPeiPassThru.c
 create mode 100644 MdeModulePkg/Bus/Pci/NvmExpressPei/NvmExpressPeiPassThru.h
 create mode 100644 MdeModulePkg/Include/Ppi/NvmExpressHostController.h

-- 
2.12.0.windows.1

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel