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

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

?? syslib.c

?? vxworks嵌入式開發vmware bsp包 其中已包括網卡的驅動 本人試過 非常好用
?? C
?? 第 1 頁 / 共 5 頁
字號:
    /* Subtract the number of used pages from the total number of pages     * possible in the address space.  The resulting value is the total     * number of pages that could possibly populate the remaining address     * space above <pPage>.     */    const UINT32 pageNoUsed  = ((UINT32) pPage / pageSize);    const UINT32 pageNoTotal = (PHYS_MEM_MAX / pageSize) - pageNoUsed;    UINT32       delta       = HALF (pageNoTotal);    int temp[4];    /* find out the actual size of the memory (up to PHYS_MEM_MAX) */    for (pPage += (pageSize * delta); delta != 0; delta >>= 1)        {        WRITE_MEMORY_TEST_PATTERN ((int *) pPage, &temp[0]);        if (*((int *) pPage) != TEST_PATTERN_A)            {            /* The test pattern was not written, so assume that <pPage> is the             * base address of a page beyond available memory.  Test the             * next lowest page.  If the test pattern is writable there, assume             * that <pPage> is the address of the first byte beyond the last             * addressable page.             */            UINT8 * pPrevPage = (UINT8 *)((UINT32) pPage - pageSize);            WRITE_MEMORY_TEST_PATTERN ((int *) pPrevPage, &temp[0]);            if (*((int *) pPrevPage) == TEST_PATTERN_A)                {                RESTORE_MEMORY_TEST_ADDRS ((int *) pPrevPage, &temp[0]);                memTopPhys = pPage;                found      = TRUE;                break;                }            pPage -= (pageSize * HALF (delta));            }        else            {            /* The test pattern was written, so assume that <pPage> is the base             * address of a page in available memory.  Test the next highest             * page.  If the test pattern is not writable there, assume that             * <pNextPage> is the address of the first byte beyond that last             * addressable page.             */            UINT8 * pNextPage = (UINT8 *)((UINT32) pPage + pageSize);            RESTORE_MEMORY_TEST_ADDRS ((int *) pPage, &temp[0]);            WRITE_MEMORY_TEST_PATTERN ((int *) pNextPage, &temp[0]);            if (*((int *) pNextPage) != TEST_PATTERN_A)                {                memTopPhys = pNextPage;                found      = TRUE;                break;                }            RESTORE_MEMORY_TEST_ADDRS ((int *) pNextPage, &temp[0]);            pPage += (pageSize * HALF (delta));            }        }    }#endif	/* LOCAL_MEM_AUTOSIZE */    if (!found)        {        memTopPhys = (char *)(LOCAL_MEM_LOCAL_ADRS + LOCAL_MEM_SIZE);        }    /* copy the global descriptor table from RAM/ROM to RAM */    bcopy ((char *)sysGdt, (char *)pSysGdt, GDT_ENTRIES * sizeof(GDT));    *(short *)&gdtr[0]	= GDT_ENTRIES * sizeof(GDT) - 1;    *(int *)&gdtr[2]	= (int)pSysGdt;/*  * We assume that there are no memory mapped IO addresses * above the "memTopPhys" if INCLUDE_PCI is not defined. * Thus we set the "limit" to get the General Protection Fault * when the memory above the "memTopPhys" is accessed. */#if	!defined (INCLUDE_PCI) && \	!defined (INCLUDE_MMU_BASIC) && !defined (INCLUDE_MMU_FULL)    {    int   ix;    GDT * pGdt  = pSysGdt;    int   limit = (((UINT32) memTopPhys) >> 12) - 1;    for (ix = 1; ix < GDT_ENTRIES; ++ix)        {        ++pGdt;        pGdt->limit00 = limit & 0x0ffff;        pGdt->limit01 = ((limit & 0xf0000) >> 16) | (pGdt->limit01 & 0xf0);        }    }#endif	/* INCLUDE_PCI */    /* load the global descriptor table. set the MMU table */    sysLoadGdt (gdtr);#ifdef	FAST_REBOOT    /*      * save the brand new bootrom image that will be protected by MMU.     * The last 2 bytes of ROM_SIZE are for the checksum.      * - compression would minimize the DRAM usage.     * - when restore, jumping to the saved image would be faster.     */    memTopPhys -= ROM_SIZE;    bcopy ((char *)ROM_BASE_ADRS, memTopPhys, ROM_SIZE);    *(UINT16 *)(memTopPhys + ROM_SIZE - 2) =         checksum ((UINT16 *)memTopPhys, ROM_SIZE - 2);    memRom = memTopPhys;		/* remember it */#endif	/* FAST_REBOOT */    /* set the MMU descriptor table */    (UINT32)memTopPhys &= ~(VM_PAGE_SIZE - 1);	/* VM_PAGE_SIZE aligned */#if	(VM_PAGE_SIZE == PAGE_SIZE_4KB)    pMmu = &sysPhysMemDesc[4];		/* 5th entry: above 1.5MB upper memory */    pMmu->len = (UINT32) memTopPhys - (UINT32) pMmu->physicalAddr;#else	/* (VM_PAGE_SIZE == PAGE_SIZE_4KB) */    pMmu = &sysPhysMemDesc[2];		/* 3rd entry: above 8MB upper memory */    pMmu->len = (UINT32) memTopPhys - (UINT32) pMmu->physicalAddr;#endif	/* (VM_PAGE_SIZE == PAGE_SIZE_4KB) */    return (memTopPhys);    }/********************************************************************************* sysMemTop - get the address of the top of VxWorks memory** This routine returns a pointer to the first byte of memory not* controlled or used by VxWorks.** The user can reserve memory space by defining the macro USER_RESERVED_MEM* in config.h.  This routine returns the address of the reserved memory* area.  The value of USER_RESERVED_MEM is in bytes.** RETURNS: The address of the top of VxWorks memory.*/char * sysMemTop (void)    {    static char * memTop = NULL;    if (memTop == NULL)        {        memTop = sysPhysMemTop () - USER_RESERVED_MEM;        if ((UINT32)(&end) < 0x100000)		/* this is for bootrom */            memTop = (char *)EBDA_START;	/* preserve the MP table */        else if ((UINT32)(&end) < RAM_LOW_ADRS)	/* bootrom in upper mem */            memTop = (char *)(RAM_LOW_ADRS & 0xfff00000);        }    return (memTop);    }/********************************************************************************* sysToMonitor - transfer control to the ROM monitor** This routine transfers control to the ROM monitor.  It is usually called* only by reboot() -- which services ^X -- and by bus errors at interrupt* level.  However, in some circumstances, the user may wish to introduce a* new <startType> to enable special boot ROM facilities.** RETURNS: Does not return.*/STATUS sysToMonitor    (    int startType   /* passed to ROM to tell it how to boot */    )    {    FUNCPTR pEntry;    INT16 * pDst;        VM_ENABLE (FALSE);			/* disbale MMU */#if	(CPU == PENTIUM) || (CPU == PENTIUM2) || (CPU == PENTIUM3) || \	(CPU == PENTIUM4)    pentiumMsrInit ();			/* initialize MSRs */#endif	/* (CPU == PENTIUM) || (CPU == PENTIUM[234]) */    /* decide a destination RAM address and the entry point */    if ((UINT32)(&end) > RAM_LOW_ADRS)	{	pDst = (short *)RAM_HIGH_ADRS;	/* copy it in lower mem */	pEntry = (FUNCPTR)(RAM_HIGH_ADRS + ROM_WARM_HIGH);	}    else	{	pDst = (short *)RAM_LOW_ADRS;	/* copy it in upper mem */	pEntry = (FUNCPTR)(RAM_LOW_ADRS + ROM_WARM_LOW);	}#ifdef	FAST_REBOOT    /* restore the saved brand new bootrom image, then jump */    if ((memRom != NULL) &&        (*(UINT16 *)(memRom + ROM_SIZE - 2) ==          checksum ((UINT16 *)memRom, ROM_SIZE - 2)))        {        INT32 ix;        INT32 * dst = (INT32 *) ROM_TEXT_ADRS;        INT32 * src = (INT32 *) memRom;	pEntry = (FUNCPTR)(ROM_TEXT_ADRS + ROM_WARM_HIGH);        for (ix = 0; ix < (ROM_SIZE >> 2); ix++)            *dst++ = *src++;        goto sysToMonitorJump;        }#endif	/* FAST_REBOOT */    /* disable 16-bit memory access */#ifdef  INCLUDE_ELC    sysOutByte (IO_ADRS_ELC + 5, sysInByte (IO_ADRS_ELC + 5) & ~0x80);#endif  /* INCLUDE_ELC */#ifdef	INCLUDE_ROMCARD    {    INT32 ix;    INT32 iy;    INT32 iz;    char buf[ROM_SIGNATURE_SIZE];    short *pSrc;    /* copy EPROM to RAM and jump, if there is a VxWorks EPROM */    for (ix = 0; ix < NELEMENTS(sysRomBase); ix++)	{	bcopyBytes ((char *)sysRomBase[ix], buf, ROM_SIGNATURE_SIZE);	if (strncmp (sysRomSignature, buf, ROM_SIGNATURE_SIZE) == 0)	    {	    for (iy = 0; iy < 1024; iy++)		{		*sysRomBase[ix] = iy;	/* map the moveable window */		pSrc = (short *)((int)sysRomBase[ix] + 0x200);	        for (iz = 0; iz < 256; iz++)		    *pDst++ = *pSrc++;		}	    goto sysToMonitorJump;	/* jump to the entry point */	    }	}    }#endif	/* INCLUDE_ROMCARD */#ifdef  INCLUDE_IACSFL    {    unsigned int * romSize = (unsigned int *)0xffffffe0;    unsigned int * dest = (unsigned int *) pDst;    unsigned int * src = (unsigned int *) (0 - *romSize);    int i = 0;        for (i = 0; i < (*romSize >> 2); i++)        *dest++ = *src++;    goto sysToMonitorJump;    }#endif /* INCLUDE_IACSFL */#if	(defined(INCLUDE_FD) || defined(INCLUDE_ATA) || defined(INCLUDE_TFFS))    if ((sysWarmType == SYS_WARM_FD) || (sysWarmType == SYS_WARM_ATA) || 	(sysWarmType == SYS_WARM_TFFS))	{	u_char * pChar;        /* check to see if device exists, if so don't create it */        if (NULL != dosFsVolDescGet(BOOTROM_DIR, &pChar))            {            goto bootDevExists; /* avoid attempt to recreate device */            }        }#endif /* defined(INCLUDE_FD) || defined(INCLUDE_ATA) || defined(INCLUDE_TFFS) */#ifdef	INCLUDE_FD    if (sysWarmType == SYS_WARM_FD)	{	IMPORT int dosFsDrvNum;        fdDrv (INT_NUM_GET (FD_INT_LVL), FD_INT_LVL);	/* initialize floppy */	if (dosFsDrvNum == ERROR)    	    dosFsInit (NUM_DOSFS_FILES);	/* initialize DOS-FS */	if (usrFdConfig (sysWarmFdDrive, sysWarmFdType, BOOTROM_DIR) == ERROR)	    {	    printErr ("usrFdConfig failed.\n");	    return (ERROR);	    }	}#endif	/* INCLUDE_FD */#ifdef	INCLUDE_ATA    if (sysWarmType == SYS_WARM_ATA)	{	ATA_RESOURCE *pAtaResource  = &ataResources[sysWarmAtaCtrl];	IMPORT int dosFsDrvNum;        if (ataDrv (sysWarmAtaCtrl, pAtaResource->drives,	    pAtaResource->intVector, pAtaResource->intLevel,	    pAtaResource->configType, pAtaResource->semTimeout,	    pAtaResource->wdgTimeout) == ERROR)	/* initialize ATA/IDE disk */	    {	    printErr ("Could not initialize.\n");	    return (ERROR);	    }	if (dosFsDrvNum == ERROR)    	    dosFsInit (NUM_DOSFS_FILES);        /* initialize DOS-FS */	if (ERROR == usrAtaConfig (sysWarmAtaCtrl,                                    sysWarmAtaDrive, BOOTROM_DIR))	    {	    printErr ("usrAtaConfig failed.\n");	    return (ERROR);	    }	}#endif	/* INCLUDE_ATA */#ifdef	INCLUDE_TFFS    if (sysWarmType == SYS_WARM_TFFS)	{	IMPORT int dosFsDrvNum;        tffsDrv ();				/* initialize TFFS */	if (dosFsDrvNum == ERROR)    	    dosFsInit (NUM_DOSFS_FILES);	/* initialize DOS-FS */	if (usrTffsConfig (sysWarmTffsDrive, FALSE, BOOTROM_DIR) == ERROR)	    {	    printErr ("usrTffsConfig failed.\n");	    return (ERROR);	    }	}#endif	/* INCLUDE_TFFS */#if	(defined(INCLUDE_FD) || defined(INCLUDE_ATA) || defined(INCLUDE_TFFS))bootDevExists:  /* reboot device exists */    if ((sysWarmType == SYS_WARM_FD) || (sysWarmType == SYS_WARM_ATA) ||         (sysWarmType == SYS_WARM_TFFS))        {        int  fd;  

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩三级视频在线观看| 91高清视频在线| 国产欧美日韩精品在线| 国产精品资源站在线| 久久精品男人的天堂| 国产麻豆一精品一av一免费 | 久久激情五月激情| 日韩区在线观看| 国产大陆精品国产| 国产精品久久久久久久第一福利| 色综合欧美在线视频区| 亚洲不卡一区二区三区| 日韩视频免费观看高清在线视频| 韩国一区二区三区| 国产精品毛片a∨一区二区三区| 99视频精品在线| 午夜激情一区二区三区| 精品福利一二区| 不卡的电影网站| 亚洲成av人片在线观看无码| xfplay精品久久| 日本久久一区二区| 麻豆91在线播放| 亚洲免费观看视频| 欧美一级二级三级乱码| 99久久综合99久久综合网站| 婷婷综合五月天| 国产精品久久久久久久久久免费看| 欧美性色aⅴ视频一区日韩精品| 精品一区二区在线播放| 亚洲精品成人悠悠色影视| 欧美一区二区黄| 99精品欧美一区二区三区综合在线| 奇米在线7777在线精品 | 日本道免费精品一区二区三区| 天天色天天操综合| 国产精品私房写真福利视频| 欧美一级在线免费| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 日韩三级电影网址| 91成人看片片| 白白色 亚洲乱淫| 精品无码三级在线观看视频| 亚洲第一主播视频| 国产精品女同一区二区三区| 欧美一区二区三区成人| 欧洲精品视频在线观看| 国产成人综合在线观看| 日本亚洲一区二区| 亚洲影视在线观看| 亚洲欧洲av色图| 欧美国产日本韩| 精品福利在线导航| 欧美电影免费观看高清完整版在线 | 国内精品伊人久久久久影院对白| 亚洲综合激情网| 欧美国产精品中文字幕| 精品国精品国产| 日韩精品在线一区二区| 欧美久久久一区| 精品视频全国免费看| 色av一区二区| 在线免费不卡电影| 91免费在线看| 一本久道中文字幕精品亚洲嫩| 成人自拍视频在线| 国产精品综合视频| 精品一区二区三区av| 日韩电影一二三区| 免费在线欧美视频| 秋霞影院一区二区| 老汉av免费一区二区三区| 日韩黄色片在线观看| 亚洲福利视频三区| 日韩在线卡一卡二| 水野朝阳av一区二区三区| 日韩高清在线一区| 日韩av在线播放中文字幕| 日本不卡一区二区| 毛片基地黄久久久久久天堂| 久久国产免费看| 国产在线一区观看| 丰满少妇久久久久久久| 不卡的av电影| 色视频欧美一区二区三区| 色网综合在线观看| 欧美日韩一区 二区 三区 久久精品| 91搞黄在线观看| 91.com视频| 337p粉嫩大胆色噜噜噜噜亚洲 | 91啦中文在线观看| 欧美亚洲另类激情小说| 欧美一区二区三区视频免费播放| 日韩精品一区二区三区在线观看| 久久久久久久免费视频了| 国产精品久久久久三级| 亚洲免费观看高清完整| 日韩高清一区二区| 国产精品一区二区三区99| 成人永久免费视频| 欧美伊人精品成人久久综合97| 3751色影院一区二区三区| 2023国产精品| 亚洲激情五月婷婷| 美美哒免费高清在线观看视频一区二区| 国产又粗又猛又爽又黄91精品| 成人av在线资源网站| 欧美日韩免费不卡视频一区二区三区| 日韩欧美一区二区免费| 国产精品亲子伦对白| 天堂一区二区在线| 国产成人综合精品三级| 欧美三级电影在线观看| 欧美精品一区二区三区蜜桃视频| 国产精品久久久久天堂| 丝袜亚洲另类丝袜在线| 国产成人h网站| 欧美曰成人黄网| 国产欧美精品一区aⅴ影院| 亚洲一二三级电影| 成人免费毛片高清视频| 欧美一区永久视频免费观看| 国产日韩欧美不卡在线| 日韩影院精彩在线| 97精品国产露脸对白| 欧美www视频| 亚洲高清三级视频| 成人成人成人在线视频| 日韩视频在线一区二区| 亚洲欧美电影一区二区| 国产成人在线网站| 欧美日韩国产中文| 亚洲欧美日韩国产中文在线| 国产美女娇喘av呻吟久久| 欧美日韩电影在线播放| 国产精品久久久久国产精品日日| 久久国内精品视频| 欧美裸体一区二区三区| 国产精品的网站| 国产毛片精品一区| 日韩欧美成人一区| 日本伊人午夜精品| 欧美色老头old∨ideo| 中文字幕一区二区三区四区不卡| 麻豆精品视频在线观看免费| 欧美日韩黄色一区二区| 一区二区三区欧美视频| 99视频有精品| 国产精品剧情在线亚洲| 国产高清精品网站| 欧美精品一区二区三区四区| 久久激情综合网| 日韩欧美自拍偷拍| 日日骚欧美日韩| 欧美久久久久免费| 亚洲超碰97人人做人人爱| 欧美视频一区二区在线观看| 洋洋av久久久久久久一区| 色婷婷综合视频在线观看| 自拍偷拍亚洲激情| 99精品久久只有精品| 亚洲欧美一区二区三区国产精品| gogogo免费视频观看亚洲一| 亚洲欧洲精品一区二区三区不卡| 成人免费视频国产在线观看| 国产精品网友自拍| 99久久精品久久久久久清纯| 亚洲视频免费在线| 91传媒视频在线播放| 性欧美大战久久久久久久久| 欧美精品高清视频| 奇米888四色在线精品| 欧美高清视频www夜色资源网| 午夜久久电影网| 日韩精品资源二区在线| 国产一区二区视频在线| 久久久99久久精品欧美| hitomi一区二区三区精品| 亚洲免费电影在线| 欧美猛男男办公室激情| 免费观看成人av| 国产婷婷色一区二区三区在线| 成人免费视频视频在线观看免费 | 欧美在线视频不卡| 日本女人一区二区三区| 精品国产一区二区三区久久久蜜月 | 国产欧美日韩卡一| 色综合久久中文字幕综合网| 亚洲一区二区美女| 欧美mv和日韩mv的网站| 成人一区在线看| 亚洲成人精品一区二区| 久久综合久久综合久久| 成人av电影在线| 日韩精彩视频在线观看| 日本一区二区在线不卡| 在线中文字幕一区| 国产一区二区在线电影| 亚洲欧美成aⅴ人在线观看| 日韩三级在线观看|