Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
at v3.9-rc7 147 lines 3.0 kB view raw
1/* 2 * arch/arm/include/asm/glue-cache.h 3 * 4 * Copyright (C) 1999-2002 Russell King 5 * 6 * This program is free software; you can redistribute it and/or modify 7 * it under the terms of the GNU General Public License version 2 as 8 * published by the Free Software Foundation. 9 */ 10#ifndef ASM_GLUE_CACHE_H 11#define ASM_GLUE_CACHE_H 12 13#include <asm/glue.h> 14 15/* 16 * Cache Model 17 * =========== 18 */ 19#undef _CACHE 20#undef MULTI_CACHE 21 22#if defined(CONFIG_CPU_CACHE_V3) 23# ifdef _CACHE 24# define MULTI_CACHE 1 25# else 26# define _CACHE v3 27# endif 28#endif 29 30#if defined(CONFIG_CPU_CACHE_V4) 31# ifdef _CACHE 32# define MULTI_CACHE 1 33# else 34# define _CACHE v4 35# endif 36#endif 37 38#if defined(CONFIG_CPU_ARM920T) || defined(CONFIG_CPU_ARM922T) || \ 39 defined(CONFIG_CPU_ARM925T) || defined(CONFIG_CPU_ARM1020) || \ 40 defined(CONFIG_CPU_ARM1026) 41# define MULTI_CACHE 1 42#endif 43 44#if defined(CONFIG_CPU_FA526) 45# ifdef _CACHE 46# define MULTI_CACHE 1 47# else 48# define _CACHE fa 49# endif 50#endif 51 52#if defined(CONFIG_CPU_ARM926T) 53# ifdef _CACHE 54# define MULTI_CACHE 1 55# else 56# define _CACHE arm926 57# endif 58#endif 59 60#if defined(CONFIG_CPU_ARM940T) 61# ifdef _CACHE 62# define MULTI_CACHE 1 63# else 64# define _CACHE arm940 65# endif 66#endif 67 68#if defined(CONFIG_CPU_ARM946E) 69# ifdef _CACHE 70# define MULTI_CACHE 1 71# else 72# define _CACHE arm946 73# endif 74#endif 75 76#if defined(CONFIG_CPU_CACHE_V4WB) 77# ifdef _CACHE 78# define MULTI_CACHE 1 79# else 80# define _CACHE v4wb 81# endif 82#endif 83 84#if defined(CONFIG_CPU_XSCALE) 85# ifdef _CACHE 86# define MULTI_CACHE 1 87# else 88# define _CACHE xscale 89# endif 90#endif 91 92#if defined(CONFIG_CPU_XSC3) 93# ifdef _CACHE 94# define MULTI_CACHE 1 95# else 96# define _CACHE xsc3 97# endif 98#endif 99 100#if defined(CONFIG_CPU_MOHAWK) 101# ifdef _CACHE 102# define MULTI_CACHE 1 103# else 104# define _CACHE mohawk 105# endif 106#endif 107 108#if defined(CONFIG_CPU_FEROCEON) 109# define MULTI_CACHE 1 110#endif 111 112#if defined(CONFIG_CPU_V6) || defined(CONFIG_CPU_V6K) 113# ifdef _CACHE 114# define MULTI_CACHE 1 115# else 116# define _CACHE v6 117# endif 118#endif 119 120#if defined(CONFIG_CPU_V7) 121# ifdef _CACHE 122# define MULTI_CACHE 1 123# else 124# define _CACHE v7 125# endif 126#endif 127 128#if !defined(_CACHE) && !defined(MULTI_CACHE) 129#error Unknown cache maintenance model 130#endif 131 132#ifndef MULTI_CACHE 133#define __cpuc_flush_icache_all __glue(_CACHE,_flush_icache_all) 134#define __cpuc_flush_kern_all __glue(_CACHE,_flush_kern_cache_all) 135#define __cpuc_flush_kern_louis __glue(_CACHE,_flush_kern_cache_louis) 136#define __cpuc_flush_user_all __glue(_CACHE,_flush_user_cache_all) 137#define __cpuc_flush_user_range __glue(_CACHE,_flush_user_cache_range) 138#define __cpuc_coherent_kern_range __glue(_CACHE,_coherent_kern_range) 139#define __cpuc_coherent_user_range __glue(_CACHE,_coherent_user_range) 140#define __cpuc_flush_dcache_area __glue(_CACHE,_flush_kern_dcache_area) 141 142#define dmac_map_area __glue(_CACHE,_dma_map_area) 143#define dmac_unmap_area __glue(_CACHE,_dma_unmap_area) 144#define dmac_flush_range __glue(_CACHE,_dma_flush_range) 145#endif 146 147#endif