亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? cachesh7604lib.c

?? vxworks的源代碼
?? C
?? 第 1 頁 / 共 2 頁
字號:
/* cacheSh7604Lib.c - Hitachi SH7604/SH7615 cache management library *//* Copyright 1994-2001 Wind River Systems, Inc. */#include "copyright_wrs.h"/*modification history--------------------01w,24oct01,zl   fixes for doc builds.01v,27feb01,hk   add Hitachi to library description.01u,07feb01,hk   ignore instMode in cacheSh7604LibInit().		 delete MAX_CACHEABLE_ADRS, use (SH7604_CACHE_THRU - 1).		 change cacheLib.textUpdateRtn to NULL.		 delete cacheSh7604Lock()/cacheSh7604Unlock().		 move cache sensitive operations to cacheSh7604ALib.		 change cacheSh7604Enable()/cacheSh7604Disable() more precise.		 rename cacheSh7604Clear() to cacheSh7604Invalidate().01t,07aug00,hk   made cacheSh7604Clear more precise. added cache dump tools.01s,12jan98,hk   added notes to cacheSh7604LibInit().01r,23aug96,hk   added CACHE_2WAY_MODE to CACHE_MODE. changed parameter check		 code in cacheSh7604LibInit().01q,14jan96,hk   deleted sysDmaXXX references. added cache purge code in		 cacheSh7604LibInit(). fixed cacheFuncsSet() calling points.		 deleted cacheFlush() from cacheArchTextUpdate(). added		 error checking in cacheArchDmaMalloc()/cacheArchDmaFree().		 replaced magic numbers by macros. restricted line-purge		 address pointers into the proper area for cacheArchClear().01p,24nov95,hk   supplemented documentation.01o,21nov95,hk   updated manual pages.01n,21nov95,hk   renamed to cacheSh7604Lib.c from caheSH7604Lib.c. SH to Sh.01m,21nov95,hk   separated from cacheArchLib.c to cacheSH7604Lib.c. renamed		 cacheSH7600LibInit() to cacheSH7604LibInit(). minor doc maint.01l,27oct95,hk   fixed cacheArchClear() for line purge.01k,16aug95,hk   separated cacheArchLibInit() to cache{SH7032|SH7604}LibInit().01j,05jul95,hk   modified cacheArchLibInit().01i,01jun95,hk   reworked on cacheArchLibInit,cacheArchEnable,cacheArchDisable.		 moved cacheArchVirtToPhys/cacheArchPhysToVirt to sysLib.01h,26may95,hk   added docs, changed cacheArchEnable()/cacheArchDisable().01g,23may95,hk   code review.01f,30jan95,hk   fixed cacheArchLock, cacheArchUnlock, cacheArchClear, only to		 re-enable cache if previously enabled.  copyright year 1995.01e,22dec94,sa   added cacheArchVirtToPhys and cacheArchPhysToVirt for SH7000.		 fixed operation of CCR.01d,08dec94,sa   added cacheArchPhysToVirt(), cacheArchVirtToPhys().01c,09nov94,sa   fixed.01b,21sep94,sa   modified.01a,18jul94,hk   derived from 03g of 68k. Just a stub.*//*DESCRIPTIONThis library contains architecture-specific cache library functions forthe Hitachi SH7604/SH7615 instruction and data mixed cache. INTERNALThe cache enable and disable processes consist of the following actions,executed by cacheSh7604Enable() and cacheSh7604Disable(). For general information about caching, see the manual entry for cacheLib.INCLUDE FILES: cacheLib.hSEE ALSO: cacheLibINTERNAL	< SH7604/SH7615 cache programming model >	0x00000000:	cached region	0x20000000:	cache through region	0x40000000:	cache purge area	0x60000000:	cache address array	0xc0000000:	cache data array	0xe0000000:	I/O area, non-cached	0xffffffff:	< SH7604/SH7615 CCR (Cache Control Register) >			   0: normal op.         0: 4-way mode			   1: cache purge        1: 2-way mode			                 \      /			   7    6    5    4    3    2    1    0			+----+----+----+----+----+----+----+----+	0xfffffe92:	| W1 | W0 | WB | CP | TW | OD | ID | CE |			+----+----+----+----+----+----+----+----+                            | /       \             |    \    \__ cache enable                            00: way-0 (SH7615 only) |     \                            01: way-1  0: Write-    |     Instruction                            10: way-2     thru    Data      replace                            11: way-3  1: Copy-   replace   Disable                                          back    Disable*/#include "vxWorks.h"#include "errnoLib.h"#include "cacheLib.h"#include "intLib.h"		/* for intLock()/intUnlock() */#include "memLib.h"		/* for memalign() */#include "stdlib.h"		/* for malloc() and free() */#include "string.h"		/* for bzero() *//* imports */IMPORT void  cacheSh7604CCRSetOp (UINT8 value);IMPORT UINT8 cacheSh7604CCRGet (void);IMPORT void  cacheSh7604AInvalOp (UINT32 ca_begin, UINT32 ca_end);IMPORT void  cacheSh7604MInvalOp (UINT32 *pt, int ix,					UINT32 ca_begin, UINT32 ca_end);/* local definitions */#define CAC_ASSOCIATIVE_PURGE	0x40000000#define CAC_ADRS_ARRAY		0x60000000#define CAC_DATA_ARRAY		0xc0000000#define CAC_DATA_SIZE		4096#define CAC_LINE_SIZE		16/* SH7604 Cache Control Register bit define */#define MC_ENABLE		0x01	/* enable cache */#define IC_NOLOAD		0x02	/* disable instruction replace */#define DC_NOLOAD		0x04	/* disable data replace */#define MC_2WAY			0x08	/* 2 way cache */#define MC_PURGE		0x10	/* cache purge *//* forward declarations */LOCAL STATUS cacheSh7604Enable (CACHE_TYPE cache);LOCAL STATUS cacheSh7604Disable (CACHE_TYPE cache);LOCAL STATUS cacheSh7604Invalidate (CACHE_TYPE cache, void *from, size_t bytes);LOCAL void  *cacheSh7604DmaMalloc (size_t bytes);LOCAL STATUS cacheSh7604DmaFree (void *pBuf);/* local function pointers to relocate cacheSh7604ALib entries */LOCAL VOIDFUNCPTR cacheSh7604CCRSet      = (VOIDFUNCPTR)0x1234;LOCAL VOIDFUNCPTR cacheSh7604AInvalidate = (VOIDFUNCPTR)0x1234;LOCAL VOIDFUNCPTR cacheSh7604MInvalidate = (VOIDFUNCPTR)0x1234;/******************************************************************************** cacheSh7604LibInit - initialize the SH7604/SH7615 cache library* * This routine initializes the cache library for the Hitachi SH7604/SH7615* processor.  It initializes the function pointers and configures the caches* to the specified cache modes.  Modes should be set before caching is enabled.** The following caching modes are available for the SH7604/SH7615 processor:** .TS* tab(|);* l l l l.* | SH7604:| CACHE_WRITETHROUGH | (cache for instruction and data)* |        | CACHE_2WAY_MODE    | (2KB 2-way cache + 2KB RAM)* .TE* * RETURNS: OK, or ERROR if the specified caching modes were invalid.*/STATUS cacheSh7604LibInit    (    CACHE_MODE	instMode,	/* instruction cache mode (ignored) */    CACHE_MODE	dataMode	/* data cache mode */    )    {    /* setup function pointers for cache library (declared in funcBind.c) */    cacheLib.enableRtn          = cacheSh7604Enable;    cacheLib.disableRtn         = cacheSh7604Disable;    cacheLib.lockRtn            = NULL;    cacheLib.unlockRtn          = NULL;    cacheLib.flushRtn           = NULL;    cacheLib.invalidateRtn      = cacheSh7604Invalidate;    cacheLib.clearRtn           = cacheSh7604Invalidate;    cacheLib.textUpdateRtn      = NULL;		/* inst/data mixed cache */    cacheLib.pipeFlushRtn       = NULL;    cacheLib.dmaMallocRtn       = (FUNCPTR)cacheSh7604DmaMalloc;    cacheLib.dmaFreeRtn         = (FUNCPTR)cacheSh7604DmaFree;    cacheLib.dmaVirtToPhysRtn	= NULL;    cacheLib.dmaPhysToVirtRtn	= NULL;    /* setup cache thru function pointers for cache sensitive operations */    cacheSh7604CCRSet		= (VOIDFUNCPTR)((UINT32)cacheSh7604CCRSetOp				| SH7604_CACHE_THRU);    cacheSh7604AInvalidate	= (VOIDFUNCPTR)((UINT32)cacheSh7604AInvalOp				| SH7604_CACHE_THRU);    cacheSh7604MInvalidate	= (VOIDFUNCPTR)((UINT32)cacheSh7604MInvalOp				| SH7604_CACHE_THRU);    /* check for parameter errors (No copyback support for SH7615) */    if (dataMode & ~(CACHE_WRITETHROUGH | CACHE_2WAY_MODE))	{	errnoSet (S_cacheLib_INVALID_CACHE);	return ERROR;	}    /* initialize cache modes (declared in cacheLib.c)     *     * The "cacheMmuAvailable" controls the flow of cacheFuncsSet() routine.     * The cacheFuncsSet() is called upon turning of/off data caching, and it     * assumes DMA buffers cannot be made non-cacheable without MMU.  SH7604     * does not have MMU, but it can get non-cacheable buffers from cache-     * through address space.  Hence "cacheMmuAvailable" is set to TRUE here.     */    cacheDataMode	= dataMode;    cacheDataEnabled	= FALSE;    cacheMmuAvailable	= TRUE;			/* for cacheFuncsSet() */    /* initialize CCR */	{	UINT8 ccr = MC_PURGE;	if (dataMode & CACHE_2WAY_MODE)	    ccr |= MC_2WAY;	cacheSh7604CCRSet (ccr);		/* disable & purge cache */	}    /* clear entire D-array, it also cleans 2KB on-chip RAM in 2-way mode */    bzero ((char *)CAC_DATA_ARRAY, CAC_DATA_SIZE);    return OK;    }/******************************************************************************** cacheSh7604Enable - enable a SH7604 cache** This routine invalidates and enables a specified SH7604 cache.*              ^^^^^^^^^^^     ^^^^^^^* RETURNS: OK, or ERROR if the specified cache type was invalid.** NOMANUAL**  +----------------------+------------------------+------------------------+*  |    PREVIOUS CCR      |     ENABLE I-CACHE     |     ENABLE D-CACHE     |*  +----------------------+------------------------+------------------------+*  | CE OD ID   (before)  | CP CE OD ID   (after)  | CP CE OD ID   (after)  |*  +----------------------+------------------------+------------------------+*  |  0  0  0  (disabled) |  1  1  1  0  (I-cache) |  1  1  0  1  (D-cache) |*  |  0  0  1  (disabled) |  1  1  1  0  (I-cache) |  1  1  0  1  (D-cache) |*  |  0  1  0  (disabled) |  1  1  1  0  (I-cache) |  1  1  0  1  (D-cache) |*  |  0  1  1  (disabled) |  1  1  1  0  (I-cache) |  1  1  0  1  (D-cache) |*  +----------------------+------------------------+------------------------+*  |  1  0  0  (I/D-cache)|  0  1  0  0   (error)  |  0  1  0  0   (error)  |*  |  1  0  1   (D-cache) |  0  1  0  0 (I/D-cache)|  0  1  0  1   (error)  |*  |  1  1  0   (I-cache) |  0  1  1  0   (error)  |  0  1  0  0 (I/D-cache)|*  |  1  1  1   (locked)  |  0  1  1  0  (I-cache) |  0  1  0  1  (D-cache) |*  +----------------------+------------------------+------------------------+*/LOCAL STATUS cacheSh7604Enable    (    CACHE_TYPE cache    )    {    UINT8 ccr = cacheSh7604CCRGet ();    switch (cache)	{	case INSTRUCTION_CACHE:	    if ((ccr & MC_ENABLE) == 0)			/* disabled */		ccr |= MC_PURGE | MC_ENABLE | DC_NOLOAD;	    else if ((ccr & IC_NOLOAD) == 0)		/* I-cache is enabled */		return ERROR;	    cacheSh7604CCRSet (ccr & ~IC_NOLOAD);	/* enable I-cache */	    break;	case DATA_CACHE:	    if ((ccr & MC_ENABLE) == 0)			/* disabled */		ccr |= MC_PURGE | MC_ENABLE | IC_NOLOAD;	    else if ((ccr & DC_NOLOAD) == 0)		/* D-cache is enabled */		return ERROR;	    cacheSh7604CCRSet (ccr & ~DC_NOLOAD);	/* enable D-cache */	    cacheDataEnabled = TRUE;	    cacheFuncsSet ();		/* update cache function pointers */	    break;	default:	    errno = S_cacheLib_INVALID_CACHE;	    return ERROR;	}    return OK;    }/******************************************************************************** cacheSh7604Disable - disable a SH7604 cache** This routine flushes and disables a specified SH7604 cache.*              ^^^^^^^     ^^^^^^^^* RETURNS: OK, or ERROR if the specified cache type was invalid.** NOMANUAL**  +----------------------+-----------------------+-----------------------+*  |  PREVIOUS CCR BITS   |    DISABLE I-CACHE    |    DISABLE D-CACHE    |*  +----------------------+-----------------------+-----------------------+*  | CE OD ID   (before)  | CP CE OD ID  (after)  | CP CE OD ID  (after)  |*  +----------------------+-----------------------+-----------------------+*  |  0  0  0  (disabled) |  0  0  0  0  (error)  |  0  0  0  0  (error)  |*  |  0  0  1  (disabled) |  0  0  0  1  (error)  |  0  0  0  1  (error)  |*  |  0  1  0  (disabled) |  0  0  1  0  (error)  |  0  0  1  0  (error)  |*  |  0  1  1  (disabled) |  0  0  1  1  (error)  |  0  0  1  1  (error)  |*  +----------------------+-----------------------+-----------------------+

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品一区二区在线观看不卡| 欧美性生活影院| 色婷婷综合久久久| 日韩一区二区三区在线视频| 亚洲欧洲色图综合| 国内精品久久久久影院色 | 国产日产欧产精品推荐色 | 国产欧美一区二区三区沐欲| 亚洲一区二区三区不卡国产欧美| 国产激情视频一区二区三区欧美| 欧美日韩成人一区二区| 亚洲人成精品久久久久久| 国产成人在线观看免费网站| 91精品国产综合久久小美女| 亚洲激情网站免费观看| 国产成人精品亚洲777人妖| 欧美一区二区在线视频| 亚洲国产cao| 在线精品观看国产| 亚洲三级理论片| 国产91丝袜在线播放九色| 日韩精品中文字幕在线不卡尤物| 亚洲一区在线观看视频| 91美女片黄在线| 亚洲人吸女人奶水| av在线免费不卡| 国产精品嫩草99a| 粉嫩久久99精品久久久久久夜| 337p粉嫩大胆噜噜噜噜噜91av| 看电影不卡的网站| 精品三级av在线| 国内久久精品视频| 久久先锋影音av鲁色资源网| 理论电影国产精品| 久久综合丝袜日本网| 国产成人av网站| 国产精品久久久久久久久快鸭 | 这里只有精品免费| 午夜精品久久久久久久久久久| 欧美在线不卡视频| 亚洲午夜激情网站| 欧美一区二视频| 激情成人午夜视频| 国产欧美日韩久久| 99久久精品国产导航| 亚洲综合精品久久| 91精品国产91久久久久久一区二区 | 亚洲第一成年网| 欧美久久高跟鞋激| 美女视频一区二区三区| 精品对白一区国产伦| 成人一区二区三区| 一区二区免费在线播放| 欧美一区二区三区的| 国产成人av影院| 一二三区精品视频| 欧美不卡一区二区三区| 成人高清视频免费观看| 亚洲影视在线播放| 欧美精品一区二区在线观看| 成人影视亚洲图片在线| 亚洲一区二区三区在线| 26uuu国产电影一区二区| 成人高清视频在线| 日日欢夜夜爽一区| 国产人久久人人人人爽| 欧美亚洲丝袜传媒另类| 久久成人免费网| 亚洲欧美日韩成人高清在线一区| 欧美日韩www| 盗摄精品av一区二区三区| 亚洲精品乱码久久久久| 精品国产乱码久久久久久浪潮| 成人免费视频播放| 亚洲成av人片在线| 国产午夜精品久久久久久久| 欧美在线播放高清精品| 国产经典欧美精品| 亚洲高清在线视频| 国产精品福利影院| 欧美变态凌虐bdsm| 欧亚一区二区三区| 国产成人日日夜夜| 日本亚洲欧美天堂免费| 亚洲女子a中天字幕| 日韩欧美一级二级三级| 在线一区二区三区做爰视频网站| 国内成人免费视频| 午夜精品福利一区二区三区蜜桃| 国产精品美女久久久久高潮| 日韩欧美国产小视频| 欧美日韩一本到| 色综合天天综合狠狠| 国产一区二区日韩精品| 秋霞影院一区二区| 午夜精品久久久久久久久久| 亚洲精品自拍动漫在线| 国产精品久久久久aaaa樱花| 精品国产伦一区二区三区免费| 欧美猛男男办公室激情| 色婷婷综合五月| 99国产精品99久久久久久| 国产一区二区三区久久悠悠色av | 欧美午夜不卡在线观看免费| 91在线观看高清| 成人动漫一区二区三区| 高清在线观看日韩| 国产一区二区三区久久久| 久久av资源站| 美女网站视频久久| 久久国产精品第一页| 久久99国产精品久久99果冻传媒| 婷婷激情综合网| 日韩国产在线观看一区| 五月天激情综合| 五月开心婷婷久久| 免费人成在线不卡| 美脚の诱脚舐め脚责91| 蜜桃91丨九色丨蝌蚪91桃色| 美女视频一区在线观看| 精品一区二区三区久久| 激情av综合网| 成人精品在线视频观看| 99精品国产99久久久久久白柏| 91在线视频观看| 欧美艳星brazzers| 欧美日韩一区二区在线观看视频 | 色视频欧美一区二区三区| 色综合色狠狠天天综合色| 在线精品视频一区二区| 欧美日韩一区二区三区不卡| 67194成人在线观看| 精品福利一区二区三区 | 国产精品久久久久精k8| 尤物在线观看一区| 天天色综合成人网| 国产自产视频一区二区三区| 成人午夜激情在线| 色婷婷精品久久二区二区蜜臂av | 亚欧色一区w666天堂| 日本美女一区二区三区视频| 国产一区二区精品久久91| 成人免费看的视频| 欧美中文字幕不卡| 精品欧美一区二区在线观看| 中日韩免费视频中文字幕| 一区二区三区欧美| 青青草原综合久久大伊人精品| 国产福利精品一区| 欧美性xxxxxxxx| 久久久综合视频| 夜夜嗨av一区二区三区网页| 久久精品国产精品亚洲精品| 99国产精品一区| 欧美精品一区二区精品网| 亚洲色大成网站www久久九九| 免费成人美女在线观看| 99综合电影在线视频| 欧美一级欧美一级在线播放| 亚洲欧美综合另类在线卡通| 免费成人性网站| 色婷婷综合在线| 国产欧美一区二区精品性色| 亚洲国产一二三| 丁香啪啪综合成人亚洲小说 | 色综合久久综合中文综合网| 精品国产髙清在线看国产毛片 | 国产精品第一页第二页第三页| 天天综合网天天综合色| 91一区二区在线观看| 欧美成人一区二区三区| 一区二区三区美女视频| 国产**成人网毛片九色| 日韩精品在线一区二区| 亚洲高清免费观看高清完整版在线观看 | 国产不卡视频一区| 欧美日韩国产综合一区二区三区 | 亚洲综合图片区| 成人午夜私人影院| 欧美精品一区二区不卡| 免费成人在线播放| 欧美日韩一区精品| 亚洲精品第一国产综合野| 成人丝袜18视频在线观看| 日韩亚洲欧美一区二区三区| 午夜精品久久久久久久| 欧美视频中文一区二区三区在线观看| 国产精品三级电影| 国产不卡在线视频| 久久久久97国产精华液好用吗| 理论片日本一区| 日韩欧美久久久| 美女精品自拍一二三四| 日韩一区二区三| 青椒成人免费视频| 在线不卡的av| 日韩精品一级中文字幕精品视频免费观看 | 欧美体内she精高潮| 亚洲欧洲国产日韩| 91亚洲男人天堂|