As previously mentioned in https://edk2.groups.io/g/devel/message/90345, the PPI interface looks good from the device controllers perspective: Reviewed-by: Hao A Wu <hao.a.wu@...> Sorry Ray and Liming, do you have additional comments for this newly introduced EDKII_PCI_DEVICE_PPI? Best Regards, Hao Wu
toggle quoted message
Show quoted text
-----Original Message----- From: Czajkowski, Maciej <maciej.czajkowski@...> Sent: Wednesday, July 27, 2022 8:28 PM To: devel@edk2.groups.io Cc: Wu, Hao A <hao.a.wu@...>; Ni, Ray <ray.ni@...>; Gao, Liming <gaoliming@...> Subject: [PATCH v2 1/2] MdeModulePkg: Add EDKII_PCI_DEVICE_PPI definition
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3907
This commit introduces EDKII_PCI_DEVICE_PPI. The purpose of this PPI is to provide a way of accessing PCI devices to drvice drivers such as NvmExpressPei or AhciPei.
Cc: Hao A Wu <hao.a.wu@...> Cc: Ray Ni <ray.ni@...> Cc: Liming Gao <gaoliming@...> Signed-off-by: Maciej Czajkowski <maciej.czajkowski@...> Acked-by: Hao A Wu <hao.a.wu@...> ---
Notes: v2 changes: - added acked-by tag - minor change - modified header guard to follow coding style
MdeModulePkg/Include/Ppi/PciDevice.h | 32 ++++++++++++++++++++ MdeModulePkg/MdeModulePkg.dec | 3 ++ 2 files changed, 35 insertions(+)
diff --git a/MdeModulePkg/Include/Ppi/PciDevice.h b/MdeModulePkg/Include/Ppi/PciDevice.h new file mode 100644 index 000000000000..6750ae6ce394 --- /dev/null +++ b/MdeModulePkg/Include/Ppi/PciDevice.h @@ -0,0 +1,32 @@ +/** @file++ Copyright (c) 2022, Intel Corporation. All rights reserved.<BR>+ SPDX-License-Identifier: BSD-2-Clause-Patent++**/++#ifndef EDKII_PCI_DEVICE_PPI_H_+#define EDKII_PCI_DEVICE_PPI_H_++#include <Protocol/PciIo.h>+#include <Protocol/DevicePath.h>++///+/// Global ID for the EDKII_PCI_DEVICE_PPI_GUID.+///+#define EDKII_PCI_DEVICE_PPI_GUID \+ { \+ 0x1597ab4f, 0xd542, 0x4efe, { 0x9a, 0xf7, 0xb2, 0x44, 0xec, 0x54, 0x4c, 0x0b } \+ }++///+/// PCI Device PPI structure.+///+typedef struct {+ EFI_PCI_IO_PROTOCOL PciIo;+ EFI_DEVICE_PATH_PROTOCOL *DevicePath;+} EDKII_PCI_DEVICE_PPI;++extern EFI_GUID gEdkiiPeiPciDevicePpiGuid;++#endif // EDKII_PCI_DEVICE_PPI_H_diff --git a/MdeModulePkg/MdeModulePkg.dec b/MdeModulePkg/MdeModulePkg.dec index 2bcb9f9453af..7d989108324a 100644 --- a/MdeModulePkg/MdeModulePkg.dec +++ b/MdeModulePkg/MdeModulePkg.dec @@ -509,6 +509,9 @@ [Ppis] ## Include/Ppi/NvmExpressPassThru.h gEdkiiPeiNvmExpressPassThruPpiGuid = { 0x6af31b2c, 0x3be, 0x46c1, { 0xb1, 0x2d, 0xea, 0x4a, 0x36, 0xdf, 0xa7, 0x4c } } + ## Include/Ppi/PciDevice.h+ gEdkiiPeiPciDevicePpiGuid = { 0x1597ab4f, 0xd542, 0x4efe, { 0x9a, 0xf7, 0xb2, 0x44, 0xec, 0x54, 0x4c, 0x0b } }+ ## Include/Ppi/CapsuleOnDisk.h gEdkiiPeiCapsuleOnDiskPpiGuid = { 0x71a9ea61, 0x5a35, 0x4a5d, { 0xac, 0xef, 0x9c, 0xf8, 0x6d, 0x6d, 0x67, 0xe0 } } gEdkiiPeiBootInCapsuleOnDiskModePpiGuid = { 0xb08a11e4, 0xe2b7, 0x4b75, { 0xb5, 0x15, 0xaf, 0x61, 0x6, 0x68, 0xbf, 0xd1 } }-- 2.27.0.windows.1
|