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

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

?? usrsmobj.c

?? ppc 8245 可編譯bsp 包括 uart
?? C
字號:
/* usrSmObj.c - shared memory object initialization *//* Copyright 1992-1999 Wind River Systems, Inc. *//*modification history--------------------01k,20jan99,scb  modified to use "sm=" before SM_ANCHOR_ADRS (23035)01j,12sep97,dgp  doc: fix SPR 4323 need bootline routines for usrSmObjInit()01i,30sep93,rrr  added missing 01h modhist.01h,30sep93,rrr  fixed spr 2460 (set smAnchor to default if boot line is                 not sm=value).01g,13feb93,kdl  added call to sysProcNumSet(), in case no network (SPR #2011).01f,29jan93,pme  added smObjLibInit() return value test.		 added message printing if mem pool allocation fails SPR #1779.		 added bad anchor address handling for master CPU.01e,24dec92,jdi  removed NOMANUAL from usrSmObjInit(), ansified declaration,		 and cleaned up documentation.01d,13nov92,jcf  log error message if smObjAttach returns ERROR.01c,20oct92,pme  made usrSmObjInit return ERROR instead of disabling data cache		 if cache coherent buffer cannot be allocated.		 added shared memory probing.		 adjust pool size if pool not allocated.01b,29sep92,pme  fixed WARNING in printf call.01a,18sep92,jcf  written.*//*DESCRIPTIONThis file is used to configure and initialize the VxWorks shared memoryobject support.  This file is included by usrConfig.c.SEE ALSO: usrExtra.cNOMANUAL*/#ifndef  __INCusrSmObjc#define  __INCusrSmObjc#include "private/funcBindP.h"/******************************************************************************** usrSmObjInit - initialize shared memory objects** This routine initializes the shared memory objects facility.  It sets up* the shared memory objects facility if called from processor 0.* Then it initializes a shared memory descriptor and calls smObjAttach()* to attach this CPU to the shared memory object facility.** When the shared memory pool resides on the local CPU dual ported memory,* SM_OBJ_MEM_ADRS must be set to NONE in configAll.h and the shared memory* objects pool is allocated from the VxWorks system pool.** NOTE* The shared memory objects library requires information from fields in the* VxWorks boot line.  The functions are contained in the usrNetwork.c file. * If no network services are included, usrNetwork.c is not included and the* shared memory initialization fails.  To avoid this problem, either* add INCLUDE_NETWORK to configAll.h or extract the bootline cracking routines* from usrNetwork.c and include them elsewhere.** RETURNS: OK, or ERROR if unsuccessful.** SEE ALSO: `usrSmObj'*/STATUS usrSmObjInit     (    char * bootString		/* boot parameter string */    )    {    char *        smAnchor;             /* anchor address */    char *        smObjFreeAdrs;        /* free pool address */    int           smObjMemSize;         /* pool size */    BOOT_PARAMS   params;               /* boot paramters */    BOOL          allocatedPool;        /* TRUE if pool is maloced */    SM_OBJ_PARAMS smObjParams;          /* smObj setup parameters */    char 	  bb;			/* bit bucket for vxMemProbe */    allocatedPool = FALSE;    /* Check for hardware test and set availability */    if (SM_TAS_TYPE != SM_TAS_HARD)        {        printf ("\nError initializing shared memory objects, ");	printf ("hardware test-and-set required.\n");        return (ERROR);        }    if (smObjLibInit () == ERROR)	/* initialize shared memory objects */	{        printf("\nERROR smObjLibInit : shared memory objects already initialized.\n");	return (ERROR);	}    if (bootString == NULL)        bootString = BOOT_LINE_ADRS;    /* interpret boot command */    if (usrBootLineCrack (bootString, &params) != OK)        return (ERROR);    /* set processor number: may establish vme bus access, etc. */    if (_procNumWasSet != TRUE)	{    	sysProcNumSet (params.procNum);	_procNumWasSet = TRUE;	}    /* if we booted via the sm device use the same anchor address for smObj */    if (strncmp (params.bootDev, "sm=", 3) == 0)        {        if (bootBpAnchorExtract (params.bootDev, &smAnchor) < 0)            {	    printf ("\nError initializing shared memory objects, invalid ");            printf ("anchor address specified: \"%s\"\n", params.bootDev);            return (ERROR);            }        }    else	smAnchor = (char *) SM_ANCHOR_ADRS;         /* default anchor */    /* set up shared memory object if we are shared memory master */    if (params.procNum == SM_MASTER)        {        smObjFreeAdrs = (char *) SM_OBJ_MEM_ADRS;	smObjMemSize  = SM_OBJ_MEM_SIZE;        /* allocate the shared memory object pool if needed */        if (smObjFreeAdrs == (char *) NONE)            {            /* check cache configuration - must be read and write coherent */	    if (!CACHE_DMA_IS_WRITE_COHERENT() || !CACHE_DMA_IS_READ_COHERENT())                {		printf ("usrSmObjInit - cache coherent buffer not available. Giving up.  \n");		return (ERROR);                }            allocatedPool = TRUE;            smObjFreeAdrs = (char *) cacheDmaMalloc (SM_OBJ_MEM_SIZE);            if (smObjFreeAdrs == NULL)		{		printf ("usrSmObjInit - cannot allocate shared memory pool. Giving up.\n");                return (ERROR);		}            }        if (!allocatedPool)            {            /* free memory pool must be behind the anchor */            smObjFreeAdrs += sizeof (SM_ANCHOR);	    /* adjust pool size */	    smObjMemSize = SM_OBJ_MEM_SIZE - sizeof (SM_ANCHOR);            }	/* probe anchor address */	if (vxMemProbe (smAnchor, VX_READ, sizeof (char), &bb) != OK)	    {	    printf ("usrSmObjInit - anchor address %#x unreachable. Giving up.\n", (unsigned int) smAnchor);	    return (ERROR);	    }	/* probe beginning of shared memory */	if (vxMemProbe (smObjFreeAdrs, VX_WRITE, sizeof (char), &bb) != OK)	    {	    printf ("usrSmObjInit - shared memory address %#x unreachable. Giving up.\n", (unsigned int) smObjFreeAdrs);	    return (ERROR);	    }        /* set up shared memory objects */        smObjParams.allocatedPool = allocatedPool;        smObjParams.pAnchor       = (SM_ANCHOR *) smAnchor;        smObjParams.smObjFreeAdrs = (char *) smObjFreeAdrs;        smObjParams.smObjMemSize  = smObjMemSize;        smObjParams.maxCpus       = DEFAULT_CPUS_MAX;        smObjParams.maxTasks      = SM_OBJ_MAX_TASK;        smObjParams.maxSems       = SM_OBJ_MAX_SEM;        smObjParams.maxMsgQueues  = SM_OBJ_MAX_MSG_Q;        smObjParams.maxMemParts   = SM_OBJ_MAX_MEM_PART;        smObjParams.maxNames      = SM_OBJ_MAX_NAME;        if (smObjSetup (&smObjParams) != OK)            {            if (errno == S_smObjLib_SHARED_MEM_TOO_SMALL)               printf("\nERROR smObjSetup : shared memory pool too small.\n");            if (allocatedPool)                free (smObjFreeAdrs);			/* cleanup */            return (ERROR);            }        }    /* initialize shared memory descriptor */    smObjInit (&smObjDesc, (SM_ANCHOR *) smAnchor, sysClkRateGet(),               SM_OBJ_MAX_TRIES, SM_INT_TYPE, SM_INT_ARG1,	       SM_INT_ARG2, SM_INT_ARG3);    /* attach to shared memory object facility */    printf ("Attaching shared memory objects at %#x... ", (int) smAnchor);    if (smObjAttach (&smObjDesc) != OK)	{	printf ("failed: errno = %#x.\n", errno);        return (ERROR);	}    printf("done\n");    return (OK);    }#endif /* __INCusrSmObjc */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本不卡123| 日日摸夜夜添夜夜添国产精品| 天天色 色综合| 成人国产一区二区三区精品| 日韩精品一区二区三区蜜臀| 亚洲综合一二区| 不卡的电影网站| 欧美精品一区二区蜜臀亚洲| 天堂精品中文字幕在线| 91蜜桃网址入口| 日本一区二区三级电影在线观看| 免费在线看成人av| 欧美色综合久久| 亚洲欧美另类在线| 成人免费视频免费观看| 欧美精品一区二区在线播放| 午夜视频一区在线观看| av在线综合网| 亚洲国产精品传媒在线观看| 国内久久精品视频| 日韩亚洲国产中文字幕欧美| 午夜激情久久久| 欧美性受xxxx黑人xyx性爽| 国产精品传媒视频| 福利一区二区在线| 久久久精品2019中文字幕之3| 蜜桃视频在线观看一区| 这里只有精品视频在线观看| 亚洲成人av在线电影| 色噜噜久久综合| 亚洲靠逼com| 99精品国产99久久久久久白柏| 国产精品久久久久天堂| 国产91露脸合集magnet| 欧美激情资源网| 成人综合婷婷国产精品久久| 国产婷婷色一区二区三区四区 | 日产国产欧美视频一区精品 | 日韩午夜小视频| 日韩中文字幕麻豆| 欧美女孩性生活视频| 亚洲一区二区精品视频| 欧美日韩一区在线| 日韩不卡一二三区| 日韩一区二区在线播放| 久久精品国产亚洲一区二区三区| 日韩午夜激情视频| 麻豆一区二区99久久久久| 精品国产露脸精彩对白| 国产激情精品久久久第一区二区| 久久久国产一区二区三区四区小说 | 亚洲欧美怡红院| 94-欧美-setu| 亚洲在线观看免费视频| 欧美日韩亚洲另类| 青青草原综合久久大伊人精品优势 | 激情综合色综合久久| 久久蜜桃一区二区| 成人美女视频在线观看| 亚洲色图视频免费播放| 欧美在线观看18| 日日噜噜夜夜狠狠视频欧美人| 日韩精品一区国产麻豆| 国产精品69毛片高清亚洲| 国产精品乱人伦| 欧美性xxxxx极品少妇| 蜜臀久久99精品久久久久宅男| 久久欧美一区二区| 99免费精品视频| 亚洲一区二区免费视频| 日韩你懂的在线观看| 成人自拍视频在线| 一区二区三区在线观看视频| 91精品国产乱码| 国产精品一区二区x88av| 国产精品久久久久影院色老大| 欧美三级电影精品| 国产资源在线一区| 亚洲男女毛片无遮挡| 欧美丰满一区二区免费视频| 国产剧情一区在线| 艳妇臀荡乳欲伦亚洲一区| 91精品麻豆日日躁夜夜躁| 国产精品18久久久久久久网站| 亚洲欧美激情插 | 99久精品国产| 日韩中文字幕亚洲一区二区va在线| 久久综合久久综合亚洲| 91国内精品野花午夜精品| 麻豆国产91在线播放| 国产精品欧美经典| 欧美一区二区三区日韩视频| 成人sese在线| 麻豆精品蜜桃视频网站| 亚洲欧美另类在线| 久久久久久久综合狠狠综合| 色av综合在线| 国产精品一区二区视频| 亚洲高清免费观看高清完整版在线观看 | 成人av中文字幕| 日本美女一区二区三区| 国产精品超碰97尤物18| 日韩三级精品电影久久久| 91在线观看高清| 日韩精品一区二区在线观看| 91网站最新网址| 国产乱对白刺激视频不卡| 亚洲不卡在线观看| 中文字幕在线不卡一区二区三区| 日韩欧美一区在线| 日本精品一区二区三区高清| 国产麻豆精品一区二区| 日韩av成人高清| 亚洲在线观看免费| 中文字幕一区免费在线观看| 精品国产污污免费网站入口 | 欧美人与禽zozo性伦| 粉嫩久久99精品久久久久久夜| 日本va欧美va瓶| 亚洲免费av高清| 国产欧美一区二区精品久导航| 67194成人在线观看| 色94色欧美sute亚洲线路二| 丁香激情综合国产| 精品一区二区免费视频| 天堂va蜜桃一区二区三区| 亚洲精品乱码久久久久久日本蜜臀| 久久蜜桃av一区精品变态类天堂| 91麻豆精品国产| 欧美午夜不卡视频| 91视频com| 99re在线精品| 成a人片国产精品| 国产91在线|亚洲| 国产美女精品人人做人人爽| 久久国产精品免费| 91精品国产综合久久久久久漫画| 欧美在线制服丝袜| 色婷婷综合久久久久中文一区二区 | 丝袜亚洲另类欧美| 亚洲一区二区视频在线观看| 国产精品国产精品国产专区不片| 久久久精品2019中文字幕之3| 欧美变态口味重另类| 这里是久久伊人| 91精品啪在线观看国产60岁| 欧美日韩中文字幕一区二区| 日本高清成人免费播放| 91亚洲午夜精品久久久久久| 成人污污视频在线观看| 国产91精品精华液一区二区三区 | 日韩综合一区二区| 亚洲成av人影院在线观看网| 亚洲伊人色欲综合网| 亚洲精品高清在线| 一区二区高清在线| 亚洲一区二区三区国产| 一片黄亚洲嫩模| 亚洲一区二区欧美激情| 婷婷久久综合九色综合绿巨人| 午夜精品久久久久久久久久久 | 中文字幕 久热精品 视频在线 | 国产日韩欧美综合在线| 日本一区二区三区dvd视频在线| 国产女人aaa级久久久级| 国产精品网友自拍| 亚洲欧美另类图片小说| 亚洲国产精品影院| 日日夜夜精品免费视频| 麻豆成人久久精品二区三区小说| 国内精品第一页| 福利一区在线观看| 色综合久久久久| 欧美剧情电影在线观看完整版免费励志电影| 欧美色综合天天久久综合精品| 91精品国产综合久久精品 | 在线看不卡av| 欧美理论片在线| 精品人伦一区二区色婷婷| 久久久影院官网| 亚洲欧美在线另类| 香蕉久久一区二区不卡无毒影院 | 亚洲6080在线| 久久精品国产亚洲高清剧情介绍| 国产一区二区三区四区五区美女 | 懂色av中文字幕一区二区三区| www.一区二区| 欧美日韩国产bt| 久久久影院官网| 亚洲另类一区二区| 美女网站视频久久| 春色校园综合激情亚洲| 欧美无砖专区一中文字| 日韩欧美在线1卡| 中文字幕一区二区三区四区| 亚洲午夜精品网| 国产精品一二三四| 欧美系列日韩一区| 久久这里只有精品6| 亚洲色图视频网|