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

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

?? bspcfg.c

?? 這是單板上DPRAM的驅動程序
?? C
?? 第 1 頁 / 共 2 頁
字號:
/* @(#) pSOSystem PowerPC/V2.2.2: bsps/fuc8xx/bspcfg.c V0.0 98/7/1     */
/***********************************************************************/
/*                                                                     */
/*   MODULE:  bspcfg.c                                                 */
/*   DATE:    98/7/1                                                   */
/*   AUTHOR:  Shan Zhengguang                                          */
/*   PURPOSE: BSP code which is compiled when executable image is built*/
/*                                                                     */
/*---------------------------------------------------------------------*/
/*                                                                     */
/*           Copyright 1998 - 1999, ZHONGXING TELECOM CO.,LTD.         */
/*                      ALL RIGHTS RESERVED                            */
/*                                                                     */
/*---------------------------------------------------------------------*/
/*                                                                     */
/*  NOTE: The nature of this file is to provide a way to configure     */
/*        the bsp at application compile time. Since the bsp.lib is    */
/*        independent of the application a means to provide the        */
/*        application some control over the configuration of the bsp.  */
/*        is needed. For example the lan driver needs to know if       */
/*        it will be required to do multicast addressing and if so     */
/*        how many multicast address will there be. The lan driver     */
/*        will then allocate buffers for multicast based on the number */
/*        needed.  Rather than this value being hard-coded into the    */
/*        driver to be included in bsp.lib, the user can set a         */
/*        define in the application file "sys_conf.h". The BspSetup    */
/*        function in this file will use that define to allocate       */
/*        space file the multicast buffers and set a global pointer    */
/*        to allow the lan driver access to the buffers.               */
/*                                                                     */
/***********************************************************************/
#include "sys_conf.h"
#include <machine.h>
#include "src/board.h"
#include "bspcomm.h"
#include "bspspec.h"
/* #include "bsp.h" del by maold */
#include <bspfuncs.h>
#include <configs.h>
#include <lan/lan8xx.h>

#if SC_PROFILER
#include <stdio.h>
#include <proflib.h>
struct prof_info *pip;
struct prof_stack *psp;
#endif

extern void (*ptrPsosEnter)(void), (*ptrPsosExit)(void);
extern void (*ptrPmontEnter)(void), (*ptrPmontExit)(void);
extern NODE_CT *anchor;

extern void SysMachChk(void);
extern void GenIsr(void);
extern void PsosIsr(void);
extern void PmontIsr(void);

extern void HwAbortHandler(void);

#if ((SC_PSOS != USEROM) && (SC_PSOSM != USEROM))
 
#if SC_PSOSM
     #define PSOS_SVC  pSOSm_Svc
     extern void PSOS_SVC(void);
#elif SC_PSOS
     #define PSOS_SVC  pSOS_Svc
     extern void PSOS_SVC(void);
#endif
 
#else
    extern NODE_CT *oldanchor;
#endif

#ifdef    ALIGN
#undef    ALIGN
#define ALIGN(addr, boundary) (((ULONG)(addr)+(ULONG)(boundary)-1) \
                               & ~((ULONG)(boundary)-1))
#endif
 
#if ((BSP_LAN1_FLAGS) & (IFF_MULTICAST))
    struct MCTable_struct lan_mcast; /* Multicast address table */
#endif
 
#if (SC_BOOT_ROM == YES)
ULONG NrTxBds  = BD_SCC_TX_BDS_ROM;     /* Number of transmit BDs */
ULONG NrTxHdrs = BD_SCC_TXHDRS_ROM;     /* Number of transmit headers */
TX_HDR TxHeaders[BD_SCC_TXHDRS_ROM];    /* The actual headers */
#else
ULONG NrTxBds  = BD_SCC_TX_BDS;         /* Number of transmit BDs */
ULONG NrTxHdrs = BD_SCC_TXHDRS;        /* Number of transmit headers */
TX_HDR TxHeaders[BD_SCC_TXHDRS];     /* The actual headers */
#endif

