cache.c
来自「使用广泛的日本著名的开源嵌入式实时操作系统T-Kernel的源码」· C语言 代码 · 共 59 行
C
59 行
/* *---------------------------------------------------------------------- * T-Kernel * * Copyright (C) 2004-2006 by Ken Sakamura. All rights reserved. * T-Kernel is distributed under the T-License. *---------------------------------------------------------------------- * * Version: 1.02.02 * Released by T-Engine Forum(http://www.t-engine.org) at 2006/8/9. * *---------------------------------------------------------------------- *//* * cache.c (VR5500) * Cache Flush Range */#include <basic.h>#include <tk/tkernel.h>#include "cache_asm.h"/* * Cache line size (byte) */EXPORT W ICacheLineSize; /* Instruction cache */EXPORT W DCacheLineSize; /* Data cache *//* * Cache flush * Flush cache between 'laddr' and 'size' bytes areas. */EXPORT void FlushCache( VP laddr, W size ){ VP la = (VP)((UW)laddr & ~(CACHE_BLOCK_SIZE - 1)); VP end = (B*)laddr + size; /* Get cache line size */ ICacheLineSize = 32; DCacheLineSize = 32; while ( la < end ) { FlushCacheOneBlock(la); la += CACHE_BLOCK_SIZE; if ( la >= end ) { break; } }}EXPORT void FlushCacheM( VP laddr, INT len, UINT mode ){ /* Ignore 'mode', because of unified cache, which stores both instructions and data */ FlushCache(laddr, len);}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?