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

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

?? syspccard.c

?? powerquicc II bsp
?? C
?? 第 1 頁 / 共 2 頁
字號:

void sys16BitIoPoolAdd
    (
    CS_POOL_ID poolId
    )
    {
    int i;

    for (i = 0; i < NELEMENTS (pci142016BitIoResource); i += 2)
        {
        csPoolBaseSet (poolId, pci142016BitIoResource[i]);
        csPoolAdd (poolId, 0, pci142016BitIoResource[i + 1]);
        }
    }

/***********************************************************************
*
* sys16BitMemPoolAdd - Add 16-bit memory space to resource pool
*
* This is called by Card Services to add memory to the 16-bit memory
* space pool.
*
* RETURNS: N/A
*/

void sys16BitMemPoolAdd
    (
    CS_POOL_ID poolId
    )
    {
    int i;

    for (i = 0; i < NELEMENTS (pci142016BitMemResource); i += 2)
        {
        csPoolBaseSet (poolId, pci142016BitMemResource[i]);
        csPoolAdd (poolId, 0, pci142016BitMemResource[i + 1]);
        }
    }

/**************************************************************************
*
* sysPci1420BridgePreConfigInit - Reserve PC Card memory
*
* This routine is called by the PCI auto-configuration process when it
* encounters a bridge. It reserves the memory needed for PC Card
* 16-bit devices.
*
* RETURNS: OK/ERROR
*/

void sysPci1420BridgePreConfigInit
    (
    PCI_AUTO_CONFIG_OPTS * pSystem,
    PCI_LOC * pPciLoc,
    UINT dev_vend
    )
    {
    UINT32 sizeAdj;
    UINT32 alignedBase;
    UINT8 subClass;
    UINT32 pccard16BitMemSize = pci142016BitMemResource[1];
    UINT32 pccard16BitIoSize = pci142016BitIoResource[1];

    pciConfigInByte (pPciLoc->bus, pPciLoc->device, pPciLoc->function,
                     PCI_CFG_SUBCLASS, &subClass);

    if (subClass != PCI_SUBCLASS_BRDG_CARDBUS)
        return;

    if (pPciLoc->function != 0)
        return;

    /* Reserve memory for PCCARD memory */
    pciAutoAddrAlign(pSystem->pciMemIo32,
                     (pSystem->pciMemIo32 + pSystem->pciMemIo32Size),
                     pccard16BitMemSize,
                     &alignedBase);

    PCI_AUTO_DEBUG_MSG("16-bit mem orig[0x%08x] new[0x%08x] adj[0x%08x]\n",
            (pSystem->pciMemIo32),
            alignedBase,
            (alignedBase - (pSystem->pciMemIo32)),
            0,
            0,
            0
            );

    sizeAdj = alignedBase - (pSystem->pciMemIo32) + pccard16BitMemSize;

    (pSystem->pciMemIo32Used) += sizeAdj;
    (pSystem->pciMemIo32Size) -= sizeAdj;
    (pSystem->pciMemIo32) += sizeAdj;

    pci142016BitMemResource[0] = alignedBase;
    pci142016BitMemResource[1] = pccard16BitMemSize;

    /* Reserve memory for PCCARD IO */
    pciAutoAddrAlign(pSystem->pciIo16,
                     (pSystem->pciIo16 + pSystem->pciIo16Size),
                     pccard16BitIoSize,
                     &alignedBase);

	PCI_AUTO_DEBUG_MSG("I/O 16 Base orig[0x%08x] new[0x%08x] adj[0x%08x]\n",
            (pSystem->pciIo16),
            alignedBase,
            (alignedBase - (pSystem->pciIo16)),
            0,
            0,
            0
            );

    sizeAdj = alignedBase - (pSystem->pciIo16) + pccard16BitIoSize;

	(pSystem->pciIo16Used) += sizeAdj;
	(pSystem->pciIo16Size) -= sizeAdj;
	(pSystem->pciIo16) += sizeAdj;

    pci142016BitIoResource[0] = alignedBase;
    pci142016BitIoResource[1] = pccard16BitIoSize;
    }

/**************************************************************************
*
* sysPci1420HwInit - PCI1420 initialization
*
* This routine finds out the PCI device, maps its memory and IO address.
* It must be done prior to initializing the driver.
*
* RETURNS: OK/ERROR
*/

