From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=192.55.52.136; helo=mga12.intel.com; envelope-from=jian.j.wang@intel.com; receiver=edk2-devel@lists.01.org Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 7A0BA2194D3AE for ; Tue, 29 Jan 2019 06:02:31 -0800 (PST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by fmsmga106.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 29 Jan 2019 06:02:30 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.56,537,1539673200"; d="scan'208";a="139766300" Received: from fmsmsx105.amr.corp.intel.com ([10.18.124.203]) by fmsmga004.fm.intel.com with ESMTP; 29 Jan 2019 06:02:30 -0800 Received: from fmsmsx101.amr.corp.intel.com (10.18.124.199) by FMSMSX105.amr.corp.intel.com (10.18.124.203) with Microsoft SMTP Server (TLS) id 14.3.408.0; Tue, 29 Jan 2019 06:02:30 -0800 Received: from shsmsx154.ccr.corp.intel.com (10.239.6.54) by fmsmsx101.amr.corp.intel.com (10.18.124.199) with Microsoft SMTP Server (TLS) id 14.3.408.0; Tue, 29 Jan 2019 06:02:30 -0800 Received: from shsmsx107.ccr.corp.intel.com ([169.254.9.162]) by SHSMSX154.ccr.corp.intel.com ([169.254.7.232]) with mapi id 14.03.0415.000; Tue, 29 Jan 2019 22:02:27 +0800 From: "Wang, Jian J" To: "Chen, Chen A" , "edk2-devel@lists.01.org" CC: "Wu, Hao A" , "Zhang, Chao B" Thread-Topic: [PATCH v3 2/4] MdeModulePkg/CapsuleApp: Add a function used to get next DevicePath Thread-Index: AQHUt6Zn3nzJeWemM0umo3BYgpbFh6XGRy7A Date: Tue, 29 Jan 2019 14:02:26 +0000 Message-ID: References: <20190129074341.7032-1-chen.a.chen@intel.com> <20190129074341.7032-3-chen.a.chen@intel.com> In-Reply-To: <20190129074341.7032-3-chen.a.chen@intel.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiOTk4NDg3ZDEtZDA4Ny00NTE0LTg5NmItOThmODNiNTRjZjkxIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiYmlYVU5aYkhtZ0RaS09TNE9NOXdJWWhGbDVUSHRMVThXV0pvWVlzRzhYQ0ZydGxZRlZ6b3dydnRscmc0WnhNdCJ9 x-ctpclassification: CTP_NT dlp-product: dlpe-windows dlp-version: 11.0.400.15 dlp-reaction: no-action x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Subject: Re: [PATCH v3 2/4] MdeModulePkg/CapsuleApp: Add a function used to get next DevicePath X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 29 Jan 2019 14:02:31 -0000 X-List-Received-Date: Tue, 29 Jan 2019 14:02:31 -0000 X-List-Received-Date: Tue, 29 Jan 2019 14:02:31 -0000 X-List-Received-Date: Tue, 29 Jan 2019 14:02:31 -0000 X-List-Received-Date: Tue, 29 Jan 2019 14:02:31 -0000 X-List-Received-Date: Tue, 29 Jan 2019 14:02:31 -0000 X-List-Received-Date: Tue, 29 Jan 2019 14:02:31 -0000 X-List-Received-Date: Tue, 29 Jan 2019 14:02:31 -0000 X-List-Received-Date: Tue, 29 Jan 2019 14:02:31 -0000 X-List-Received-Date: Tue, 29 Jan 2019 14:02:31 -0000 Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Reviewed-by: Jian J Wang > -----Original Message----- > From: Chen, Chen A > Sent: Tuesday, January 29, 2019 3:44 PM > To: edk2-devel@lists.01.org > Cc: Chen, Chen A ; Wang, Jian J > ; Wu, Hao A ; Zhang, Chao B > > Subject: [PATCH v3 2/4] MdeModulePkg/CapsuleApp: Add a function used to g= et > next DevicePath >=20 > BZ:https://bugzilla.tianocore.org/show_bug.cgi?id=3D1482 >=20 > Add a new function to support Capsule-on-Disk feature. > This function is used to get next full DevicePath from a load option. >=20 > Cc: Jian J Wang > Cc: Hao Wu > Cc: Zhang Chao B > Contributed-under: TianoCore Contribution Agreement 1.1 > Signed-off-by: Chen A Chen > --- > MdeModulePkg/Include/Library/UefiBootManagerLib.h | 21 > +++++++++++++++++++- > MdeModulePkg/Library/UefiBootManagerLib/BmBoot.c | 24 > ++++++++++++++++++++++- > 2 files changed, 43 insertions(+), 2 deletions(-) >=20 > diff --git a/MdeModulePkg/Include/Library/UefiBootManagerLib.h > b/MdeModulePkg/Include/Library/UefiBootManagerLib.h > index bfc0cb86f8..64347ff160 100644 > --- a/MdeModulePkg/Include/Library/UefiBootManagerLib.h > +++ b/MdeModulePkg/Include/Library/UefiBootManagerLib.h > @@ -1,7 +1,7 @@ > /** @file > Provide Boot Manager related library APIs. >=20 > -Copyright (c) 2011 - 2018, Intel Corporation. All rights reserved.
> +Copyright (c) 2011 - 2019, Intel Corporation. All rights reserved.
> (C) Copyright 2015-2016 Hewlett Packard Enterprise Development LP
> This program and the accompanying materials > are licensed and made available under the terms and conditions of the BS= D > License > @@ -445,6 +445,25 @@ EfiBootManagerGetBootManagerMenu ( > EFI_BOOT_MANAGER_LOAD_OPTION *BootOption > ); >=20 > +/** > + Get the next possible full path pointing to the load option. > + The routine doesn't guarantee the returned full path points to an exis= ting > + file, and it also doesn't guarantee the existing file is a valid load = option. > + BmGetNextLoadOptionBuffer() guarantees. > + > + @param FilePath The device path pointing to a load option. > + It could be a short-form device path. > + @param FullPath The full path returned by the routine in last call. > + Set to NULL in first call. > + > + @return The next possible full path pointing to the load option. > + Caller is responsible to free the memory. > +**/ > +EFI_DEVICE_PATH_PROTOCOL * > +EfiBootManagerGetNextFullDevicePath ( > + IN EFI_DEVICE_PATH_PROTOCOL *FilePath, > + IN EFI_DEVICE_PATH_PROTOCOL *FullPath > + ); >=20 > /** > Get the load option by its device path. > diff --git a/MdeModulePkg/Library/UefiBootManagerLib/BmBoot.c > b/MdeModulePkg/Library/UefiBootManagerLib/BmBoot.c > index 6a23477eb8..684d7b8b1b 100644 > --- a/MdeModulePkg/Library/UefiBootManagerLib/BmBoot.c > +++ b/MdeModulePkg/Library/UefiBootManagerLib/BmBoot.c > @@ -1,7 +1,7 @@ > /** @file > Library functions which relates with booting. >=20 > -Copyright (c) 2011 - 2018, Intel Corporation. All rights reserved.
> +Copyright (c) 2011 - 2019, Intel Corporation. All rights reserved.
> (C) Copyright 2015-2016 Hewlett Packard Enterprise Development LP
> This program and the accompanying materials > are licensed and made available under the terms and conditions of the BS= D > License > @@ -2461,3 +2461,25 @@ EfiBootManagerGetBootManagerMenu ( > } > } >=20 > +/** > + Get the next possible full path pointing to the load option. > + The routine doesn't guarantee the returned full path points to an exis= ting > + file, and it also doesn't guarantee the existing file is a valid load = option. > + BmGetNextLoadOptionBuffer() guarantees. > + > + @param FilePath The device path pointing to a load option. > + It could be a short-form device path. > + @param FullPath The full path returned by the routine in last call. > + Set to NULL in first call. > + > + @return The next possible full path pointing to the load option. > + Caller is responsible to free the memory. > +**/ > +EFI_DEVICE_PATH_PROTOCOL * > +EfiBootManagerGetNextFullDevicePath ( > + IN EFI_DEVICE_PATH_PROTOCOL *FilePath, > + IN EFI_DEVICE_PATH_PROTOCOL *FullPath > + ) > +{ > + return BmGetNextLoadOptionDevicePath(FilePath, FullPath); > +} > -- > 2.16.2.windows.1