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

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

?? sl82565intrctl.c

?? mtx604在vxworks下的bsp源代碼
?? C
?? 第 1 頁 / 共 2 頁
字號:
/* sl82565IntrCtl.c - Motorola sl82565 ISA Bridge Controller (IBC) driver *//* Copyright 1984-1998 Wind River Systems, Inc. *//* Copyright 1996-1998 Motorola, Inc. */#include "copyright_wrs.h"/*modification history--------------------01j,24aug98,cjtc windview 2.0 event logging is now single step and handled in                 the interrupt controller driver. Fixes a problem with out of                 sequence timestamps in the event log for this architechture.                 Method of initiating event logging is now via a macro                 (SPR 21868)01k,14apr98,ms_  merged Motorola mv2700 support01j,06apr98,dat  changed pciIomapLib to pciConfigLib01i,01may97,dat  performance improvements, and true priority levels,		 added documentation.01h,30apr97,dat  added WindView instrumentation SPR 843401g,11apr97,mas  sysPciExtIbcInit() now uses bus/dev/func args (SPR 8226).01f,25mar97,dat  removed previous edit.01e,10jan97,dat  Temp fix for 1.0 release, remove for 1.0.101d,07jan97,dat  added sysIbcIntLevelSet, chg'd IbcIntHandler (from Motorola)01c,02jan97,wlf  doc: cleanup.01b,02jan97,dat  mod history fix01a,01sep96,mot  written from i82378Ibc.c (ver01c)*//*DESCRIPTIONThis module implements the Motorola sl82565 ISA Bridge Controller (IBC)driver. NOTE: The chip is now named the WinBond W83C553F Chip. All references to SL82565, should be considered as references to W83C553F chip instead.The sl82565 Chip is a highly integrated ASIC providing PCI-ISA interfacechip.  It provides following major capabilities:  PCI Bus Master capability for ISA DMA.  PCI Arbiter capability  PCI Power management control  64 byte PCI bus FIFO for burst capability  Standard ISA interrupt controllers (82C59)  Standard ISA timer/counter (82C54)This driver is limited to the interrupt controller feature of the chip.This driver does not interact with any other drivers supporting thesl82565 chip.The chip implements a standard ISA bus interrupt system consisting oftwo 82C59A interrupt controller units.  The two units are cascaded together to provide 15 actual interrupt lines.  The first unit implementsinterrupt number 0 thru 7.  Interrupt number 2 is the cascaded inputfrom the second 82C59A controller, so it functionally does not existas a user input.  The inputs on the second controller are numbered 8 through15.  Since they are cascaded into interrupt number 2 on the first unit,their actual priority is higher than inputs 3 through 7 on the firstunit.  The true priority heirarchy (from high to low) is: 0, 1, 8, 9,10, 11, 12, 13, 14, 15, 3, 4, 5, 6, 7.  The highest priority input thatis active is the unit that shall receive service first.This driver implements a complete interrupt architecture system, completewith vector table.Based on the IBM-PC legacy system, this driver supports 16 levels, eachof which maps to a single vector.  Since PCI interrupt lines are shared, thisdriver does provide for overloading of interrupt routines (i.e. there isa list of interrupt routines for each interrupt vector (level)).  To servicea vector requires that all connected interrupt routines be called in orderof their connection.This driver provides the vector table for the system.  It can supporta total of 256 vectors.  The interrupt controller device can only generate16 different vectors though, one for each level.The actual vector number corresponding to IRQ0is determined by the value in sysVectorIRQ0 at initialization time.  Theother vector numbers are generated by adding the IRQ number to this vectornumber.If there are other devices in the system capable of generating their ownvectors then we presume that an appropriate interrupt handler is createdand attached to the vector associated with the correct IRQ number.  Thatinterrupt handler would get a new vector directly from the device and thencall all of the handlers attached to that new vector.  Vector information isstored in a linked list of INT_HANDLER_DESC structures. The sysIntTbl arraycontains a pointer to the first entry for each vector.An example would be a VME interface chip.If the VME chip interrupts the CPU on IRQ8, then the BSP should createa special VME interrupt handler and attach it to vector # (sysVectorIRQ0 + 8).When the handler is called, it should get the new vector from the VMEdevice.  It will then use that new vector # to locate the specific VMEdevice handler routine from sysIntTbl.  The VME interrupt handler willcall each handler connected to the devices vector.  Note that the usermust insure that no VME device uses a vector that matches the vector usedby the VME interface chip itself.  This could cause an infinite loop tobe generated..CS/@ This is the sample VME interrupt handler (IRQ8) @/VOID sysVmeHandler (void)    {    INT_HANDLER_DEC * pVector;    int newVec;    newVec = ????; /@ get real vector from device @/    /@ if no VME interrupt is present, exit immediately @/    if (newVec < 0 || newVec > 255)	return;    /@ process all connected routines @/    pVector = sysIntTbl[newVec];    while (pVector != NULL)        {	(*pVector->vec) (pVector->arg);        pVector = pVector->next;        }    }/@ The BSP would connect the VME handler to the vector for IRQ 8 @/    #define SYS_VME_VEC  (sysVectorIRQ0 + 8) /@ IRQ8 @/    ...    intConnect (INUM_TO_IVEC(SYS_VME_VEC), sysVmeHandler, 0);    ....CEINTERNAL** HELP **The sysPciExtIbcInit function does not belong in this driver module.The excIntConnect function in sysIbcInit does not belong in this module.These should be removed and the change in initialization sequence shouldbe updated..SH INITIALIZATIONThis driver is initialized from the BSP, usually as part of sysHwInit().The first routine to be called is sysPciExtIbcInit(). The argumentsto this routine are the bus, device, and function numbers that locatethe chip in the PCI configuration space.  The routine verifies the typeof device and then initializes the interrupt pins routine to IRQ numbers.The second routine to be called is sysIbcInit().  This routine takes noarguments. This routine allocates the vector table and initializes thechips to a default state.  All individual interrupt sources are disabled.Each has to be individually enabled by intEnable() before it will beunmasked and allowed to generate an interrupt.Typical device initialization looks like this:.CS  /@ Initialize the extended portion of the IBC's PCI Header.  @/  int pciBusNum;  int pciDevNum;  int pciFuncNum;  if (pciFindDevice ((PCI_ID_IBC & 0xFFFF), (PCI_ID_IBC >> 16) & 0xFFFF, 0,                       &pciBusNum, &pciDevNum, &pciFuncNum) != ERROR)      {      sysPciExtIbcInit (pciBusNum, pciDevNum, pciFuncNum);      sysIbcInit ();      }.CE.SH CUSTOMIZING THIS DRIVERThe macros IBC_BYTE_OUT and IBC_BYTE_IN provide the hardware access methods.By default they call the routines sysOutByte() and sysInByte(), which arepresumed to be defined by the BSP.  The user may redefine these macrosas needed.The macros CPU_INT_LOCK() and CPU_INT_UNLOCK provide the accessto the CPU level interrupt lock/unlock routines.  We presume that thereis a single interrupt line to the CPU.  By default these macros callintLock() and intUnlock() respectively.*/#include "vxWorks.h"#include "config.h"#include "stdlib.h"#include "sysLib.h"#include "intLib.h"#include "logLib.h"#include "drv/pci/pciConfigLib.h"#include "sl82565IntrCtl.h"#include "arch/ppc/excPpcLib.h"#include "private/eventP.h"/* globals */IMPORT STATUS	      (*_func_intConnectRtn) (VOIDFUNCPTR *, VOIDFUNCPTR, int);IMPORT int	      (*_func_intEnableRtn) (int);IMPORT int	      (*_func_intDisableRtn) (int);IMPORT void		sysOutByte (ULONG, UCHAR);IMPORT UCHAR		sysInByte (ULONG);IMPORT STATUS		excIntConnect (VOIDFUNCPTR *, VOIDFUNCPTR);void			sysIbcIntHandler (void);IMPORT UINT		sysVectorIRQ0;		/* vector for IRQ0 */INT_HANDLER_DESC * 	sysIntTbl [256];	/* system interrupt table *//* forward declarations */LOCAL void	sysIbcEndOfInt (int intNum);LOCAL STATUS	sysIbcIntConnect (VOIDFUNCPTR * vector, VOIDFUNCPTR routine,				int parameter);LOCAL int	sysIbcIntEnable (int);LOCAL int	sysIbcIntDisable (int);LOCAL void	sysIbcIntLevelSet (int);/* Mask values are the currently disabled sources */LOCAL UINT8	sysPicMask1 = 0xfb;	/* all levels disabled */LOCAL UINT8	sysPicMask2 = 0xff;/* Level values are the interrupt level masks */LOCAL UINT8	sysPicLevel1 = 0;LOCAL UINT8	sysPicLevel2 = 0;LOCAL UINT8	sysPicLevelCur = 16;	/* curr intNum is 15, all enabled *//* level values by real priority */LOCAL UCHAR sysPicPriMask1[17] = {0xFB,0xFA,0xF8,0xF8,0xF0,0xE0,0xC0,0x80,			     0xF8,0xF8,0xF8,0xF8,0xF8,0xF8,0xF8,0xF8,0x0};LOCAL UCHAR sysPicPriMask2[17] = {0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,			     0xFF,0xFE,0xFC,0xF8,0xF0,0xE0,0xC0,0x80,0x0};/* Hardware access methods */#ifndef IBC_BYTE_OUT#   define IBC_BYTE_OUT(reg,data) \	(sysOutByte (reg,data))#endif#ifndef IBC_BYTE_IN#   define IBC_BYTE_IN(reg,pData) \	(*pData = sysInByte(reg))#endif#ifndef CPU_INT_LOCK#   define CPU_INT_LOCK(pData) \	(*pData = intLock ())#endif#ifndef CPU_INT_UNLOCK#   define CPU_INT_UNLOCK(data) \	(intUnlock (data))#endif/********************************************************************************* sysPciExtIbcInit - initialize the extended portion of the IBC PCI header** This routine initializes the extended portion of the ISA Bridge Controller* (IBC) PCI header.** RETURNS: OK or ERROR.** SEE ALSO: sysPciExtRavenInit()*/STATUS sysPciExtIbcInit    (    int         pciBusNo,               /* PCI bus number */    int         pciDevNo,               /* PCI device number */    int         pciFuncNo               /* PCI function number */    )    {    UINT16	tmp16;    /* Configuring Winbond ? */    pciConfigInWord (pciBusNo, pciDevNo, pciFuncNo, PCI_CFG_VENDOR_ID, &tmp16);    if (tmp16 != 0x10ad)	{	/* No! */	return (ERROR);	}    /*     * route PCI interrupts to IBC IRQs     *     * PCI IRQ0 routed to IBC IRQ10     * PCI IRQ1 routed to IBC IRQ11     * PCI IRQ2 routed to IBC IRQ14     * PCI IRQ3 routed to IBC IRQ15     */    pciConfigOutWord (pciBusNo, pciDevNo, pciFuncNo, PCI_CFG_IBC_INTR_ROUTE,                      0xabef);    return (OK);    }/********************************************************************************* sysIbcInit - initialize the non-PCI header configuration registers of the IBC** This routine initializes the non-PCI header configuration registers of the* Motorola sl82565 ISA Bridge Controller.** RETURNS: OK, always.*/STATUS sysIbcInit (void)    {    UINT	vector;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲黄色性网站| 国产麻豆视频精品| 国产综合色在线| 欧美视频三区在线播放| 久久久蜜桃精品| 午夜免费久久看| 91丨国产丨九色丨pron| 久久婷婷久久一区二区三区| 亚洲成国产人片在线观看| 成人av资源下载| 久久亚洲一区二区三区明星换脸| 亚洲国产综合在线| 99在线精品视频| 久久久蜜臀国产一区二区| 日韩电影免费在线看| 日本乱码高清不卡字幕| 国产精品成人网| 国产一区二区福利| 欧美大白屁股肥臀xxxxxx| 一区二区三区四区中文字幕| 懂色一区二区三区免费观看| 精品成人a区在线观看| 免费看欧美美女黄的网站| 91国内精品野花午夜精品| 成人欧美一区二区三区黑人麻豆| 国产一区91精品张津瑜| 欧美电视剧免费观看| 久久99热狠狠色一区二区| 91精品国产一区二区三区香蕉| 一区二区三区**美女毛片| 欧美在线观看视频在线| 亚洲一区二区综合| 在线观看欧美日本| 午夜国产精品影院在线观看| 91激情五月电影| 亚洲午夜av在线| 这里只有精品电影| 麻豆91小视频| 2024国产精品| 成人精品高清在线| 亚洲精品乱码久久久久久黑人| 在线视频你懂得一区二区三区| 亚洲国产成人av| 91麻豆精品国产91久久久久| 免费人成精品欧美精品| 久久婷婷成人综合色| 丁香亚洲综合激情啪啪综合| 成人欧美一区二区三区小说| 欧美色老头old∨ideo| 亚洲大尺度视频在线观看| 91精品国产综合久久福利软件| 青青草精品视频| 国产亚洲福利社区一区| 成人丝袜视频网| 亚洲欧美激情在线| 91精品久久久久久久99蜜桃| 久久成人久久爱| 国产精品成人网| 欧美日韩国产影片| 国内外成人在线| 中文字幕日本不卡| 制服丝袜av成人在线看| 国v精品久久久网| 亚洲国产精品久久一线不卡| 日韩一区二区在线观看视频播放| 国产成人综合在线| 亚洲高清视频在线| 国产日本亚洲高清| 欧美日韩国产综合一区二区| 国产麻豆精品久久一二三| 亚洲欧美韩国综合色| 7777精品伊人久久久大香线蕉经典版下载 | 欧美在线观看一二区| 精品一区二区免费在线观看| 国产精品欧美一区喷水| 欧美日韩高清一区二区不卡| 国产一区二区美女诱惑| 亚洲成人av在线电影| 国产精品网友自拍| 欧美一区二区三区免费大片 | 久久久久久夜精品精品免费| 在线视频你懂得一区二区三区| 国产一区欧美二区| 午夜伦理一区二区| 中文字幕亚洲综合久久菠萝蜜| 3d动漫精品啪啪1区2区免费| 91视频一区二区三区| 国产毛片精品一区| 奇米在线7777在线精品| 国产精品电影一区二区三区| 26uuu久久天堂性欧美| 欧美日韩高清在线播放| 99riav久久精品riav| 国产成人精品综合在线观看 | 亚洲欧美日韩国产综合| 国产午夜精品一区二区三区四区| 欧美电影在线免费观看| 91麻豆免费在线观看| 国产91丝袜在线观看| 国内精品嫩模私拍在线| 天堂影院一区二区| 一区二区久久久久久| 亚洲乱码一区二区三区在线观看| 国产午夜精品久久| 2020国产精品自拍| 日韩一级免费一区| 欧美丰满少妇xxxbbb| 欧美性三三影院| 欧美中文字幕一区二区三区亚洲| av电影天堂一区二区在线| 国产一区二区美女诱惑| 国产精品一区2区| 国产精品中文字幕一区二区三区| 麻豆免费精品视频| 免费成人美女在线观看| 青青草97国产精品免费观看无弹窗版| 亚洲高清免费在线| 日韩成人av影视| 久热成人在线视频| 国产一区二区91| 国产高清精品久久久久| 成人午夜视频免费看| 99久久精品国产网站| 9色porny自拍视频一区二区| av激情成人网| 欧美日韩色综合| 欧美一区二区三区男人的天堂| 51精品久久久久久久蜜臀| 日韩精品中文字幕一区二区三区| 日韩美女视频在线| 国产亚洲成aⅴ人片在线观看| 日本一区二区三区在线观看| 中文字幕色av一区二区三区| 日本欧美韩国一区三区| 五月天婷婷综合| 美美哒免费高清在线观看视频一区二区 | 中文字幕免费一区| 亚洲天堂2016| 亚洲成人午夜影院| 老司机精品视频在线| 成人夜色视频网站在线观看| 色美美综合视频| 欧美一卡二卡在线| 国产欧美日本一区视频| 亚洲视频免费在线| 青青草伊人久久| 粉嫩av一区二区三区| 欧美在线观看视频在线| 久久综合久久久久88| 日韩美女精品在线| 美女看a上一区| gogogo免费视频观看亚洲一| 欧美日韩激情在线| 中文字幕精品在线不卡| 粉嫩一区二区三区性色av| 在线观看视频一区| 亚洲精品在线一区二区| 亚洲色欲色欲www| 男男视频亚洲欧美| 91麻豆文化传媒在线观看| 日韩女优毛片在线| 亚洲免费av高清| 久久99精品国产.久久久久| 91理论电影在线观看| 制服丝袜在线91| 亚洲女同女同女同女同女同69| 男男视频亚洲欧美| 欧美专区在线观看一区| 国产日韩影视精品| 日韩电影在线观看一区| 一本色道亚洲精品aⅴ| 久久这里只有精品首页| 亚洲va韩国va欧美va| 成人福利在线看| 久久久青草青青国产亚洲免观| 亚洲国产精品久久不卡毛片 | 在线观看精品一区| 国产精品你懂的| 激情综合亚洲精品| 欧美一区二区三区视频在线观看| 亚洲女爱视频在线| 粉嫩一区二区三区性色av| 精品国产精品一区二区夜夜嗨| 亚洲综合清纯丝袜自拍| 波多野结衣亚洲一区| 欧美大片日本大片免费观看| 午夜国产精品一区| 91久久精品日日躁夜夜躁欧美| 国产精品国产三级国产普通话99| 国内成人精品2018免费看| 欧美一级一区二区| 三级一区在线视频先锋 | 97久久久精品综合88久久| 欧美国产成人在线| 国产精品99久久久久| 91精品国产高清一区二区三区 | 久久99国产精品尤物| 91精品在线观看入口| 天堂一区二区在线免费观看| 91麻豆免费观看|