STATUS sysPci1420HwInit (void)
    {
    int pciBus;
    int pciDevice;
    int socket;
    int instance = 0;
    UINT8 irq[YENTA_MAX_SOCKETS], temp2;
    UINT32 temp1, i, j;

    while (pciFindClass(YENTA_PCI_CLASS_CARDBUS_BRIDGE, instance,
                        &pciBus, &pciDevice, &socket) != ERROR)
        {
        /* read ExCA base */
        pciConfigInLong(pciBus, pciDevice, socket, PCI_CFG_BASE_ADDRESS_0,
                        &pci1420SSDriver.baseAddr[socket]);

        pci1420SSDriver.baseAddr[socket] &= PCI_MEMBASE_MASK;

        /* Enable IO access, memory access, and bus mastering */
        pciConfigOutWord (pciBus, pciDevice, socket, PCI_CFG_COMMAND,
                          PCI_CMD_IO_ENABLE  |
                          PCI_CMD_MEM_ENABLE |
                          PCI_CMD_MASTER_ENABLE);

        instance++;
        }

    /* write to the multi-function routing register */
    pciConfigOutLong (pciBus, pciDevice, 0,
					  MULTIFUNC_REG,
					  0x00C01D22);

    for (i=0; i < instance; i++)
    {
    /* set power switch clock to be generated internally */
    pciConfigInLong (pciBus, pciDevice, i,
					  SYSTEM_CTRL_REG,
                      &temp1);

    temp1 |= P2CCLK;

    pciConfigOutLong (pciBus, pciDevice, i,
					  SYSTEM_CTRL_REG,
                      temp1);

	/* we need to wait after we start the clock */
    for(j=0; j<0x1FFFFF; j++);

    /* set interrupt signaling mode */
    pciConfigInByte (pciBus, pciDevice, i,
                      DEVICE_CTRL_REG,
                      &temp2);

    temp2 &= PARALLEL_PCI_MASK;

    pciConfigOutByte (pciBus, pciDevice, i,
                      DEVICE_CTRL_REG,
                      temp2);

    /* Read back autoconfigured IRQ */

    pciConfigInByte (pciBus, pciDevice, i, PCI_CFG_BRG_INT_LINE, &irq[i]);
    }


    /* Initialize driver structure */

    pci1420SSDriver.bus = pciBus;
    pci1420SSDriver.device = pciDevice;
    pci1420SSDriver.numSockets = instance;

    pci1420SSDriver.flags = YENTA_FLAGS_POLL_CSC;

    /* set type to prevent socket interrupt sharing */
    pci1420SSDriver.type = YENTA_TYPE_PCI142X;
    pci1420SSDriver.typeInit = NULL;

    pci1420SSDriver.sysCardbusIntConnect = sysCardbusIntConnect;
    pci1420SSDriver.sysCardbusIntDisconnect = sysCardbusIntDisconnect;
    pci1420SSDriver.sysCardbusIntEnable = sysCardbusIntEnable;

    pci1420SSDriver.sysExcaIntConnect = sysCardbusIntConnect;
    pci1420SSDriver.sysExcaIntDisconnect = sysCardbusIntDisconnect;

    pci1420SSDriver.cscIntVector[0] = INUM_TO_IVEC (irq[0]);
    pci1420SSDriver.cscIntLevel[0] = irq[0];
    pci1420SSDriver.cscIntVector[1] = INUM_TO_IVEC (irq[1]);
    pci1420SSDriver.cscIntLevel[1] = irq[1];

    pci1420SSDriver.excaIntVector[0] = INUM_TO_IVEC (PIC1_PC_INTA_IRQ);
    pci1420SSDriver.excaIntLevel[0] = PIC1_PC_INTA_IRQ;

    pci1420SSDriver.excaIntVector[1] = INUM_TO_IVEC (PIC1_PC_INTB_IRQ);
    pci1420SSDriver.excaIntLevel[1] = PIC1_PC_INTB_IRQ;

    return OK;
    }

/***********************************************************************
*
* sysPccardInit - Initialize PCCARD services and enablers
*
* This routine initializes the socket controller and PCCARD
* enablers. It is called from csInit.
*
* RETURNS: OK or ERROR
*/

