/* 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_xen_dcache_va_range(void *p, unsigned long size)
+static inline void clean_xen_dcache_va_range(const void *p, unsigned long size)
{
- void *end;
+ 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_xen_dcache_one(0) : : "r" (p));
}
static inline void clean_and_invalidate_xen_dcache_va_range
- (void *p, unsigned long size)
+ (const void *p, unsigned long size)
{
- void *end;
+ 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_and_invalidate_xen_dcache_one(0) : : "r" (p));