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/StdLib/Include/signal.h b/uefi/linaro-edk2/StdLib/Include/signal.h
new file mode 100644
index 0000000..26f8d6b
--- /dev/null
+++ b/uefi/linaro-edk2/StdLib/Include/signal.h
@@ -0,0 +1,86 @@
+/** @file

+  This file declares a type and two functions and defines several

+  macros, for handling various signals (conditions that may be reported during

+  program execution).

+

+    For historical reasons; programs expect signal to be declared

+    in <sys/signal.h>.  The signal function is documented in <sys/signal.h>.

+

+    The signal function is declared in the C Standard as:<BR>

+    void (*signal(int sig, void (*func)(int)))(int);

+

+    The EDK II implementation of the library or base firmware does not generate

+    any of these signals, except as a result of explicit calls to the raise function.

+

+    Copyright (c) 2010 - 2011, 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 that accompanies this distribution.

+    The full text of the license may be found at

+    http://opensource.org/licenses/bsd-license.

+

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

+#define _SIGNAL_H

+#include  <sys/EfiCdefs.h>

+#include  <sys/signal.h>

+

+/*  The type sig_atomic_t is the (possibly volatile-qualified) integer type of

+    an object that can be accessed as an atomic entity, even in the presence

+    of asynchronous interrupts.

+

+    This, possibly machine specific, type is defined in <machine/signal.h>.

+*/

+

+/** @{

+    The following three macros expand to constant expressions with distinct

+    values that have type compatible with the second argument to, and the

+    return value of, the signal function, and whose values compare unequal to

+    the address of any declarable function.

+**/

+#define SIG_IGN   ((__sighandler_t *) 0)

+#define SIG_DFL   ((__sighandler_t *) 1)

+#define SIG_ERR   ((__sighandler_t *) 3)

+/*@}*/

+

+/** @{

+    The following macros expand to positive integer constant expressions with

+    type int and distinct values that are the signal numbers, each

+    corresponding to the specified condition.

+    The C95 specification requires these to be macros.

+**/

+#define SIGINT     __SigInt     ///< receipt of an interactive attention signal

+#define SIGILL     __SigIll     ///< detection of an invalid function image, such as an invalid instruction

+#define SIGABRT    __SigAbrt    ///< abnormal termination, such as is initiated by the abort function

+#define SIGFPE     __SigFpe     ///< an erroneous arithmetic operation, such as zero divide or an operation resulting in overflow

+#define SIGSEGV    __SigSegv    ///< an invalid access to storage

+#define SIGTERM    __SigTerm    ///< a termination request sent to the program

+#define SIGBREAK   __SigBreak   ///< added for Python

+#define SIGALRM    __SigAlrm    ///< Added for Posix timer functions

+#define SIGVTALRM  __SigVtAlrm  ///< Added for Posix timer functions

+#define SIGPROF    __SigProf    ///< Added for Posix timer functions

+#define SIGUSR1    __SigUsr1    ///< Added for Posix timer functions

+#define SIGUSR2    __SigUsr2    ///< Added for Posix timer functions

+#define SIGWINCH   __SigWinch   ///< Added for Posix timer functions

+#define SIGPIPE    __SigPipe    ///< Added for Posix timer functions

+#define SIGQUIT    __SigQuit    ///< Added for Posix timer functions

+#define SIG_LAST   __Sig_Last   ///< One more than the largest signal number

+/*@}*/

+

+__BEGIN_DECLS

+

+/** Send a signal.

+

+    The raise function carries out the actions described for signal,

+    in <sys/signal.h>, for the signal sig. If a signal handler is called, the

+    raise function does not return until after the signal handler does.

+

+    @return   The raise function returns zero if successful,

+              or nonzero if unsuccessful.

+**/

+int raise(int sig);

+

+__END_DECLS

+

+#endif  /* _SIGNAL_H */