summaryrefslogtreecommitdiff
path: root/include/bl32
diff options
context:
space:
mode:
authorDavid Cunado <david.cunado@arm.com>2017-01-19 10:26:16 +0000
committerDavid Cunado <david.cunado@arm.com>2017-01-26 13:47:37 +0000
commit9edac0479d562a5cb62b57961ad6288d0537e9f1 (patch)
tree22d7922f26fc9888d6dc6517edd4cbb22f585b12 /include/bl32
parentd7aa7b44d6c73f84a8913b010e850e0322063d91 (diff)
Resolve build errors flagged by GCC 6.2
With GCC 6.2 compiler, more C undefined behaviour is being flagged as warnings, which result in build errors in ARM TF build. The specific issue that this patch resolves is the use of (1 << 31), which is predominantly used in case statements, where 1 is represented as a signed int. When shifted to msb the behaviour is undefined. The resolution is to specify 1 as an unsigned int using a convenience macro ULL(). A duplicate macro MAKE_ULL() is replaced. Fixes ARM-software/tf-issues#438 Change-Id: I08e3053bbcf4c022ee2be33a75bd0056da4073e1 Signed-off-by: David Cunado <david.cunado@arm.com>
Diffstat (limited to 'include/bl32')
-rw-r--r--include/bl32/payloads/tlk.h18
1 files changed, 10 insertions, 8 deletions
diff --git a/include/bl32/payloads/tlk.h b/include/bl32/payloads/tlk.h
index 6ce1eb69..d355313e 100644
--- a/include/bl32/payloads/tlk.h
+++ b/include/bl32/payloads/tlk.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, ARM Limited and Contributors. All rights reserved.
+ * Copyright (c) 2015-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:
@@ -31,6 +31,8 @@
#ifndef __TLK_H__
#define __TLK_H__
+#include <utils.h>
+
/*
* Generate function IDs for the Trusted OS/Apps
*/
@@ -51,13 +53,13 @@
* SMC function IDs that TLK uses to signal various forms of completions
* to the secure payload dispatcher.
*/
-#define TLK_REQUEST_DONE (0x32000001 | (1 << 31))
-#define TLK_PREEMPTED (0x32000002 | (1 << 31))
-#define TLK_ENTRY_DONE (0x32000003 | (1 << 31))
-#define TLK_VA_TRANSLATE (0x32000004 | (1 << 31))
-#define TLK_SUSPEND_DONE (0x32000005 | (1 << 31))
-#define TLK_RESUME_DONE (0x32000006 | (1 << 31))
-#define TLK_SYSTEM_OFF_DONE (0x32000007 | (1 << 31))
+#define TLK_REQUEST_DONE (0x32000001 | (ULL(1) << 31))
+#define TLK_PREEMPTED (0x32000002 | (ULL(1) << 31))
+#define TLK_ENTRY_DONE (0x32000003 | (ULL(1) << 31))
+#define TLK_VA_TRANSLATE (0x32000004 | (ULL(1) << 31))
+#define TLK_SUSPEND_DONE (0x32000005 | (ULL(1) << 31))
+#define TLK_RESUME_DONE (0x32000006 | (ULL(1) << 31))
+#define TLK_SYSTEM_OFF_DONE (0x32000007 | (ULL(1) << 31))
/*
* Trusted Application specific function IDs