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

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

?? syslib.c

?? pentium4 pc的vxworks bsp源代碼
?? C
?? 第 1 頁 / 共 5 頁
字號(hào):
    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	INCLUDE_THERM_MONITOR    sysThermInit ();#endif	/* INCLUDE_THERM_MONITOR */#ifdef	INCLUDE_DEBUG_STORE    sysDbgStrInit ();#endif	/* INCLUDE_DEBUG_STORE */    }#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);        }#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);

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品久久久久影院亚瑟| 欧美中文字幕不卡| 亚洲精品久久7777| 欧美日韩在线播放一区| 国产在线观看免费一区| 亚洲免费观看高清完整版在线| 精品无码三级在线观看视频| 26uuu亚洲婷婷狠狠天堂| 99久久99久久久精品齐齐| 日本午夜精品视频在线观看| 日韩一级高清毛片| 一本一道综合狠狠老| 国产中文字幕精品| 亚洲成av人影院| 欧美精品一区二区三区久久久| 国产尤物一区二区| 一区二区三区高清不卡| 国产人伦精品一区二区| 欧美一区二区三区视频免费| 色婷婷激情一区二区三区| 国产宾馆实践打屁股91| 国产专区欧美精品| 美女视频黄a大片欧美| 午夜国产精品一区| 亚洲丰满少妇videoshd| 亚洲欧美日韩电影| 亚洲天堂2016| 亚洲色图.com| 亚洲蜜桃精久久久久久久| 综合分类小说区另类春色亚洲小说欧美 | 色婷婷久久久综合中文字幕| av在线不卡免费看| 国产69精品久久久久毛片 | 国产精品日日摸夜夜摸av| 日韩欧美综合一区| 精品av久久707| 久久精品亚洲精品国产欧美 | 91久久精品国产91性色tv| 91玉足脚交白嫩脚丫在线播放| 99久久er热在这里只有精品15| 亚洲女同一区二区| 久久夜色精品国产噜噜av| 久久久精品黄色| 一区在线中文字幕| 免费欧美日韩国产三级电影| 美女被吸乳得到大胸91| 日韩一区二区三区四区| 欧美大片一区二区三区| 精品久久五月天| 久久午夜羞羞影院免费观看| 精品人在线二区三区| 亚洲国产精品v| 亚洲一区二区三区四区五区黄 | 久久精品这里都是精品| √…a在线天堂一区| 无吗不卡中文字幕| 国产精品996| 91毛片在线观看| 在线观看一区二区视频| 精品少妇一区二区三区日产乱码| 亚洲日本在线视频观看| 看片的网站亚洲| 欧美精品一二三| 亚洲欧美另类久久久精品 | 国产精品美女久久福利网站| 亚洲天堂2014| 国产精品69久久久久水密桃| 欧美精品久久一区二区三区| 欧美国产国产综合| 欧美国产日韩精品免费观看| 午夜精品一区二区三区三上悠亚| 成人综合在线观看| 91福利社在线观看| 亚洲精品日韩综合观看成人91| 成人av网站在线| 中文字幕av不卡| 91女人视频在线观看| 视频一区视频二区中文字幕| 一区二区三区久久| 欧美性视频一区二区三区| 亚洲精品网站在线观看| 色婷婷综合久久久久中文| 亚洲综合清纯丝袜自拍| 这里只有精品99re| 久久99精品久久久久久| 久久免费看少妇高潮| 91丨porny丨国产入口| 亚洲一区中文日韩| 久久影院午夜论| 91老师国产黑色丝袜在线| 日产国产高清一区二区三区| 精品国内二区三区| 色偷偷一区二区三区| 美女在线视频一区| 中文字幕中文乱码欧美一区二区| 色狠狠色噜噜噜综合网| 久久国产日韩欧美精品| 亚洲色图第一区| 久久久久久久久岛国免费| 97成人超碰视| 久久国产日韩欧美精品| 亚洲国产精品久久不卡毛片| 国产日韩欧美综合在线| 欧美丰满少妇xxxbbb| 色婷婷久久久久swag精品| 国产一区二区三区黄视频| 婷婷夜色潮精品综合在线| 国产精品乱码久久久久久 | 91视频观看免费| 国产一区二区三区香蕉| 日本欧美一区二区三区| 亚洲一区二区三区美女| 亚洲少妇中出一区| 亚洲精品菠萝久久久久久久| 日韩三级.com| 99在线精品免费| 激情综合网av| 久久国产乱子精品免费女| 亚洲国产日韩a在线播放| 亚洲免费观看高清完整版在线观看熊 | 日本一区二区视频在线观看| 欧美成人午夜电影| 精品国产欧美一区二区| 7777精品伊人久久久大香线蕉经典版下载| a级高清视频欧美日韩| 成人综合婷婷国产精品久久 | 中文字幕亚洲一区二区av在线| 欧美激情艳妇裸体舞| 国产精品成人在线观看| 中文字幕一区二区三区不卡在线| 中文在线一区二区| 成人免费一区二区三区视频| 亚洲欧洲综合另类| 亚洲午夜免费福利视频| 免费在线看成人av| 国产成人综合在线播放| 成人免费毛片高清视频| 91麻豆蜜桃一区二区三区| 欧美日韩在线播放| 2019国产精品| 亚洲女厕所小便bbb| 奇米影视一区二区三区| 国产91综合网| 欧美人妖巨大在线| 国产亚洲欧美在线| 一区二区三区中文字幕电影| 免费高清在线一区| 色婷婷av一区二区三区软件| 91精品国产综合久久久久| 国产精品国产三级国产aⅴ原创 | 国产精品高潮呻吟久久| 亚洲6080在线| 99久久精品免费看| 欧美一区二区三区在线电影| 日韩欧美一级精品久久| 国产视频一区二区在线观看| 五月天亚洲婷婷| 成人app在线观看| 亚洲区小说区图片区qvod| 狠狠色综合播放一区二区| 欧美体内she精高潮| 国产精品理论在线观看| 国产精品伊人色| 日韩欧美不卡在线观看视频| 午夜视频在线观看一区二区| jlzzjlzz国产精品久久| 国产亚洲成av人在线观看导航 | 成人性色生活片| 久久久一区二区三区捆绑**| 日韩国产欧美视频| 欧美久久久久免费| 天天操天天综合网| 欧美日韩高清一区二区不卡| 亚洲一区在线视频观看| 欧美综合天天夜夜久久| 亚洲一区在线视频观看| 欧美精品丝袜中出| 五月婷婷久久丁香| 日韩丝袜情趣美女图片| 久久99国产精品久久| 久久久久久久久久电影| 国产盗摄女厕一区二区三区| 国产精品美女久久久久av爽李琼| 成人免费视频网站在线观看| 亚洲视频每日更新| 欧美私模裸体表演在线观看| 蜜臂av日日欢夜夜爽一区| 欧美大片在线观看| 99精品久久99久久久久| 视频一区在线视频| 精品国产乱码久久久久久夜甘婷婷 | 欧美精品在线观看播放| 国产精品综合二区| 亚洲日本丝袜连裤袜办公室| 欧美精品丝袜中出| 国产盗摄精品一区二区三区在线| 亚洲精品写真福利| 欧美成人精品二区三区99精品| 国产剧情在线观看一区二区| 亚洲精品日韩专区silk|