Copying utility headers from optee_os.

Provides an interface for the following common tasks:
  - defining functions in assembly
  - setting function and variable attributes
  - safe integer operations

The files in this commit were forked from optee_os, keeping the
original license header intact:
    tag name: v3.10.0
    tagged commit: d1c635434c55b7d75eadf471bde04926bd1e50a7

From 'lib/libutils/ext/include/' of optee_os to
    'components/common/utils/include/':
        asm.S
        compiler.h
        util.h

Change-Id: I5d83618fa157a4b14f86e522c5def40c74c4ad95
Signed-off-by: Imre Kis <imre.kis@arm.com>
diff --git a/components/common/utils/include/asm.S b/components/common/utils/include/asm.S
new file mode 100644
index 0000000..d3cecc3
--- /dev/null
+++ b/components/common/utils/include/asm.S
@@ -0,0 +1,46 @@
+/* SPDX-License-Identifier: BSD-2-Clause */
+/*
+ * Copyright (c) 2014, STMicroelectronics International N.V.
+ */
+
+	.macro FUNC name colon section=default
+	.ifc	\section\(),default
+	.section .text.\name
+	.else
+	.section \section , "ax" , %progbits
+	.endif
+	.global \name
+	.type \name , %function
+	.balign 4
+	\name \colon
+	.endm
+
+	.macro DATA name colon
+	.global \name
+	.type \name , %object
+	\name \colon
+	.endm
+
+	.macro LOCAL_FUNC name colon section=default
+	.ifc	\section\(),default
+	.section .text.\name
+	.else
+	.section \section , "ax" , %progbits
+	.endif
+	.type \name , %function
+	.balign 4
+	\name \colon
+	.endm
+
+	.macro LOCAL_DATA name colon
+	.type \name , %object
+	\name \colon
+	.endm
+
+	.macro END_DATA name
+	.size \name , .-\name
+	.endm
+
+	.macro END_FUNC name
+	.size \name , .-\name
+	.endm