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

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

?? sysalib.s

?? WINDRIVER SBC405 BSP
?? S
字號:
/* sysALib.s - Wind River SBC405GP system-dependent assembly routines *//* Copyright 1984-2001 Wind River Systems, Inc. *//*modification history--------------------01d,11jul02,pch  SPR 77845: fix name collision with PCI drivers01c,07dec01,kab  Fixed decl to keep diab happy01b,22nov01,g_h  Add assembler abstractions (FUNC_EXPORT, FUNC_BEGIN, etc.)01a,08may01.g_h  created from Walnut version 01f*//*DESCRIPTIONThis module contains system-dependent routines written in assemblylanguage.This module must be the first specified in the \f3ld\f1 command used tobuild the system.  The sysInit() routine is the system start-up code.*/#define _ASMLANGUAGE#include "vxWorks.h"#include "sysLib.h"#include "config.h"#include "asm.h"#include "regs.h"        /* defines */#define CNTRL_DCR_BASE 0x0b0#define strap   (CNTRL_DCR_BASE+0x4)  /* strap register		   	     */        /* globals */        FUNC_EXPORT(_sysInit)    /* start of system code */        FUNC_EXPORT(sysInit)     /* start of system code */        FUNC_EXPORT(sysPciInByte)        FUNC_EXPORT(sysPciOutByte)        FUNC_EXPORT(sysPciInWord)        FUNC_EXPORT(sysPciOutWord)        FUNC_EXPORT(sysPciInLong)        FUNC_EXPORT(sysPciOutLong)        FUNC_EXPORT(sysInByte)        FUNC_EXPORT(sysOutByte)        FUNC_EXPORT(sysInWord)        FUNC_EXPORT(sysOutWord)        FUNC_EXPORT(sysInLong)        FUNC_EXPORT(sysOutLong)        FUNC_EXPORT(sysPlbInByte)        FUNC_EXPORT(sysPlbOutByte)        FUNC_EXPORT(sysPlbInWord)        FUNC_EXPORT(sysPlbOutWord)        FUNC_EXPORT(sysPlbInLong)        FUNC_EXPORT(sysPlbOutLong)        FUNC_EXPORT(sysSpin)        /* externals */        FUNC_IMPORT(usrInit)        _WRS_TEXT_SEG_START/***************************************************************************** sysInit - start after boot** This is the system start-up entry point for VxWorks in RAM, the* first code executed after booting.  It disables interrupts, sets up* the stack, and jumps to the C routine usrInit() in usrConfig.c.** The initial stack is set to grow down from the address of sysInit().  This* stack is used only by usrInit() and is never used again.  Memory for the* stack must be accounted for when determining the system load address.** SYNOPSIS* \ss* sysInit*     (*     void     /@ THIS IS NOT A CALLABLE ROUTINE @/*     )* \se** NOTE: This routine should not be called by the user.** RETURNS: N/A*/FUNC_BEGIN(_sysInit)FUNC_BEGIN(sysInit)#ifdef INCLUDE_VWARE_LAUNCH    	lis    r5,HI(sysPrivateVwareParams)	ori    r5,r5,LO(sysPrivateVwareParams)        stw    r4,0(r5)        stw    r3,4(r5)#endif /* INCLUDE_VWARE_LAUNCH */        /* Repeat initialization done in romInit.s except SDRAM and EBC */        /*         * Initalize registers that need to be set to zero.         */        addi    r4,r0,0x0000        mtmsr   r4                      /* disable all interrupts        */        isync        mtspr   ICCR,r4                 /* turn off I-cache              */        mtspr   DCCR,r4                 /* turn off D-cache              */        mtspr   DCWR,r4                 /* all memory regions write-back */        mtspr   ESR, r4                 /* clear error status            */        mtspr   TCR, r4                 /* disable all timers            */        mtspr   PIT, r4                 /* clear the PIT timer           */        mtdcr   UIC_ER, r4              /* disable ints at the UIC       */        mtspr   XER, r4                 /* clear integer exception reg   */        mtdcr   DMA_CR0, r4             /* stop DMA channels             */        mtdcr   DMA_CR1, r4        mtdcr   DMA_CR2, r4        mtdcr   DMA_CR3, r4        /*         * Initalize registers that need to be cleared with 0xFFFFFFFF         */        addis   r4,r0,0xffff        ori     r4,r4,0xffff        mtspr   TSR, r4                 /* clear timer status            */        mtspr   DBSR, r4                /* clear debug status reg        */        mtdcr   UIC_SR, r4              /* clear all pending UIC ints    */        mtdcr   DMA_SR, r4              /* clear DMA status reg          */        /*         * Set storage guarded attribute         *     Unguarded: 0x00000000 - 0x7FFFFFFF  SDRAM         *       Guarded: 0x80000000 - 0xF7FFFFFF  PCI Memory, I/O, config,         *                                         405GP internal peripherals,         *                                         SBC405GP external peripherals         *     Unguarded: 0xF8000000 - 0xFFFFFFFF  Bootrom         */        addi    r4,r0,0x0000        ori     r4,r4,0xfffe        mtspr   SGR,r4        /*         * Invalidate the entire instruction cache. This can be done         * with a single iccci instruction in the 405 processor core.         */        iccci   r0, r0        /*         * Invalidate the entire data cache.         * The 405 processor core in the 405GP has 128 congruence classes.         * Each cache line in the 405 processor is 32 bytes.         */        li      r3, 0                     /* clear r3 */        li      r4, _DCACHE_LINE_NUM_405GP   /* load number of cache lines */        mtctr   r4rom405Dcci:        dccci   r0, r3        addi    r3, r3, _CACHE_ALIGN_SIZE       /* bump to next line */        bdnz    rom405Dcci                      /* go to invalidate */        /*         * Clear the CPU reservation bit         */        li      r0, 0        lwarx   r3, r0, r0        stwcx.  r3, r0, r0        /*         * Initialize the stack pointer         */        lis     sp, HIADJ(_sysInit)        addi    sp, sp, LO(_sysInit)#if     FALSE                           /* SDA not supported */        /* initialize r2 and r13 according to EABI standard */        lis     r2, HIADJ(_SDA2_BASE_)        addi    r2, r2, LO(_SDA2_BASE_)        lis     r13, HIADJ(_SDA_BASE_)        addi    r13, r13, LO(_SDA_BASE_)#endif        mfmsr   r3                      /* read msr */        INT_MASK(r3, r3)                /* mask ee bit and ce bit */        mtmsr   r3                      /* DISABLE INTERRUPT */        addi    sp, sp, -FRAMEBASESZ    /* car frame stack */        li      r3, BOOT_WARM_AUTOBOOT  /* set start type arg = WARM_BOOT */        bl      FUNC(usrInit)FUNC_END(sysInit)FUNC_END(_sysInit)/***************************************************************************** sysPciInByte - reads a byte from PCI Config Space.** This function reads a byte from a specified PCI Config Space address.** SYNOPSIS* \ss* UCHAR sysPciInByte*     (*     ULONG address*     )* \se** SEE ALSO: sysPciInWord(), sysPciInLong(), sysPciOutByte(), sysPciOutWord(), *           sysPciOutLong()** RETURNS: byte from address.*/FUNC_BEGIN(sysPciInByte)FUNC_LABEL(sysInByte)    sync    lbz     r3, 0(r3)    sync    bclr    20,0FUNC_END(sysPciInByte)/***************************************************************************** sysPciInWord - reads a word (16-bit big-endian) from PCI Config Space.** This function reads a word from a specified PCI Config Space (little-endian)* address.  It uses the load halfword byte-reversed instruction.** SYNOPSIS* \ss* USHORT sysPciInWord*     (*     ULONG address*     )* \se** SEE ALSO: sysPciInByte(), sysPciInLong(), sysPciOutByte(), sysPciOutWord(), *           sysPciOutLong()** RETURNS: word (16-bit big-endian) from address.*/FUNC_BEGIN(sysPciInWord)FUNC_LABEL(sysInWord)    sync    lis	    r0,0    lhbrx   r4, r0, r3    sync    mr      r3, r4    bclr    20,0FUNC_END(sysPciInWord)/***************************************************************************** sysPciInLong - reads a long (32-bit big-endian) from PCI Config Space.** This function reads a long from a specified PCI Config Space (little-endian)* address.  It uses the load word byte-reversed instruction.** SYNOPSIS* \ss* ULONG sysPciInLong*     (*     ULONG address*     )* \se** SEE ALSO: sysPciInByte(), sysPciInWord(), sysPciOutByte(), sysPciOutWord(), *           sysPciOutLong()** RETURNS: long (32-bit big-endian) from address.*/FUNC_BEGIN(sysPciInLong)FUNC_LABEL(sysInLong)    sync    lis	    r0,0    lwbrx   r4, r0, r3    sync    mr	    r3, r4    bclr    20,0FUNC_END(sysPciInLong)/***************************************************************************** sysPciOutByte - writes a byte to PCI Config Space.** This function writes a byte to a specified PCI Config Space address.** SYNOPSIS* \ss* void sysPciOutByte*     (*     ULONG address*     UCHAR data*     )* \se** SEE ALSO: sysPciInByte(), sysPciInWord(), sysPciInLong(), sysPciOutWord(), *           sysPciOutLong()** RETURNS: N/A*/FUNC_BEGIN(sysPciOutByte)FUNC_LABEL(sysOutByte)    sync    stb     r4,0(r3)    sync    bclr    20,0FUNC_END(sysPciOutByte)/***************************************************************************** sysPciOutWord - writes a word (16-bit big-endian) to PCI Config Space.** This function writes a word to a specified PCI Config Space (little-endian)* address.  It uses the store halfword byte-reversed instruction.** SYNOPSIS* \ss* void sysPciOutWord*     (*     ULONG  address*     USHORT data*     )* \se** SEE ALSO: sysPciInByte(), sysPciInWord(), sysPciInLong(), sysPciOutByte(), *           sysPciOutLong()** RETURNS: N/A*/FUNC_BEGIN(sysPciOutWord)FUNC_LABEL(sysOutWord)    sync    lis	    r0,0    sthbrx  r4, r0, r3    sync    bclr    20,0FUNC_END(sysPciOutWord)/***************************************************************************** sysPciOutLong - writes a long (32-bit big-endian) to PCI Config Space.** This function writes a long to a specified PCI Config Space (little-endian)* address.  It uses the store word byte-reversed instruction.** SYNOPSIS* \ss* void sysPciOutLong*     (*     ULONG address*     ULONG data*     )* \se** SEE ALSO: sysPciInByte(), sysPciInWord(), sysPciInLong(), sysPciOutWord(), *           sysPciOutByte()** RETURNS: N/A*/FUNC_BEGIN(sysPciOutLong)FUNC_LABEL(sysOutLong)    sync    lis	    r0,0    stwbrx  r4, r0, r3    sync    bclr    20,0FUNC_END(sysPciOutLong)/***************************************************************************** sysPlbInByte - reads a byte from an io address.** This function reads a 8 bit byte from a specified IO address.** SYNOPSIS* \ss* UCHAR sysPlbInByte*     (*     ULONG address*     )* \se** SEE ALSO: sysPlbInWord(), sysPlbInLong(), sysPlbOutByte(), sysPlbOutWord(), *           sysPlbOutLong()** RETURNS: byte from address.*/FUNC_BEGIN(sysPlbInByte)    sync    lbz     r3, 0(r3)    sync    bclr    20,0FUNC_END(sysPlbInByte)/***************************************************************************** sysPlbInWord - reads a half word (16-bit) from an IO address.** This function reads a 16 bit half word from a specified IO address.** SYNOPSIS* \ss* USHORT sysPlbInWord*     (*     ULONG address*     )* \se** SEE ALSO: sysPlbInByte(), sysPlbInLong(), sysPlbOutByte(), sysPlbOutWord(), *           sysPlbOutLong()** RETURNS: half word (16-bit) from address.*/FUNC_BEGIN(sysPlbInWord)    lhzx    r3,r0,r3        /* Read word from an address */    sync                    /* Sync I/O operation */    bclr    20,0            /* Return to caller */FUNC_END(sysPlbInWord)/***************************************************************************** sysPlbInLong - reads a word (32-bit) from an IO address.** This function reads a 32 bit word from a specified IO address.** SYNOPSIS* \ss* ULONG sysPlbInLong*     (*     ULONG address*     )* \se** SEE ALSO: sysPlbInByte(), sysPlbInWord(), sysPlbOutByte(), sysPlbOutWord(), *           sysPlbOutLong()** RETURNS: word (32-bit) from address.*/FUNC_BEGIN(sysPlbInLong)    lwzx    r3,r0,r3        /* Read word from an address */    sync                    /* Sync I/O operation */    bclr    20,0            /* Return to caller */FUNC_END(sysPlbInLong)/***************************************************************************** sysPlbOutByte - writes a byte to an IO address.** This function writes a 8 bit byte to a specified IO address.** SYNOPSIS* \ss* void sysPlbOutByte*     (*     ULONG address*     UCHAR data*     )* \se** SEE ALSO: sysPlbInByte(), sysPlbInWord(), sysPlbInLong(), sysPlbOutWord(), *           sysPlbOutLong()** RETURNS: N/A*/FUNC_BEGIN(sysPlbOutByte)    sync    stb     r4,0(r3)     sync    bclr    20,0FUNC_END(sysPlbOutByte)/***************************************************************************** sysPlbOutWord - writes a half word (16-bit) to an IO address.** This function writes a 16 bit half word to a specified IO address.** SYNOPSIS* \ss* void sysPlbOutWord*     (*     ULONG  address*     USHORT data*     )* \se** SEE ALSO: sysPlbInByte(), sysPlbInWord(), sysPlbInLong(), sysPlbOutByte(), *           sysPlbOutLong()** RETURNS: N/A*/FUNC_BEGIN(sysPlbOutWord)    sthx    r4,r0,r3        /* Write a word to an address */    sync                    /* Sync I/O operation */    bclr    20,0            /* Return to caller */FUNC_END(sysPlbOutWord)/***************************************************************************** sysPlbOutLong - writes a word (32-bit) to an IO address.** This function writes a 32 bit word to a specified IO address.** SYNOPSIS* \ss* void sysPlbOutLong*     (*     ULONG address*     ULONG data*     )* \se** SEE ALSO: sysPlbInByte(), sysPlbInWord(), sysPlbInLong(), sysPlbOutWord(), *           sysPlbOutByte()** RETURNS: N/A*/FUNC_BEGIN(sysPlbOutLong)    stwx    r4,r0,r3        /* Write a word to an address */    sync                    /* Sync I/O operation */    bclr    20,0            /* Return to caller */FUNC_END(sysPlbOutLong)/***************************************************************************** sysSpin - performs a branch hang, used for debug purposes.** This function performs a branch hang, used for debug purposes.** SYNOPSIS* \ss* void sysSpin*     (*     void*     )* \se** RETURNS: N/A*/FUNC_BEGIN(sysSpin)        b       sysSpinFUNC_END(sysSpin)/* *  Include other .s files for chip specific DCR functions */#include "405gpDcr.s"#include "uicDcr.s"#include "sdramDcr.s"#include "ebcDcr.s"#include "dmaDcr.s"#if defined(EMAC_CACHE_FLUSH) || defined(EMAC_CACHE_INVALIDATE)#include "405cache.s"#endif /* defined(EMAC_CACHE_FLUSH) || defined(EMAC_CACHE_INVALIDATE) */#include "sysDcr.s"#ifdef INCLUDE_VWARE_LAUNCH#include "sysPpcAVware.s"#endif /* INCLUDE_VWARE_LAUNCH */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久久久日产精品| 亚洲摸摸操操av| 国产一区二区三区香蕉| 精品日本一线二线三线不卡| 亚洲专区一二三| 欧美日韩高清在线播放| 亚洲二区在线观看| 欧美日韩卡一卡二| 七七婷婷婷婷精品国产| 日韩免费看的电影| 国产一区二区中文字幕| 国产三级欧美三级日产三级99| 国产东北露脸精品视频| 国产亚洲精品aa午夜观看| 国产成人精品在线看| 国产精品久线在线观看| 色悠悠亚洲一区二区| 亚洲动漫第一页| 欧美日韩国产首页| 日本视频一区二区| 亚洲精品在线一区二区| 国产精品一二三四区| 亚洲三级免费观看| 欧美色图激情小说| 麻豆91免费看| 国产精品私人影院| 91丨国产丨九色丨pron| 亚洲一区二区三区中文字幕| 日韩一区二区三区在线| 国产成人三级在线观看| 亚洲精选一二三| 欧美一级搡bbbb搡bbbb| 国产一区二区三区不卡在线观看| 亚洲国产精品精华液ab| 91污在线观看| 日本不卡一区二区三区| 欧美一级精品在线| 国产ts人妖一区二区| 一区二区三区中文在线观看| 日韩一区二区在线观看视频| 精品亚洲成a人在线观看| 中文一区一区三区高中清不卡| 91视频在线观看免费| 日韩电影在线观看电影| 久久综合九色综合97_久久久| 成人动漫视频在线| 天堂久久一区二区三区| 欧美α欧美αv大片| 不卡一区二区中文字幕| 午夜视频一区在线观看| 久久九九久精品国产免费直播| 一本大道久久a久久综合| 免费人成网站在线观看欧美高清| 国产精品夫妻自拍| 欧美一二三在线| jlzzjlzz国产精品久久| 日本怡春院一区二区| 国产精品免费观看视频| 欧美日韩精品久久久| 床上的激情91.| 日本中文在线一区| 亚洲欧美在线观看| 日韩欧美色电影| 91精彩视频在线观看| 激情久久五月天| 国产精品高潮呻吟久久| 欧美精品一级二级| 成人精品视频一区二区三区 | 中文字幕视频一区| 日韩你懂的在线播放| 色网综合在线观看| 激情五月激情综合网| 亚洲欧洲一区二区三区| 欧美第一区第二区| 欧美日韩一区二区电影| 成人国产精品视频| 久久av中文字幕片| 亚洲韩国精品一区| 国产精品久久午夜| 日韩欧美在线观看一区二区三区| 99久久精品99国产精品| 国产一区福利在线| 天堂在线一区二区| 亚洲日本乱码在线观看| 久久久不卡影院| 69av一区二区三区| 欧美性色aⅴ视频一区日韩精品| 丁香婷婷综合色啪| 奇米影视在线99精品| 亚洲一区在线观看免费观看电影高清| 国产精品视频第一区| 欧美一卡2卡三卡4卡5免费| 在线观看91视频| 99国产精品一区| 国产91综合网| 国产在线日韩欧美| 亚洲国产视频a| 亚洲丝袜精品丝袜在线| 国产女主播一区| 2020国产精品自拍| 日韩一级二级三级| 91精品国产综合久久久蜜臀图片| 欧美视频三区在线播放| 日本精品一区二区三区高清| 99re在线精品| 国产精品一区二区免费不卡| 韩日av一区二区| 免费精品视频在线| 日韩国产在线观看| 亚洲精品成人a在线观看| 日韩一区中文字幕| 亚洲欧洲99久久| 国产精品日日摸夜夜摸av| 精品久久一区二区三区| 亚洲精品在线观| 精品美女在线观看| 久久综合狠狠综合久久激情 | 日韩午夜三级在线| 8x8x8国产精品| 91精品黄色片免费大全| 精品视频在线免费| 色悠久久久久综合欧美99| 色一情一乱一乱一91av| 色一情一伦一子一伦一区| 色欧美日韩亚洲| 色av一区二区| 欧美日韩一区二区三区免费看| 色综合激情五月| 欧美午夜宅男影院| 在线播放视频一区| 欧美精品tushy高清| 欧美一级久久久久久久大片| 日韩欧美的一区二区| 日韩精品在线一区| 久久综合狠狠综合| 久久综合成人精品亚洲另类欧美| 国产亚洲欧美日韩日本| 国产亚洲一本大道中文在线| 欧美国产1区2区| 中文字幕亚洲欧美在线不卡| 亚洲精品午夜久久久| 亚洲综合精品久久| 久久国产成人午夜av影院| 国产成人日日夜夜| 欧洲一区二区三区免费视频| 91精品国产福利在线观看| 久久精品无码一区二区三区| 综合久久久久综合| 秋霞午夜av一区二区三区| 国产精品亚洲第一| 欧美性猛片xxxx免费看久爱| 精品国产3级a| 亚洲精品videosex极品| 久久精品免费看| 91麻豆精品视频| 欧美一级搡bbbb搡bbbb| 国产精品久久免费看| 视频一区视频二区中文字幕| 国产成人精品三级麻豆| 欧美日韩一区二区在线观看| 久久免费精品国产久精品久久久久 | 精品av综合导航| 亚洲美女精品一区| 麻豆91在线播放免费| 色综合久久88色综合天天| 欧美电影免费提供在线观看| 亚洲三级理论片| 国产自产2019最新不卡| 欧美在线看片a免费观看| 精品国产乱码久久久久久久久| 樱桃国产成人精品视频| 九色porny丨国产精品| 一本久久a久久精品亚洲| 精品捆绑美女sm三区| 一区二区三区加勒比av| 久久av老司机精品网站导航| 在线日韩av片| 欧美国产精品中文字幕| 日本中文在线一区| 色国产综合视频| 中文字幕精品一区| 蜜桃传媒麻豆第一区在线观看| 97se狠狠狠综合亚洲狠狠| 精品精品国产高清a毛片牛牛 | 91久久国产综合久久| 久久欧美一区二区| 日韩专区欧美专区| 97久久超碰精品国产| 欧美精品一区二区三区蜜桃| 亚洲国产精品一区二区久久恐怖片 | 亚洲成人高清在线| 不卡影院免费观看| 亚洲mv大片欧洲mv大片精品| 国产不卡在线视频| 日韩美女视频在线| 亚洲成人免费影院| 91伊人久久大香线蕉| 久久九九久久九九| 久久精品国产亚洲5555| 7777精品伊人久久久大香线蕉超级流畅|