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

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

?? crt0.s

?? ppc860平臺(tái)上移植uc OS的實(shí)例
?? S
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
    mtspr      22,r3
    isync

#------------------------------------------------------------------------
# Initialize Core registers
#------------------------------------------------------------------------

    lis        r3,0x0000    #  MSR and SRR1 = 0x00001002
    ori        r3,r3,0x9002
    mtmsr      r3
    mtspr      SRR1,r3

    lis        r3,0x0       #  DER = 0
    ori        r3,r3,0x0	
    mtspr      DER,r3
 

    lis        r3,0x0000    #  ICTRL = 6
    ori        r3,r3,0x0006
    mtspr      ICTRL,r3

    lis        r3,0x0000    #  ICR = 0
    ori        r3,r3,0x0000
    mtspr      ICR,r3
 
	.if TM_SPEED40=1
#  	Set CPU Clock to 40MHZ from 5MHZ osc
        lis        r3,0x0070     
        stw        r3,PLPRCR(r4)  
	.elsec #/* speed not defined  assume 25 */ 
#  	Set CPU Clock to 25MHZ from 5MHZ osc
        lis        r3,0x0040     
        stw        r3,PLPRCR(r4)  
	.endc



#------------------------------------------------------------------------
# Initialize SIU registers
#------------------------------------------------------------------------
    lwz        r3,SIUMCR(r4) #  SIUMCR = The old value bitwize
    oris       r3,r3,0x0060  #           ored with 0x00600040  
    ori        r3,r3,0x0040
    stw        r3,SIUMCR(r4)
#
# Watch Dog Timer
#
    lis        r3,0xffff     #  SYPCR = 0xffffff08
    ori        r3,r3,0xff08
    stw        r3,SYPCR(r4)

    li         r3,0x556c
    sth        r3,SWSR(r4)
    
    li         r3,0xAA93
    sth        r3,SWSR(r4)

# Setup Chip Selects
#	CS0 = Boot ROM
	SetCSReg	RomBase+0x0401,BR0
	SetCSReg	0xFFF80D30,OR0

UPMInit: 
	LA	r5,UpmTable
	LA	r6,UpmTableEnd
    sub        r7,r6,r5      	# UpmTableEnd - UpmTable
    srawi      r7,r7,2       	# /4
        
    li         r6,0x0000     # Command: OP=Write, UPMA, MAD=0
UpmWriteLoop:
    lwz        r3,0(r5)      # get data from table
    stw        r3,MDR(r4)    # store the data to MD register
        
    stw        r6,MCR(r4)    # issue command to MCR register
    addi       r5,r5,4       # next entry in the table
    addi       r6,r6,1       # next MAD address
    cmp        r6,r7         # done yet ?
    blt        UpmWriteLoop

#	CS1 = DRAM Bank 1

	SetCSReg	0xFFC00800,OR1
	SetCSReg	RamBase+0x0081,BR1
# set up refresh for 15.6 
# uses MPTPR & MSB of MAMR
		
    li         r8,0x0200    # Memory Periodic Timer Clk = CPU CLK/32
    sth        r8,MPTPR(r4)

	.if TM_SPEED40=1	
        lis        r8,0x1480     	; set PTA,PTAE
        ori        r8,r8,0x00001334	; set DSA,G0CLA,RFLA,WLFA,TLFA
	.elsec
        lis        r8,0x0C80     	; set PTA,PTAE
        ori        r8,r8,0x00001334	; set DSA,G0CLA,RFLA,WLFA,TLFA
	.endc

;*** Initially set for 4 MB
	LA		r5,0xFF8FFFFF
    and     r8,r8,r5				; clear AMA
	LA		r5,0x00200000
    or        r8,r8,r5				; Set AMA
    stw        r8,MAMR(r4)			; set MAMR

	SetCSReg	0xFFC00800,OR1
	SetCSReg	RamBase+0x0081,BR1

;*** Wait at least 200 usec for DRAM to stabilize
	lis 	   r5,0x0000 	 # count 0x0379 times ~225nsec
	ori 	   r5,r5,0x379
	lis	   r6,0x0000	 # clear r6
delayloop4:
	addi	   r6,r6,0x01	 # decrement the counter
	cmpw	   cr0,r6,r5	 # done yet ?		
	bne	   delayloop4

