summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordavidcunado-arm <david.cunado@arm.com>2017-05-02 11:13:20 +0100
committerGitHub <noreply@github.com>2017-05-02 11:13:20 +0100
commit7fa3214e18ad640208eaf6c8d6111ec53f3894aa (patch)
tree2d083d1c0462b4f796f0c2f5687c226590d9f400
parent798b084deebd95dc10630a45f7050b8e39f2a282 (diff)
parent0f22bef31d402e24fab77eb2a3c643d042b7e79c (diff)
Merge pull request #896 from sbranden/tf_issue_461
Move defines in utils.h to utils_def.h to fix shared header compile i…
-rw-r--r--include/bl32/payloads/tlk.h2
-rw-r--r--include/common/bl_common.h2
-rw-r--r--include/lib/aarch64/arch.h2
-rw-r--r--include/lib/cpus/errata_report.h2
-rw-r--r--include/lib/smcc.h2
-rw-r--r--include/lib/utils.h63
-rw-r--r--include/lib/utils_def.h97
-rw-r--r--include/lib/xlat_tables/xlat_tables_defs.h2
-rw-r--r--include/plat/arm/board/common/board_css_def.h2
-rw-r--r--include/plat/arm/common/arm_def.h2
-rw-r--r--include/plat/arm/common/plat_arm.h2
-rw-r--r--include/plat/arm/soc/common/soc_css_def.h2
-rw-r--r--lib/xlat_tables/xlat_tables_private.h2
-rw-r--r--lib/xlat_tables_v2/xlat_tables_private.h2
-rw-r--r--plat/arm/board/juno/juno_trng.c2
-rw-r--r--plat/arm/css/common/css_bl2_setup.c1
16 files changed, 113 insertions, 74 deletions
diff --git a/include/bl32/payloads/tlk.h b/include/bl32/payloads/tlk.h
index d355313e..1a83b1f7 100644
--- a/include/bl32/payloads/tlk.h
+++ b/include/bl32/payloads/tlk.h
@@ -31,7 +31,7 @@
#ifndef __TLK_H__
#define __TLK_H__
-#include <utils.h>
+#include <utils_def.h>
/*
* Generate function IDs for the Trusted OS/Apps
diff --git a/include/common/bl_common.h b/include/common/bl_common.h
index 38be6283..2a026b8f 100644
--- a/include/common/bl_common.h
+++ b/include/common/bl_common.h
@@ -85,7 +85,7 @@
#include <stddef.h>
#include <stdint.h>
#include <types.h>
-#include <utils.h> /* To retain compatibility */
+#include <utils_def.h> /* To retain compatibility */
/*
* Declarations of linker defined symbols to help determine memory layout of
diff --git a/include/lib/aarch64/arch.h b/include/lib/aarch64/arch.h
index 4b323d33..ef7241d3 100644
--- a/include/lib/aarch64/arch.h
+++ b/include/lib/aarch64/arch.h
@@ -31,7 +31,7 @@
#ifndef __ARCH_H__
#define __ARCH_H__
-#include <utils.h>
+#include <utils_def.h>
/*******************************************************************************
* MIDR bit definitions
diff --git a/include/lib/cpus/errata_report.h b/include/lib/cpus/errata_report.h
index 6c6a844d..228ffea2 100644
--- a/include/lib/cpus/errata_report.h
+++ b/include/lib/cpus/errata_report.h
@@ -36,7 +36,7 @@
#include <arch.h>
#include <arch_helpers.h>
#include <spinlock.h>
-#include <utils.h>
+#include <utils_def.h>
#if DEBUG
void print_errata_status(void);
diff --git a/include/lib/smcc.h b/include/lib/smcc.h
index a4c4b6c0..d24d1905 100644
--- a/include/lib/smcc.h
+++ b/include/lib/smcc.h
@@ -31,7 +31,7 @@
#ifndef __SMCC_H__
#define __SMCC_H__
-#include <utils.h>
+#include <utils_def.h>
/*******************************************************************************
* Bit definitions inside the function id as per the SMC calling convention
diff --git a/include/lib/utils.h b/include/lib/utils.h
index 279c9135..c085b7d5 100644
--- a/include/lib/utils.h
+++ b/include/lib/utils.h
@@ -31,67 +31,8 @@
#ifndef __UTILS_H__
#define __UTILS_H__
-/* Compute the number of elements in the given array */
-#define ARRAY_SIZE(a) \
- (sizeof(a) / sizeof((a)[0]))
-
-#define IS_POWER_OF_TWO(x) \
- (((x) & ((x) - 1)) == 0)
-
-#define SIZE_FROM_LOG2_WORDS(n) (4 << (n))
-
-#define BIT(nr) (1UL << (nr))
-
-#define MIN(x, y) __extension__ ({ \
- __typeof__(x) _x = (x); \
- __typeof__(y) _y = (y); \
- (void)(&_x == &_y); \
- _x < _y ? _x : _y; \
-})
-
-#define MAX(x, y) __extension__ ({ \
- __typeof__(x) _x = (x); \
- __typeof__(y) _y = (y); \
- (void)(&_x == &_y); \
- _x > _y ? _x : _y; \
-})
-
-/*
- * The round_up() macro rounds up a value to the given boundary in a
- * type-agnostic yet type-safe manner. The boundary must be a power of two.
- * In other words, it computes the smallest multiple of boundary which is
- * greater than or equal to value.
- *
- * round_down() is similar but rounds the value down instead.
- */
-#define round_boundary(value, boundary) \
- ((__typeof__(value))((boundary) - 1))
-
-#define round_up(value, boundary) \
- ((((value) - 1) | round_boundary(value, boundary)) + 1)
-
-#define round_down(value, boundary) \
- ((value) & ~round_boundary(value, boundary))
-
-/*
- * Evaluates to 1 if (ptr + inc) overflows, 0 otherwise.
- * Both arguments must be unsigned pointer values (i.e. uintptr_t).
- */
-#define check_uptr_overflow(ptr, inc) \
- (((ptr) > UINTPTR_MAX - (inc)) ? 1 : 0)
-
-/*
- * For those constants to be shared between C and other sources, apply a 'ull'
- * suffix to the argument only in C, to avoid undefined or unintended behaviour.
- *
- * The GNU assembler and linker do not support the 'ull' suffix (it causes the
- * build process to fail) therefore the suffix is omitted when used in linker
- * scripts and assembler files.
-*/
-#if defined(__LINKER__) || defined(__ASSEMBLY__)
-# define ULL(_x) (_x)
-#else
-# define ULL(_x) (_x##ull)
+#if !ERROR_DEPRECATED
+#include <utils_def.h>
#endif
/*
diff --git a/include/lib/utils_def.h b/include/lib/utils_def.h
new file mode 100644
index 00000000..202f0508
--- /dev/null
+++ b/include/lib/utils_def.h
@@ -0,0 +1,97 @@
+/*
+ * Copyright (c) 2016-2017, ARM Limited and Contributors. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * Neither the name of ARM nor the names of its contributors may be used
+ * to endorse or promote products derived from this software without specific
+ * prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef __UTILS_DEF_H__
+#define __UTILS_DEF_H__
+
+/* Compute the number of elements in the given array */
+#define ARRAY_SIZE(a) \
+ (sizeof(a) / sizeof((a)[0]))
+
+#define IS_POWER_OF_TWO(x) \
+ (((x) & ((x) - 1)) == 0)
+
+#define SIZE_FROM_LOG2_WORDS(n) (4 << (n))
+
+#define BIT(nr) (1UL << (nr))
+
+#define MIN(x, y) __extension__ ({ \
+ __typeof__(x) _x = (x); \
+ __typeof__(y) _y = (y); \
+ (void)(&_x == &_y); \
+ _x < _y ? _x : _y; \
+})
+
+#define MAX(x, y) __extension__ ({ \
+ __typeof__(x) _x = (x); \
+ __typeof__(y) _y = (y); \
+ (void)(&_x == &_y); \
+ _x > _y ? _x : _y; \
+})
+
+/*
+ * The round_up() macro rounds up a value to the given boundary in a
+ * type-agnostic yet type-safe manner. The boundary must be a power of two.
+ * In other words, it computes the smallest multiple of boundary which is
+ * greater than or equal to value.
+ *
+ * round_down() is similar but rounds the value down instead.
+ */
+#define round_boundary(value, boundary) \
+ ((__typeof__(value))((boundary) - 1))
+
+#define round_up(value, boundary) \
+ ((((value) - 1) | round_boundary(value, boundary)) + 1)
+
+#define round_down(value, boundary) \
+ ((value) & ~round_boundary(value, boundary))
+
+/*
+ * Evaluates to 1 if (ptr + inc) overflows, 0 otherwise.
+ * Both arguments must be unsigned pointer values (i.e. uintptr_t).
+ */
+#define check_uptr_overflow(ptr, inc) \
+ (((ptr) > UINTPTR_MAX - (inc)) ? 1 : 0)
+
+/*
+ * For those constants to be shared between C and other sources, apply a 'ull'
+ * suffix to the argument only in C, to avoid undefined or unintended behaviour.
+ *
+ * The GNU assembler and linker do not support the 'ull' suffix (it causes the
+ * build process to fail) therefore the suffix is omitted when used in linker
+ * scripts and assembler files.
+*/
+#if defined(__LINKER__) || defined(__ASSEMBLY__)
+# define ULL(_x) (_x)
+#else
+# define ULL(_x) (_x##ull)
+#endif
+
+#endif /* __UTILS_DEF_H__ */
diff --git a/include/lib/xlat_tables/xlat_tables_defs.h b/include/lib/xlat_tables/xlat_tables_defs.h
index 3105d7aa..032ce925 100644
--- a/include/lib/xlat_tables/xlat_tables_defs.h
+++ b/include/lib/xlat_tables/xlat_tables_defs.h
@@ -31,7 +31,7 @@
#ifndef __XLAT_TABLES_DEFS_H__
#define __XLAT_TABLES_DEFS_H__
-#include <utils.h>
+#include <utils_def.h>
/* Miscellaneous MMU related constants */
#define NUM_2MB_IN_GB (1 << 9)
diff --git a/include/plat/arm/board/common/board_css_def.h b/include/plat/arm/board/common/board_css_def.h
index 4b5e84dd..88a97d99 100644
--- a/include/plat/arm/board/common/board_css_def.h
+++ b/include/plat/arm/board/common/board_css_def.h
@@ -33,7 +33,7 @@
#include <common_def.h>
#include <soc_css_def.h>
-#include <utils.h>
+#include <utils_def.h>
#include <v2m_def.h>
/*
diff --git a/include/plat/arm/common/arm_def.h b/include/plat/arm/common/arm_def.h
index 43e0eb89..f5f83780 100644
--- a/include/plat/arm/common/arm_def.h
+++ b/include/plat/arm/common/arm_def.h
@@ -34,7 +34,7 @@
#include <common_def.h>
#include <platform_def.h>
#include <tbbr_img_def.h>
-#include <utils.h>
+#include <utils_def.h>
#include <xlat_tables_defs.h>
diff --git a/include/plat/arm/common/plat_arm.h b/include/plat/arm/common/plat_arm.h
index 4ba4a845..8ea32b9a 100644
--- a/include/plat/arm/common/plat_arm.h
+++ b/include/plat/arm/common/plat_arm.h
@@ -35,7 +35,7 @@
#include <cassert.h>
#include <cpu_data.h>
#include <stdint.h>
-#include <utils.h>
+#include <utils_def.h>
/*******************************************************************************
* Forward declarations
diff --git a/include/plat/arm/soc/common/soc_css_def.h b/include/plat/arm/soc/common/soc_css_def.h
index efd78f04..ecced3d9 100644
--- a/include/plat/arm/soc/common/soc_css_def.h
+++ b/include/plat/arm/soc/common/soc_css_def.h
@@ -32,7 +32,7 @@
#define __SOC_CSS_DEF_H__
#include <common_def.h>
-#include <utils.h>
+#include <utils_def.h>
/*
diff --git a/lib/xlat_tables/xlat_tables_private.h b/lib/xlat_tables/xlat_tables_private.h
index f0f656bd..54ad909f 100644
--- a/lib/xlat_tables/xlat_tables_private.h
+++ b/lib/xlat_tables/xlat_tables_private.h
@@ -33,7 +33,7 @@
#include <cassert.h>
#include <platform_def.h>
-#include <utils.h>
+#include <utils_def.h>
/*
* If the platform hasn't defined a physical and a virtual address space size
diff --git a/lib/xlat_tables_v2/xlat_tables_private.h b/lib/xlat_tables_v2/xlat_tables_private.h
index 048c4a83..e79890e5 100644
--- a/lib/xlat_tables_v2/xlat_tables_private.h
+++ b/lib/xlat_tables_v2/xlat_tables_private.h
@@ -33,7 +33,7 @@
#include <cassert.h>
#include <platform_def.h>
-#include <utils.h>
+#include <utils_def.h>
/*
* If the platform hasn't defined a physical and a virtual address space size
diff --git a/plat/arm/board/juno/juno_trng.c b/plat/arm/board/juno/juno_trng.c
index 2fcddcdb..9bb760f9 100644
--- a/plat/arm/board/juno/juno_trng.c
+++ b/plat/arm/board/juno/juno_trng.c
@@ -31,7 +31,7 @@
#include <assert.h>
#include <mmio.h>
#include <string.h>
-#include <utils.h>
+#include <utils_def.h>
#include "juno_def.h"
#define NSAMPLE_CLOCKS 1 /* min 1 cycle, max 231 cycles */
diff --git a/plat/arm/css/common/css_bl2_setup.c b/plat/arm/css/common/css_bl2_setup.c
index 5361d897..65a98ba4 100644
--- a/plat/arm/css/common/css_bl2_setup.c
+++ b/plat/arm/css/common/css_bl2_setup.c
@@ -34,6 +34,7 @@
#include <mmio.h>
#include <plat_arm.h>
#include <string.h>
+#include <utils.h>
#include "css_scp_bootloader.h"
/* Weak definition may be overridden in specific CSS based platform */