Path: blob/master/arch/arm/include/asm/glue-cache.h
17296 views
/*1* arch/arm/include/asm/glue-cache.h2*3* Copyright (C) 1999-2002 Russell King4*5* This program is free software; you can redistribute it and/or modify6* it under the terms of the GNU General Public License version 2 as7* published by the Free Software Foundation.8*/9#ifndef ASM_GLUE_CACHE_H10#define ASM_GLUE_CACHE_H1112#include <asm/glue.h>1314/*15* Cache Model16* ===========17*/18#undef _CACHE19#undef MULTI_CACHE2021#if defined(CONFIG_CPU_CACHE_V3)22# ifdef _CACHE23# define MULTI_CACHE 124# else25# define _CACHE v326# endif27#endif2829#if defined(CONFIG_CPU_CACHE_V4)30# ifdef _CACHE31# define MULTI_CACHE 132# else33# define _CACHE v434# endif35#endif3637#if defined(CONFIG_CPU_ARM920T) || defined(CONFIG_CPU_ARM922T) || \38defined(CONFIG_CPU_ARM925T) || defined(CONFIG_CPU_ARM1020) || \39defined(CONFIG_CPU_ARM1026)40# define MULTI_CACHE 141#endif4243#if defined(CONFIG_CPU_FA526)44# ifdef _CACHE45# define MULTI_CACHE 146# else47# define _CACHE fa48# endif49#endif5051#if defined(CONFIG_CPU_ARM926T)52# ifdef _CACHE53# define MULTI_CACHE 154# else55# define _CACHE arm92656# endif57#endif5859#if defined(CONFIG_CPU_ARM940T)60# ifdef _CACHE61# define MULTI_CACHE 162# else63# define _CACHE arm94064# endif65#endif6667#if defined(CONFIG_CPU_ARM946E)68# ifdef _CACHE69# define MULTI_CACHE 170# else71# define _CACHE arm94672# endif73#endif7475#if defined(CONFIG_CPU_CACHE_V4WB)76# ifdef _CACHE77# define MULTI_CACHE 178# else79# define _CACHE v4wb80# endif81#endif8283#if defined(CONFIG_CPU_XSCALE)84# ifdef _CACHE85# define MULTI_CACHE 186# else87# define _CACHE xscale88# endif89#endif9091#if defined(CONFIG_CPU_XSC3)92# ifdef _CACHE93# define MULTI_CACHE 194# else95# define _CACHE xsc396# endif97#endif9899#if defined(CONFIG_CPU_MOHAWK)100# ifdef _CACHE101# define MULTI_CACHE 1102# else103# define _CACHE mohawk104# endif105#endif106107#if defined(CONFIG_CPU_FEROCEON)108# define MULTI_CACHE 1109#endif110111#if defined(CONFIG_CPU_V6) || defined(CONFIG_CPU_V6K)112//# ifdef _CACHE113# define MULTI_CACHE 1114//# else115//# define _CACHE v6116//# endif117#endif118119#if defined(CONFIG_CPU_V7)120//# ifdef _CACHE121# define MULTI_CACHE 1122//# else123//# define _CACHE v7124//# endif125#endif126127#if !defined(_CACHE) && !defined(MULTI_CACHE)128#error Unknown cache maintenance model129#endif130131#ifndef MULTI_CACHE132#define __cpuc_flush_icache_all __glue(_CACHE,_flush_icache_all)133#define __cpuc_flush_kern_all __glue(_CACHE,_flush_kern_cache_all)134#define __cpuc_flush_user_all __glue(_CACHE,_flush_user_cache_all)135#define __cpuc_flush_user_range __glue(_CACHE,_flush_user_cache_range)136#define __cpuc_coherent_kern_range __glue(_CACHE,_coherent_kern_range)137#define __cpuc_coherent_user_range __glue(_CACHE,_coherent_user_range)138#define __cpuc_flush_dcache_area __glue(_CACHE,_flush_kern_dcache_area)139140#define dmac_map_area __glue(_CACHE,_dma_map_area)141#define dmac_unmap_area __glue(_CACHE,_dma_unmap_area)142#define dmac_flush_range __glue(_CACHE,_dma_flush_range)143#endif144145#endif146147148