summaryrefslogtreecommitdiff
path: root/ArmPlatformPkg
diff options
context:
space:
mode:
authorRonald Cron <ronald.cron@arm.com>2014-07-15 09:17:36 +0000
committeroliviermartin <oliviermartin@6f19259b-4bc3-4df7-8a09-765794883524>2014-07-15 09:17:36 +0000
commit2db16368d1554b3243c7b5c0f81aa226e8932722 (patch)
tree03b9a56ec86cba490a6e701f291584c12761732e /ArmPlatformPkg
parente77d2f9db2d93896c882edfc1b239e04620503f1 (diff)
downloadedk2-platforms-2db16368d1554b3243c7b5c0f81aa226e8932722.tar.xz
ArmPlatformPkg/Bds: Added update of Pxe boot option
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ronald Cron <ronald.cron@arm.com> Reviewed-By: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15656 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'ArmPlatformPkg')
-rw-r--r--ArmPlatformPkg/Bds/BootOptionSupport.c24
1 files changed, 22 insertions, 2 deletions
diff --git a/ArmPlatformPkg/Bds/BootOptionSupport.c b/ArmPlatformPkg/Bds/BootOptionSupport.c
index dc70dc4a1e..8708d306f3 100644
--- a/ArmPlatformPkg/Bds/BootOptionSupport.c
+++ b/ArmPlatformPkg/Bds/BootOptionSupport.c
@@ -727,6 +727,17 @@ BdsLoadOptionPxeCreateDevicePath (
return EFI_SUCCESS;
}
+/**
+ Update the parameters of a Pxe boot option
+
+ @param[in] OldDevicePath Current complete device path of the Pxe boot option.
+ This has to be a valid complete Pxe boot option path.
+ @param[in] FileName Description of the file the path is asked for
+ @param[out] NewDevicePath Pointer to the new complete device path.
+
+ @retval EFI_SUCCESS Update completed
+ @retval EFI_OUT_OF_RESOURCES Fail to perform the update due to lack of resource
+**/
EFI_STATUS
BdsLoadOptionPxeUpdateDevicePath (
IN EFI_DEVICE_PATH *OldDevicePath,
@@ -735,8 +746,17 @@ BdsLoadOptionPxeUpdateDevicePath (
OUT BOOLEAN *RequestBootType
)
{
- ASSERT (0);
- return EFI_UNSUPPORTED;
+ //
+ // Make a copy of the complete device path that is made of :
+ // the device path of the device supporting the Pxe base code protocol
+ // followed by an end node.
+ //
+ *NewDevicePath = DuplicateDevicePath (OldDevicePath);
+ if (*NewDevicePath == NULL) {
+ return EFI_OUT_OF_RESOURCES;
+ } else {
+ return EFI_SUCCESS;
+ }
}
BOOLEAN