public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [PATCH v2 0/4] Add PEI BlockIo support for NVM Express devices
@ 2018-06-22  2:38 Hao Wu
  2018-06-22  2:38 ` [PATCH v2 1/4] MdeModulePkg: Add definitions for EDKII PEI NVME host controller PPI Hao Wu
                   ` (3 more replies)
  0 siblings, 4 replies; 8+ messages in thread
From: Hao Wu @ 2018-06-22  2:38 UTC (permalink / raw)
  To: edk2-devel; +Cc: Hao Wu, Star Zeng, Eric Dong, Ruiyu Ni, Jiewen Yao

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



^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2018-06-25  0:56 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-06-22  2:38 [PATCH v2 0/4] Add PEI BlockIo support for NVM Express devices Hao Wu
2018-06-22  2:38 ` [PATCH v2 1/4] MdeModulePkg: Add definitions for EDKII PEI NVME host controller PPI Hao Wu
2018-06-22  4:44   ` Ni, Ruiyu
2018-06-22  2:38 ` [PATCH v2 2/4] MdeModulePkg/NvmExpressPei: Add the NVME device PEI BlockIo support Hao Wu
2018-06-22  4:44   ` Ni, Ruiyu
2018-06-25  0:56   ` Zeng, Star
2018-06-22  2:38 ` [PATCH v2 3/4] MdeModulePkg: Add GUID for recovery capsule on NVM Express devices Hao Wu
2018-06-22  2:38 ` [PATCH v2 4/4] FatPkg/FatPei: Add the recognition of recovery capsule on NVME device Hao Wu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox