mirror of
https://github.com/xen-project/xen.git
synced 2026-10-29 10:40:03 +01:00
xen/arm: Fix ARM build following c/s 11c397c
c/s 11c397c broke the ARM build by introducing a common ACCESS_ONCE() which is
different to the definition in smmu.c
The SMMU code included a scalar typecheck, which is worth keeping in the
common case, given ACCESS_ONCE()'s restrictions. However, express the
typecheck differently so as to avoid Coverity complaints about unused
variables.
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Stefano Stabellini <sstabellini@kernel.org>
Acked-by: Julien Grall <julien.grall@arm.com>
This commit is contained in:
1 parent
6cc8e8708e
commit
9d5617cd89
2 files changed
+4
-11
No files matched your search
@@ -198,16 +198,6 @@ typedef paddr_t phys_addr_t;
|
||||
|
||||
#define VA_BITS 0 /* Only used for configuring stage-1 input size */
|
||||
|
||||
/* The macro ACCESS_ONCE start to be replaced in Linux in favor of
|
||||
* {READ, WRITE}_ONCE. Rather than introducing in the common code, keep a
|
||||
* version here. We will have to drop it when the SMMU code in Linux will
|
||||
* switch to {READ, WRITE}_ONCE.
|
||||
*/
|
||||
#define __ACCESS_ONCE(x) ({ \
|
||||
__maybe_unused typeof(x) __var = 0; \
|
||||
(volatile typeof(x) *)&(x); })
|
||||
#define ACCESS_ONCE(x) (*__ACCESS_ONCE(x))
|
||||
|
||||
#define MODULE_DEVICE_TABLE(type, name)
|
||||
#define module_param_named(name, value, type, perm)
|
||||
#define MODULE_PARM_DESC(_parm, desc)
|
||||
|
||||
@@ -56,7 +56,10 @@
|
||||
|
||||
#define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]) + __must_be_array(x))
|
||||
|
||||
#define ACCESS_ONCE(x) (*(volatile typeof(x) *)&(x))
|
||||
#define __ACCESS_ONCE(x) ({ \
|
||||
(void)(typeof(x))0; /* Scalar typecheck. */ \
|
||||
(volatile typeof(x) *)&(x); })
|
||||
#define ACCESS_ONCE(x) (*__ACCESS_ONCE(x))
|
||||
|
||||
#define MASK_EXTR(v, m) (((v) & (m)) / ((m) & -(m)))
|
||||
#define MASK_INSR(v, m) (((v) * ((m) & -(m))) & (m))
|
||||
|
||||