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

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

?? starto.s

?? 國產CPU-龍芯(loongson)BIOS源代碼
?? S
?? 第 1 頁 / 共 2 頁
字號:
/*	$Id: starto.S,v 1.7 2004/05/27 04:14:49 wlin Exp $ *//* * Copyright (c) 2001 Opsycon AB  (www.opsycon.se) *  * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright *    notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright *    notice, this list of conditions and the following disclaimer in the *    documentation and/or other materials provided with the distribution. * 3. All advertising materials mentioning features or use of this software *    must display the following acknowledgement: *	This product includes software developed by Opsycon AB, Sweden. * 4. The name of the author may not be used to endorse or promote products *    derived from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * */#ifndef _KERNEL#define _KERNEL#endif#include <asm.h>#include <regnum.h>#include <cpu.h>#include <pte.h>#include "target/it8172.h"#include "pmon/dev/ns16550.h"#define DEBUG_LOCORE#ifdef DEBUG_LOCORE#define	TTYDBG(x) \	.rdata;98: .asciz x; .text; la a0, 98b; bal stringserial; nop#else#define TTYDBG(x)#endif#define	PRINTSTR(x) \	.rdata;98: .asciz x; .text; la a0, 98b; bal stringserial; nop/* *   Register usage: * *	s0	link versus load offset, used to relocate absolute adresses. *	s1	free *	s2	base address to ITE chip. *	s3	L1 I cache size. *	s4	L1 I cache line size. *	s5	L1 D cache size. *	s6	L1 D cache line size. *	s7	L2 Cache size. *	s8	L3 Cache size. */	.set	noreorder	.globl	_start	.globl	start	.globl	__main_start:start:	.globl	stackstack = start - 0x4000		/* Place PMON stack below PMON start in RAM *//* NOTE!! Not more that 16 instructions here!!! Right now it's FULL! */	la	sp, stack	la	gp, _gp	bal	uncached		/* Switch to uncached address space */	nop	bal	locate			/* Get current execute address */	nopuncached:	or	ra, UNCACHED_MEMORY_ADDR	j	ra	nop/* *  Reboot vector usable from outside pmon. */	.align	8ext_map_and_reboot:	bal	CPU_TLBClear	nop	li	a0, 0xc0000000	li	a1, 0x40000000	bal	CPU_TLBInit	nop	la	v0, tgt_reboot	la	v1, start	subu	v0, v1	lui	v1, 0xffc0	addu	v0, v1	jr	v0	nop/* *  Exception vectors here for rom, before we are up and running. Catch *  whatever comes up before we have a fully fledged exception handler. */	.align	9			/* bfc00200 */	la	a0, v200_msg	bal	stringserial	nop	b	exc_common	.align	7			/* bfc00280 */	la	a0, v280_msg	bal	stringserial	nop	b	exc_common/* Cache error */	.align	8			/* bfc00300 */	PRINTSTR("\r\nPANIC! Unexpected Cache Error exception! ")	mfc0	a0, COP_0_CACHE_ERR	bal	hexserial	nop	b	exc_common/* General exception */	.align	7			/* bfc00380 */	la	a0, v380_msg	bal	stringserial	nop	b	exc_common	.align	8			/* bfc00400 */	la	a0, v400_msg	bal	stringserial	nopexc_common:	PRINTSTR("\r\nERRORPC=")	mfc0	a0, COP_0_ERROR_PC	bal	hexserial	nop	PRINTSTR("\r\nEPC=")	mfc0	a0, COP_0_EXC_PC	bal	hexserial	nop	PRINTSTR("\r\n(EPC)=")	mfc0	a0, COP_0_EXC_PC	lw	a0, (a0)	bal	hexserial	nop	PRINTSTR("\r\nSTATUS=")	mfc0	a0, COP_0_STATUS_REG	bal	hexserial	nop	PRINTSTR("\r\nCAUSE=")	mfc0	a0, COP_0_CAUSE_REG	bal	hexserial	nop	PRINTSTR("\r\nBADVADDR=")#if __mips >= 3	dmfc0	a0, $8        dsrl  a0,a0,32	bal	hexserial        nop#endif	mfc0	a0, $8	bal	hexserial	nop	PRINTSTR("\r\nDERR0=")	cfc0	a0, COP_0_DERR_0	bal	hexserial	nop	PRINTSTR("\r\nDERR1=")	cfc0	a0, COP_0_DERR_1	bal	hexserial	nop		1:	 b  1b        nop	 //	b	ext_map_and_reboot	nop/* * gpio function define          */#define GPIO_LOOP       10000#define MK_LAT(v)\        li              t0, (v);        \9:      subu    t0, 1;          \        bne             t0, 0, 9b;      \        nop;#if 1#define FLASH_GPIO(a)   \        li      a0, (a)         ;\        bal     __flash_gpio    ;\        nop#else#define FLASH_GPIO(a)   \        li      t1, 0xb4013802;\        li      t0, 0x550       ;\        sh      t0, (t1)        ;\        subu    t1, t1, 2;\        li      t0, (a)         ;\        sll     t0, 2           ;\        sb      t0, (t1);       \        MK_LAT(GPIO_LOOP);#endif/*  * LED       */    #define FLASH_LED(a)    \        li      a0, (a)         ;\        bal     __led_display   ;\        nop/* *  We get here from executing a bal to get the PC value of the current execute *  location into ra. Check to see if we run from ROM or if this is ramloaded. */	.align 8    /*bfc00500*/	.word read	.word write	.word open	.word close	.word nullfunction	.word printf	.word vsprintf	.word nullfunction	.word nullfunction	.word getenv	.word nullfunction	.word nullfunction	.word nullfunction	.word nullfunction	locate:	bal init_regs	nop	la	s0, start		/* RA set from BAL above! */	subu	s0, ra, s0		/* s0 is now load vs. link offset */	and	s0, 0xffff0000		/* Mask off lower bits *//* * Initialize Configuration for board */        mfc0    t1, COP_0_STATUS_REG                   mtc0    zero, COP_0_CAUSE_REG                  and             t1, SR_SOFT_RESET       #        or              t1, SR_BOOT_EXC_VEC      # Should be omited because it has been done before        mtc0    t1, COP_0_STATUS_REG           # Set STATUS Reg	li	t1, 0xa000038c	mtc0	t1, COP_0_ERROR_PC        nop/* *  Init serial I/O for diagnostic output. */        bal     initserial        nop        PRINTSTR("\r\nPMON2000 MIPS Initializing. Standby...\r\n")        PRINTSTR("ERRORPC=")        mfc0    a0, COP_0_ERROR_PC        bal     hexserial        nop        FLASH_GPIO(0x04)                # GPD 2..4 => 0001        PRINTSTR(" CONFIG=")        mfc0    a0, COP_0_CONFIG        bal     hexserial        nop        PRINTSTR("\r\n")        la      s0, start               /* RA set from BAL above! */        subu    s0, ra, s0              /* s0 is now load vs. link offset */        and     s0, 0xffff0000          /* Mask off lower bits */        //TTYDBG("Setting up SDRAM controller\r\n");/* *  Reset and initialize caches to a known state. */#define IndexStoreTagI	0x08#define IndexStoreTagD	0x09#define IndexStoreTagS	0x0b#define IndexStoreTagT	0x0a#define FillI		0x14#if 0/* *  Clean out and initialize the TLB */	bal	CPU_TLBClear	nop	li	a0, 0xc0000000	li	a1, 0x40000000	bal	CPU_TLBInit	nop#endif /* Initialize Cache */	TTYDBG("Cache initializing..\r\n")	bal godson2_cache_init	nop	TTYDBG("Done\r\n")/* Memory test */#	bal mem_test#	nop/* *  At this point all memory controller setup should have been done *  and we should be able to function 'normally' and C code can be *  used freely from this point. *//* If use compression all the datas have been already loaded into memory */#if 0	la	a0, start	li	a1, 0xbfc00000	la	a2, _edata	subu	t1, a2, a0	srl     t1, t1, 2	/* copy text section */	li	t0, 01:	lw	v0, 0(a1)	nop	sw	v0, 0(a0)	move 	t1, a0	lw	a0, 0(t1)	bal	hexserial	nop	move	a0, t1	addu	a0, 4	bne a2, a0, 1b	addu	a1, 4#endif		/* Clear BSS */	la	a0, _edata	la	a2, _end	or	a0, KSEG1	or	a2, KSEG1	2:	sw	zero, 0(a0)	bgt 	a2, a0, 2b	addu	a0, 4	TTYDBG("Copy PMON to execute location done.\r\n")	li	a0,0x04000000 /* 64Mb */	nop	la	v0, initmips	nop	jalr	v0	nopstuck:#ifdef DEBUG_LOCORE	TTYDBG("Dumping IT8172 setup.\r\n")	TTYDBG("offset----data------------------------.\r\n")	li	s3, 01:	move	a0, s3	bal	hexserial	nop	TTYDBG(": ")2:	add	a0, s3, s2	lw	a0, 0(a0)	bal	hexserial	addiu	s3, 4	TTYDBG(" ")	li	a0, 0xfff	and	a0, s3	beqz	a0, 3f	li	a0, 0x01f	and	a0, s3	bnez	a0, 2b	TTYDBG("\r\n")	b	1b	nop3:	b	3b	nop#else	b	stuck	nop#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产一区 二区 三区一级| 精品久久国产老人久久综合| 精品中文字幕一区二区小辣椒| 亚洲一本大道在线| 悠悠色在线精品| 亚洲精品美腿丝袜| 亚洲一区二区在线免费观看视频| 成人免费在线视频观看| 中文字幕一区二区在线播放| 国产精品天天看| 国产精品久久久久9999吃药| 国产午夜精品一区二区| 久久久精品日韩欧美| 久久精品夜色噜噜亚洲aⅴ| 亚洲精品一二三| 欧美精品一区二区三区高清aⅴ| 欧美一区二区三区视频免费播放| 7878成人国产在线观看| 欧美一级二级三级蜜桃| 日韩一区二区三区免费观看| 日韩精品中文字幕一区| 久久久久久亚洲综合影院红桃| 久久先锋资源网| 亚洲国产电影在线观看| 中文字幕一区在线观看视频| 亚洲精品免费在线播放| 亚洲成av人片在线| 青青国产91久久久久久 | 日韩理论在线观看| 国产精品国产三级国产有无不卡| 亚洲欧美日韩国产综合| 亚洲线精品一区二区三区八戒| 丝袜美腿一区二区三区| 洋洋av久久久久久久一区| 蜜臀av性久久久久av蜜臀妖精| 亚洲夂夂婷婷色拍ww47| 色噜噜偷拍精品综合在线| 亚洲精品国产品国语在线app| 国产精品免费久久久久| 亚洲欧美一区二区三区极速播放| 亚洲另类春色国产| 亚洲综合一区在线| 亚洲成a人片在线观看中文| 午夜伊人狠狠久久| 美日韩一区二区三区| 国内精品久久久久影院薰衣草 | 精品一区二区在线视频| 亚洲成人午夜影院| 日韩一区二区视频| 久久久久久久久伊人| 国产精品一区二区你懂的| 一区二区欧美视频| 国产精品色婷婷久久58| 亚洲高清视频中文字幕| 极品销魂美女一区二区三区| av成人动漫在线观看| 欧美日韩精品一区二区| 久久一区二区三区国产精品| 亚洲日本va午夜在线影院| 日韩av电影一区| 成人午夜av在线| 91精品国产入口在线| 国产精品久久久久久福利一牛影视| 视频一区视频二区在线观看| 国产成人精品aa毛片| 欧美日本一区二区| 欧美激情一区在线观看| 日本亚洲最大的色成网站www| 成人激情黄色小说| 精品女同一区二区| 欧美日韩国产电影| 久久精品一区二区三区av| 亚洲一区在线免费观看| 国产高清一区日本| 欧美高清视频一二三区| 国产精品久久久久久久裸模| 日本美女一区二区| 在线观看日韩一区| 国产精品白丝在线| 韩国av一区二区| 欧美日韩精品三区| 亚洲天堂福利av| 国产精品99久久久久久宅男| 51精品久久久久久久蜜臀| 中文字幕一区二区三区四区不卡| 日韩激情在线观看| 一本一道久久a久久精品| 国产欧美一区二区三区在线老狼| 婷婷综合久久一区二区三区| 色域天天综合网| 中文字幕电影一区| 国产精品77777竹菊影视小说| 欧美日韩在线三区| 亚洲精品精品亚洲| 不卡的av中国片| 国产香蕉久久精品综合网| 久久精品国产精品亚洲综合| 56国语精品自产拍在线观看| 亚洲精品国产视频| 一本色道久久综合亚洲精品按摩| 久久精品视频免费观看| 美美哒免费高清在线观看视频一区二区| 欧美专区在线观看一区| 亚洲人成网站色在线观看| 成人午夜私人影院| 国产三级欧美三级| 国产精品中文字幕日韩精品| 精品国内片67194| 蜜乳av一区二区三区| 91精品国产欧美一区二区| 喷水一区二区三区| 日韩区在线观看| 精品一区二区三区在线播放| 51午夜精品国产| 日本欧美肥老太交大片| 欧美一级午夜免费电影| 免费成人性网站| 精品久久人人做人人爽| 亚洲视频一区在线观看| 在线电影欧美成精品| 99久久免费国产| 精品一区二区三区在线观看| 亚洲人精品午夜| 亚洲嫩草精品久久| 久久久久88色偷偷免费| 欧美日韩免费观看一区二区三区| 成人免费视频免费观看| 日一区二区三区| 亚洲精品国产视频| 国产精品久久网站| 日韩欧美国产电影| 日韩伦理av电影| 一本久久精品一区二区| 成人做爰69片免费看网站| 亚洲精选一二三| 日本一区二区高清| 亚洲图片欧美一区| 亚洲色图第一区| 亚洲欧美国产77777| 综合亚洲深深色噜噜狠狠网站| 欧美日韩性生活| 99久久久久久| 99视频一区二区| 波多野结衣中文字幕一区二区三区| 日本高清不卡一区| 一区二区成人在线| 国产91精品一区二区麻豆网站| 亚洲丰满少妇videoshd| 7777精品伊人久久久大香线蕉超级流畅| 日日欢夜夜爽一区| 精品视频一区二区三区免费| 极品少妇一区二区三区精品视频| 国产亚洲精品aa| 99热精品国产| 亚洲精品美国一| 2020日本不卡一区二区视频| 成人综合在线观看| 一区二区三区欧美久久| 欧美日韩亚洲综合| 盗摄精品av一区二区三区| 亚洲人成精品久久久久| 欧美日韩一卡二卡三卡| 亚洲国产精品天堂| 国产女人aaa级久久久级| 一本色道久久加勒比精品| 日本视频一区二区三区| 欧美mv和日韩mv国产网站| 91久久人澡人人添人人爽欧美| 日本不卡一区二区三区高清视频| 国产拍揄自揄精品视频麻豆| 成人动漫一区二区三区| 美女一区二区在线观看| 国产精品久久久久久亚洲伦| 欧美日韩精品一区二区三区四区 | 亚洲国产欧美日韩另类综合| 日韩精品中午字幕| 欧美午夜精品一区二区三区| 国模冰冰炮一区二区| 日本午夜一区二区| 一区二区三区美女| 91精品国产免费| 色综合久久久久综合体| 久久国产三级精品| 亚洲桃色在线一区| 亚洲精品一区二区三区影院 | 国产999精品久久久久久绿帽| 一区二区欧美精品| 久久九九全国免费| 精品视频在线免费| 成人av午夜影院| 久久成人麻豆午夜电影| 亚洲国产视频网站| 中文字幕精品—区二区四季| 666欧美在线视频| 91丨九色丨尤物| 成人黄动漫网站免费app| 另类小说综合欧美亚洲| 亚洲国产中文字幕在线视频综合| 日韩精品一区二区三区视频播放 | 久久综合色之久久综合|