STATUS sysPccardInit
    (
    )
    {

    sysPci1420HwInit ();

    if (yentaInit (&pci1420SSDriver) == ERROR)
        return ERROR;

    /* Register enablers */

#ifdef INCLUDE_PCCARD_ATA

    /* PCMCIA on both controllers */

    ataResources[0].ctrlType = ATA_PCMCIA;
    ataResources[1].ctrlType = ATA_PCMCIA;

    _func_sysAtaIntConnect = (FUNCPTR) SYS_ATA_INT_CONNECT;
    _func_sysAtaIntDisconnect = (FUNCPTR) SYS_ATA_INT_DISCONNECT;
    _func_sysAtaIntEnable = (FUNCPTR) SYS_ATA_INT_ENABLE;
    _func_sysAtaIntDisable = (FUNCPTR) SYS_ATA_INT_DISABLE;

    sysAtaInit ();
#endif /* INCLUDE_PCCARD_ATA */

#ifdef INCLUDE_PCCARD_SERIAL
    sysSerialInit ();
#endif /* INCLUDE_PCCARD_SERIAL */

#ifdef INCLUDE_PCCARD_ELT_3C589_END
    sysElt3c589Init ();
#endif /* INCLUDE_PCCARD_ELT_3C589_END */

#ifdef INCLUDE_PCCARD_NE2K_END
    ne2000EndIntConnect = (FUNCPTR) SYS_NE2K_INT_CONNECT;
    ne2000EndIntDisconnect = (FUNCPTR) SYS_NE2K_INT_DISCONNECT;
    ne2000EndIntEnable = (FUNCPTR) SYS_NE2K_INT_ENABLE;
    ne2000EndIntDisable = (FUNCPTR) SYS_NE2K_INT_DISABLE;

    sysNe2kInit ();
#endif /* INCLUDE_PCCARD_NE2k_END */

#ifdef INCLUDE_PCCARD_EL_3C575_END
    sysEl3c575Init ();
#endif /* INCLUDE_PCCARD_EL_3C575_END */

#ifdef INCLUDE_PCCARD_NETGEAR_END
/*     sysNetgearInit (); */
#endif /* INCLUDE_PCCARD_NETGEAR_END */

#ifdef INCLUDE_PCCARD_INTPR_END
    sysIntPrInit ();
#endif /* INCLUDE_PCCARD_INTPR_END */

    return OK;
    }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久精品国产网站| 午夜免费久久看| 亚洲欧美激情小说另类| 欧美va亚洲va国产综合| 5月丁香婷婷综合| 国产精品夫妻自拍| 另类专区欧美蜜桃臀第一页| av一二三不卡影片| 国产精品一区二区果冻传媒| 99久久精品国产网站| 日韩欧美国产高清| 亚洲一区二区三区在线看| 亚洲色图在线播放| 日韩中文欧美在线| 色婷婷av一区二区三区之一色屋| 欧美另类高清zo欧美| 久久久噜噜噜久久人人看| 日韩精品一区二区三区中文精品| 亚洲青青青在线视频| 成人午夜免费电影| 91精品在线观看入口| 日韩一级片网站| 婷婷中文字幕一区三区| 99视频超级精品| 欧美激情一区不卡| 亚洲精品一区二区三区香蕉| 国产福利91精品一区二区三区| 在线观看一区二区视频| 国产欧美日韩视频在线观看| 国产一区二区三区香蕉 | 国产精品一品二品| 欧美日韩精品欧美日韩精品| 一区二区免费在线| 91免费视频网址| 欧美日韩高清一区二区不卡| 欧美精品一区二区三区高清aⅴ | 91精品国产综合久久久蜜臀粉嫩| 精品奇米国产一区二区三区| 2023国产精品自拍| 日韩av在线免费观看不卡| 精品视频一区二区不卡| 久久一夜天堂av一区二区三区 | 91精品国产麻豆国产自产在线| 亚洲女厕所小便bbb| 高清免费成人av| 中文字幕中文乱码欧美一区二区 | 国产一区二区精品久久99| 欧美区视频在线观看| 亚洲综合在线观看视频| 色女孩综合影院| 日韩中文字幕1| 韩国精品在线观看| 69精品人人人人| 日韩有码一区二区三区| 91精品欧美一区二区三区综合在| 视频在线观看国产精品| 欧美日韩电影在线播放| 久久久久久久久久美女| 丰满岳乱妇一区二区三区 | 欧美在线综合视频| 风间由美性色一区二区三区| 久久99精品视频| 欧美极品aⅴ影院| 91首页免费视频| 日本在线观看不卡视频| www国产精品av| 午夜精品影院在线观看| 成人av电影在线| 亚洲欧美视频一区| 9191久久久久久久久久久| 精品一区二区三区在线播放视频 | 香港成人在线视频| 99久久婷婷国产综合精品电影 | 国产精品美女www爽爽爽| 免费人成网站在线观看欧美高清| 91精品国产全国免费观看 | 久久精品综合网| 欧洲精品中文字幕| 青娱乐精品视频| 欧美男生操女生| 国产精品99久久久久久似苏梦涵| 亚洲精品国产精华液| 91麻豆精品国产无毒不卡在线观看 | 精品久久久网站| 色老汉一区二区三区| 国产尤物一区二区在线 | 最新久久zyz资源站| 欧美视频日韩视频| 一级中文字幕一区二区| 精品国产污污免费网站入口 | 久久97超碰色| 一区二区在线免费观看| 青青国产91久久久久久| 极品少妇xxxx精品少妇偷拍| 亚洲综合激情另类小说区| 国产人妖乱国产精品人妖| 91精品一区二区三区在线观看| 99久久国产综合色|国产精品| 三级欧美在线一区| 日本电影欧美片| 成人av第一页| 国产风韵犹存在线视精品| 日韩国产欧美一区二区三区| 一片黄亚洲嫩模| 中文字幕一区二区三区av| 久久亚洲综合色| 日韩免费在线观看| 777色狠狠一区二区三区| 久久精品久久99精品久久| 久久久99精品久久| 欧美成人性战久久| 欧美一区二区三区精品| 欧美日韩中文字幕一区| 日本乱人伦aⅴ精品| 精品一区二区免费视频| 亚洲少妇30p| 中文字幕一区二区三区在线播放| 亚洲国产成人自拍| 国产农村妇女精品| 国产视频一区二区三区在线观看| 制服丝袜av成人在线看| av激情成人网| 99国产精品视频免费观看| av男人天堂一区| 色丁香久综合在线久综合在线观看| 91在线小视频| 国产精品中文欧美| 日韩精彩视频在线观看| 亚洲va欧美va人人爽午夜| 亚洲高清免费在线| 午夜亚洲国产au精品一区二区| 亚洲第一在线综合网站| 一区二区三区在线视频观看58| 日韩欧美一区在线| 欧美本精品男人aⅴ天堂| 26uuu亚洲综合色| 欧美国产精品v| 一级日本不卡的影视| 国产精品一级黄| 国产欧美精品国产国产专区| 国产精品久久久爽爽爽麻豆色哟哟| 亚洲欧洲国产日韩| 亚洲综合网站在线观看| 免费日韩伦理电影| 成人免费的视频| 91香蕉视频污在线| 国产一区二区三区av电影| 成人深夜福利app| 欧美体内she精高潮| 亚洲精品一区二区三区精华液 | 国产成人av电影在线播放| 国产高清精品在线| 91行情网站电视在线观看高清版| 777欧美精品| 日本一区二区动态图| 亚洲制服丝袜av| 亚洲精品国久久99热| 国产精品每日更新在线播放网址 | 国产网站一区二区三区| 亚洲美女免费在线| 亚洲女性喷水在线观看一区| 国产欧美一区二区精品婷婷| 伊人一区二区三区| 精品一区二区影视| 在线观看视频一区| 国产日韩一级二级三级| 天使萌一区二区三区免费观看| 欧美韩国一区二区| 一区二区欧美视频| 国产成人aaa| 91精品国产一区二区三区香蕉| 欧美国产一区在线| 日本不卡高清视频| 亚洲人精品午夜| 在线观看网站黄不卡| 久久影视一区二区| 日本不卡在线视频| 在线看不卡av| 18成人在线观看| 国产成人精品免费一区二区| 69av一区二区三区| 日韩欧美你懂的| 亚洲国产精品人人做人人爽| 成人激情电影免费在线观看| 精品国产电影一区二区| 天天色天天爱天天射综合| 色综合久久久网| 国产精品午夜电影| 亚洲视频在线观看一区| 国产高清在线观看免费不卡| 亚洲精品一区二区在线观看| 蜜桃视频一区二区三区在线观看| 欧美午夜在线一二页| 亚洲色图清纯唯美| 国模少妇一区二区三区| 成人激情校园春色| 2023国产精品| 狠狠久久亚洲欧美| 久久婷婷国产综合精品青草| 另类小说欧美激情|