#ifdef USE_UNCACHE_SECTION
#pragma use_section UNCACHE TxHeaders
#endif

/******************************************************************/
/* don't use any globle variables in this function because it may */
/* be called from the start-up code before the RAM is initialized.*/
/******************************************************************/
ULONG bspGetInputClkHz(void)
{
   return BD_INPUT_CLOCK;
}

/***********************************************************************/
/* vectorSetup:                                                        */
/*                                                                     */
/*      INPUTS: var1 =                                                 */
/*                                                                     */
/*     RETURNS:                                                        */
/*     OUTPUTS:                                                        */
/*     NOTE(S): 1. Still need to set this up to handle various         */
/*                 component combinations.                             */
/*                                                                     */
/***********************************************************************/
void vectorSetup(void)
{
/* unsigned long ProcType; del by maold */
unsigned long msrORval;   /* NEED TO SET THIS!!! */
 
/*---------------------------------------------------------------------*/
/* Machine check exceptions are handled in a "daisy-chained" fashion,  */
/* where various handlers are called in order until one of them        */
/* recognizes the particular exception as one it should handle, and    */
/* handles it.  If none of the handlers handle it, pROBE is finally    */
/* given control.  Here we call a routine to initialize the handler    */
/* list, and then set the machine check exception vector to transfer   */
/* control to the handler caller.                                      */
/*---------------------------------------------------------------------*/
#if (SC_STARTUP_DIALOG==YES && SC_BOOT_ROM==YES && SC_PROBE==YES)
disableSWT();
#endif

SysHandlerInit();
SysSetVector(V_MACH_CK, SysMachChk, VT_REG, MSR_ME | MSR_FP, 0);
 
 
msrORval = 0;
#if (BSP_FPU == YES)
msrORval = MSR_FP | MSR_FE0 | MSR_FE1;
#endif
 
SysSetVector(V_INTRPT,  GenIsr, VT_STACK, msrORval, 0);
SysSetVector(V_DCRMNTR, GenIsr, VT_STACK, msrORval, 0);

SysSetVector(V_RESET, HwAbortHandler, VT_REG, 0, 0);

#if (!SC_PROBE)
        SysSetVector(V_MACH_CK,(void (*)())ExceptionHandle,VT_REG,0,0);
        SysSetVector(V_DA,(void (*)())ExceptionHandle,VT_REG,0,0);
        SysSetVector(V_IA,(void (*)())ExceptionHandle,VT_REG,0,0);
        SysSetVector(V_ALIGN,(void (*)())ExceptionHandle,VT_REG,0,0);
        SysSetVector(V_SEI821,(void (*)())ExceptionHandle,VT_REG,0,0);
        SysSetVector(V_PROGRAM,(void (*)())ExceptionHandle,VT_REG,0,0);
        SysSetVector(V_ITLB_ERR,(void (*)())ExceptionHandle,VT_REG,0,0);
        SysSetVector(V_DTLB_ERR,(void (*)())ExceptionHandle,VT_REG,0,0);
        SysSetVector(V_IA_BP821, (void (*)())ExceptionHandle,VT_REG, 0, 0);
        SysSetVector(V_DA_BP821, (void (*)())ExceptionHandle,VT_REG, 0, 0);
#endif

}

