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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? syslib.c

?? powerpc 系列cpu mpc860ads vxworks BSP 得花錢(qián)買(mǎi)的
?? C
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
/* sysLib.c - Motorola 860ads board system-dependent library *//* Copyright 1984-1997 Wind River Systems, Inc. */#include "copyright_wrs.h"/*modification history--------------------01w,17may02,dtr  Changing INCLUDE_AUXCLK to INCLUDE_AUX_CLK.01v,10may02,dtr  Fix for SPR 34619. MPC860 Errata SIU 9.01u,07mar02,dtr  Wrap cpm refrences with INCLUDE_CPM_END.		 Made 860Timer/DecTimer conditional on INLCUDE_AUXCLK.01t,28jan02,dtr  Removing reference to if_cpm.h.01s,12dec01,dtr  Adding support for 32bit branching for exception vectors as                 an option.01r,28nov01,bur  Added support for Rev D of MPC860. (SPR# 62594)01r,06dec01,dtr  Removing #include "sysTffs.c" now included outside BSP.01q,15nov01,dtr  Fixing sysToMonitor. SPR 29853.01p,29oct01,dtr  Removing diab compiler warnings.01o,23oct01,dtr  Fix for SPR 65678. Boot lockup problem. USE_KEYED_REGS.01n,03oct00,js  Added support for 850SARDB cpu.01m,18mar99,cn   added support for motCpmEnd driver (SPR# 25839).01l,03dec98,mas  added GUARDED attributes to non-local memory areas mapped in		 sysPhysMemDesc[]. (SPR 23674)01k,12nov98,cn   changed sysFecEnetEnable(), sysFecEnetDisable() to                 enable/disable the PHY device.01j,09nov98,cn   added support for FADS860T boards and FEC.01i,08may98,gls  added clear of all cpm interrups in sysToMonitor01h,08mar98,gls	 added checks to allow BSP to work with the PPC850FADS01g,18feb98,gls  added code to allow the BSP to work with the PPC823FADS01f,12nov97,map  updated to use ppc860Timer.c [SPR# 9366]01e,21feb97,mas  removed NOMANUAL, made sysHwInit2() visible to 'man' (SPR 7879)01d,11nov96,tam  added power management mode initialization.01c,06nov96,tpr  reworked sysHwInit().01b,28may96,dzb  added Ethernet driver support routines.		 added port initialization, and increased system to 24Mhz.01a,19apr96,tpr  written.*//*DESCRIPTIONThis library provides board-specific routines.  The chip drivers included are:    ppc860Timer.c	- PowerPC/860 Timer library    sysMotCpmEnd.c	- configuration module for the motCpmEnd driverINCLUDE FILES: sysLib.hSEE ALSO:.pG "Configuration"*//* includes */#include "vxWorks.h"#include "vme.h"#include "memLib.h"#include "cacheLib.h"#include "sysLib.h"#include "config.h"#include "string.h"#include "intLib.h"#include "logLib.h"#include "stdio.h"#include "taskLib.h"#include "vxLib.h"#include "tyLib.h"#include "arch/ppc/vxPpcLib.h"#include "private/vmLibP.h"#include "drv/multi/ppc860Siu.h"#include "ads860.h"#ifdef	INCLUDE_CPM_END#include "drv/end/motCpmEnd.h"#endifIMPORT UINT32   vx860KeyedRegUsed;IMPORT void     vxPlprcrSet (UINT32*,UINT32,UINT32);#define ISYNC WRS_ASM(" isync");PHYS_MEM_DESC sysPhysMemDesc [] =    {    {    (void *) LOCAL_MEM_LOCAL_ADRS,    (void *) LOCAL_MEM_LOCAL_ADRS,    LOCAL_MEM_SIZE ,    VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE | VM_STATE_MASK_CACHEABLE,    VM_STATE_VALID      | VM_STATE_WRITABLE      | VM_STATE_CACHEABLE    },    {    (void *) BCSR0,    (void *) BCSR0,    0x00001000,				/* 4 k - Board Control and Status */	    VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE | VM_STATE_MASK_CACHEABLE |    VM_STATE_MASK_GUARDED,    VM_STATE_VALID      | VM_STATE_WRITABLE      | VM_STATE_CACHEABLE_NOT  |    VM_STATE_GUARDED    },#ifdef INCLUDE_TFFS    {    (void *) PC_BASE_ADRS_0,    (void *) PC_BASE_ADRS_0,    PC_SIZE_0,                          /* 1 m - PCMCIA window 0 */    VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE | VM_STATE_MASK_CACHEABLE |    VM_STATE_MASK_GUARDED,    VM_STATE_VALID      | VM_STATE_WRITABLE      | VM_STATE_CACHEABLE_NOT  |    VM_STATE_GUARDED    },    {    (void *) PC_BASE_ADRS_1,    (void *) PC_BASE_ADRS_1,    PC_SIZE_1,                          /* 32 m - PCMCIA window 1 */    VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE | VM_STATE_MASK_CACHEABLE |    VM_STATE_MASK_GUARDED,    VM_STATE_VALID      | VM_STATE_WRITABLE      | VM_STATE_CACHEABLE_NOT  |    VM_STATE_GUARDED    },#endif /* INCLUDE_TFFS */    {    (void *) INTERNAL_MEM_MAP_ADDR,    (void *) INTERNAL_MEM_MAP_ADDR,    INTERNAL_MEM_MAP_SIZE,		/* 64 k - Internal Memory Map */	    VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE | VM_STATE_MASK_CACHEABLE |    VM_STATE_MASK_GUARDED,    VM_STATE_VALID      | VM_STATE_WRITABLE      | VM_STATE_CACHEABLE_NOT  |    VM_STATE_GUARDED    },    {    (void *) ROM_BASE_ADRS,    (void *) ROM_BASE_ADRS,    ROM_SIZE,				/* Flach memory */	    VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE | VM_STATE_MASK_CACHEABLE ,    VM_STATE_VALID      | VM_STATE_WRITABLE      | VM_STATE_CACHEABLE_NOT     }    };int sysPhysMemDescNumEnt = NELEMENTS (sysPhysMemDesc);int   sysBus      = BUS;                /* system bus type (VME_BUS, etc) */int   sysCpu      = CPU;                /* system CPU type (PPC860) */char *sysBootLine = BOOT_LINE_ADRS;	/* address of boot line */char *sysExcMsg   = EXC_MSG_ADRS;	/* catastrophic message area */int   sysProcNum;			/* processor number of this CPU */int   sysFlags;				/* boot flags */char  sysBootHost [BOOT_FIELD_LEN];	/* name of host from which we booted */char  sysBootFile [BOOT_FIELD_LEN];	/* name of file from which we booted */BOOL  sysVmeEnable = FALSE;		/* by default no VME */#ifdef	INCLUDE_CPM_END/* XXX set the following array to a unique Ethernet hardware address XXX *//* last 5 nibbles are board specific, initialized in sysHwInit */unsigned char sysCpmEnetAddr [6] = {0x08, 0x00, 0x3e, 0x32, 0x53, 0x21};/* locals */void sysCpmEnetDisable (int unit);void sysCpmEnetIntDisable (int unit);#endif	/* INCLUDE_CPM_END */#ifdef INCLUDE_MOT_FEC/* set the following array to a unique Ethernet hardware address */unsigned char sysFecEnetAddr [6] = {0x08, 0x00, 0x3e, 0x32, 0x53, 0x22};IMPORT STATUS sysFecEnetDisable (UINT32 motCpmaddr);#endif /* INCLUDE_MOT_FEC */#include "sysSerial.c"#include "intrCtl/ppc860Intr.c"#include "mem/nullNvRam.c"#ifdef INCLUDE_AUX_CLK#include "timer/ppc860Timer.c"		/* PPC860 & 821 have on chip timers */#else#include "timer/ppcDecTimer.c"#endif /* INCLUDE_AUX_CLK */#ifdef INCLUDE_CPM_END#   include "sysMotCpmEnd.c"		/* configuration module for motCpmEnd */#endif	/* INCLUDE_CPM_END *//******************************************************************************** sysModel - return the model name of the CPU board** This routine returns the model name of the CPU board.** RETURNS: A pointer to the string.*/char * sysModel (void)    {    return ("Motorola ADS - PowerPC 860");    }/******************************************************************************** sysBspRev - return the bsp version with the revision eg 1.0/<x>** This function returns a pointer to a bsp version with the revision.* for eg. 1.0/<x>. BSP_REV defined in config.h is concatanated to* BSP_VERSION and returned.** RETURNS: A pointer to the BSP version/revision string.*/char * sysBspRev (void)    {    return (BSP_VERSION BSP_REV);    }#ifdef INCLUDE_SYS_HW_INIT_0/******************************************************************************* sysHwInit0 - Used here to enable extended exception vector support.** RETURNS: None.*/ void sysHwInit0 () {excExtendedVectors=TRUE; }#endif /*INCLUDE_SYS_HWINIT_0 *//******************************************************************************** sysHwInit - initialize the system hardware** This routine initializes various feature of the MPC860ADS boards. It sets up* the control registers, initializes various devices if they are present.** NOTE: This routine should not be called directly by the user.** RETURNS: N/A*/void sysHwInit (void)    {    UINT32	immrVal = vxImmrIsbGet();    UINT32      plprcrVal;    /* set the SPLL to the value requested */    /* SPR 65678, wrap PLPRCR, SCC in unlock/lock code */#ifdef USE_KEYED_REGS    vx860KeyedRegUsed=TRUE;#endif#ifdef USE_KEYED_REGS    * PLPRCRK(immrVal) = KEYED_REG_UNLOCK_VALUE;    ISYNC;#endif    plprcrVal = ((*PLPRCR(immrVal) & ~PLPRCR_MF_MSK) | 		 (SPLL_MUL_FACTOR << PLPRCR_MF_SHIFT));    /* delay will be (3 * 16) + 2 clock cycles */    vxPlprcrSet ( (UINT32*)immrVal ,plprcrVal ,3 );#ifdef USE_KEYED_REGS    * PLPRCRK(immrVal) = (UINT32)(~KEYED_REG_UNLOCK_VALUE);#endif    /* set the BRGCLK division factor */#ifdef USE_KEYED_REGS    * SCCRK(immrVal) = KEYED_REG_UNLOCK_VALUE;    ISYNC;#endif    /* set the BRGCLK division factor */    * SCCR(immrVal) = (* SCCR(immrVal) & ~SCCR_DFBRG_MSK) |				(BRGCLK_DIV_FACTOR << SCCR_DFBRG_SHIFT);#ifdef USE_KEYED_REGS    * SCCRK(immrVal) = (UINT32)(~KEYED_REG_UNLOCK_VALUE);#endif    /* set the Periodic Timer A value */         * MAMR(immrVal) = (* MAMR(immrVal) & ~MAMR_PTA_MSK) | 				(PTA_VALUE << MAMR_PTA_SHIFT);	    /* set the Periodic Timer PreScale */    * MPTPR(immrVal) = PTP_VALUE;    /* reset the port A */    *PAPAR(immrVal) = 0;    *PADIR(immrVal) = 0;    *PAODR(immrVal) = 0;    /* reset the port B */    *PBPAR(immrVal) = 0;    *PBDIR(immrVal) = 0;    *PBODR(immrVal) = 0;    /* reset the port C */    *PCPAR(immrVal) = 0;    *PCDIR(immrVal) = 0;    *PCSO(immrVal)  = 0;    /* reset the port D */    *PDPAR(immrVal) = 0;    *PDDIR(immrVal) = 0;    *SICR(immrVal) = 0;			/* initialize SI/NMSI connections */    /* Initialize interrupts */    ppc860IntrInit(IV_LEVEL4);	/* default vector level */    /* Reset serial channels */    sysSerialHwInit();    /* make sure Ethernet is disabled */#ifdef INCLUDE_CPM_END    sysCpmEnetDisable (0);    sysCpmEnetIntDisable (0);#endif /* INCLUDE_CPM_END */#ifdef INCLUDE_MOT_FEC    /* make sure the FEC is disabled */    sysFecEnetDisable (immrVal);#endif /* INCLUDE_MOT_FEC */    /*     * The power management mode is initialized here. Reduced power mode     * is activated only when the kernel is iddle (cf vxPowerDown).     * Power management mode is selected via vxPowerModeSet().     * DEFAULT_POWER_MGT_MODE is defined in config.h.     */    vxPowerModeSet (DEFAULT_POWER_MGT_MODE);    }/********************************************************************************* 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 memory.** RETURNS: The address of the top of physical memory.** SEE ALSO: sysMemTop()*/char * sysPhysMemTop (void)    {    static char * physTop = NULL;    if (physTop == NULL)	{	physTop = (char *)(LOCAL_MEM_LOCAL_ADRS + LOCAL_MEM_SIZE);	}    return (physTop) ;    }/********************************************************************************* 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;	}    return memTop;    }/******************************************************************************** sysToMonitor - transfer control to the ROM monitor** This routine transfers control to the ROM monitor.  Normally, it is called* only by reboot()--which services ^X--and bus errors at interrupt level.* However, in some circumstances, the user may wish to introduce a* <startType> to enable special boot ROM facilities.** RETURNS: Does not return.*/STATUS sysToMonitor    (     int startType	/* parameter passed to ROM to tell it how to boot */    )    {    FUNCPTR pRom = (FUNCPTR) (ROM_TEXT_ADRS + 4);	/* Warm reboot */#if defined(INCLUDE_CACHE_SUPPORT)    cacheDisable (0);        /* Disable the Instruction Cache */    cacheDisable (1);        /* Disable the Data Cache */#endif    *CIMR(vxImmrIsbGet()) = 0;     /* disable all cpm interupts */#ifdef INCLUDE_CPM_END        sysCpmEnetDisable (0);	/* disable the ethernet device */#endif #ifdef INCLUDE_MOT_FEC    /* disable the FEC */    sysFecEnetDisable ( vxImmrIsbGet());#endif /* INCLUDE_MOT_FEC */    sysSerialReset();		/* reset the serail device */    /* Clear the MSR */    vxMsrSet (0);    WRS_ASM("sync");    (*pRom) (startType);	/* jump to bootrom entry point */    return (OK);	/* in case we ever continue from ROM monitor */    }/******************************************************************************** sysHwInit2 - additional system configuration and initialization** This routine connects system interrupts and does any additional* configuration necessary.** RETURNS: N/A*/void sysHwInit2 (void)    {    static BOOL configured = FALSE;    int		immrVal;    if (!configured)	{	immrVal = vxImmrIsbGet();	/* initialize serial interrupts */	sysSerialHwInit2();#ifdef USE_KEYED_REGS    * SCCRK(immrVal) = KEYED_REG_UNLOCK_VALUE;    ISYNC;#endif	* SCCR(immrVal) &= ~SCCR_TBS;#ifdef USE_KEYED_REGS    * SCCRK(immrVal) = (UINT32)(~KEYED_REG_UNLOCK_VALUE);#endif	/* un-freeze the Time Base clock */#ifdef USE_KEYED_REGS    * TBSCRK(immrVal) = KEYED_REG_UNLOCK_VALUE;    ISYNC;#endif         	* TBSCR(immrVal) = TBSCR_TBE ;#ifdef USE_KEYED_REGS    * TBSCRK(immrVal) = (UINT32)(~KEYED_REG_UNLOCK_VALUE);    ISYNC;#endif	configured = TRUE;	}    }/******************************************************************************** sysProcNumGet - get the processor number** This routine returns the processor number for the CPU board, which is* set with sysProcNumSet().

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久伊99综合婷婷久久伊| 久久久精品黄色| 懂色av一区二区三区免费看| 亚洲一区二区三区在线播放| 久久伊人中文字幕| 欧美日韩高清不卡| 一本大道久久a久久综合| 国内精品自线一区二区三区视频| 亚洲激情自拍视频| 欧美国产日韩a欧美在线观看| 91精品国产日韩91久久久久久| 99久久精品国产毛片| 久久99国产精品成人| 午夜欧美大尺度福利影院在线看| 国产精品嫩草99a| 2020国产成人综合网| 666欧美在线视频| 欧美三区在线观看| 91极品美女在线| www.色综合.com| 高清在线观看日韩| 国产在线精品一区二区夜色 | 国产美女视频91| 丝袜美腿成人在线| 亚洲一区二区美女| 一区二区三区在线免费播放| 中文字幕欧美激情| 国产日韩成人精品| 国产三级精品视频| 欧美极品aⅴ影院| 日本一区二区视频在线| 久久综合色婷婷| 26uuu另类欧美亚洲曰本| 日韩精品一区二区三区视频在线观看 | 97久久精品人人爽人人爽蜜臀 | 色综合网站在线| www.在线成人| 色综合色狠狠天天综合色| 不卡的av网站| 91美女蜜桃在线| 色婷婷综合久久久久中文一区二区 | 欧美一区二区播放| 欧美大片日本大片免费观看| 欧美一区二区三级| 日韩欧美色电影| 精品久久久三级丝袜| 2020国产精品| 国产精品激情偷乱一区二区∴| 国产精品毛片大码女人| 亚洲丝袜自拍清纯另类| 亚洲欧美偷拍卡通变态| 亚洲h动漫在线| 青青草97国产精品免费观看| 开心九九激情九九欧美日韩精美视频电影 | 国产日韩欧美综合一区| 国产日韩精品视频一区| 国产精品不卡在线| 一区二区三区在线视频观看| 亚洲国产日日夜夜| 久久精品99国产国产精| 国产精选一区二区三区| 成人午夜免费视频| 在线观看亚洲a| 日韩欧美国产不卡| 国产精品久久久久久亚洲伦| 亚洲精品视频免费观看| 日韩va亚洲va欧美va久久| 国产一区二区免费在线| 99re免费视频精品全部| 8v天堂国产在线一区二区| 精品国产露脸精彩对白| 1024亚洲合集| 日本亚洲免费观看| 懂色av噜噜一区二区三区av| 91九色最新地址| 久久综合九色综合97婷婷女人| 国产精品日产欧美久久久久| 亚洲国产精品嫩草影院| 国产精品88av| 欧美午夜精品一区| 国产亚洲va综合人人澡精品| 一区二区三区在线免费观看 | 激情综合五月天| av网站一区二区三区| 4438x成人网最大色成网站| 中文字幕av一区二区三区| 亚洲r级在线视频| 波多野结衣的一区二区三区| 91精品国产福利在线观看| 中文av一区二区| 蜜臀av在线播放一区二区三区| 成人性生交大片免费看视频在线| 欧美日韩精品久久久| 国产精品美女一区二区三区 | 亚洲欧洲日韩在线| 美女免费视频一区| 欧美亚洲综合久久| 国产欧美日韩久久| 美女脱光内衣内裤视频久久影院| 色综合久久久久久久久| 久久久亚洲精品一区二区三区| 亚洲福利视频三区| 91蜜桃在线观看| 国产视频亚洲色图| 日本aⅴ免费视频一区二区三区| 波多野结衣一区二区三区| 26uuu欧美日本| 伦理电影国产精品| 欧美日本在线视频| 亚洲精品国产第一综合99久久| 国产一区二区三区蝌蚪| 日韩一二三区不卡| 午夜日韩在线观看| 在线观看国产日韩| 亚洲视频小说图片| 成人在线视频首页| 国产亚洲婷婷免费| 精品在线播放免费| 日韩一卡二卡三卡四卡| 婷婷六月综合网| 欧美男人的天堂一二区| 亚洲午夜视频在线观看| 91久久精品一区二区二区| 亚洲人成影院在线观看| 成人av影视在线观看| 国产欧美久久久精品影院| 国产老女人精品毛片久久| 日韩精品中文字幕一区二区三区| 爽好久久久欧美精品| 欧美日韩mp4| 日韩va欧美va亚洲va久久| 欧美另类一区二区三区| 午夜精品在线视频一区| 欧美剧在线免费观看网站| 午夜精品一区在线观看| 欧美美女bb生活片| 婷婷综合另类小说色区| 91精品国产色综合久久不卡电影| 爽爽淫人综合网网站| 日韩欧美国产一区二区在线播放 | 国内精品伊人久久久久av一坑| 日韩一级精品视频在线观看| 久久电影国产免费久久电影| 日韩精品一区二区三区视频播放| 久久aⅴ国产欧美74aaa| 精品欧美一区二区三区精品久久| 激情亚洲综合在线| 中文在线一区二区| 色综合中文字幕国产 | 欧美一区二区三区在线观看| 日韩高清在线不卡| 日韩天堂在线观看| 国产一区二区三区av电影 | 亚洲综合激情网| 欧美日韩国产精品自在自线| 日本sm残虐另类| 国产亚洲欧美中文| 91丨九色丨黑人外教| 亚洲一区二区3| 欧美va亚洲va国产综合| 成人午夜av在线| 亚洲永久免费视频| 日韩你懂的在线播放| 国产成人精品亚洲午夜麻豆| 亚洲欧美色一区| 日韩午夜在线观看视频| 高清视频一区二区| 亚洲一二三级电影| 精品久久久久久久久久久久包黑料| 国产精品亚洲视频| 亚洲国产视频a| 国产日韩欧美高清| 欧美性极品少妇| 国产自产v一区二区三区c| 亚洲日本丝袜连裤袜办公室| 日韩一级免费一区| 97se亚洲国产综合在线| 久久精品国产77777蜜臀| 最新高清无码专区| 91精品国产福利| 91女神在线视频| 久久99久久久欧美国产| 亚洲日本在线天堂| 26uuu国产在线精品一区二区| 97久久超碰国产精品电影| 美女国产一区二区| 亚洲综合色噜噜狠狠| 久久久久久久久久久99999| 在线看国产日韩| 国产成人免费高清| 免费观看30秒视频久久| 久久久久久久av麻豆果冻| 亚洲欧美视频在线观看| 91精品国产一区二区人妖| 99久久久无码国产精品| 午夜av一区二区| 中文字幕欧美日韩一区| 亚洲免费观看高清在线观看| 日本高清无吗v一区| 樱花草国产18久久久久|