;*** Need at least 10 DRAM accesses to stabilize
	lis 	   r5,0x0000	 # count 10 times
	ori 	   r5,r5,0x0a
	lis        r6,0x0000	 # clear r6

	lis        r15,RamBase     # load address
	ori        r15,r15,0x1000
	lis        r16,0x1234     # load data
	ori        r16,r16,0x5678

ramloop:
	stw        r16,0(r15)
	lwz        r16,0(r15)
	addi	   r6,r6,0x01	 # decrement the counter
	cmpw	   cr0,r6,r5	 # done yet ?		
	bne	   ramloop


#	CS4 = Network Interface Modules

	SetCSReg	0xFFFF0182,OR4
	SetCSReg	0x40000401,BR4

#	CS5 = DRAM ID Register

	SetCSReg	0xFFFF0122,OR5
	SetCSReg	0x50000401,BR5




    mfspr   r8,DC_CST
#
#************************************************************************
# Cache Initialization
#
# Function: CacheInit
#       If the Data cache is enabled, flush then
#       disable it so we can finish the rest of initialization
#
# Input Registers:
#       R8 contains the content of DC_CST before enterring
#          usr_init()
#
# Output Registers:
#       R3, R7, R5 and R6 will be destroyed
#************************************************************************
#
CacheInit:
#------------------------------------------------------------------------
# If Instruction cache was enabled, disable and invalidate all
#------------------------------------------------------------------------
ICacheInit:
        mfspr    r3,IC_CST       # read I-cache CSR 
        andis.   r3,r3,CacheEnableBit
        beq      ICacheUnlock    # no, Icache was disabled

        lis      r3,CacheDisableCmd  
        mtspr    IC_CST,r3       # disable Icache
        isync

ICacheUnlock:
        lis      r3,CacheUnlockAllCmd
        mtspr    IC_CST,r3       # Unlock Icache
        isync
   
ICacheInv:
        lis      r3,CacheInvAllCmd
        mtspr    IC_CST,r3       # Invalidate Icache
        isync

ICacheEnable:
        lis      r3,CacheEnableCmd
        mtspr   IC_CST,r3       # Enable Icache
        isync

DCacheInit:
DCacheUnlock:
        lis     r3,CacheUnlockAllCmd
        sync
        mtspr   DC_CST,r3       # Unlock Dcache

        andis.  r8,r8,CacheEnableBit  # Was DCache enabled ?
        beq     DCacheInv       # no, Dcache was disabled

DCacheFlushAll:
        li      r3,0            # Read 1 word per cache line
        li      r6,0            # Read 1 word per cache line
                                # for 800 lines
        li      r7,256          # 2 ways, 128 sets per way
DCacheFlushLoop:
        addic.  r7,r7,-1        # decrementer, set cc bit
        lwz     r5,0(r3)        # access memory
        dcbf    r6,r3           # flush the line
        addi    r3,r3,16        # next line
        bgt     DCacheFlushLoop

DCacheDisable:
        lis     r3,CacheDisableCmd
        sync
        mtspr   DC_CST,r3       # disable Dcache

DCacheInv:
        lis     r3,CacheInvAllCmd
        sync
        mtspr   DC_CST,r3       # Invalidate Dcache

DCacheEnable:
        lis     r3,CacheEnableCmd
        sync
#        mtspr   DC_CST,r3       # Enable Icache



# Return from __tfInit860
	blr



    .if TM_SPEED40=1  #/* assumes 60 NS drams */


# /* UPMA contents: */
UpmTable:
# /* single read. (offset 0 in upm RAM) */
         .long    0x0fffcc24, 0x0fffcc04, 0x00ffcc00, 0x71ffcc07
         .long    0xfffffc04, 0xfffffc04, 0xfffffc04, 0xfffffc04
# /* burst read. (offset 8 in upm RAM) */
         .long    0x0fffcc24, 0x0fffcc04, 0x00ffcc80, 0x03ffcccc
         .long    0x00ffcc00, 0x73ffcc07, 0xffffcc04, 0xfffffc04
         .long    0xfffffc04, 0xfffffc04, 0xfffffc04, 0xfffffc04
         .long    0xfffffe04, 0xfffffc04, 0xfffffc04, 0xfffffc04
