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

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

?? syslib.c

?? Kontron的ETX-P3T的BSP的源代碼
?? C
?? 第 1 頁 / 共 5 頁
字號(hào):
    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 0  /* Changed by jerry cai */#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) */#endif /* Changed by jerry cai */#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;        BOOL hasAoutHdr = FALSE;*/#if 0  /* Changed by jerry cai */        if ((fd = open (BOOTROM_BIN, O_RDONLY, 0644)) == ERROR)            {            printErr ("Error opening file \"%s\", trying \"%s\" ... \n",                      BOOTROM_BIN, BOOTROM_AOUT);            if ((fd = open (BOOTROM_AOUT, 

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线亚洲一区观看| 粉嫩绯色av一区二区在线观看| 日本久久一区二区| 亚洲女性喷水在线观看一区| 欧洲一区在线电影| 日韩黄色小视频| 国产欧美一区二区精品婷婷| av中文一区二区三区| 一区二区三区 在线观看视频| 欧美人伦禁忌dvd放荡欲情| 毛片av一区二区| 中文字幕 久热精品 视频在线| 色婷婷综合久久久久中文一区二区| 亚洲综合色视频| 精品美女在线播放| 91丨porny丨国产| 日韩国产高清在线| 国产亚洲va综合人人澡精品 | 91精品国产91久久综合桃花| 激情成人综合网| 亚洲欧美日韩一区| 日韩欧美一级特黄在线播放| 福利91精品一区二区三区| 一区二区三区精品视频在线| 精品少妇一区二区三区在线播放| 成人永久免费视频| 亚洲夂夂婷婷色拍ww47| 欧美精品一区二区三区视频 | 天天av天天翘天天综合网色鬼国产| 精品日韩一区二区| 色综合久久88色综合天天| 麻豆精品在线观看| 亚洲日本乱码在线观看| 欧美一区二区免费视频| 不卡的av电影| 久久不见久久见中文字幕免费| 自拍偷拍亚洲综合| 精品国产欧美一区二区| 欧美视频在线一区| 成人av网站大全| 国产乱码精品一区二区三区忘忧草| 亚洲制服丝袜av| 国产精品久久久久aaaa樱花| 精品入口麻豆88视频| 色美美综合视频| 粉嫩一区二区三区性色av| 日本三级亚洲精品| 亚洲自拍都市欧美小说| 国产精品国产a| 久久久精品日韩欧美| 91精品一区二区三区在线观看| 日本道免费精品一区二区三区| 国产不卡在线播放| 美女mm1313爽爽久久久蜜臀| 亚洲大片免费看| 亚洲视频一区二区在线| 国产精品私人自拍| 久久精品欧美日韩精品| 久久一日本道色综合| 91麻豆精品久久久久蜜臀| 在线欧美小视频| 色综合久久中文综合久久97| av网站免费线看精品| 国产盗摄视频一区二区三区| 国产主播一区二区三区| 另类成人小视频在线| 奇米影视在线99精品| 五月天激情综合网| 亚洲成人动漫av| 亚洲成人av一区二区| 婷婷久久综合九色综合绿巨人| 亚洲美女视频在线| 一区二区三区高清不卡| 亚洲欧美日韩国产手机在线| 亚洲欧洲精品天堂一级| 亚洲欧洲另类国产综合| 亚洲欧美日韩一区二区三区在线观看| 日韩一区欧美小说| 亚洲欧美另类图片小说| 亚洲自拍另类综合| 视频在线在亚洲| 另类小说视频一区二区| 国产精品亚洲专一区二区三区| 国内不卡的二区三区中文字幕| 精品制服美女丁香| 国产精品99久久久| 成人黄色国产精品网站大全在线免费观看| 丰满放荡岳乱妇91ww| 99re这里都是精品| 欧美色视频在线观看| 欧美另类高清zo欧美| 日韩欧美亚洲另类制服综合在线| 日韩欧美一区二区久久婷婷| 久久久久久免费网| 亚洲日本在线看| 亚洲午夜影视影院在线观看| 日韩成人精品在线观看| 国产精品一区二区三区99| 成人av在线一区二区三区| 在线精品视频小说1| 91精品在线观看入口| 国产亚洲人成网站| 成人免费小视频| 亚洲综合精品自拍| 久久精品国产一区二区| 成人av电影在线网| 欧美色手机在线观看| 久久久激情视频| 亚洲狼人国产精品| 久99久精品视频免费观看| 99久久免费视频.com| 欧美精品三级日韩久久| 国产三级精品三级在线专区| 亚洲最色的网站| 精东粉嫩av免费一区二区三区| 99精品一区二区三区| 欧美一级搡bbbb搡bbbb| 国产欧美日韩三级| 日韩激情av在线| 91丨porny丨国产入口| 欧美mv日韩mv亚洲| 亚洲线精品一区二区三区八戒| 国产一区二区毛片| 欧美日韩免费一区二区三区视频| 久久久一区二区三区| 亚洲成av人在线观看| 波多野结衣亚洲一区| 欧美一卡二卡三卡| 一区二区国产盗摄色噜噜| 国产老肥熟一区二区三区| 欧美日本乱大交xxxxx| 国产精品入口麻豆九色| 久久精品国产亚洲a| 欧美午夜精品久久久久久超碰| 国产偷v国产偷v亚洲高清| 日韩精品一区第一页| 在线日韩国产精品| 中文字幕亚洲一区二区va在线| 精品一区二区三区在线观看国产| 欧美色欧美亚洲另类二区| 中文字幕一区二区三区色视频| 国产一区二区导航在线播放| 91麻豆精品国产91久久久资源速度 | 日韩av电影天堂| 一本久久综合亚洲鲁鲁五月天| 久久久国产精品午夜一区ai换脸| 日本成人在线电影网| 欧美视频一区在线观看| 亚洲男人都懂的| 波多野洁衣一区| 国产精品对白交换视频 | 成人av影视在线观看| 久久影院视频免费| 黑人巨大精品欧美一区| 日韩一级黄色大片| 亚洲在线观看免费| 在线观看av一区二区| 亚洲精品欧美专区| 色噜噜夜夜夜综合网| 亚洲猫色日本管| 91在线视频播放地址| 中文字幕一区免费在线观看| 成人av第一页| 国产精品高潮呻吟久久| aaa欧美日韩| 亚洲区小说区图片区qvod| 97se亚洲国产综合自在线不卡| 国内精品免费在线观看| 日韩欧美国产综合一区| 久久99久国产精品黄毛片色诱| 欧美一区二区视频在线观看| 奇米色一区二区| 欧美哺乳videos| 国产精品99久久久久久久女警| 欧美国产欧美综合| 91亚洲国产成人精品一区二三| 亚洲天堂av老司机| 欧美日韩午夜影院| 美国av一区二区| 久久久亚洲高清| 99国产精品99久久久久久| 亚洲一区电影777| 欧美一区二区免费| 国产精品一二三在| 亚洲女子a中天字幕| 777奇米成人网| 国产精品影视在线观看| 中文字幕在线观看一区二区| 色综合久久综合| 日韩中文字幕亚洲一区二区va在线| 91精品视频网| 国产成人午夜精品影院观看视频 | 91成人免费在线| 日韩黄色小视频| 国产日韩精品一区二区浪潮av| 色美美综合视频| 久久99国产精品久久| 亚洲欧洲三级电影| 91精品国产一区二区| 成人午夜视频网站|