]> git.proxmox.com Git - mirror_edk2.git/blobdiff - EmbeddedPkg/Ebl/Ebl.h
Adding support for BeagleBoard.
[mirror_edk2.git] / EmbeddedPkg / Ebl / Ebl.h
diff --git a/EmbeddedPkg/Ebl/Ebl.h b/EmbeddedPkg/Ebl/Ebl.h
new file mode 100644 (file)
index 0000000..705511a
--- /dev/null
@@ -0,0 +1,194 @@
+/** @file
+  Include flie for basic command line parser for EBL (Embedded Boot Loader)
+
+  Copyright (c) 2007, Intel Corporation<BR>
+  Portions copyright (c) 2008-2009 Apple Inc. All rights reserved.<BR>
+
+  All rights reserved. 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
+  http://opensource.org/licenses/bsd-license.php
+
+  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+
+**/
+
+#ifndef __EBL_H__
+#define __EBL_H__
+
+#include <PiDxe.h>
+#include <Protocol/BlockIo.h>             
+#include <Protocol/SimpleFileSystem.h>      
+#include <Protocol/FirmwareVolume2.h>        
+#include <Protocol/LoadFile.h>              
+#include <Protocol/FirmwareVolumeBlock.h> 
+#include <Protocol/PxeBaseCode.h> 
+#include <Protocol/LoadedImage.h> 
+#include <Protocol/EblAddCommand.h>
+#include <Protocol/PciIo.h>
+#include <Protocol/DevicePath.h>
+
+#include <Guid/FileInfo.h>
+#include <Guid/DxeServices.h>
+#include <Guid/MemoryTypeInformation.h>
+#include <Guid/MemoryAllocationHob.h>
+#include <Library/BaseLib.h>
+#include <Library/MemoryAllocationLib.h>
+#include <Library/DevicePathLib.h>
+#include <Library/PrintLib.h>
+#include <Library/BaseMemoryLib.h>
+#include <Library/UefiLib.h>   
+#include <Library/UefiBootServicesTableLib.h>
+#include <Library/UefiRuntimeServicesTableLib.h>
+#include <Library/DebugLib.h>
+#include <Library/EfiFileLib.h>
+#include <Library/HobLib.h>
+#include <Library/DebugLib.h>
+#include <Library/IoLib.h>
+#include <Library/PcdLib.h>
+#include <Library/EblCmdLib.h>
+#include <Library/DevicePathLib.h>
+#include <Library/UefiLib.h>
+#include <Library/EblNetworkLib.h>
+
+#include <IndustryStandard/Pci.h>
+
+//
+// Prompt for the command line
+//
+#define CMD_SEPERATOR   ';'
+#define EBL_MAX_COMMAND_COUNT   0x100
+#define MAX_CMD_HISTORY         16
+#define MAX_CMD_LINE            256
+#define MAX_ARGS                32
+
+#define EBL_CR                  0x0a
+#define EBL_LF                  0x0d
+
+#define EFI_SET_TIMER_TO_SECOND   10000000
+
+
+
+EBL_COMMAND_TABLE *
+EblGetCommand (
+  IN CHAR8    *CommandName
+  );
+
+
+EFI_STATUS
+EblPathToDevice (
+  IN  CHAR8                       *Path,
+  OUT EFI_HANDLE                  *DeviceHandle,
+  OUT EFI_DEVICE_PATH_PROTOCOL    **PathDevicePath,
+  OUT VOID                        **Buffer,
+  OUT UINTN                       *BufferSize
+  );
+
+BOOLEAN
+EblAnyKeyToContinueQtoQuit (
+  IN  UINTN   *CurrentRow,
+  IN  BOOLEAN PrefixNewline
+  );
+
+VOID
+EblUpdateDeviceLists (
+  VOID
+  );
+
+VOID
+EblInitializeCmdTable (
+  VOID
+  );
+
+VOID
+EblShutdownExternalCmdTable (
+  VOID
+  );
+
+VOID
+EblSetTextColor (
+  UINTN   Attribute
+  );
+
+
+EFI_STATUS
+EblGetCharKey (
+  IN OUT EFI_INPUT_KEY            *Key,
+  IN     UINTN                    TimoutInSec,
+  IN     EBL_GET_CHAR_CALL_BACK   CallBack   OPTIONAL
+  );
+
+// BugBug: Move me to a library
+INTN
+EFIAPI
+AsciiStrniCmp (
+  IN      CONST CHAR8               *FirstString,
+  IN      CONST CHAR8               *SecondString,
+  IN      UINTN                     Length
+  );
+
+
+VOID
+EblInitializeDeviceCmd (
+  VOID
+  );
+
+VOID
+EblInitializemdHwDebugCmds (
+  VOID
+  );
+
+VOID
+EblInitializeDirCmd (
+  VOID
+  );
+
+VOID
+EblInitializeHobCmd (
+  VOID
+  );
+
+VOID
+EblInitializemdHwIoDebugCmds (
+  VOID
+  );
+
+VOID
+EblInitializeScriptCmd (
+  VOID
+  );
+
+VOID
+EblInitializeNetworkCmd (
+  VOID
+  );
+
+CHAR8 *
+ParseArguments (
+  IN  CHAR8  *CmdLine,
+  OUT UINTN  *Argc,
+  OUT CHAR8  **Argv
+  );
+
+EFI_STATUS
+ProcessCmdLine (
+  IN CHAR8      *CmdLine,
+  IN UINTN      MaxCmdLineSize
+  );
+
+EFI_STATUS
+OutputData (
+  IN UINT8  *Address,
+  IN UINTN  Length,
+  IN UINTN  Width,
+  IN UINTN  Offset
+  );
+
+extern UINTN    gScreenColumns;
+extern UINTN    gScreenRows;
+extern BOOLEAN  gPageBreak;
+extern CHAR8    *gMemMapType[];
+
+#endif
+