# /* single write. (offset 18 in upm RAM) */
         .long    0x0fafec24, 0x0fafec04, 0x00afec00, 0x73bfec07
         .long    0xfffffc04, 0xfffffc04, 0xfffffc04, 0xfffffc04
# /* burst write. (offset 20 in upm RAM) */
         .long    0x0fafec24, 0x0fafec04, 0x00afec80, 0x0fafeccc
         .long    0x00afec00, 0x7fbfec07, 0xfffffc04, 0xfffffc04
         .long    0xfffffc04, 0xfffffc04, 0xfffffc04, 0xfffffc04
         .long    0xfffffc04, 0xfffffc04, 0xfffffc04, 0xfffffc04
# /* refresh. (offset 30 in upm RAM) */
         .long    0xf0ffec04, 0x00ffec04, 0x01ffec04, 0x3fffec04
         .long    0xffffec04, 0xffffec05, 0xfffffc04, 0xfffffc04
         .long    0xfffffc04, 0xfffffc04, 0xfffffc04, 0xfffffc04
# /* exception. (offset 3c in upm RAM) */
         .long    0xffffec07, 0xfffffc04, 0xfffffc04, 0xfffffc04
#
UpmTableEnd:


	.elsec	# speed not defined 
UpmTable:
# UPM contents for the default 860 memory configuration:

	.if TM_DRAM60NS
  
# /* DRAM 60ns - single read. (offset 0 in upm RAM) */
# /* offsets 6-7 not used */
        .long	0x0FFFCC04, 0x00FFCC00, 0xF1FFCC05, 0xFFFFFC04
 	    .long	0xFFFFFC04, 0xFFFFFC04, 0xFFFFFC04, 0xFFFFFC04       

# /* DRAM 60ns - burst read. (offset 8 in upm RAM) */
# /* offsets 16-17 not used */
    	.long	0x0FFFEC04, 0x00FFEC08, 0x04FFEC40, 0x02FFCC4C
	    .long	0x00FFEC08, 0x04FFEC40, 0x33FFCC07, 0xFFFFFC04
    	.long	0xFFFFFC04, 0xFFFFFC04, 0xFFFFFC04, 0xFFFFFC04
	    .long	0xFFFFFC04, 0xFFFFFC04, 0xFFFFFC04, 0xFFFFFC04

# /* DRAM 60ns - single write. (offset 18 in upm RAM) */
# /* offsets 1d-1f not used */
     	.long	0x0FAFEC00,0x11BFEC07, 0xFFFFFC04, 0xFFFFFC04
	    .long	0xFFFFFC04, 0xFFFFFC04, 0xFFFFFC04, 0xFFFFFC04

# /* DRAM 60ns - burst write. (offset 20 in upm RAM) */
# /* offsets 2a-2f not used */
     	.long	0x0FAFEC00, 0x01AFEC4C, 0x08AFEC00, 0x01AFEC4C
	    .long	0x08AFEC00, 0x01AFEC4C, 0x08AFEC00, 0x11BFEC07
    	.long	0xFFFFFC04, 0xFFFFFC04, 0xFFFFFC04, 0xFFFFFC04
	    .long	0xFFFFFC04, 0xFFFFFC04, 0xFFFFFC04, 0xFFFFFC04
	
# /* refresh 60ns. (offset 30 in upm RAM) */
# /* offsets 37-3b not used */

    	.long	0xC0FFEC04, 0x03FFEC04, 0x3FFFEC04, 0xFFFFEC05
	    .long	0xFFFFFC04, 0xFFFFFC04, 0xFFFFFC04, 0xFFFFFC04
    	.long	0xFFFFFC04, 0xFFFFFC04, 0xFFFFFC04, 0xFFFFFC04

# /* exception. (offset 3c in upm RAM) */
# /* offset 3d-3f not used */
#
	    .long	0xFFFFEC07, 0xFFFFFC04, 0xFFFFFC04, 0xFFFFFC04
	
	.endc

	.if TM_DRAM70NS
	
# /* DRAM 70ns - single read. (offset 0 in upm RAM) */
# /* offsets 6-7 not used */
        .long      0x0fffcc24, 0x0fffcc04, 0x0cffcc04
        .long      0x00ffcc04, 0x00ffcc00, 0x37ffcc47
        .long      0xffffffff, 0xffffffff

