ArmPkg/BdsLib: Upgrade the library to use natively the Device Path

The previous version was using the string representation of the Device Path.
This new version takes as paramater the binary representation of the Device Path

It also tries to detect which kind of device support it refers by using the remaining
part of the Device Path after it has been loaded by gBS->ConnectController()

Lots of bug have been fixed as well in this new version.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11799 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
oliviermartin
2011-06-11 11:56:30 +00:00
parent e6b3b50834
commit a355a3654f
13 changed files with 1659 additions and 1177 deletions

View File

@@ -12,27 +12,26 @@
*
**/
#ifndef __BDS_ENTRY_H__
#define __BDS_ENTRY_H__
#ifndef _BDS_UNIX_LIB_H_
#define _BDS_UNIX_LIB_H_
EFI_STATUS
BdsConnectAllDrivers ( VOID );
/**
Start a Linux kernel from a Device Path
@param LinuxKernel Device Path to the Linux Kernel
@param Parameters Linux kernel agruments
@param Fdt Device Path to the Flat Device Tree
@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
BdsBootLinux (
IN CONST CHAR16* LinuxKernel,
IN CONST CHAR8* ATag,
IN CONST CHAR16* Fdt
);
EFI_STATUS
BdsLoadApplication (
IN CHAR16* EfiApp
);
EFI_STATUS
BdsLoadApplicationFromPath (
IN CHAR16* EfiAppPath
);
IN EFI_DEVICE_PATH_PROTOCOL* LinuxKernelDevicePath,
IN CONST CHAR8* Arguments,
IN EFI_DEVICE_PATH_PROTOCOL* FdtDevicePath
);
#endif