mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 02:01:24 +01:00
arm: return int from *_dcache_va_range
These functions cannot really fail on ARM, but their x86 equivalents can (-EOPNOTSUPP). Change the prototype to return int. Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> Reviewed-by: Julien Grall <julien.grall@linaro.org> Acked-by: Ian Campbell <ian.campbell@citrix.com>
This commit is contained in:
1 parent
2ca94c6bff
commit
71d64afe3e
1 file changed
+6
-2
@@ -268,16 +268,18 @@ extern size_t cacheline_bytes;
|
||||
/* Functions for flushing medium-sized areas.
|
||||
* if 'range' is large enough we might want to use model-specific
|
||||
* full-cache flushes. */
|
||||
static inline void clean_dcache_va_range(const void *p, unsigned long size)
|
||||
static inline int clean_dcache_va_range(const void *p, unsigned long size)
|
||||
{
|
||||
const void *end;
|
||||
dsb(sy); /* So the CPU issues all writes to the range */
|
||||
for ( end = p + size; p < end; p += cacheline_bytes )
|
||||
asm volatile (__clean_dcache_one(0) : : "r" (p));
|
||||
dsb(sy); /* So we know the flushes happen before continuing */
|
||||
/* ARM callers assume that dcache_* functions cannot fail. */
|
||||
return 0;
|
||||
}
|
||||
|
||||
static inline void clean_and_invalidate_dcache_va_range
|
||||
static inline int clean_and_invalidate_dcache_va_range
|
||||
(const void *p, unsigned long size)
|
||||
{
|
||||
const void *end;
|
||||
@@ -285,6 +287,8 @@ static inline void clean_and_invalidate_dcache_va_range
|
||||
for ( end = p + size; p < end; p += cacheline_bytes )
|
||||
asm volatile (__clean_and_invalidate_dcache_one(0) : : "r" (p));
|
||||
dsb(sy); /* So we know the flushes happen before continuing */
|
||||
/* ARM callers assume that dcache_* functions cannot fail. */
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* Macros for flushing a single small item. The predicate is always
|
||||
|
||||