# /* DRAM 70ns - burst read. (offset 8 in upm RAM) */
# /* offsets 16-17 not used */
        .long      0x0fffcc24, 0x0fffcc04, 0x08ffcc04, 0x00ffcc04
        .long      0x00ffcc08, 0x0cffcc44, 0x00ffec0c, 0x03ffec00
        .long      0x00ffec44, 0x00ffcc08, 0x0cffcc44, 0x00ffec04
        .long      0x00ffec00, 0x3fffec47
        .long      0xffffffff, 0xffffffff

# /* DRAM 70ns - single write. (offset 18 in upm RAM) */
# /* offsets 1d-1f not used */
        .long      0x0fafcc24, 0x0fafcc04, 0x08afcc04, 0x00afcc00, 0x37ffcc47
        .long      0xffffffff, 0xffffffff, 0xffffffff

# /* DRAM 70ns - burst write. (offset 20 in upm RAM) */
# /* offsets 2a-2f not used */
        .long      0x0fafcc24, 0x0fafcc04, 0x08afcc00, 0x07afcc4c
        .long      0x08afcc00, 0x07afcc4c, 0x08afcc00, 0x07afcc4c
        .long      0x08afcc00, 0x37afcc47
        .long      0xffffffff, 0xffffffff, 0xffffffff
        .long      0xffffffff, 0xffffffff, 0xffffffff

# /* refresh 70ns. (offset 30 in upm RAM) */
# /* offsets 37-3b not used */
# /* exception. (offset 3c in upm RAM) */
# /* offset 3d-3f not used */
#
        .long      0xe0ffcc84, 0x00ffcc04, 0x00ffcc04, 0x0fffcc04
        .long      0x7fffcc04, 0xffffcc86, 0xffffcc05
        .long      0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff
        .long      0x33ffcc07
        .long      0xffffffff, 0xffffffff, 0x40004650

	.endc

