ArmPlatformPkg/Bds: Fix various bugs in the new BDS

The errors were:
- uncaught returned error
- used of uninitialized variables


ArmPlatformPkg/Bds: Implement the update of MemMap Boot Device



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11830 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
oliviermartin
2011-06-15 19:56:50 +00:00
parent e862cd50c6
commit 6bab33c7b6
5 changed files with 110 additions and 11 deletions

View File

@@ -15,6 +15,25 @@
#ifndef __BDS_ENTRY_H__
#define __BDS_ENTRY_H__
/**
Connect a Device Path and return the handle of the driver that support this DevicePath
@param DevicePath Device Path of the File to connect
@param Handle Handle of the driver that support this DevicePath
@param RemainingDevicePath Remaining DevicePath nodes that do not match the driver DevicePath
@retval EFI_SUCCESS A driver that matches the Device Path has been found
@retval EFI_NOT_FOUND No handles match the search.
@retval EFI_INVALID_PARAMETER DevicePath or Handle is NULL
**/
EFI_STATUS
BdsConnectDevicePath (
IN EFI_DEVICE_PATH_PROTOCOL* DevicePath,
OUT EFI_HANDLE *Handle,
OUT EFI_DEVICE_PATH_PROTOCOL **RemainingDevicePath
);
/**
Connect all DXE drivers
@@ -32,7 +51,7 @@ BdsConnectAllDrivers (
Start a Linux kernel from a Device Path
@param LinuxKernel Device Path to the Linux Kernel
@param Parameters Linux kernel agruments
@param Parameters Linux kernel arguments
@param Fdt Device Path to the Flat Device Tree
@retval EFI_SUCCESS All drivers have been connected
@@ -47,6 +66,23 @@ BdsBootLinux (
IN EFI_DEVICE_PATH_PROTOCOL* FdtDevicePath
);
/**
Start an EFI Application from a Device Path
@param ParentImageHandle Handle of the calling image
@param DevicePath Location of the EFI Application
@retval EFI_SUCCESS All drivers have been connected
@retval EFI_NOT_FOUND The Linux kernel Device Path has not been found
@retval EFI_OUT_OF_RESOURCES There is not enough resource memory to store the matching results.
**/
EFI_STATUS
BdsStartEfiApplication (
IN EFI_HANDLE ParentImageHandle,
IN EFI_DEVICE_PATH_PROTOCOL *DevicePath
);
/**
Start an EFI Application from any Firmware Volume