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

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

?? syslib.c

?? Kontron的ETX-P3T的BSP的源代碼
?? C
?? 第 1 頁 / 共 5 頁
字號:
    /* initialize the number of active mappings (sysPhysMemDescNumEnt) */    pMmu = &sysPhysMemDesc[0];    for (ix = 0; ix < NELEMENTS (sysPhysMemDesc); ix++)         if (pMmu->virtualAddr != (void *)DUMMY_VIRT_ADDR)            pMmu++;        else            break;    sysPhysMemDescNumEnt = ix;    /* initialize PCI library */#ifdef  INCLUDE_PCI    pciConfigLibInit (PCI_MECHANISM_1, PCI_CONFIG_ADDR, PCI_CONFIG_DATA, NONE);    sysPciIntInit ();			/* it does pciIntLibInit() */#endif /* INCLUDE_PCI */    /* initialize the PIC (Programmable Interrupt Controller) */    sysIntInitPIC ();		/* should be after the PCI init for IOAPIC */    intEoiGet = sysIntEoiGet;	/* function pointer used in intConnect () */    /* initialize PCI devices */#ifdef  INCLUDE_PCI#if (PCI_CFG_TYPE == PCI_CFG_AUTO)    /* Some boards don't have a typical BIOS     * for example, Intel's System Firmware Library needs pciAutoConfig      */    sysPciAutoConfig();#endif /* (PCI_CFG_TYPE == PCI_CFG_AUTO) */    /*      * PCI-to-PCI bridge initialization should be done here, if it is.     * It is not necessary for Intel 430HX PCISET, which splits     * the extended memory area as follows:     *   - Flash BIOS area from 4GByte to (4GB - 512KB)     *   - DRAM memory from 1MB to a maximum of 512MB     *   - PCI memory space from the top of DRAM to (4GB - 512KB)     */#ifdef INCLUDE_NETWORK    /* initialize PCI network controllers starting from Bus 0 */     pciConfigForeachFunc (0, TRUE, (PCI_FOREACH_FUNC) sysNetPciInit, NULL);#endif /* INCLUDE_NETWORK */#if (defined(INCLUDE_SCSI) && defined(INCLUDE_AIC_7880))    sysAic7880PciInit ();#endif  /* INCLUDE_SCSI && INCLUDE_AIC_7880 */#endif /* INCLUDE_PCI */    /* initialize devices on the board if following SFL boot process */    #ifdef INCLUDE_IACSFL    {#   ifdef INCLUDE_CTB69000VGA    extern int  ctB69000VgaInit();#   endif /* INCLUDE_CTB69000VGA */        /* superIO - basic intialization */    #   ifdef INCLUDE_SMCFDC37B78X    smcFdc37b78xDevCreate ((void *) NULL); /* intialize superIO library */        /* enable only given devices on SuperIO chip */    smcFdc37b78xInit ((SMCFDC37B78X_FDD_EN | SMCFDC37B78X_COM1_EN |                       SMCFDC37B78X_COM2_EN | SMCFDC37B78X_LPT1_EN |                       SMCFDC37B78X_KBD_EN));    #   endif /* INCLUDE_SMCFDC37B78X */        /* PC console - initialization */    #   if defined(INCLUDE_PC_CONSOLE)    #   ifdef INCLUDE_SMCFDC37B78X        smcFdc37b78xKbdInit ();              /* Initialize Kbd on SuperIO */    #   endif /* INCLUDE_SMCFDC37B78X */    #   ifdef INCLUDE_CTB69000VGA        ctB69000VgaInit ();                  /* Initialize VGA card */    #   endif /* INCLUDE_CTB69000VGA */    #   endif /* INCLUDE_PC_CONSOLE */        }#endif /* INCLUDE_IACSFL */#ifdef INCLUDE_USB    /*     * Since the Pentium BSPs do not rely on pciAutoCfg, sysUsbOhciInit     * must be called to update the MMU mapping for the ohci device.     * Please Note: INCLUDE_USB is not supported for boot_rom images.     */    sysUsbOhciPciInit ();#endif /* INCLUDE_USB */    /* initializes the serial devices */    sysSerialHwInit ();      /* initialize serial data structure */#ifdef INCLUDE_WINDML    sysWindMLHwInit ();#endif /* INCLUDE_WINDML */#ifdef VX_POWER_MANAGEMENT    /*     * initializes Power Management Mode     * VX_POWER_MODE_DEFAULT is defined in config.h     */    vxPowerModeSet(VX_POWER_MODE_DEFAULT);#endif /* VX_POWER_MANAGEMENT */    }/********************************************************************************* sysHwInit2 - additional system configuration and initialization** This routine connects system interrupts and does any additional* configuration necessary.** RETURNS: N/A*/void sysHwInit2 (void)    {#if	defined (INCLUDE_ADD_BOOTMEM)    /*     * We memAddToPool some upper memory into any low memory     * x86 "rom" images pool.  The x86 low memory images reside     * from 0x8000 to 0xa0000.  By memAddToPool'ing some upper     * memory here, we allow devices a larger pool to swim within.     * (SPR#21338).  This is no longer performed in bootConfig.c     */#   if (ADDED_BOOTMEM_SIZE != 0x0)     /*     * if &end (compiler symbol) is in lower memory, then we assume      * this is a low memory image, and add some upper memory to the pool.     */     if ((UINT32)(&end) < 0x100000)        {        /* Only do this if there is enough memory. Default is 4MB min. */         if ((UINT32)(memTopPhys) >= (0x00200000 + ADDED_BOOTMEM_SIZE))            {            memAddToPool ((char *)memTopPhys - ADDED_BOOTMEM_SIZE,                          ADDED_BOOTMEM_SIZE);            }        }#   endif /* (ADDED_BOOTMEM_SIZE !=0) */#endif	/* INCLUDE_ADD_BOOTMEM defined */     /* connect sys clock interrupt and auxiliary clock interrupt*/#ifdef	INCLUDE_APIC_TIMER    (void)intConnect (INUM_TO_IVEC (INT_NUM_LOAPIC_TIMER), sysClkInt, 0);#   ifdef PIT0_FOR_AUX    (void)intConnect (INUM_TO_IVEC (INT_NUM_GET (PIT0_INT_LVL)), sysAuxClkInt, 0);#   else    (void)intConnect (INUM_TO_IVEC (INT_NUM_GET (RTC_INT_LVL)), sysAuxClkInt, 0);#   endif /* PIT0_FOR_AUX */#else    (void)intConnect (INUM_TO_IVEC (INT_NUM_GET (PIT0_INT_LVL)), sysClkInt, 0);    (void)intConnect (INUM_TO_IVEC (INT_NUM_GET (RTC_INT_LVL)), sysAuxClkInt, 0);#endif	/* INCLUDE_APIC_TIMER */    /* connect serial interrupt */      sysSerialHwInit2();    /* connect stray(spurious/phantom) interrupt */  #if     defined(VIRTUAL_WIRE_MODE)    (void)intConnect (INUM_TO_IVEC (INT_NUM_LOAPIC_SPURIOUS), sysStrayInt, 0);    (void)intConnect (INUM_TO_IVEC (INT_NUM_GET (LPT_INT_LVL)), sysStrayInt, 0);#elif   defined(SYMMETRIC_IO_MODE)    (void)intConnect (INUM_TO_IVEC (INT_NUM_LOAPIC_SPURIOUS), sysStrayInt, 0);#else    (void)intConnect (INUM_TO_IVEC (INT_NUM_GET (LPT_INT_LVL)), sysStrayInt, 0);    (void)intConnect (INUM_TO_IVEC (INT_NUM_GET (PIC_SLAVE_STRAY_INT_LVL)), 		      sysStrayInt, 0);#endif  /* defined(VIRTUAL_WIRE_MODE) */#ifdef	INCLUDE_PC_CONSOLE    /* connect keyboard Controller 8042 chip interrupt */    (void) intConnect (INUM_TO_IVEC (INT_NUM_GET (KBD_INT_LVL)), kbdIntr, 0);#endif	/* INCLUDE_PC_CONSOLE */#if	defined (TGT_CPU) && defined (SYMMETRIC_IO_MODE)    /* init IPI vectors, connect IPI handler up to IPI_MAX_HANDLERS (=8) */    ipiVecInit (INT_NUM_LOAPIC_IPI);    ipiConnect ((INT_NUM_LOAPIC_IPI + 0), ipiHandlerShutdown);    ipiConnect ((INT_NUM_LOAPIC_IPI + 1), ipiHandlerTscReset);    ipiConnect ((INT_NUM_LOAPIC_IPI + 2), ipiHandlerTlbFlush);#endif	/* defined (TGT_CPU) && defined (SYMMETRIC_IO_MODE) */    }#ifdef	LOCAL_MEM_AUTOSIZE/********************************************************************************* WRITE_MEMORY_TEST_PATTERN** This routine writes the memory test pattern used in the sysPhysMemTop()* memory auto-size algorithm.  12 bytes of data stored at <pTestAddr> are* written to <pSaveAddr> before a 12-byte test pattern is written to* <pTestAddr>.** RETURNS: N/a** SEE ALSO:  RESTORE_MEMORY_TEST_ADDRS()*/__inline__ static void WRITE_MEMORY_TEST_PATTERN    (    int * pTestAddr,    int * pSaveAddr    )    {    pSaveAddr[0] = pTestAddr[0];    pSaveAddr[1] = pTestAddr[1];    pSaveAddr[2] = pTestAddr[2];    pTestAddr[0] = TEST_PATTERN_A;    pTestAddr[1] = TEST_PATTERN_B;    pTestAddr[2] = TEST_PATTERN_C;    cacheFlush (DATA_CACHE, pTestAddr, 16);    }/********************************************************************************* RESTORE_MEMORY_TEST_ADDRS** This routine restores memory test locations which are modified in the* sysPhysMemTop() memory auto-size algorithm.  12 bytes of data stored at* <pSaveAddr> are written to <pTestAddr>.** RETURNS: N/a** SEE ALSO:  WRITE_MEMORY_TEST_PATTERN()*/__inline__ static void RESTORE_MEMORY_TEST_ADDRS    (    int *       pTestAddr,    const int * pSaveAddr    )    {    pTestAddr[0] = pSaveAddr[0];    pTestAddr[1] = pSaveAddr[1];    pTestAddr[2] = pSaveAddr[2];    }#endif	/* LOCAL_MEM_AUTOSIZE *//********************************************************************************* sysPhysMemTop - get the address of the top of physical memory** This routine returns the address of the first missing byte of memory,* which indicates the top of physical memory.** INTERNAL* The memory auto-size logic assumes that the manifest constant PHYS_MEM_MAX* specifies the total size in bytes of the processor's physical address space.* In the case of IA-32 processors, PHYS_MEM_MAX will be 4GB (2^32 bytes) or* 64GB (2^36 bytes) if the 36-bit Physical Address Extension (PAE) is enabled* on select processor models.  However, because the tool-chain and sysMemTop()* API are 32-bit, this routine currently will not auto-size a 36-bit address* space.  Moreover, this routine will not return the memory top of a platform* with a memory device using a full 2^32 bytes of address space, as the memory* top of such a device would be a 33-bit value.** When paging is used, the processor divides the linear address space into* fixed-size pages (of 4KB, 2MB, or 4MB in length) that can be mapped into* physical memory and/or disk storage.  The auto-size algorithm organizes* the physical address space using the same concept.  That is, rather than* treating the address space as an array of bytes, the memory auto-size* code treats the address space as an array of equal-sized pages.** The auto-size algorithm attempts to locate the base-address of the first* non-existant page address in the physical address space.  This is done by* writing, and then reading, a test pattern to each page base-address in the* address space.  If the test pattern is not read back from a page, it is* assumed that the address does not physically exist.** As the installed physical memory could be potentially quite large, the* auto-size code attempts a few optimizations, chief among these being a* binary (as opposed to linear) search of the page array (ie. address space).* An additional optimization is obtained by avoiding a search on memory* that _must_ exist; namely, the memory storing the VxWorks boot image or* RTOS image from whence this routine will execute.** In the case of VxWorks boot and RTOS images for IA-32, the last byte of the* image section loaded highest in memory is assumed to be indicated by the* address of a symbol, named <end>, which is typically supplied by the linker* (more precisely, the linker script) used to build the image.  The search* for remaining extant physical page addresses on the system will use the* address of the first page following the <end> symbol, or a page-aligned* address no lower than physical memory location 0x100000 (1Mb), as a lower* bound on the search.  All memory locations below physical address 0x100000* are assumed to be reserved existing target memory.** RETURNS:  The address of the top of physical memory.*/char * sysPhysMemTop (void)    {    PHYS_MEM_DESC * pMmu;       /* points to memory desc. table entries */    char            gdtr[6];    /* stores a copy of the GDT */    BOOL            found = FALSE;    if (memTopPhys != NULL)        {        return (memTopPhys);        }#undef  LOCAL_MEM_AUTOSIZE#ifdef	LOCAL_MEM_AUTOSIZE    {    /* Do not use a page-sized stride larger than 4Kb, as the end of usable     * memory could possibly be within a 2Mb or 4Mb page memory range.     */    const UINT32 pageSize = PAGE_SIZE_4KB;    /* The lower bound for the probe will be the page-aligned VxWorks     * end-of-image address, or a page-aligned address no less than     * the 1Mb physical address.     */    UINT8 * pPage = (UINT8 *) ROUND_UP (((UINT32)(&end) > 0x100000) ?                          (UINT32)(&end) : (0x100000), pageSize);    /* 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;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲大尺度视频在线观看| 欧美午夜精品一区二区蜜桃| 老司机免费视频一区二区| 亚洲一区二区在线播放相泽| 一区二区三区在线观看视频| 亚洲女人****多毛耸耸8| 亚洲欧洲成人精品av97| 自拍偷拍国产精品| 国产精品久久久久久久久晋中 | 一区二区免费视频| 亚洲黄色片在线观看| 亚洲三级在线免费| 亚洲一区免费观看| 美女爽到高潮91| 国产一区二区免费看| 成人精品视频网站| 在线精品亚洲一区二区不卡| 欧美日韩国产不卡| 亚洲精品在线观看网站| 国产精品三级av在线播放| 1024成人网| 亚洲va欧美va人人爽| 极品美女销魂一区二区三区| 国产成人亚洲综合色影视| 91欧美一区二区| 91精品麻豆日日躁夜夜躁| 日韩欧美中文字幕精品| 国产精品网站一区| 午夜亚洲国产au精品一区二区| 亚洲高清中文字幕| 精品系列免费在线观看| av电影在线观看完整版一区二区| 色综合久久中文字幕综合网| 7777精品伊人久久久大香线蕉经典版下载 | 欧美日韩免费高清一区色橹橹 | 懂色av一区二区三区免费观看| 成人aaaa免费全部观看| 欧美欧美午夜aⅴ在线观看| 国产欧美一区在线| 丝袜诱惑亚洲看片| 懂色av一区二区夜夜嗨| 欧美日韩精品一区二区三区| 久久午夜电影网| 亚洲一区二区在线免费看| 国产激情视频一区二区在线观看 | 亚洲一区二区影院| 国产99久久久精品| 在线不卡一区二区| 亚洲男帅同性gay1069| 久久草av在线| 欧美高清hd18日本| 国产精品国产自产拍高清av| 日产国产欧美视频一区精品| 91在线丨porny丨国产| 精品乱码亚洲一区二区不卡| 午夜电影网一区| 色综合久久99| 国产精品国产三级国产aⅴ入口 | 精品视频在线免费看| 国产精品久久久久久久久免费相片| 日韩电影在线免费观看| 色综合久久天天| 国产亚洲欧美在线| 日本中文在线一区| 欧美日韩一区在线观看| 亚洲三级在线免费观看| 91在线观看地址| 国产精品视频麻豆| 成人一区二区在线观看| 久久―日本道色综合久久| 老汉av免费一区二区三区| 欧美日韩精品福利| 亚洲va在线va天堂| 欧美日韩成人在线一区| 五月综合激情日本mⅴ| 欧美视频第二页| 亚洲国产成人va在线观看天堂| 91国内精品野花午夜精品| 一区二区成人在线视频| 欧洲一区在线电影| 亚洲成a人v欧美综合天堂下载| 日本韩国欧美在线| 亚洲国产精品久久久男人的天堂| 欧美日韩在线三级| 裸体在线国模精品偷拍| 久久婷婷成人综合色| 国产成人在线观看免费网站| 国产欧美1区2区3区| 91亚洲精品一区二区乱码| 亚洲视频 欧洲视频| 99精品视频在线免费观看| 亚洲精品久久嫩草网站秘色| 欧美日韩国产123区| 日本va欧美va瓶| 国产日韩欧美制服另类| 色素色在线综合| 日韩精品电影在线| 久久久久久久久伊人| 91亚洲精品久久久蜜桃网站 | 91在线一区二区| 亚洲五月六月丁香激情| 精品美女在线播放| 成人美女视频在线观看| 亚洲成人综合视频| 欧美精品一区二区久久久| 国产精品一区二区在线观看不卡 | 精品在线播放免费| 亚洲欧美怡红院| 91精品蜜臀在线一区尤物| 国产成人亚洲综合a∨婷婷 | 久久精品人人爽人人爽| 色屁屁一区二区| 国产一区二区三区黄视频| 亚洲精品视频一区二区| 精品日韩欧美在线| 在线亚洲精品福利网址导航| 韩国精品在线观看| 亚洲va天堂va国产va久| 国产精品初高中害羞小美女文| 欧美精品三级日韩久久| 99久久综合国产精品| 久久av老司机精品网站导航| 亚洲一区自拍偷拍| 国产欧美日韩三级| 欧美xxxxxxxx| 欧美自拍偷拍午夜视频| 国产a级毛片一区| 美女免费视频一区二区| 亚洲影院久久精品| 国产精品久久久久国产精品日日| 欧美一卡二卡在线观看| 色狠狠综合天天综合综合| 国产·精品毛片| 激情偷乱视频一区二区三区| 亚洲成人免费视| 亚洲伊人伊色伊影伊综合网| 中文字幕在线一区二区三区| 国产色婷婷亚洲99精品小说| 精品理论电影在线观看 | 欧美高清一级片在线观看| 欧美电影免费提供在线观看| 欧美蜜桃一区二区三区| 91成人免费在线| 97久久人人超碰| 99re在线精品| 91亚洲永久精品| 色综合久久综合网| 色婷婷久久综合| 色一情一伦一子一伦一区| 91小视频免费观看| 一本大道av伊人久久综合| 97aⅴ精品视频一二三区| 成人影视亚洲图片在线| av在线播放不卡| 91社区在线播放| 色狠狠色狠狠综合| 欧美在线视频不卡| 欧美老年两性高潮| 精品久久久久久久久久久久包黑料| 欧美肥妇bbw| 精品久久久久香蕉网| 久久久99精品免费观看不卡| 欧美—级在线免费片| 亚洲天堂av老司机| 亚洲第一激情av| 日韩中文字幕91| 精品亚洲国内自在自线福利| 国产91在线|亚洲| 91视频观看视频| 91精品国产乱码久久蜜臀| 日韩欧美三级在线| 久久免费午夜影院| 亚洲色图欧美偷拍| 天天操天天色综合| 国产高清在线精品| 色综合久久综合| 日韩三级电影网址| 国产精品美女久久久久久久久久久| 亚洲美女视频在线| 青草av.久久免费一区| 成人在线综合网站| 欧美福利视频一区| 亚洲国产精品精华液2区45| 艳妇臀荡乳欲伦亚洲一区| 麻豆精品国产传媒mv男同| www.色精品| 91精品国产麻豆| 亚洲色欲色欲www在线观看| 日韩精品福利网| 99久久99久久综合| 日韩写真欧美这视频| 日韩码欧中文字| 美国毛片一区二区| 色婷婷精品大视频在线蜜桃视频 | 国产精品白丝jk白祙喷水网站| 色综合 综合色| 国产亚洲综合在线| 日韩av二区在线播放| 91网上在线视频| 国产偷v国产偷v亚洲高清|