UpmTableEnd:
	
	.endc  #/* no speed defined */

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产一区二区三区四区五区入口| 亚洲超碰精品一区二区| 亚洲成人中文在线| 国产精品538一区二区在线| 欧美日韩精品高清| 亚洲精品写真福利| 高清成人免费视频| 欧美大片拔萝卜| 午夜视频一区二区三区| 99v久久综合狠狠综合久久| 久久婷婷综合激情| 日本成人在线看| 欧美日韩高清一区二区三区| 综合色天天鬼久久鬼色| 国产精品99久久久久久久vr| 亚洲欧美偷拍另类a∨色屁股| 久久99精品国产.久久久久久| 在线观看免费视频综合| 国产精品久久久久久久久搜平片| 免费人成精品欧美精品| 在线播放91灌醉迷j高跟美女| 日韩毛片高清在线播放| 国产99久久久久| 久久综合网色—综合色88| 天天综合色天天综合色h| 欧洲av在线精品| 亚洲综合丁香婷婷六月香| www.色精品| 国产精品欧美一区二区三区| 国产精品主播直播| 久久久国产精品不卡| 国产在线国偷精品产拍免费yy| 日韩欧美在线不卡| 日韩精品一区第一页| 欧美午夜精品一区二区蜜桃| 一区二区三区成人在线视频| 91福利在线观看| 亚洲天堂av一区| 一本一道综合狠狠老| 亚洲色图在线视频| a4yy欧美一区二区三区| 中文字幕亚洲精品在线观看| 懂色中文一区二区在线播放| 久久久久综合网| 国产aⅴ综合色| 欧美国产激情二区三区| 成人v精品蜜桃久久一区| 中文在线免费一区三区高中清不卡| 国产成人精品午夜视频免费| 久久精品视频在线看| 成人性生交大片免费看中文 | 国内精品伊人久久久久av影院 | 91成人看片片| 亚洲综合一二区| 欧美日本一区二区三区| 日本成人中文字幕| 欧美精品一区二| 国产成人精品aa毛片| 亚洲素人一区二区| 在线亚洲高清视频| 青青草国产成人av片免费| 亚洲精品一区二区三区在线观看 | 日韩制服丝袜先锋影音| 欧美一区二区女人| 国产综合色视频| 中文字幕巨乱亚洲| 91在线视频官网| 亚洲成人免费在线| 日韩精品一区二区三区在线播放| 国产精品538一区二区在线| 国产精品另类一区| 欧美在线free| 久久激情综合网| 中文字幕精品综合| 欧美在线观看一区二区| 久久精工是国产品牌吗| 国产精品污网站| 欧美卡1卡2卡| 国产一区激情在线| 亚洲免费高清视频在线| 日韩一卡二卡三卡| 成人在线一区二区三区| 亚洲成av人片观看| 久久久五月婷婷| 在线观看免费亚洲| 国产一区二区三区香蕉| 一区二区三区四区在线免费观看| 日韩欧美国产一二三区| 波多野结衣中文字幕一区| 亚洲成va人在线观看| 国产欧美日韩在线| 欧美探花视频资源| 国产精品99久久久久久似苏梦涵| 一区二区三区产品免费精品久久75| 欧美电视剧免费观看| 色婷婷综合久久久久中文一区二区 | 亚洲精品伦理在线| 精品精品国产高清a毛片牛牛| 97精品超碰一区二区三区| 麻豆精品在线视频| 亚洲天堂久久久久久久| 日韩精品中文字幕一区| 色综合色狠狠天天综合色| 蜜桃视频第一区免费观看| 亚洲色图视频网站| 精品裸体舞一区二区三区| 色婷婷精品久久二区二区蜜臀av| 久久99精品一区二区三区| 一区二区三区中文字幕精品精品| 久久亚洲精华国产精华液 | 国产成人午夜电影网| 亚洲高清在线精品| 国产精品久久久久久户外露出| 91精品国产麻豆国产自产在线| 波波电影院一区二区三区| 日本在线不卡视频| 伊人性伊人情综合网| 中文文精品字幕一区二区| 欧美电影免费观看高清完整版| 欧美亚洲另类激情小说| 成人h动漫精品| 国产精品一区久久久久| 日韩国产欧美三级| 亚洲伊人色欲综合网| 136国产福利精品导航| 久久先锋资源网| 欧美一区二区黄| 欧美私模裸体表演在线观看| 91小视频在线免费看| 国产成人在线影院| 精品一区二区在线看| 日韩电影在线观看网站| 亚洲在线一区二区三区| 综合久久久久久| 欧美激情一区二区在线| 久久精品在线观看| 日韩精品一区二区三区视频在线观看 | 日韩av在线发布| 亚洲影视资源网| 亚洲精品第1页| 亚洲欧美另类在线| 亚洲欧美综合色| 日韩一区日韩二区| 自拍偷在线精品自拍偷无码专区| 欧美激情一区二区三区不卡| 久久久久久久综合| 欧美大片国产精品| 精品久久国产字幕高潮| 日韩欧美国产综合| 日韩欧美你懂的| 日韩欧美一区二区免费| 日韩欧美国产麻豆| 日韩欧美一区中文| 洋洋成人永久网站入口| 成人免费在线播放视频| 中文字幕一区在线观看| 国产精品久久777777| 中文字幕一区二区在线播放| 中文字幕av资源一区| 国产精品短视频| 国产精品美女久久久久久久久 | 91精品国产欧美日韩| 91精品国产色综合久久不卡蜜臀| 欧美片在线播放| 欧美一区二区三区男人的天堂| 日韩视频在线永久播放| 欧美一激情一区二区三区| 日韩亚洲欧美在线| 欧美一区二区观看视频| 日韩免费看的电影| 精品免费视频一区二区| 欧美不卡视频一区| 久久久777精品电影网影网 | 欧美日韩久久久一区| 欧美精品日韩精品| 日韩亚洲欧美在线| 久久久青草青青国产亚洲免观| 中文字幕乱码亚洲精品一区| 国产精品麻豆久久久| 一区二区三区小说| 婷婷综合久久一区二区三区| 免费人成在线不卡| 国产老女人精品毛片久久| 不卡的电影网站| 欧美又粗又大又爽| 日韩欧美一区二区在线视频| 国产欧美va欧美不卡在线| 18成人在线视频| 肉肉av福利一精品导航| 国产精品亚洲视频| 97se亚洲国产综合自在线观| 欧美日韩欧美一区二区| 日韩免费电影一区| 国产精品嫩草影院av蜜臀| 亚洲h精品动漫在线观看| 老司机午夜精品| av激情成人网| 制服丝袜中文字幕一区| 国产色产综合产在线视频| 亚洲在线观看免费|