From: "Ni, Ruiyu" <ruiyu.ni@intel.com>
To: "Wu, Hao A" <hao.a.wu@intel.com>,
"edk2-devel@lists.01.org" <edk2-devel@lists.01.org>
Subject: Re: [PATCH 2/2] MdeModulePkg/PartitionDxe: Add impl of Partition Information Protocol
Date: Fri, 7 Jul 2017 02:24:17 +0000 [thread overview]
Message-ID: <734D49CCEBEEF84792F5B80ED585239D5B9B1A11@SHSMSX104.ccr.corp.intel.com> (raw)
In-Reply-To: <20170622084440.7696-3-hao.a.wu@intel.com>
Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>
Thanks/Ray
> -----Original Message-----
> From: Wu, Hao A
> Sent: Thursday, June 22, 2017 4:45 PM
> To: edk2-devel@lists.01.org
> Cc: Wu, Hao A <hao.a.wu@intel.com>; Ni, Ruiyu <ruiyu.ni@intel.com>; Bret
> Barkelew <brbarkel@microsoft.com>
> Subject: [PATCH 2/2] MdeModulePkg/PartitionDxe: Add impl of Partition
> Information Protocol
>
> Cc: Ruiyu Ni <ruiyu.ni@intel.com>
> Contributed-under: TianoCore Contribution Agreement 1.0
> Signed-off-by: Bret Barkelew <brbarkel@microsoft.com>
> Signed-off-by: Hao Wu <hao.a.wu@intel.com>
> ---
> MdeModulePkg/Universal/Disk/PartitionDxe/ElTorito.c | 43 ++++++++---
> ----
> MdeModulePkg/Universal/Disk/PartitionDxe/Gpt.c | 55
> ++++++++++++--------
> MdeModulePkg/Universal/Disk/PartitionDxe/Mbr.c | 51
> ++++++++++++------
> MdeModulePkg/Universal/Disk/PartitionDxe/Partition.c | 23 ++++++--
> MdeModulePkg/Universal/Disk/PartitionDxe/Partition.h | 48 +++++++++-
> -------
> MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf | 3 +-
> 6 files changed, 135 insertions(+), 88 deletions(-)
>
> diff --git a/MdeModulePkg/Universal/Disk/PartitionDxe/ElTorito.c
> b/MdeModulePkg/Universal/Disk/PartitionDxe/ElTorito.c
> index 2af38429dd..2084ee5abe 100644
> --- a/MdeModulePkg/Universal/Disk/PartitionDxe/ElTorito.c
> +++ b/MdeModulePkg/Universal/Disk/PartitionDxe/ElTorito.c
> @@ -1,7 +1,7 @@
> /** @file
> Decode an El Torito formatted CD-ROM
>
> -Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR>
> +Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.<BR>
> This program and the accompanying materials are licensed and made
> available under the terms and conditions of the BSD License which
> accompanies this distribution. The full text of the license may be found at
> @@ -44,22 +44,23 @@ PartitionInstallElToritoChildHandles (
> IN EFI_DEVICE_PATH_PROTOCOL *DevicePath
> )
> {
> - EFI_STATUS Status;
> - UINT64 VolDescriptorOffset;
> - UINT32 Lba2KB;
> - EFI_BLOCK_IO_MEDIA *Media;
> - CDROM_VOLUME_DESCRIPTOR *VolDescriptor;
> - ELTORITO_CATALOG *Catalog;
> - UINTN Check;
> - UINTN Index;
> - UINTN BootEntry;
> - UINTN MaxIndex;
> - UINT16 *CheckBuffer;
> - CDROM_DEVICE_PATH CdDev;
> - UINT32 SubBlockSize;
> - UINT32 SectorCount;
> - EFI_STATUS Found;
> - UINT32 VolSpaceSize;
> + EFI_STATUS Status;
> + UINT64 VolDescriptorOffset;
> + UINT32 Lba2KB;
> + EFI_BLOCK_IO_MEDIA *Media;
> + CDROM_VOLUME_DESCRIPTOR *VolDescriptor;
> + ELTORITO_CATALOG *Catalog;
> + UINTN Check;
> + UINTN Index;
> + UINTN BootEntry;
> + UINTN MaxIndex;
> + UINT16 *CheckBuffer;
> + CDROM_DEVICE_PATH CdDev;
> + UINT32 SubBlockSize;
> + UINT32 SectorCount;
> + EFI_STATUS Found;
> + UINT32 VolSpaceSize;
> + EFI_PARTITION_INFO_PROTOCOL PartitionInfo;
>
> Found = EFI_NOT_FOUND;
> Media = BlockIo->Media;
> @@ -248,6 +249,10 @@ PartitionInstallElToritoChildHandles (
> );
> }
>
> + ZeroMem (&PartitionInfo, sizeof (EFI_PARTITION_INFO_PROTOCOL));
> + PartitionInfo.Revision = EFI_PARTITION_INFO_PROTOCOL_REVISION;
> + PartitionInfo.Type = PARTITION_TYPE_OTHER;
> +
> Status = PartitionInstallChildHandle (
> This,
> Handle,
> @@ -257,10 +262,10 @@ PartitionInstallElToritoChildHandles (
> BlockIo2,
> DevicePath,
> (EFI_DEVICE_PATH_PROTOCOL *) &CdDev,
> + &PartitionInfo,
> Catalog->Boot.Lba * (SIZE_2KB / Media->BlockSize),
> Catalog->Boot.Lba * (SIZE_2KB / Media->BlockSize) +
> CdDev.PartitionSize - 1,
> - SubBlockSize,
> - FALSE
> + SubBlockSize
> );
> if (!EFI_ERROR (Status)) {
> Found = EFI_SUCCESS;
> diff --git a/MdeModulePkg/Universal/Disk/PartitionDxe/Gpt.c
> b/MdeModulePkg/Universal/Disk/PartitionDxe/Gpt.c
> index 35860515c1..2cd3e15e8a 100644
> --- a/MdeModulePkg/Universal/Disk/PartitionDxe/Gpt.c
> +++ b/MdeModulePkg/Universal/Disk/PartitionDxe/Gpt.c
> @@ -13,7 +13,7 @@
> PartitionValidGptTable(), PartitionCheckGptEntry() routine will accept disk
> partition content and validate the GPT table and GPT entry.
>
> -Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.<BR>
> +Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.<BR>
> This program and the accompanying materials are licensed and made
> available under the terms and conditions of the BSD License which
> accompanies this distribution. The full text of the license may be found at
> @@ -205,19 +205,20 @@ PartitionInstallGptChildHandles (
> IN EFI_DEVICE_PATH_PROTOCOL *DevicePath
> )
> {
> - EFI_STATUS Status;
> - UINT32 BlockSize;
> - EFI_LBA LastBlock;
> - MASTER_BOOT_RECORD *ProtectiveMbr;
> - EFI_PARTITION_TABLE_HEADER *PrimaryHeader;
> - EFI_PARTITION_TABLE_HEADER *BackupHeader;
> - EFI_PARTITION_ENTRY *PartEntry;
> - EFI_PARTITION_ENTRY *Entry;
> - EFI_PARTITION_ENTRY_STATUS *PEntryStatus;
> - UINTN Index;
> - EFI_STATUS GptValidStatus;
> - HARDDRIVE_DEVICE_PATH HdDev;
> - UINT32 MediaId;
> + EFI_STATUS Status;
> + UINT32 BlockSize;
> + EFI_LBA LastBlock;
> + MASTER_BOOT_RECORD *ProtectiveMbr;
> + EFI_PARTITION_TABLE_HEADER *PrimaryHeader;
> + EFI_PARTITION_TABLE_HEADER *BackupHeader;
> + EFI_PARTITION_ENTRY *PartEntry;
> + EFI_PARTITION_ENTRY *Entry;
> + EFI_PARTITION_ENTRY_STATUS *PEntryStatus;
> + UINTN Index;
> + EFI_STATUS GptValidStatus;
> + HARDDRIVE_DEVICE_PATH HdDev;
> + UINT32 MediaId;
> + EFI_PARTITION_INFO_PROTOCOL PartitionInfo;
>
> ProtectiveMbr = NULL;
> PrimaryHeader = NULL;
> @@ -380,17 +381,25 @@ PartitionInstallGptChildHandles (
> }
>
> ZeroMem (&HdDev, sizeof (HdDev));
> - HdDev.Header.Type = MEDIA_DEVICE_PATH;
> - HdDev.Header.SubType = MEDIA_HARDDRIVE_DP;
> + HdDev.Header.Type = MEDIA_DEVICE_PATH;
> + HdDev.Header.SubType = MEDIA_HARDDRIVE_DP;
> SetDevicePathNodeLength (&HdDev.Header, sizeof (HdDev));
>
> - HdDev.PartitionNumber = (UINT32) Index + 1;
> - HdDev.MBRType = MBR_TYPE_EFI_PARTITION_TABLE_HEADER;
> - HdDev.SignatureType = SIGNATURE_TYPE_GUID;
> - HdDev.PartitionStart = Entry->StartingLBA;
> - HdDev.PartitionSize = Entry->EndingLBA - Entry->StartingLBA + 1;
> + HdDev.PartitionNumber = (UINT32) Index + 1;
> + HdDev.MBRType = MBR_TYPE_EFI_PARTITION_TABLE_HEADER;
> + HdDev.SignatureType = SIGNATURE_TYPE_GUID;
> + HdDev.PartitionStart = Entry->StartingLBA;
> + HdDev.PartitionSize = Entry->EndingLBA - Entry->StartingLBA + 1;
> CopyMem (HdDev.Signature, &Entry->UniquePartitionGUID, sizeof
> (EFI_GUID));
>
> + ZeroMem (&PartitionInfo, sizeof (EFI_PARTITION_INFO_PROTOCOL));
> + PartitionInfo.Revision = EFI_PARTITION_INFO_PROTOCOL_REVISION;
> + PartitionInfo.Type = PARTITION_TYPE_GPT;
> + if (CompareGuid (&Entry->PartitionTypeGUID,
> &gEfiPartTypeSystemPartGuid)) {
> + PartitionInfo.System = 1;
> + }
> + CopyMem (&PartitionInfo.Info.Gpt, Entry, sizeof
> + (EFI_PARTITION_ENTRY));
> +
> DEBUG ((EFI_D_INFO, " Index : %d\n", (UINT32) Index));
> DEBUG ((EFI_D_INFO, " Start LBA : %lx\n", (UINT64) HdDev.PartitionStart));
> DEBUG ((EFI_D_INFO, " End LBA : %lx\n", (UINT64) Entry->EndingLBA));
> @@ -407,10 +416,10 @@ PartitionInstallGptChildHandles (
> BlockIo2,
> DevicePath,
> (EFI_DEVICE_PATH_PROTOCOL *) &HdDev,
> + &PartitionInfo,
> Entry->StartingLBA,
> Entry->EndingLBA,
> - BlockSize,
> - CompareGuid(&Entry->PartitionTypeGUID,
> &gEfiPartTypeSystemPartGuid)
> + BlockSize
> );
> }
>
> diff --git a/MdeModulePkg/Universal/Disk/PartitionDxe/Mbr.c
> b/MdeModulePkg/Universal/Disk/PartitionDxe/Mbr.c
> index 377fb19319..55e9d26bae 100644
> --- a/MdeModulePkg/Universal/Disk/PartitionDxe/Mbr.c
> +++ b/MdeModulePkg/Universal/Disk/PartitionDxe/Mbr.c
> @@ -12,7 +12,7 @@
> the legacy boot strap code.
>
> Copyright (c) 2014, Hewlett-Packard Development Company, L.P.<BR> -
> Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR>
> +Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.<BR>
> This program and the accompanying materials are licensed and made
> available under the terms and conditions of the BSD License which
> accompanies this distribution. The full text of the license may be found at
> @@ -129,18 +129,19 @@ PartitionInstallMbrChildHandles (
> IN EFI_DEVICE_PATH_PROTOCOL *DevicePath
> )
> {
> - EFI_STATUS Status;
> - MASTER_BOOT_RECORD *Mbr;
> - UINT32 ExtMbrStartingLba;
> - UINT32 Index;
> - HARDDRIVE_DEVICE_PATH HdDev;
> - HARDDRIVE_DEVICE_PATH ParentHdDev;
> - EFI_STATUS Found;
> - EFI_DEVICE_PATH_PROTOCOL *DevicePathNode;
> - EFI_DEVICE_PATH_PROTOCOL *LastDevicePathNode;
> - UINT32 BlockSize;
> - UINT32 MediaId;
> - EFI_LBA LastBlock;
> + EFI_STATUS Status;
> + MASTER_BOOT_RECORD *Mbr;
> + UINT32 ExtMbrStartingLba;
> + UINT32 Index;
> + HARDDRIVE_DEVICE_PATH HdDev;
> + HARDDRIVE_DEVICE_PATH ParentHdDev;
> + EFI_STATUS Found;
> + EFI_DEVICE_PATH_PROTOCOL *DevicePathNode;
> + EFI_DEVICE_PATH_PROTOCOL *LastDevicePathNode;
> + UINT32 BlockSize;
> + UINT32 MediaId;
> + EFI_LBA LastBlock;
> + EFI_PARTITION_INFO_PROTOCOL PartitionInfo;
>
> Found = EFI_NOT_FOUND;
>
> @@ -225,6 +226,14 @@ PartitionInstallMbrChildHandles (
> HdDev.PartitionSize = UNPACK_UINT32 (Mbr-
> >Partition[Index].SizeInLBA);
> CopyMem (HdDev.Signature, &(Mbr->UniqueMbrSignature[0]), sizeof
> (Mbr->UniqueMbrSignature));
>
> + ZeroMem (&PartitionInfo, sizeof (EFI_PARTITION_INFO_PROTOCOL));
> + PartitionInfo.Revision = EFI_PARTITION_INFO_PROTOCOL_REVISION;
> + PartitionInfo.Type = PARTITION_TYPE_MBR;
> + if (Mbr->Partition[Index].OSIndicator == EFI_PARTITION) {
> + PartitionInfo.System = 1;
> + }
> + CopyMem (&PartitionInfo.Info.Mbr, &Mbr->Partition[Index], sizeof
> + (MBR_PARTITION_RECORD));
> +
> Status = PartitionInstallChildHandle (
> This,
> Handle,
> @@ -234,10 +243,10 @@ PartitionInstallMbrChildHandles (
> BlockIo2,
> DevicePath,
> (EFI_DEVICE_PATH_PROTOCOL *) &HdDev,
> + &PartitionInfo,
> HdDev.PartitionStart,
> HdDev.PartitionStart + HdDev.PartitionSize - 1,
> - MBR_SIZE,
> - (BOOLEAN) (Mbr->Partition[Index].OSIndicator == EFI_PARTITION)
> + MBR_SIZE
> );
>
> if (!EFI_ERROR (Status)) {
> @@ -288,6 +297,14 @@ PartitionInstallMbrChildHandles (
> //
> *((UINT32 *) &HdDev.Signature[0]) = 0;
>
> + ZeroMem (&PartitionInfo, sizeof (EFI_PARTITION_INFO_PROTOCOL));
> + PartitionInfo.Revision = EFI_PARTITION_INFO_PROTOCOL_REVISION;
> + PartitionInfo.Type = PARTITION_TYPE_MBR;
> + if (Mbr->Partition[0].OSIndicator == EFI_PARTITION) {
> + PartitionInfo.System = 1;
> + }
> + CopyMem (&PartitionInfo.Info.Mbr, &Mbr->Partition[0], sizeof
> + (MBR_PARTITION_RECORD));
> +
> Status = PartitionInstallChildHandle (
> This,
> Handle,
> @@ -297,10 +314,10 @@ PartitionInstallMbrChildHandles (
> BlockIo2,
> DevicePath,
> (EFI_DEVICE_PATH_PROTOCOL *) &HdDev,
> + &PartitionInfo,
> HdDev.PartitionStart - ParentHdDev.PartitionStart,
> HdDev.PartitionStart - ParentHdDev.PartitionStart +
> HdDev.PartitionSize - 1,
> - MBR_SIZE,
> - (BOOLEAN) (Mbr->Partition[0].OSIndicator == EFI_PARTITION)
> + MBR_SIZE
> );
> if (!EFI_ERROR (Status)) {
> Found = EFI_SUCCESS;
> diff --git a/MdeModulePkg/Universal/Disk/PartitionDxe/Partition.c
> b/MdeModulePkg/Universal/Disk/PartitionDxe/Partition.c
> index 1c53bf0233..5a7d119b43 100644
> --- a/MdeModulePkg/Universal/Disk/PartitionDxe/Partition.c
> +++ b/MdeModulePkg/Universal/Disk/PartitionDxe/Partition.c
> @@ -4,7 +4,7 @@
> of the raw block devices media. Currently "El Torito CD-ROM", Legacy
> MBR, and GPT partition schemes are supported.
>
> -Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.<BR>
> +Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.<BR>
> This program and the accompanying materials are licensed and made
> available under the terms and conditions of the BSD License which
> accompanies this distribution. The full text of the license may be found at
> @@ -514,6 +514,8 @@ PartitionDriverBindingStop (
> &Private->BlockIo,
> &gEfiBlockIo2ProtocolGuid,
> &Private->BlockIo2,
> + &gEfiPartitionInfoProtocolGuid,
> + &Private->PartitionInfo,
> Private->EspGuid,
> NULL,
> NULL
> @@ -526,6 +528,8 @@ PartitionDriverBindingStop (
> Private->DevicePath,
> &gEfiBlockIoProtocolGuid,
> &Private->BlockIo,
> + &gEfiPartitionInfoProtocolGuid,
> + &Private->PartitionInfo,
> Private->EspGuid,
> NULL,
> NULL
> @@ -1092,10 +1096,10 @@ PartitionFlushBlocksEx (
> @param[in] ParentBlockIo2 Parent BlockIo2 interface.
> @param[in] ParentDevicePath Parent Device Path.
> @param[in] DevicePathNode Child Device Path node.
> + @param[in] PartitionInfo Child Partition Information interface.
> @param[in] Start Start Block.
> @param[in] End End Block.
> @param[in] BlockSize Child block size.
> - @param[in] InstallEspGuid Flag to install EFI System Partition GUID on
> handle.
>
> @retval EFI_SUCCESS A child handle was added.
> @retval other A child handle was not added.
> @@ -1111,10 +1115,10 @@ PartitionInstallChildHandle (
> IN EFI_BLOCK_IO2_PROTOCOL *ParentBlockIo2,
> IN EFI_DEVICE_PATH_PROTOCOL *ParentDevicePath,
> IN EFI_DEVICE_PATH_PROTOCOL *DevicePathNode,
> + IN EFI_PARTITION_INFO_PROTOCOL *PartitionInfo,
> IN EFI_LBA Start,
> IN EFI_LBA End,
> - IN UINT32 BlockSize,
> - IN BOOLEAN InstallEspGuid
> + IN UINT32 BlockSize
> )
> {
> EFI_STATUS Status;
> @@ -1203,7 +1207,12 @@ PartitionInstallChildHandle (
> return EFI_OUT_OF_RESOURCES;
> }
>
> - if (InstallEspGuid) {
> + //
> + // Set the PartitionInfo into Private Data.
> + //
> + CopyMem (&Private->PartitionInfo, PartitionInfo, sizeof
> + (EFI_PARTITION_INFO_PROTOCOL));
> +
> + if ((PartitionInfo->System == 1)) {
> Private->EspGuid = &gEfiPartTypeSystemPartGuid;
> } else {
> //
> @@ -1225,6 +1234,8 @@ PartitionInstallChildHandle (
> &Private->BlockIo,
> &gEfiBlockIo2ProtocolGuid,
> &Private->BlockIo2,
> + &gEfiPartitionInfoProtocolGuid,
> + &Private->PartitionInfo,
> Private->EspGuid,
> NULL,
> NULL
> @@ -1236,6 +1247,8 @@ PartitionInstallChildHandle (
> Private->DevicePath,
> &gEfiBlockIoProtocolGuid,
> &Private->BlockIo,
> + &gEfiPartitionInfoProtocolGuid,
> + &Private->PartitionInfo,
> Private->EspGuid,
> NULL,
> NULL
> diff --git a/MdeModulePkg/Universal/Disk/PartitionDxe/Partition.h
> b/MdeModulePkg/Universal/Disk/PartitionDxe/Partition.h
> index 7cb19882cb..f2f6185317 100644
> --- a/MdeModulePkg/Universal/Disk/PartitionDxe/Partition.h
> +++ b/MdeModulePkg/Universal/Disk/PartitionDxe/Partition.h
> @@ -4,7 +4,7 @@
> of the raw block devices media. Currently "El Torito CD-ROM", Legacy
> MBR, and GPT partition schemes are supported.
>
> -Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>
> +Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.<BR>
> This program and the accompanying materials are licensed and made
> available under the terms and conditions of the BSD License which
> accompanies this distribution. The full text of the license may be found at
> @@ -27,6 +27,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY
> KIND, EITHER EXPRESS OR IMPLIED.
> #include <Protocol/DriverBinding.h>
> #include <Protocol/DiskIo.h>
> #include <Protocol/DiskIo2.h>
> +#include <Protocol/PartitionInfo.h>
> #include <Library/DebugLib.h>
> #include <Library/UefiDriverEntryPoint.h> #include <Library/BaseLib.h>
> @@ -45,25 +46,26 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF
> ANY KIND, EITHER EXPRESS OR IMPLIED.
> //
> #define PARTITION_PRIVATE_DATA_SIGNATURE SIGNATURE_32 ('P', 'a', 'r',
> 't') typedef struct {
> - UINT64 Signature;
> -
> - EFI_HANDLE Handle;
> - EFI_DEVICE_PATH_PROTOCOL *DevicePath;
> - EFI_BLOCK_IO_PROTOCOL BlockIo;
> - EFI_BLOCK_IO2_PROTOCOL BlockIo2;
> - EFI_BLOCK_IO_MEDIA Media;
> - EFI_BLOCK_IO_MEDIA Media2;//For BlockIO2
> -
> - EFI_DISK_IO_PROTOCOL *DiskIo;
> - EFI_DISK_IO2_PROTOCOL *DiskIo2;
> - EFI_BLOCK_IO_PROTOCOL *ParentBlockIo;
> - EFI_BLOCK_IO2_PROTOCOL *ParentBlockIo2;
> - UINT64 Start;
> - UINT64 End;
> - UINT32 BlockSize;
> - BOOLEAN InStop;
> -
> - EFI_GUID *EspGuid;
> + UINT64 Signature;
> +
> + EFI_HANDLE Handle;
> + EFI_DEVICE_PATH_PROTOCOL *DevicePath;
> + EFI_BLOCK_IO_PROTOCOL BlockIo;
> + EFI_BLOCK_IO2_PROTOCOL BlockIo2;
> + EFI_BLOCK_IO_MEDIA Media;
> + EFI_BLOCK_IO_MEDIA Media2;//For BlockIO2
> + EFI_PARTITION_INFO_PROTOCOL PartitionInfo;
> +
> + EFI_DISK_IO_PROTOCOL *DiskIo;
> + EFI_DISK_IO2_PROTOCOL *DiskIo2;
> + EFI_BLOCK_IO_PROTOCOL *ParentBlockIo;
> + EFI_BLOCK_IO2_PROTOCOL *ParentBlockIo2;
> + UINT64 Start;
> + UINT64 End;
> + UINT32 BlockSize;
> + BOOLEAN InStop;
> +
> + EFI_GUID *EspGuid;
>
> } PARTITION_PRIVATE_DATA;
>
> @@ -321,10 +323,10 @@ PartitionComponentNameGetControllerName (
> @param[in] ParentBlockIo2 Parent BlockIo2 interface.
> @param[in] ParentDevicePath Parent Device Path.
> @param[in] DevicePathNode Child Device Path node.
> + @param[in] PartitionInfo Child Partition Information interface.
> @param[in] Start Start Block.
> @param[in] End End Block.
> @param[in] BlockSize Child block size.
> - @param[in] InstallEspGuid Flag to install EFI System Partition GUID on
> handle.
>
> @retval EFI_SUCCESS A child handle was added.
> @retval other A child handle was not added.
> @@ -340,10 +342,10 @@ PartitionInstallChildHandle (
> IN EFI_BLOCK_IO2_PROTOCOL *ParentBlockIo2,
> IN EFI_DEVICE_PATH_PROTOCOL *ParentDevicePath,
> IN EFI_DEVICE_PATH_PROTOCOL *DevicePathNode,
> + IN EFI_PARTITION_INFO_PROTOCOL *PartitionInfo,
> IN EFI_LBA Start,
> IN EFI_LBA End,
> - IN UINT32 BlockSize,
> - IN BOOLEAN InstallEspGuid
> + IN UINT32 BlockSize
> );
>
> /**
> diff --git a/MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
> b/MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
> index 680626378f..48212773e8 100644
> --- a/MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
> +++ b/MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
> @@ -11,7 +11,7 @@
> # This external input must be validated carefully to avoid security issue like
> # buffer overflow, integer overflow.
> #
> -# Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.<BR>
> +# Copyright (c) 2006 - 2017, Intel Corporation. All rights
> +reserved.<BR>
> # This program and the accompanying materials # are licensed and made
> available under the terms and conditions of the BSD License # which
> accompanies this distribution. The full text of the license may be found at
> @@ -82,6 +82,7 @@
> ## BY_START
> ## TO_START
> gEfiDevicePathProtocolGuid
> + gEfiPartitionInfoProtocolGuid ## BY_START
> gEfiDiskIoProtocolGuid ## TO_START
> gEfiDiskIo2ProtocolGuid ## TO_START
>
> --
> 2.12.0.windows.1
prev parent reply other threads:[~2017-07-07 2:22 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-06-22 8:44 [PATCH 0/2] Add EFI Partition Information Protocol Hao Wu
2017-06-22 8:44 ` [PATCH 1/2] MdePkg: Add EFI Partition Information Protocol definitions Hao Wu
2017-07-07 2:26 ` Ni, Ruiyu
2017-07-07 5:40 ` Wu, Hao A
2017-06-22 8:44 ` [PATCH 2/2] MdeModulePkg/PartitionDxe: Add impl of Partition Information Protocol Hao Wu
2017-07-07 2:24 ` Ni, Ruiyu [this message]
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=734D49CCEBEEF84792F5B80ED585239D5B9B1A11@SHSMSX104.ccr.corp.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