hikey: Add UEFI sources for reference

UEFI needs to be built outside Android build system.
Please follow the instructions in README.

The sources correspond to:
https://github.com/96boards/edk2/commit/14eae0c12e71fd33c4c0fc51e4475e8db02566cf
https://github.com/96boards/arm-trusted-firmware/commit/e9b4909dcd75fc4ae7041cfb83d28ab9adb7afdf
https://github.com/96boards/l-loader/commit/6b784ad5c4ab00e2b1c6f53cd5f74054e5d00a78
https://git.linaro.org/uefi/uefi-tools.git/commit/abe618f8ab72034fff1ce46c9c006a2c6bd40a7e

Change-Id: Ieeefdb63e673e0c8e64e0a1f02c7bddc63b2c7fb
Signed-off-by: Vishal Bhoj <vishal.bhoj@linaro.org>
diff --git a/uefi/linaro-edk2/OvmfPkg/Library/LockBoxLib/LockBoxLib.h b/uefi/linaro-edk2/OvmfPkg/Library/LockBoxLib/LockBoxLib.h
new file mode 100644
index 0000000..5adb65f
--- /dev/null
+++ b/uefi/linaro-edk2/OvmfPkg/Library/LockBoxLib/LockBoxLib.h
@@ -0,0 +1,60 @@
+/** @file

+  

+ Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.<BR>

+

+ 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 __LOCK_BOX_LIB_IMPL_H__

+#define __LOCK_BOX_LIB_IMPL_H__

+

+#pragma pack(1)

+

+typedef struct {

+  UINT32               Signature;

+  UINT32               SubPageBuffer;

+  UINT32               SubPageRemaining;

+} LOCK_BOX_GLOBAL;

+

+#define LOCK_BOX_GLOBAL_SIGNATURE SIGNATURE_32('L', 'B', 'G', 'S')

+

+extern LOCK_BOX_GLOBAL *mLockBoxGlobal;

+

+#pragma pack()

+

+/**

+  Allocates a buffer of type EfiACPIMemoryNVS.

+

+  Allocates the number bytes specified by AllocationSize of type

+  EfiACPIMemoryNVS and returns a pointer to the allocated buffer.

+  If AllocationSize is 0, then a valid buffer of 0 size is

+  returned.  If there is not enough memory remaining to satisfy

+  the request, then NULL is returned.

+

+  @param  AllocationSize        The number of bytes to allocate.

+

+  @return A pointer to the allocated buffer or NULL if allocation fails.

+

+**/

+VOID *

+EFIAPI

+AllocateAcpiNvsPool (

+  IN UINTN  AllocationSize

+  );

+

+

+RETURN_STATUS

+EFIAPI

+LockBoxLibInitialize (

+  VOID

+  );

+

+

+#endif