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

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

?? mmu.c

?? vivi源碼代碼支持usb下載功能
?? 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一区二区三区免费野_久草精品视频
欧美不卡在线视频| 97精品电影院| 亚洲精品一区二区三区精华液| 日韩专区中文字幕一区二区| 欧美日韩精品一区二区三区| 亚洲成人先锋电影| 日韩欧美国产小视频| 国产毛片精品一区| 亚洲天堂精品视频| 欧美亚洲一区二区在线观看| 午夜欧美在线一二页| 欧美成人在线直播| 成人午夜av在线| 亚洲综合免费观看高清在线观看| 欧美日韩在线播放三区四区| 人人狠狠综合久久亚洲| 久久影院午夜论| 91蜜桃传媒精品久久久一区二区| 亚洲高清久久久| 日韩免费电影网站| av一区二区久久| 日韩中文字幕麻豆| 国产日韩av一区| 欧美在线观看一二区| 久久精品国产精品亚洲精品| 国产精品美女久久福利网站| 欧美日韩三级一区二区| 国产精品综合在线视频| 一区二区三区四区在线免费观看| 欧美精品日韩一本| 国产.精品.日韩.另类.中文.在线.播放| 亚洲视频精选在线| 2023国产精品自拍| 欧美日韩综合在线| 国产成人在线视频网址| 亚洲成人免费影院| 国产女主播视频一区二区| 欧美电影在哪看比较好| 成人18视频日本| 免费人成精品欧美精品| 亚洲日本乱码在线观看| 欧美成人一区二区三区片免费 | 日韩精品自拍偷拍| 久久免费偷拍视频| 亚洲国产精品久久一线不卡| 99re8在线精品视频免费播放| 97国产一区二区| 综合久久久久久| 色综合久久久久| 亚洲日本一区二区| 欧美日韩国产中文| 奇米色777欧美一区二区| 欧美高清在线一区二区| 欧美日韩国产小视频在线观看| 国产精品综合av一区二区国产馆| 亚洲福利视频一区二区| 最新热久久免费视频| 国产视频一区二区在线| 日韩视频免费直播| 欧美日本不卡视频| 欧美制服丝袜第一页| 不卡的电影网站| 国产高清成人在线| 国产一区二区在线视频| 天堂在线一区二区| 亚洲成a人片在线观看中文| 亚洲欧洲精品成人久久奇米网| 久久久电影一区二区三区| 欧美一级在线免费| 91麻豆精品国产91久久久使用方法| 91国内精品野花午夜精品| 成人国产视频在线观看| 国产精品一区二区三区网站| 国精品**一区二区三区在线蜜桃| 麻豆成人在线观看| 久久99国内精品| 国产在线乱码一区二区三区| 国产乱色国产精品免费视频| 久久成人av少妇免费| 国产一区二区免费视频| 国产伦精品一区二区三区免费迷| 国产一区二区精品久久| 国产成人免费视频一区| 成人激情免费电影网址| 不卡av电影在线播放| 91视视频在线观看入口直接观看www| 成人精品免费网站| 91蝌蚪porny| 欧美视频在线一区| 欧美精品久久一区二区三区| 欧美一区二区三区四区久久| 日韩美女天天操| 精品国产成人系列| 国产欧美一区二区在线| 国产精品久久久久久久久久免费看 | 2023国产一二三区日本精品2022| 国产网红主播福利一区二区| 日韩精品在线网站| 国产免费久久精品| 欧美成人激情免费网| 国产亚洲一本大道中文在线| 国产农村妇女精品| 国产精品亚洲第一| 成人app软件下载大全免费| 国产一区二区免费视频| 国产一区二区毛片| 丁香亚洲综合激情啪啪综合| 狠狠v欧美v日韩v亚洲ⅴ| 老司机精品视频一区二区三区| 国产伦精品一区二区三区视频青涩 | 99精品视频一区二区| jizzjizzjizz欧美| 欧美亚洲国产一区在线观看网站 | 国产婷婷色一区二区三区| 中文字幕av不卡| 亚洲综合丁香婷婷六月香| 麻豆精品国产传媒mv男同| 91视频一区二区| 欧美三区在线视频| 欧美一级午夜免费电影| xnxx国产精品| 亚洲国产人成综合网站| 春色校园综合激情亚洲| 欧美日韩一区二区欧美激情| 欧美一区在线视频| 这里只有精品免费| 亚洲欧洲精品天堂一级| 国产精品一区二区三区四区 | 欧美日韩黄色一区二区| 欧美videos中文字幕| 亚洲色图另类专区| 美女视频免费一区| 91啦中文在线观看| 久久午夜色播影院免费高清| 亚洲与欧洲av电影| 国产传媒日韩欧美成人| 欧美另类久久久品| 亚洲图片激情小说| 国产在线不卡一区| 日韩一区二区麻豆国产| 亚洲精品日韩专区silk| 国产精品一二三四五| 日韩午夜电影在线观看| 怡红院av一区二区三区| 高清国产一区二区| 久久影院午夜论| 蜜乳av一区二区| 欧美久久久久免费| 亚洲综合久久久久| 91免费观看视频在线| 国产精品麻豆99久久久久久| 国产乱子伦视频一区二区三区 | 精品久久人人做人人爱| 午夜欧美视频在线观看 | 欧美日韩大陆一区二区| 亚洲免费毛片网站| 99久久婷婷国产综合精品| 中文在线免费一区三区高中清不卡| 久久国产精品一区二区| 日韩欧美中文字幕公布| 免费在线视频一区| 日韩一级片网址| 男女视频一区二区| 日韩美女啊v在线免费观看| 欧美日韩一区久久| 91精品国产欧美日韩| 一区二区欧美在线观看| 色综合久久99| 亚洲欧美一区二区久久| 91在线免费视频观看| 久久精品在线免费观看| 国产精品影视天天线| 久久精品夜色噜噜亚洲aⅴ| 色婷婷久久99综合精品jk白丝| 一色屋精品亚洲香蕉网站| 成人综合在线视频| 日本一区二区三区电影| 成人免费的视频| 国产精品乱人伦| 色域天天综合网| 亚洲国产日韩精品| 日韩一区国产二区欧美三区| 美女视频网站久久| 日本一区二区三区dvd视频在线| 高清视频一区二区| 综合中文字幕亚洲| 欧美日韩精品一区二区三区蜜桃| 首页国产丝袜综合| 精品国产区一区| 国产精品18久久久久久久久久久久| 国产精品网站在线观看| 91免费观看视频在线| 日韩电影在线一区二区| 久久亚洲精品国产精品紫薇| 国产成人在线免费| 一级中文字幕一区二区| 91精品国产色综合久久ai换脸| 久久精品国产色蜜蜜麻豆| 国产精品麻豆99久久久久久| 欧美日韩一区二区在线观看视频|