public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: Hao Wu <hao.a.wu@intel.com>
To: edk2-devel@lists.01.org
Cc: Hao Wu <hao.a.wu@intel.com>, Star Zeng <star.zeng@intel.com>,
	Eric Dong <eric.dong@intel.com>, Ruiyu Ni <ruiyu.ni@intel.com>,
	Jiewen Yao <jiewen.yao@intel.com>
Subject: [PATCH v2 0/4] Add PEI BlockIo support for NVM Express devices
Date: Fri, 22 Jun 2018 10:38:55 +0800	[thread overview]
Message-ID: <20180622023859.13880-1-hao.a.wu@intel.com> (raw)

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



             reply	other threads:[~2018-06-22  2:39 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-06-22  2:38 Hao Wu [this message]
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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180622023859.13880-1-hao.a.wu@intel.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox