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

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

?? mmu.c

?? Supervivi的源碼
?? C
字號:
/* * vivi/arch/s3c2440/mmu.c: Simple memory mapping * * Copyriget (C) 2001,2002 MIZI Research, Inc. * * Author: Janghoon Lyu <nandy@mizi.com> * Date  : $Date: 2004/02/04 06:22:24 $ * * $Revision: 1.1.1.1 $ * * Note:  * * * History * * 2002-05-15: Janghoon Lyu <nandy@mizi.com> *    - Initial code *  * 2002-07-15: Janghoon Lyu <nandy@mizi.com> *     */#include "config.h"#include "machine.h"#include "mmu.h"#include "vivi_string.h"static unsigned long *mmu_tlb_base = (unsigned long *) MMU_TABLE_BASE;/* * cpu_arm920_cache_clean_invalidate_all() * * clean and invalidate all cache lines * */static inline void cpu_arm920_cache_clean_invalidate_all(void){__asm__(	"	mov	r1, #0\n"	"	mov	r1, #7 << 5\n"		  /* 8 segments */	"1:	orr	r3, r1, #63 << 26\n"	  /* 64 entries */	"2:	mcr	p15, 0, r3, c7, c14, 2\n" /* clean & invalidate D index */	"	subs	r3, r3, #1 << 26\n"	"	bcs	2b\n"			  /* entries 64 to 0 */	"	subs	r1, r1, #1 << 5\n"	"	bcs	1b\n"			  /* segments 7 to 0 */	"	mcr	p15, 0, r1, c7, c5, 0\n"  /* invalidate I cache */	"	mcr	p15, 0, r1, c7, c10, 4\n" /* drain WB */	);}void cache_clean_invalidate(void){	cpu_arm920_cache_clean_invalidate_all();}/* * cpu_arm920_tlb_invalidate_all() * * Invalidate all TLB entries */static inline void cpu_arm920_tlb_invalidate_all(void){	__asm__(		"mov	r0, #0\n"		"mcr	p15, 0, r0, c7, c10, 4\n"	/* drain WB */		"mcr	p15, 0, r0, c8, c7, 0\n"	/* invalidate I & D TLBs */		);}#if 0/* ARM920T S3C2440, S3C2440 */void MMU_SetFastBusMode(void){	/* R1_nF|R1_iA */	__asm__(		"mrc	p15, 0, r0, c1, c0, #0\n"		"bic 	r0, r0, #( 3 << 30 )\n"		"mcr	p15, 0, r0, c1, c0, 0 \n"	       );}void MMU_SetAsyncBusMode(void){	__asm__(		"mrc	p15, 0, r0, c1, c0, #0\n"		"orr 	r0, r0, #( 3 << 30 )\n"		"mcr	p15, 0, r0, c1, c0, 0 \n"	       );}#endifvoid tlb_invalidate(void){	cpu_arm920_tlb_invalidate_all();}static inline void arm920_setup(void){	unsigned long ttb = MMU_TABLE_BASE;__asm__(	/* Invalidate caches */	"mov	r0, #0\n"	"mcr	p15, 0, r0, c7, c7, 0\n"	/* invalidate I,D caches on v4 */	"mcr	p15, 0, r0, c7, c10, 4\n"	/* drain write buffer on v4 */	"mcr	p15, 0, r0, c8, c7, 0\n"	/* invalidate I,D TLBs on v4 */	/* Load page table pointer */	"mov	r4, %0\n"	"mcr	p15, 0, r4, c2, c0, 0\n"	/* load page table pointer */	/* Write domain id (cp15_r3) */	"mvn	r0, #0\n"			/* Domains 0, 1 = client */	"mcr	p15, 0, r0, c3, c0, 0\n"	/* load domain access register */	/* Set control register v4 */	"mrc	p15, 0, r0, c1, c0, 0\n"	/* get control register v4 */	/* Clear out 'unwanted' bits (then put them in if we need them) */						/* .RVI ..RS B... .CAM */ 	"bic	r0, r0, #0x3000\n"		/* ..11 .... .... .... */	"bic	r0, r0, #0x0300\n"		/* .... ..11 .... .... */	"bic	r0, r0, #0x0087\n"		/* .... .... 1... .111 */	/* Turn on what we want */	/* Fault checking enabled */	"orr	r0, r0, #0x0002\n"		/* .... .... .... ..1. */#ifdef CONFIG_CPU_D_CACHE_ON	"orr	r0, r0, #0x0004\n"		/* .... .... .... .1.. */#endif  #ifdef CONFIG_CPU_I_CACHE_ON 	"orr	r0, r0, #0x1000\n"		/* ...1 .... .... .... */#endif  	/* MMU enabled */	"orr	r0, r0, #0x0001\n"		/* .... .... .... ...1 */	"mcr	p15, 0, r0, c1, c0, 0\n"	/* write control register */	: /* no outputs */	: "r" (ttb) );}void mmu_init(void){	arm920_setup();}static void copy_vivi_to_ram(void){	putstr_hex("Evacuating 1MB of Flash to DRAM at 0x", VIVI_RAM_BASE);	memcpy((void *)VIVI_RAM_BASE, (void *)VIVI_ROM_BASE, VIVI_RAM_SIZE);}static inline void mem_mapping_linear(void){	unsigned long pageoffset, sectionNumber;	putstr_hex("MMU table base address = 0x", (unsigned long)mmu_tlb_base);	/* 4G 康開闌 1:1肺 概俏. not cacacheable, not bufferable */	for (sectionNumber = 0; sectionNumber < 4096; sectionNumber++) {		pageoffset = (sectionNumber << 20);		*(mmu_tlb_base + (pageoffset >> 20)) = pageoffset | MMU_SECDESC;	}	/* make dram cacheable */	for (pageoffset = DRAM_BASE; pageoffset < (DRAM_BASE+DRAM_SIZE); pageoffset += SZ_1M) {		//DPRINTK(3, "Make DRAM section cacheable: 0x%08lx\n", pageoffset);		*(mmu_tlb_base + (pageoffset >> 20)) = pageoffset | MMU_SECDESC | MMU_CACHEABLE; 	}}static inline void nor_flash_mapping(void){	unsigned long offset, cached_addr, uncached_addr;	cached_addr = FLASH_BASE;	uncached_addr = FLASH_UNCACHED_BASE;	for (offset = 0; offset < FLASH_SIZE; offset += MMU_SECTION_SIZE) { 		cached_addr += offset;		uncached_addr += offset;		*(mmu_tlb_base + (cached_addr >> 20)) = \				(cached_addr | MMU_SECDESC | MMU_CACHEABLE);		*(mmu_tlb_base + (uncached_addr >> 20)) = \				(cached_addr | MMU_SECDESC);	}}/* * mapping Flash bootloader area to the RAM bootloader area */static inline void nor_flash_remapping(void){	putstr_hex("Map flash virtual section to DRAM at 0x", VIVI_RAM_BASE);	*(mmu_tlb_base + (VIVI_ROM_BASE >> 20)) = \				(VIVI_RAM_BASE | MMU_SECDESC | MMU_CACHEABLE);}void mem_map_nand_boot(void){	mem_mapping_linear();}#ifndef CONFIG_S3C2440_NAND_BOOTvoid mem_map_nor(void){	copy_vivi_to_ram();	mem_mapping_linear();	nor_flash_mapping();	nor_flash_remapping();}#endifvoid mem_map_init(void){#ifdef CONFIG_S3C2440_NAND_BOOT	mem_map_nand_boot();#else	mem_map_nor();#endif	cache_clean_invalidate();	tlb_invalidate();}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品国产一区二区三区忘忧草| 国产精品久久久久9999吃药| 国产片一区二区| 亚洲精品欧美二区三区中文字幕| 视频一区视频二区在线观看| 国产不卡在线播放| 欧美伦理视频网站| 亚洲丝袜自拍清纯另类| 国产一区二区三区免费观看| 欧美日韩精品一二三区| 综合久久给合久久狠狠狠97色| 麻豆国产欧美一区二区三区| 91久久线看在观草草青青| 26uuu色噜噜精品一区二区| 亚洲免费在线看| 国产99久久久国产精品潘金| 日韩欧美中文字幕公布| 一区二区在线观看不卡| 成人动漫中文字幕| 国产亚洲精品超碰| 国产一区二区h| 日韩欧美精品在线视频| 麻豆久久一区二区| 日韩午夜精品电影| 性做久久久久久| 欧美日韩和欧美的一区二区| 亚洲最新在线观看| 91麻豆精品一区二区三区| 中文字幕一区日韩精品欧美| 国产成人精品一区二区三区四区| 欧美精品一区二区高清在线观看| 日韩福利视频网| 在线不卡的av| 亚洲一区二区三区自拍| 91成人免费网站| 天堂成人国产精品一区| 欧美日韩视频第一区| 日韩高清在线不卡| 26uuu国产在线精品一区二区| 日本视频一区二区| 日韩情涩欧美日韩视频| 极品瑜伽女神91| 精品国产欧美一区二区| 极品少妇一区二区| 日韩一级片在线观看| 美女看a上一区| 精品国产一区二区亚洲人成毛片| 狠狠色丁香久久婷婷综| 欧美经典三级视频一区二区三区| 粉嫩一区二区三区在线看| **欧美大码日韩| 欧美理论片在线| 极品少妇xxxx偷拍精品少妇| 国产精品久久看| 日本高清免费不卡视频| 午夜视频一区在线观看| 91福利区一区二区三区| 免费成人在线网站| 国产亚洲成年网址在线观看| 91性感美女视频| 午夜日韩在线电影| 欧美videos大乳护士334| 国产风韵犹存在线视精品| 国产精品久99| 欧美肥胖老妇做爰| 国产成人久久精品77777最新版本| 亚洲欧美日韩国产另类专区| 欧美一区二区在线不卡| 国产91精品精华液一区二区三区| 亚洲精品水蜜桃| 91精品国产91久久综合桃花| 成人福利电影精品一区二区在线观看 | av一二三不卡影片| 亚洲福利电影网| 国产日韩av一区二区| 日本精品免费观看高清观看| 久久精品国产精品亚洲综合| 最新中文字幕一区二区三区| 欧美欧美欧美欧美首页| 成人黄色小视频| 久久精品国产77777蜜臀| 中文字幕亚洲电影| 欧美变态口味重另类| 91蜜桃网址入口| 国产成人亚洲综合色影视| 偷窥少妇高潮呻吟av久久免费| 国产女人aaa级久久久级 | 精品国产一区久久| 91国产免费观看| 成人18视频日本| 美女任你摸久久| 午夜精品视频在线观看| 自拍偷拍亚洲激情| 久久久国产综合精品女国产盗摄| 欧美色综合网站| 91蜜桃免费观看视频| 国产91精品精华液一区二区三区 | eeuss鲁片一区二区三区在线看| 奇米精品一区二区三区在线观看 | 亚洲少妇屁股交4| 精品sm捆绑视频| 日韩视频一区二区| 欧美色综合网站| 欧美性大战久久久| 色婷婷综合久久久中文一区二区| 国产成人免费9x9x人网站视频| 麻豆久久久久久久| 美女网站视频久久| 免费观看日韩av| 免费观看久久久4p| 午夜欧美一区二区三区在线播放| 亚洲欧美另类在线| 亚洲人成精品久久久久| 中文字幕一区二区三区视频| 国产片一区二区三区| 欧美国产视频在线| 国产精品久久久久9999吃药| 中文字幕亚洲精品在线观看| 国产精品久久三| 一区二区三区中文免费| 亚洲午夜免费视频| 亚洲第一福利一区| 视频一区二区三区入口| 美女国产一区二区| 极品少妇xxxx精品少妇偷拍| 国产在线看一区| 成人视屏免费看| 99re在线视频这里只有精品| 91国偷自产一区二区三区成为亚洲经典| 99久久精品国产精品久久| 91九色02白丝porn| 3d成人动漫网站| 精品国产乱码久久久久久久久| 久久久欧美精品sm网站| 中文欧美字幕免费| 亚洲精品久久久久久国产精华液| 亚洲综合网站在线观看| 日本成人在线不卡视频| 国产美女精品人人做人人爽| 99re这里都是精品| 欧美精品久久久久久久多人混战| 日韩欧美一区在线| 国产精品三级视频| 亚洲午夜久久久久中文字幕久| 日本视频在线一区| 成人激情av网| 欧美久久久久久蜜桃| 久久毛片高清国产| 一区二区三区 在线观看视频| 图片区小说区国产精品视频| 精久久久久久久久久久| 日本乱人伦一区| 日韩三级在线观看| 亚洲色图另类专区| 久久精品免费看| av一区二区久久| 日韩欧美国产一区二区在线播放| 国产精品嫩草99a| 日韩激情一区二区| 成人爱爱电影网址| 日韩一二三区视频| 一区二区中文视频| 精品在线一区二区| 欧美午夜不卡在线观看免费| 国产性做久久久久久| 亚瑟在线精品视频| 91免费观看在线| 久久这里都是精品| 亚洲图片欧美视频| 成人av影视在线观看| 日韩午夜精品视频| 亚洲成人av福利| 92精品国产成人观看免费 | 亚洲欧美激情视频在线观看一区二区三区| 天天免费综合色| 91在线精品秘密一区二区| 欧美精品一区二区三区一线天视频| 亚洲综合色成人| 成人av电影免费在线播放| 欧美成人猛片aaaaaaa| 亚洲一区二区av在线| 99国产精品久久久| 国产欧美视频一区二区| 麻豆91免费观看| 欧美日韩dvd在线观看| 亚洲视频小说图片| 成人美女视频在线观看18| 精品国产乱码久久久久久久| 蜜臀av性久久久久蜜臀av麻豆| 欧美自拍丝袜亚洲| 亚洲激情自拍视频| www.亚洲精品| 中文字幕一区二区三区不卡在线 | 国产精品一二三四区| 欧美一级欧美三级| 日本不卡一二三区黄网| 欧美日韩高清一区| 视频在线在亚洲| 国产精品日韩成人| 成人免费视频视频在线观看免费 |