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

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

?? ixnpedlimagemgr.c

?? UBOOT 源碼
?? C
?? 第 1 頁 / 共 2 頁
字號:
/** * @file IxNpeDlImageMgr.c * * @author Intel Corporation * @date 09 January 2002 * * @brief This file contains the implementation of the private API for the  *        IXP425 NPE Downloader ImageMgr module * *  * @par * IXP400 SW Release version 2.0 *  * -- Copyright Notice -- *  * @par * Copyright 2001-2005, Intel Corporation. * All rights reserved. *  * @par * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright *    notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright *    notice, this list of conditions and the following disclaimer in the *    documentation and/or other materials provided with the distribution. * 3. Neither the name of the Intel Corporation nor the names of its contributors *    may be used to endorse or promote products derived from this software *    without specific prior written permission. *  * @par * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS'' * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. *  * @par * -- End of Copyright Notice --*//* * Put the system defined include files required. */#include "IxOsal.h"/* * Put the user defined include files required. */#include "IxNpeDlImageMgr_p.h"#include "IxNpeDlMacros_p.h"/* * define the flag which toggles the firmare inclusion */#define IX_NPE_MICROCODE_FIRMWARE_INCLUDED 1#include "IxNpeMicrocode.h"/* * Indicates the start of an NPE Image, in new NPE Image Library format. * 2 consecutive occurances indicates the end of the NPE Image Library */#define NPE_IMAGE_MARKER 0xfeedf00d/* * Typedefs whose scope is limited to this file. *//* * FOR BACKWARD-COMPATIBILITY WITH OLD NPE IMAGE LIBRARY FORMAT * TO BE DEPRECATED IN A FUTURE RELEASE */typedef struct{    UINT32 size;    UINT32 offset;    UINT32 id;} IxNpeDlImageMgrImageEntry;/* * FOR BACKWARD-COMPATIBILITY WITH OLD NPE IMAGE LIBRARY FORMAT * TO BE DEPRECATED IN A FUTURE RELEASE */typedef union{    IxNpeDlImageMgrImageEntry image;    UINT32 eohMarker;} IxNpeDlImageMgrHeaderEntry;/* * FOR BACKWARD-COMPATIBILITY WITH OLD NPE IMAGE LIBRARY FORMAT * TO BE DEPRECATED IN A FUTURE RELEASE */typedef struct{    UINT32 signature;    /* 1st entry in the header (there may be more than one) */    IxNpeDlImageMgrHeaderEntry entry[1];} IxNpeDlImageMgrImageLibraryHeader;/* * NPE Image Header definition, used in new NPE Image Library format */typedef struct{    UINT32 marker;    UINT32 id;    UINT32 size;} IxNpeDlImageMgrImageHeader;/* module statistics counters */typedef struct{    UINT32 invalidSignature;    UINT32 imageIdListOverflow;    UINT32 imageIdNotFound;} IxNpeDlImageMgrStats;/* * Variable declarations global to this file only.  Externs are followed by * static variables. */static IxNpeDlImageMgrStats ixNpeDlImageMgrStats;/* default image */#ifdef IX_NPEDL_READ_MICROCODE_FROM_FILEstatic UINT32 *IxNpeMicroCodeImageLibrary = NULL;  /* Gets set to proper value at runtime */#elsestatic UINT32 *IxNpeMicroCodeImageLibrary = (UINT32 *)IxNpeMicrocode_array;#endif/* * static function prototypes. */PRIVATE BOOLixNpeDlImageMgrSignatureCheck (UINT32 *microCodeImageLibrary);PRIVATE void  ixNpeDlImageMgrImageIdFormat (UINT32 rawImageId, IxNpeDlImageId *imageId);PRIVATE BOOLixNpeDlImageMgrImageIdCompare (IxNpeDlImageId *imageIdA, 				 IxNpeDlImageId *imageIdB);				 PRIVATE BOOLixNpeDlImageMgrNpeFunctionIdCompare (IxNpeDlImageId *imageIdA,    				       IxNpeDlImageId *imageIdB);PRIVATE IX_STATUSixNpeDlImageMgrImageFind_legacy (UINT32 *imageLibrary,                                 UINT32 imageId,                                 UINT32 **imagePtr,                                 UINT32 *imageSize);/* * Function definition: ixNpeDlImageMgrMicrocodeImageLibraryOverride * * FOR BACKWARD-COMPATIBILITY WITH OLD NPE IMAGE LIBRARY FORMAT * AND/OR LEGACY API FUNCTIONS. TO BE DEPRECATED IN A FUTURE RELEASE */IX_STATUSixNpeDlImageMgrMicrocodeImageLibraryOverride (    UINT32 *clientImageLibrary){    IX_STATUS status = IX_SUCCESS;    IX_NPEDL_TRACE0 (IX_NPEDL_FN_ENTRY_EXIT, 		     "Entering ixNpeDlImageMgrMicrocodeImageLibraryOverride\n");    if (ixNpeDlImageMgrSignatureCheck (clientImageLibrary))    {	IxNpeMicroCodeImageLibrary = clientImageLibrary;    }    else    {	IX_NPEDL_ERROR_REPORT ("ixNpeDlImageMgrMicrocodeImageLibraryOverride: "			       "Client-supplied image has invalid signature\n");	status = IX_FAIL;    }    IX_NPEDL_TRACE1 (IX_NPEDL_FN_ENTRY_EXIT, 		     "Exiting ixNpeDlImageMgrMicrocodeImageLibraryOverride: status = %d\n",		     status);    return status;}/* * Function definition: ixNpeDlImageMgrImageListExtract * * FOR BACKWARD-COMPATIBILITY WITH OLD NPE IMAGE LIBRARY FORMAT * AND/OR LEGACY API FUNCTIONS. TO BE DEPRECATED IN A FUTURE RELEASE */IX_STATUSixNpeDlImageMgrImageListExtract (    IxNpeDlImageId *imageListPtr,    UINT32 *numImages){    UINT32 rawImageId;    IxNpeDlImageId formattedImageId;    IX_STATUS status = IX_SUCCESS;    UINT32 imageCount = 0;    IxNpeDlImageMgrImageLibraryHeader *header;    IX_NPEDL_TRACE0 (IX_NPEDL_FN_ENTRY_EXIT, 		     "Entering ixNpeDlImageMgrImageListExtract\n");    header = (IxNpeDlImageMgrImageLibraryHeader *) IxNpeMicroCodeImageLibrary;    if (ixNpeDlImageMgrSignatureCheck (IxNpeMicroCodeImageLibrary))    {	/* for each image entry in the image header ... */	while (header->entry[imageCount].eohMarker !=	       IX_NPEDL_IMAGEMGR_END_OF_HEADER)	{	    /*	     * if the image list container from calling function has capacity,	     * add the image id to the list 	     */	    if ((imageListPtr != NULL) && (imageCount < *numImages))	    {		rawImageId = header->entry[imageCount].image.id;	        ixNpeDlImageMgrImageIdFormat (rawImageId, &formattedImageId);		imageListPtr[imageCount] = formattedImageId;	    }	    /* imageCount reflects no. of image entries in image library header */	    imageCount++;  	}		/*	 * if image list container from calling function was too small to	 * contain all image ids in the header, set return status to FAIL	 */	if ((imageListPtr != NULL) && (imageCount > *numImages))	{	    status = IX_FAIL;	    IX_NPEDL_ERROR_REPORT ("ixNpeDlImageMgrImageListExtract: "				   "number of Ids found exceeds list capacity\n");	    ixNpeDlImageMgrStats.imageIdListOverflow++;	}	/* return number of image ids found in image library header */	*numImages = imageCount;      }    else    {	status = IX_FAIL;	IX_NPEDL_ERROR_REPORT ("ixNpeDlImageMgrImageListExtract: "			       "invalid signature in image\n");    }        IX_NPEDL_TRACE1 (IX_NPEDL_FN_ENTRY_EXIT, 		     "Exiting ixNpeDlImageMgrImageListExtract: status = %d\n",		     status);    return status;}/* * Function definition: ixNpeDlImageMgrImageLocate * * FOR BACKWARD-COMPATIBILITY WITH OLD NPE IMAGE LIBRARY FORMAT * AND/OR LEGACY API FUNCTIONS. TO BE DEPRECATED IN A FUTURE RELEASE */IX_STATUSixNpeDlImageMgrImageLocate (    IxNpeDlImageId *imageId,    UINT32 **imagePtr,    UINT32 *imageSize){    UINT32 imageOffset;    UINT32 rawImageId;    IxNpeDlImageId formattedImageId;    /* used to index image entries in image library header */    UINT32 imageCount = 0;       IX_STATUS status = IX_FAIL;    IxNpeDlImageMgrImageLibraryHeader *header;    IX_NPEDL_TRACE0 (IX_NPEDL_FN_ENTRY_EXIT,		     "Entering ixNpeDlImageMgrImageLocate\n");    header = (IxNpeDlImageMgrImageLibraryHeader *) IxNpeMicroCodeImageLibrary;    if (ixNpeDlImageMgrSignatureCheck (IxNpeMicroCodeImageLibrary))    {	/* for each image entry in the image library header ... */	while (header->entry[imageCount].eohMarker !=	       IX_NPEDL_IMAGEMGR_END_OF_HEADER)	{	    rawImageId = header->entry[imageCount].image.id;	    ixNpeDlImageMgrImageIdFormat (rawImageId, &formattedImageId);	    /* if a match for imageId is found in the image library header... */	    if (ixNpeDlImageMgrImageIdCompare (imageId, &formattedImageId))	    {		/*		 * get pointer to the image in the image library using offset from		 * 1st word in image library		 */		imageOffset = header->entry[imageCount].image.offset;		*imagePtr = &IxNpeMicroCodeImageLibrary[imageOffset];		/* get the image size */		*imageSize = header->entry[imageCount].image.size;		status = IX_SUCCESS;		break;	    }	    imageCount++;	}	if (status != IX_SUCCESS)	{	    IX_NPEDL_ERROR_REPORT ("ixNpeDlImageMgrImageLocate: "				   "imageId not found in image library header\n");	    ixNpeDlImageMgrStats.imageIdNotFound++;	}    }    else    {	IX_NPEDL_ERROR_REPORT ("ixNpeDlImageMgrImageLocate: "			       "invalid signature in image library\n");    }    IX_NPEDL_TRACE1 (IX_NPEDL_FN_ENTRY_EXIT,		     "Exiting ixNpeDlImageMgrImageLocate: status = %d\n", status);    return status;}/* * Function definition: ixNpeDlImageMgrLatestImageExtract

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区三区资源| 国产一区欧美二区| 色综合中文综合网| 国产又粗又猛又爽又黄91精品| 91精品久久久久久久久99蜜臂| 日韩国产一二三区| 精品国产免费人成在线观看| 国产成人在线电影| 亚洲欧美一区二区久久| 91香蕉视频mp4| 亚洲成av人片在线观看| 日韩一区二区免费在线电影 | 亚洲大尺度视频在线观看| 成人激情黄色小说| 亚洲裸体在线观看| 欧美一区二区三区不卡| 国产又黄又大久久| 一区二区三区四区激情| 678五月天丁香亚洲综合网| 国产乱码精品一区二区三区五月婷| 中文字幕国产一区二区| 欧美影院午夜播放| 韩国理伦片一区二区三区在线播放| 国产精品久久一卡二卡| 在线不卡中文字幕播放| 国产成人精品免费视频网站| 一区二区三区国产| 精品久久一区二区| 色婷婷激情久久| 国模娜娜一区二区三区| 最新不卡av在线| 日韩精品一区二区三区三区免费 | 亚洲成人av福利| 亚洲精品在线免费观看视频| 91在线视频18| 激情综合色综合久久综合| 亚洲女人****多毛耸耸8| 欧美变态口味重另类| 91美女片黄在线观看91美女| 激情综合色丁香一区二区| 一区二区在线观看视频| 99国产精品国产精品毛片| 欧美日韩激情一区二区三区| 一区二区三区国产精品| 久久久精品免费免费| 欧美日韩一级大片网址| a在线播放不卡| 精品一区二区国语对白| 亚洲国产一区二区三区| 中文天堂在线一区| 久久中文字幕电影| 日韩三级在线免费观看| 欧美午夜一区二区| 99在线热播精品免费| 国产福利一区二区| 老司机免费视频一区二区| 亚洲国产视频直播| 国产精品日韩精品欧美在线| 国产午夜精品一区二区三区四区| 欧美一区二区三区小说| 欧美影院精品一区| 欧美性高清videossexo| 91丨九色porny丨蝌蚪| 成人污污视频在线观看| 国产精品资源在线看| 久久精品国产77777蜜臀| 视频在线观看一区二区三区| 一区二区三区国产豹纹内裤在线| 亚洲天堂福利av| 日韩美女视频一区二区| 中文字幕一区二区三区在线播放 | 高清国产午夜精品久久久久久| 奇米影视一区二区三区| 免费在线视频一区| 免费观看在线综合色| 久久精品99国产精品日本| 久久激五月天综合精品| 精品亚洲欧美一区| 激情丁香综合五月| 激情小说欧美图片| 国产精品一区专区| 成人免费高清视频| 一本到三区不卡视频| 日本伦理一区二区| 欧美精品国产精品| 日韩免费看网站| 久久久99精品免费观看不卡| 久久精品视频免费| 亚洲视频在线观看三级| 一卡二卡三卡日韩欧美| 亚洲福利视频一区| 奇米影视一区二区三区| 国产一区二区视频在线播放| 国产成人精品综合在线观看| 色婷婷综合久久久中文一区二区| 色综合久久久久久久久| 欧美日韩国产首页| 精品久久久久一区二区国产| 久久精品男人天堂av| 综合久久久久综合| 亚洲国产另类av| 国产在线国偷精品免费看| 丰满放荡岳乱妇91ww| 欧美系列亚洲系列| 日韩欧美中文字幕公布| 国产欧美日韩三级| 亚洲国产综合在线| 韩国欧美国产1区| 一本大道久久精品懂色aⅴ| 欧美精品久久一区二区三区| 久久久久久久一区| 一区二区三区四区在线免费观看 | 亚洲视频一区二区免费在线观看| 一区二区三区在线看| 美女视频黄频大全不卡视频在线播放 | av一二三不卡影片| 欧美日韩激情一区| 国产精品免费视频观看| 日韩精品午夜视频| av在线不卡网| 精品国产在天天线2019| 亚洲欧美日韩系列| 蜜臀久久99精品久久久久久9 | 国产欧美综合在线观看第十页| 亚洲精品国产精华液| 国产综合久久久久久鬼色| 色又黄又爽网站www久久| 精品国内片67194| 夜夜嗨av一区二区三区四季av | 欧美日韩美少妇| 国产精品欧美一级免费| 99久久精品国产观看| 亚洲国产综合人成综合网站| 久久精品国产秦先生| 99久久国产综合精品女不卡| 欧美成人性福生活免费看| 亚洲日本电影在线| 国产成人高清在线| 日韩欧美高清一区| 国产乱国产乱300精品| 欧美日韩电影在线播放| 成人欧美一区二区三区1314| 国产精品一二三在| 日韩精品资源二区在线| 亚洲电影第三页| 91女神在线视频| 亚洲国产精品精华液ab| 老司机免费视频一区二区三区| 欧美视频三区在线播放| 亚洲欧美日韩中文字幕一区二区三区 | 亚洲天堂2016| 成人精品鲁一区一区二区| 久久一留热品黄| 精一区二区三区| 欧美一区二区三区啪啪| 偷窥少妇高潮呻吟av久久免费| 日本高清成人免费播放| 亚洲天堂中文字幕| 91麻豆免费看| 18欧美亚洲精品| a在线播放不卡| 亚洲欧美另类小说视频| 99久久综合色| 亚洲三级小视频| 日本高清不卡在线观看| 亚洲人成电影网站色mp4| 99久久精品国产导航| 中文字幕亚洲在| 一道本成人在线| 亚洲mv大片欧洲mv大片精品| 色拍拍在线精品视频8848| 国产成人精品亚洲日本在线桃色| 欧美精品一区二区高清在线观看| 国内精品久久久久影院薰衣草| 久久久久久毛片| 成人深夜福利app| 亚洲人成精品久久久久久| 在线观看国产日韩| 日韩电影在线一区二区三区| 色婷婷av一区二区三区之一色屋| 欧美一区二区女人| 亚洲精品国产无天堂网2021| 欧美性色黄大片手机版| 日韩中文欧美在线| 精品国产乱码久久久久久浪潮 | 日韩伦理电影网| 99久久99久久免费精品蜜臀| 亚洲精品高清在线| 91精品在线免费观看| 精品在线亚洲视频| 中文字幕一区二区三| 精品婷婷伊人一区三区三| 奇米在线7777在线精品| 久久久精品tv| 色综合久久久网| 久久不见久久见中文字幕免费| 国产精品少妇自拍| 欧美中文字幕一区| 国产一区二区不卡| 一区二区三区丝袜|