#include <mips/r3kc0.h>
LEAF(mips_init_tlb)
mfc0 t0, C0_ENTRYHI # 保存ASID
mtc0 zero, C0_ENTRYLO # tlblo = valid, entryLo一直保持为0,不需要变动
li a1, NTLBID<<TLBIDX_SHIFT # 索引 : TLBIDX_SHIF=8对应index寄存器,NTLBID= 个entry
li a0, KSEG1_BASE # tlbhi = 不可能出现的VPN,KSEG1_BASE=0xa0000000, kseg1从来不需要MMU转换
.set noreorder
: subu a1, <<TLBIDX_SHIFT #从63- 的index
mtc0 a0, C0_ENTRYHI    #VPN 无效地址
mtc0 a1, C0_INDEX
addu a0, 0x1000 # 增长VPN,使所有入口都不同
bnes a1, 1b
tlbwi # 在跳转的delay slot中
.set reorder
mtc0 t0, C0_ENTRYHI # 恢复ASID
j ra
END(mips_init_tlb)

       .set noreorder
.set noat
TLBmissR3K:
mfc0 k1, C0_CONTEXT # context包含PTEBase,BadVPN, 每条entry大小是2^2=4byte
mfc0 k0, C0_EPC # tlb missing的地址
lw k1, (k1) #从 PTEBase加载第BadVPN项
nop #
mtc0 k1, C0_ENTRYLO # move to entryLo
nop #
tlbwr # 随机替换
jr k0 # 返回tlb missing地方继续执行
rfe
.set at
.set reorder

TLB初始化 Missing Handler,MIPS R3K mips_init_tlb的更多相关文章

  1. Handler系列之原理分析

    上一节我们讲解了Handler的基本使用方法,也是平时大家用到的最多的使用方式.那么本节让我们来学习一下Handler的工作原理吧!!! 我们知道Android中我们只能在ui线程(主线程)更新ui信 ...

  2. libaio under MIPS architecture /在mips架构下使用的libaio

    First, you can find libaio source in http://libaio.sourcearchive.com/ Second,download the libaio_0.3 ...

  3. Android必知必会-Handler可能引起的内存泄露

    在Android开发中,编写多线程通常会使用到Thread和Handler,细心的朋友会发现,很常见的写法会被编辑器提示有问题,new Handler(){} 内的代码背景颜色会变成黄色.Androi ...

  4. Android 开发 深入理解Handler、Looper、Messagequeue 转载

    转载请注明出处:http://blog.csdn.net/vnanyesheshou/article/details/73484527 本文已授权微信公众号 fanfan程序媛 独家发布 扫一扫文章底 ...

  5. Android:异步处理之Handler、Looper、MessageQueue之间的恩怨(三)

    前言 如果你在阅读本文之前,你不知道Handler在Android中为何物,我建议你先看看本系列的第一篇博文<Android:异步处理之Handler+Thread的应用(一)>:我们都知 ...

  6. Netty源码分析第1章(Netty启动流程)---->第1节: 服务端初始化

    Netty源码分析第一章:  Server启动流程 概述: 本章主要讲解server启动的关键步骤, 读者只需要了解server启动的大概逻辑, 知道关键的步骤在哪个类执行即可, 并不需要了解每一步的 ...

  7. Android中由Handler和内部类引起的内存泄漏

    原文地址:http://johnnyshieh.github.io/android/2015/09/03/android-handler-memory-leak/ 在Android中我们经常用Hand ...

  8. Android源码分析笔记--Handler机制

    #Handler机制# Handler机制实际就是实现一个 异步消息循环处理器 Handler的真正意义: 异步处理 Handler机制的整体表述: 消息处理线程: 在Handler机制中,异步消息处 ...

  9. Android Handler消息机制深入浅出

    尊重原创:http://blog.csdn.net/yuanzeyao/article/details/38408493 作为Android开发者,Handler这个类应该是再熟悉只是了.由于差点儿不 ...

随机推荐

  1. jQuery的使用

    一.基本简介 1.下载:http://jquery.com提供了最新的jQuery框架下载.通常只需下载最小的jQuery包(Minified)即可. ( 目前最新的版本jquery-1.3.2.mi ...

  2. Unity3D 处理Label的颜色代码

    UILabel m_name = transform.Find("Name").GetComponent<UILabel>(); m_name.text = GetNa ...

  3. Redis 常用链接

    安装部署 http://www.linuxidc.com/Linux/2014-05/101979.htm 更改访问权限配置(如密码,可访问地址):http://www.jb51.net/articl ...

  4. 【LeetCode】Single Number I & II & III

    Single Number I : Given an array of integers, every element appears twice except for one. Find that ...

  5. IIS7配置Gzip压缩 JS压强失败的原因

    开启配置HTTP压缩(GZip) 在IIS7中配置Gzip压缩相比IIS6来说实在容易了许多,而且默认情况下就是启用GZip压缩的.如果没有,则可以再功能视图下找到“压缩”项,进入之后就会看到“静态内 ...

  6. 20145210 20145226 《信息安全系统设计基础》实验五 简单嵌入式WEB服务器实验

    20145210 20145226 <信息安全系统设计基础>实验五 简单嵌入式WEB服务器实验 结对伙伴:20145226 夏艺华 实验报告封面 实验目的与要求 · 掌握在ARM开发板实现 ...

  7. 标准盒子模型和IE盒子模型

    标准盒子模型 = margin + border + padding + content (content =  width | height) IE盒子模型 = margin + content ( ...

  8. flv转mp4选项设置

    使用格式工厂将flv转换为mp4视频后,播放视频正常,但使用web播放器播放时就只有声音没有影像,其实只有设置好视频编码就不会出现这种情况了:

  9. Vector Calculus

    Vector Fields Vector Function F(x,y,...)=P(x,y)i + Q(x,y)j + ... = <P(x,y), Q(x,y), ...> F=Pi ...

  10. git常见错误

    一.如果输: $ git remote add origin git@github.com:djqiang(github帐号名)/gitdemo(项目名).git         提示出错信息:fat ...