#if (SC_PROBE)
/***********************************************************************/
/* ProbeVecSetup:                                                      */
/*                                                                     */
/*      INPUTS: none                                                   */
/*                                                                     */
/*     RETURNS:                                                        */
/*     OUTPUTS:                                                        */
/***********************************************************************/
void ProbeVecSetup(unsigned long probe_start)
{
unsigned long offset;
unsigned long ProcType;
unsigned long max_offset;
 
ProcType = BspCpuType() & 0xFF;
 
if(ProcType == PPC860)
    ProcType = PPC821;
 
else if(ProcType == PPC603e || ProcType == PPC603p)
    ProcType = PPC603;
 
else if(ProcType == PPC604p || ProcType == PPC604e)
    ProcType = PPC604;
 
 
if(ProcType == PPC821)
    max_offset = 0x1f00;
else
    max_offset = 0x2f00;
 
/*---------------------------------------------------------------------*/
/* First initialize all of the vectors to pass control to pROBE+.      */
/*---------------------------------------------------------------------*/
for (offset = 0x100; offset <= max_offset; offset += 0x100) {
    if( offset == V_SYSCALL ||
        offset == V_INTRPT  ||
        offset == V_MACH_CK ||
       (offset == V_TIMERS  && ProcType == PPC403GA) ||
       (offset == V_DCRMNTR && ProcType != PPC403GA) )
         continue;
 
     SysSetVector(offset,
                 (void (*)())(probe_start + PROBE_RSRV_EXCP_OFFSET),
                  VT_REG, 0, 0);
    }

/*---------------------------------------------------------------------*/
/* Set vectors for various exceptions to transfer control to           */
/* special-purpose entries of pROBE+.                                  */
/*---------------------------------------------------------------------*/
if (ProcType != PPC403GA)
   {
   SysSetVector(V_DA, (void (*)())(probe_start + PROBE_DA_BE_OFFSET),
                VT_REG, 0, 0);
   SysSetVector(V_IA, (void (*)())(probe_start + PROBE_IA_EXCP_OFFSET),
                VT_REG, 0, 0);
   }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲国产日日夜夜| 亚洲日本在线a| 18成人在线观看| 国产精品1区二区.| 国产女人水真多18毛片18精品视频| 韩国精品久久久| 国产亚洲一区二区三区四区| 成人性色生活片| 亚洲欧美日韩在线| 欧美日韩亚洲另类| 视频在线观看一区二区三区| 欧美一级生活片| 国产精品888| 一个色在线综合| 欧美性大战xxxxx久久久| 日韩电影在线一区| 久久久亚洲高清| 99综合电影在线视频| 亚洲成av人片一区二区| 日韩欧美www| 丁香婷婷综合激情五月色| 亚洲欧美色图小说| 欧美在线啊v一区| 免费在线欧美视频| 国产日本欧美一区二区| 在线免费不卡电影| 久久不见久久见免费视频7| 欧美国产一区二区在线观看| 日本伦理一区二区| 国内精品伊人久久久久av影院| 国产亚洲视频系列| 欧美性生活一区| 国产乱淫av一区二区三区| 亚洲激情图片qvod| 久久一区二区三区四区| 波多野结衣91| 蜜臀va亚洲va欧美va天堂 | 日韩美女久久久| 欧美久久一二区| 成人精品视频一区二区三区尤物| 亚洲午夜免费视频| 日本一区二区三区久久久久久久久不 | 91麻豆精品国产自产在线| 高清成人免费视频| 日本伊人精品一区二区三区观看方式| 中文字幕欧美激情| 欧美一区二区视频在线观看2020 | 国产精品欧美极品| 91精品国产日韩91久久久久久| av成人免费在线| 精品亚洲成a人在线观看| 亚洲电影在线免费观看| 国产精品第五页| 精品国产亚洲一区二区三区在线观看| 色8久久精品久久久久久蜜| 国产伦精一区二区三区| 全国精品久久少妇| 亚洲一区二区视频在线观看| 日本一区二区免费在线| 精品美女在线观看| 制服丝袜亚洲色图| 欧美三电影在线| 99国产精品久久久久久久久久| 狠狠色伊人亚洲综合成人| 午夜视频一区二区三区| 亚洲久草在线视频| 国产精品狼人久久影院观看方式| 国产亚洲一区二区三区在线观看| 日韩欧美国产一二三区| 欧美三级韩国三级日本一级| 欧美亚洲一区二区在线观看| 色婷婷av一区二区三区gif| 成人免费高清在线观看| 国产suv一区二区三区88区| 极品美女销魂一区二区三区免费| 免费成人美女在线观看.| 免费成人在线播放| 美女脱光内衣内裤视频久久网站| 日韩av一区二区在线影视| 日韩精品三区四区| 视频一区二区三区入口| 日韩国产欧美在线观看| 日本不卡视频在线观看| 美女视频网站久久| 另类综合日韩欧美亚洲| 久久疯狂做爰流白浆xx| 国产一区二区精品久久| 粉嫩在线一区二区三区视频| 波多野结衣91| 免费av成人在线| 中文字幕电影一区| 国产午夜精品一区二区三区四区| 亚洲欧美日韩小说| 日韩视频免费观看高清完整版在线观看 | www.成人在线| 午夜精品久久久久久久99水蜜桃| 综合分类小说区另类春色亚洲小说欧美 | 国产精品大尺度| 亚洲激情五月婷婷| 久久精品国产**网站演员| 国产在线视频精品一区| 91丨porny丨首页| 欧美性大战xxxxx久久久| 久久久精品国产免大香伊| 亚洲国产精品尤物yw在线观看| 日本欧美在线观看| 国产福利一区二区三区视频| 欧美日韩国产色站一区二区三区| 国产午夜精品一区二区三区嫩草| 精品国产乱码久久久久久夜甘婷婷| 4438x成人网最大色成网站| 精品成人免费观看| 69久久99精品久久久久婷婷| 在线影视一区二区三区| 欧美区一区二区三区| 久久久99精品免费观看| 亚洲天天做日日做天天谢日日欢| 亚洲一区二区三区四区中文字幕| 毛片av一区二区| 成人激情校园春色| 欧美久久久久久久久中文字幕| 欧美sm美女调教| 一区二区三区在线观看视频| 99国产精品视频免费观看| 天天综合天天做天天综合| 东方欧美亚洲色图在线| 在线电影一区二区三区| 中文字幕久久午夜不卡| 亚洲超碰精品一区二区| 日韩va亚洲va欧美va久久| 美女爽到高潮91| 久久99久久99精品免视看婷婷| 91黄色小视频| 综合电影一区二区三区| 成人h精品动漫一区二区三区| 972aa.com艺术欧美| 日韩成人精品在线观看| 国产jizzjizz一区二区| 欧美高清视频不卡网| 成人免费在线播放视频| 久久精品久久综合| 在线免费观看成人短视频| 久久久久亚洲综合| 奇米精品一区二区三区在线观看一 | 亚洲女与黑人做爰| 国产在线不卡视频| 在线不卡的av| 亚洲综合一二区| 成人午夜视频在线| 中文字幕不卡在线播放| 日韩高清在线电影| 在线观看日韩av先锋影音电影院| 欧美国产丝袜视频| 国产一区二区三区久久久| 欧美一区二区日韩| 亚洲国产成人高清精品| 色婷婷综合中文久久一本| 亚洲国产成人私人影院tom | 成人av资源站| 久久久久国产成人精品亚洲午夜| 日韩在线播放一区二区| 欧美日韩情趣电影| 一二三四社区欧美黄| 色av综合在线| 亚洲国产欧美日韩另类综合| 色综合av在线| 亚洲小说欧美激情另类| 91激情在线视频| 亚洲午夜激情网页| 欧美亚州韩日在线看免费版国语版| 亚洲欧美日韩一区二区| 91高清视频免费看| 伊人色综合久久天天人手人婷| 91在线精品秘密一区二区| 亚洲视频免费看| 91亚洲资源网| 自拍偷拍亚洲激情| 99精品久久只有精品| 亚洲欧洲国产日韩| 91免费看视频| 一区二区高清免费观看影视大全 | 成人精品视频一区二区三区尤物| 国产精品不卡一区| 97久久超碰国产精品电影| 亚洲欧美电影一区二区| 欧美日韩黄视频| 青娱乐精品在线视频| 久久久无码精品亚洲日韩按摩| 韩国三级中文字幕hd久久精品| 国产午夜精品理论片a级大结局| 成人性生交大片免费看中文| 亚洲乱码国产乱码精品精可以看| 欧美日韩在线观看一区二区 | 一区二区三区四区激情| 97se亚洲国产综合自在线观| 亚洲成av人影院在线观看网| 日韩丝袜情趣美女图片| 国产乱人伦偷精品视频不卡| 亚洲女厕所小便bbb| 欧美一区二区大片|