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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? syscache.c

?? vxworks的bsp開發(fā)包(基于POWERPC的PRPMC800)
?? C
?? 第 1 頁 / 共 2 頁
字號:
    /* Enable the L2 cache */    sysL2InlineCacheEnable();    /* Enable access to cache functionality to OS */    _pSysL2CacheEnable  = &sysL2CacheEnable;    _pSysL2CacheFlush   = &sysL2CacheFlush;    _pSysL2CacheDisable = &sysL2CacheDisable;    _pSysL2CacheInvFunc = &sysL2CacheInvFunc;     return (OK);    }/******************************************************************************** sysL2CacheFlush - flush the L2 cache(s)* * This routine flushes the L2 cache(s) if either or both were* previously initialized using sysL2CacheInit().** RETURNS: N/A** SEE ALSO: sysL2CacheInit(), sysL2CacheEnable(), sysL2CacheDisable()*/ void sysL2CacheFlush (void)    {    UINT cacheSize;    if ((cacheSize = sysL2InlineCacheSize()) != 0)        sysL2InlineCacheFlush();    }/******************************************************************************** sysL2InlineCacheFlush - flush the L2 cache(s)* * Flush by reading one word from each cache line within a cache* enabled buffer.  Note that this buffer should be twice the size of* the L2 cache to override the pseudo-LRU replacement algorithm.** RETURNS: N/A** SEE ALSO: sysL2CacheInit(), sysL2CacheEnable(), sysL2CacheDisable()*/LOCAL void sysL2InlineCacheFlush (void)    {    int lockKey;    register int i;    register ULONG tmp;    lockKey=intLock();    if (CPU_TYPE == CPU_TYPE_750)        {        if (vxHid0Get() & _PPC_HID0_DCE)            {            /* flush the inline L2 cache */            for (i = 2*sysL2InlineCacheSize() - 32; i >= 0; i -= 32 )            tmp = *(ULONG *)(RAM_LOW_ADRS + i);            }       }    else        {       sysMaxL2Flush();       }    intUnlock(lockKey);    }/******************************************************************************** sysL2CacheInvFunc - Invalidate the L2 cache(s)* * This routine invalidates the L2 cache(s) if either or both were* previously initialized using sysL2CacheInit().  Calling this * routine invalidates the L2 tag bits.** RETURNS: N/A** SEE ALSO: sysL2CacheInit(), sysL2CacheEnable(), sysL2CacheDisable()*/ void sysL2CacheInvFunc (void)    {    UINT cacheSize;    if ((cacheSize = sysL2InlineCacheSize()) != 0)        sysL2InlineCacheInvFunc();    }/******************************************************************************** sysL2InlineCacheInvFunc - Invalidate the L2 cache(s)* * Disables interrupts and calls the function to invalidate the L2 cache.** RETURNS: N/A** SEE ALSO: sysL2CacheInit(), sysL2CacheEnable(), sysL2CacheDisable()*/LOCAL void sysL2InlineCacheInvFunc (void)    {    int lockKey;    lockKey=intLock();    sysMaxL2InvFunc();    intUnlock(lockKey);    }/******************************************************************************** sysL2InlineCacheEnable - enable the L2 in-line cache* * RETURNS: N/A*/ LOCAL void sysL2InlineCacheEnable (void)    {    UINT l2crVal;     if (sysL2InlineCacheSize() == 0)        return;                   /* Return if no L2 Inline cache present */    /* make sure L2 is already disabled */    if ( ((l2crVal = sysL2crGet()) & MPC750_L2CR_E) == 0)        {        l2crVal |= MPC750_L2CR_E;        sysL2crPut(l2crVal);        }    }/******************************************************************************** sysL2CacheDisable - disable the L2 cache(s)* * This routine disables the L2 cache(s) if either or both were* previously initialized using sysL2CacheInit().  Calling this * routine invalidates the L2 tag bits.** RETURNS: N/A** SEE ALSO: sysL2CacheInit(), sysL2CacheEnable(), sysL2CacheDisable()*/ void sysL2CacheDisable (void)    {    UINT cacheSize;    if ((cacheSize = sysL2InlineCacheSize()) != 0)        sysL2InlineCacheDisable();    }/******************************************************************************** sysL2InlineCacheDisable - disable the L2 in-line cache** If the in-line cache is enabled, this routine disables it via the following* steps:** .IP "1."* Flush by reading one word from each cache line within a cache* enabled buffer.  Note that this buffer should be twice the size of* the L2 cache to override the pseudo-LRU replacement algorithm.* .IP "2."* Turn off the cache enable bit in the L2CR.* .IP "3."* Invalidate the L2 cache contents.** RETURNS: N/A*/ LOCAL void sysL2InlineCacheDisable (void)    {    register ULONG tmp;    register ULONG l2crVal;    register int i;    int  lockKey;          /* interrupt lock key */    lockKey = intLock();   /* disable interrupts */    if ((l2crVal = sysL2crGet()) & MPC750_L2CR_E)        {        if (CPU_TYPE == CPU_TYPE_750)            {            if (vxHid0Get() & _PPC_HID0_DCE)                {                /* flush the inline L2 cache */                for (i = 2*sysL2InlineCacheSize() - 32; i >= 0; i -= 32 )                tmp = *(ULONG *)(RAM_LOW_ADRS + i);                }            /* disable the inline L2 cache */            SYNC;            l2crVal &= ~MPC750_L2CR_E;            sysL2crPut(l2crVal);            SYNC;            /* invalidate the inline L2 cache */            sysL2crPut(l2crVal | MPC750_L2CR_I);            SYNC;    /* wait for all memory transactions to finish */            while (sysL2crGet() & MPC750_L2CR_IP)                 ;            sysL2crPut(l2crVal);            }        else                                            {            sysMaxL2Disable();            l2crVal &= ~MPC750_L2CR_E;            /* invalidate the inline L2 cache */            sysL2crPut(l2crVal | MPC750_L2CR_I);            SYNC;    /* wait for all memory transactions to finish */            }        }        intUnlock(lockKey);             /* re-enable interrupts */    }/******************************************************************************** sysL2InlineCacheSize() - Determine size of the L2 in-line cache.** This function returns the size of the L2 in-line cache.  If no L2* in-line cache is present, the size returned is zero so this function's* return value can be used like a boolean to determine if the L2 in-line* cache is actually present.** RETURNS: Size of L2 in-line cache or zero if in-line cache not present.** NOTE: Don't confuse the L2 in-line cache with the other possible type* of cache, referred to as the "glance" or "lookaside" cache.*/ LOCAL UINT sysL2InlineCacheSize()    {    STATUS size;    UCHAR l2CacheSize;    if (CPU_TYPE != CPU_TYPE_750 && CPU_TYPE != CPU_TYPE_MAX &&        CPU_TYPE != CPU_TYPE_NITRO)        return(0);    /* Not an Arthur/Max/Nitro chip so no in-line L2 cache */    if (sysL2CacheInfoGet(L2C_SIZE, &l2CacheSize) == ERROR)        {        sysDebugMsg ("L2 cache record missing or corrupt.  L2 cache disabled.",                     CONTINUE_EXECUTION);        return (0);        }    switch ( l2CacheSize )        {        case L2C_SIZE_256K:            size = L2C_MEM_256K;            break;        case L2C_SIZE_512K:            size = L2C_MEM_512K;            break;        case L2C_SIZE_1M:            size = L2C_MEM_1M;            break;        case L2C_SIZE_2M:            size = L2C_MEM_2M;            break;        case L2C_SIZE_4M:            size = L2C_MEM_4M;            break;        default:            size = L2C_MEM_NONE;            break;        }    return(size);    }/******************************************************************************** sysL2InlineCacheSpd() - Determine speed of the L2 in-line cache.** This function returns the speed of the L2 in-line cache.  If no L2* in-line cache is present, the speed returned is zero so this function's* return value can be used like a boolean to determine if the L2 in-line* cache is actually present.** RETURNS: Speed of L2 in-line cache or zero if in-line cache not present.** NOTE: Don't confuse the L2 in-line cache with the other possible type* of cache, referred to as the "glance" or "lookaside" cache.*/ LOCAL UINT sysL2InlineCacheSpd(void)    {    UINT l2Spd;    UCHAR l2CacheRatio;    if (sysL2InlineCacheSize() == 0)        return(0);       if (sysL2CacheInfoGet(L2C_RATIO_BACKSIDE, &l2CacheRatio) == ERROR)        {        sysDebugMsg ("L2 cache record missing or corrupt.  L2 Cache Disabled.",                     CONTINUE_EXECUTION);        return(ERROR);          /* VPD Error */        }    l2Spd = (sysGetMpuSpd() / boardFreqTable[l2CacheRatio]) * 10;    return(l2Spd);    }   /******************************************************************************** sysL2CacheEnable - enable the L2 cache(s)* * This routine enables the L2 cache(s).* It checks for the presence of either L2 cache * and ensures that the cache(s) is(are) disabled.** RETURNS: N/A** SEE ALSO: sysL2CacheInit(), sysL2CacheEnable(), sysL2CacheDisable()*/ void sysL2CacheEnable (void)    {    UINT cacheSize;    if ((cacheSize = sysL2InlineCacheSize()) != 0)        sysL2InlineCacheEnable();    }#endif    /* INCLUDE_CACHE_SUPPORT && INCLUDE_CACHE_L2 */

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
午夜精品福利视频网站| 国产丶欧美丶日本不卡视频| 国产成人亚洲综合a∨婷婷图片| 欧美性色综合网| 亚洲午夜激情av| 日韩欧美精品在线| 日本女人一区二区三区| 国产在线精品免费av| 欧美一区二区三区成人| 九色|91porny| 久久午夜羞羞影院免费观看| 日韩精品1区2区3区| 久久久夜色精品亚洲| 91久久国产最好的精华液| 视频精品一区二区| 日本一区二区三区dvd视频在线| 国产成人午夜电影网| 国产精品久久久久影院| 精品国内二区三区| 亚洲精品国产高清久久伦理二区| 制服视频三区第一页精品| 日韩中文字幕不卡| 国产精品免费av| 日韩久久精品一区| 国产精品99精品久久免费| 欧美va亚洲va在线观看蝴蝶网| 国产v日产∨综合v精品视频| 久久国产精品色| 国产精品久久久久久久久免费相片 | 日本aⅴ免费视频一区二区三区 | 一本色道久久综合狠狠躁的推荐| 免费在线欧美视频| 国产婷婷精品av在线| 欧美精品一级二级| 在线观看国产日韩| a在线播放不卡| 成人高清免费观看| 国产高清不卡一区二区| 久久国产精品99久久人人澡| 又紧又大又爽精品一区二区| 久久美女高清视频| 久久蜜桃av一区二区天堂| 欧美日韩精品专区| 91福利视频网站| 国产精品一二三四区| 国产一区二区三区在线观看精品| 亚洲在线一区二区三区| 极品瑜伽女神91| 国产精品伦一区| 中文乱码免费一区二区| 国产午夜精品一区二区三区视频 | 精品国产一区二区三区av性色| 91精品国产免费| 欧美成人video| 日韩欧美一区二区久久婷婷| 日韩一区二区三区在线| 中文字幕在线观看一区| 亚洲女厕所小便bbb| 裸体一区二区三区| 国产成人综合网站| 97精品久久久午夜一区二区三区| 欧美影院一区二区三区| 成人sese在线| 91麻豆免费在线观看| 欧美电影一区二区| 久久久久97国产精华液好用吗| 国产精品你懂的在线欣赏| 麻豆国产精品一区二区三区| 国产另类ts人妖一区二区| 欧美在线免费播放| 亚洲精品国产a| 亚洲自拍与偷拍| 日本韩国欧美一区二区三区| 69堂成人精品免费视频| 亚洲国产综合人成综合网站| 久久精品国产一区二区| 一本到不卡精品视频在线观看| 精品福利av导航| 一区二区三区色| 97久久超碰国产精品电影| www激情久久| 日韩一区欧美二区| 国产成人精品三级| 日韩免费视频一区| 久久中文娱乐网| 91论坛在线播放| 精品免费视频一区二区| 国产成人日日夜夜| 91精品国产综合久久蜜臀| 蜜桃免费网站一区二区三区| 成人做爰69片免费看网站| 国产精品午夜免费| 韩国av一区二区| 制服.丝袜.亚洲.中文.综合| 国产99精品国产| 中文字幕第一区| 久久精品国产亚洲aⅴ| 久久中文字幕电影| 国内一区二区视频| 一区二区视频在线| 国产久卡久卡久卡久卡视频精品| 日韩视频免费观看高清完整版 | 成人欧美一区二区三区在线播放| 日韩精品亚洲一区| 亚洲自拍另类综合| 国产蜜臀97一区二区三区| 国产不卡在线播放| 亚洲精品国久久99热| 欧美日韩国产一二三| 一区二区三区视频在线看| 欧美日韩三级视频| 国产一区二三区好的| 中文字幕日韩一区| 欧美不卡视频一区| 成人一区二区三区中文字幕| 日韩高清不卡一区| 亚洲人xxxx| 国产精品狼人久久影院观看方式| 99国产精品99久久久久久| 美女视频免费一区| 亚洲午夜久久久久久久久久久| 日韩视频一区二区在线观看| 欧美视频你懂的| 不卡一卡二卡三乱码免费网站| 五月激情综合网| 亚洲成人在线网站| 成人黄色在线看| 亚洲男人天堂av网| 亚洲男同1069视频| 欧美视频一区在线| 91福利国产精品| 欧美美女一区二区三区| 国产传媒一区在线| 蜜桃视频在线观看一区| 国产精品色哟哟| 国产精品免费观看视频| 欧美一区二区视频观看视频| 精品一区二区三区在线播放 | 精品亚洲成a人在线观看| 自拍偷在线精品自拍偷无码专区| 国产精品欧美经典| 国产乱码精品一区二区三区忘忧草| 国产精品一区不卡| 亚洲成人你懂的| 日韩av二区在线播放| 国产在线播放一区二区三区| 一区二区三区免费观看| 亚洲猫色日本管| 天天操天天干天天综合网| 中文字幕乱码久久午夜不卡| 香蕉加勒比综合久久| 日韩av在线发布| 91香蕉国产在线观看软件| 99久久精品国产毛片| 欧美调教femdomvk| 91精品啪在线观看国产60岁| 久久嫩草精品久久久久| 久久精品视频在线免费观看| 国产色综合一区| 亚洲成在人线在线播放| 国产sm精品调教视频网站| 国产成人综合视频| 91精品国产综合久久久久久久久久| 精品国精品自拍自在线| 亚洲一区二区美女| 成人av免费在线观看| 日韩欧美一级片| 亚洲免费高清视频在线| 国内精品国产三级国产a久久| 久久精品久久久精品美女| 91精品国产综合久久久久久 | 精品欧美一区二区三区精品久久| 亚洲人成精品久久久久久| 五月天丁香久久| 欧美日韩三级一区二区| 波多野结衣中文一区| 日韩一级完整毛片| 亚洲视频在线一区观看| 日韩成人av影视| 色丁香久综合在线久综合在线观看| 日韩一区二区麻豆国产| 亚洲色图一区二区三区| 99精品视频中文字幕| 久久久久久一级片| 成人免费看黄yyy456| 国产欧美日本一区视频| 久久9热精品视频| 欧美在线视频不卡| 日韩电影在线一区二区| 欧美精品日韩综合在线| 中文字幕一区二区三区色视频| 国产成人一级电影| 国产日本亚洲高清| 国产成人啪午夜精品网站男同| 欧美xxx久久| 国产一区二区三区视频在线播放| 欧美成人福利视频| 国产精品18久久久| 亚洲欧美在线aaa| 欧美日韩在线播|