IA64 needs almost no cache flushing routines of its own. Rely on asm-generic/cacheflush.h for the defaults. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Cc: Tony Luck <tony.luck@intel.com> Cc: Fenghua Yu <fenghua.yu@intel.com> Link: http://lkml.kernel.org/r/20200515143646.3857579-13-hch@lst.de Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
34 lines
904 B
C
34 lines
904 B
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
#ifndef _ASM_IA64_CACHEFLUSH_H
|
|
#define _ASM_IA64_CACHEFLUSH_H
|
|
|
|
/*
|
|
* Copyright (C) 2002 Hewlett-Packard Co
|
|
* David Mosberger-Tang <davidm@hpl.hp.com>
|
|
*/
|
|
|
|
#include <linux/page-flags.h>
|
|
#include <linux/bitops.h>
|
|
|
|
#include <asm/page.h>
|
|
|
|
#define ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE 1
|
|
#define flush_dcache_page(page) \
|
|
do { \
|
|
clear_bit(PG_arch_1, &(page)->flags); \
|
|
} while (0)
|
|
|
|
extern void flush_icache_range(unsigned long start, unsigned long end);
|
|
#define flush_icache_range flush_icache_range
|
|
extern void clflush_cache_range(void *addr, int size);
|
|
|
|
#define flush_icache_user_range(vma, page, user_addr, len) \
|
|
do { \
|
|
unsigned long _addr = (unsigned long) page_address(page) + ((user_addr) & ~PAGE_MASK); \
|
|
flush_icache_range(_addr, _addr + (len)); \
|
|
} while (0)
|
|
|
|
#include <asm-generic/cacheflush.h>
|
|
|
|
#endif /* _ASM_IA64_CACHEFLUSH_H */
|