Rocket - debug - TLDebugModuleInner - DMSTATUS
https://mp.weixin.qq.com/s/GyGriFyeq_7Z3xOjKn56Mg
简单介绍TLDebugModuleInner中DMSTATUS寄存器的实现。
1. DMSTATUSRdData
从DMSTATUS寄存器读取时,使用DMSTATUSRdData作为数据源:
2. authenticated
认证功能没有实现:
3. version
当前版本号值为2,代表Version 0.13:
4. any & all
规范中定义为:
代码实现为:
1) nonexistent
某个或者全部被选中的核心不存在:
在实现中:
a. anynonexistent只表示hartsel选择的核心是否存在,并且认为小于nComponents的核心都存在;
b. allnonexistent则表示hartsel和hamask选择的核心都不存在;
2) unavail
某个或者全部被选中的核心不可用:
其实现依赖于io.debugUnavail,而io.debugUnavail目前未实现:
3) halted
某个或者全部被选中的核心被暂停:
使用记录核心暂停请求的寄存器haltedBitRegs实现。
4) running
某个或者全部被选中的核心正在运行:
使用记录核心暂停请求的寄存器haltedBitRegs实现。
5) havereset
某个或者全部被选中的核心被复位:
使用记录核心复位状态的寄存器haveResetBitRegs实现。
6) resumeack
某个或者全部被选中的核心确认了针对他们的最近一个恢复运行的请求:
使用记录核心恢复状态的寄存器haveResetBitRegs实现。
5. haveResetBitRegs
记录针对每个核心的复位请求状态。默认值为真:
如果有相应的ackhavereset信号,则清除状态:
6. impebreak
是否实现隐式的ebreak指令:
7. haltedBitRegs
记录核心的暂停请求状态。默认值为假:
根据halt/resume请求,决定其值:
Rocket - debug - TLDebugModuleInner - DMSTATUS的更多相关文章
- Rocket - debug - TLDebugModuleInner - Hart Bus Access
https://mp.weixin.qq.com/s/deNMEyJ1idJDVoZwwo0A1A 简单介绍TLDebugModuleInner中核心总线访问(Hart Bus Access). 参考 ...
- Rocket - debug - TLDebugModuleInner - innerCtrl
https://mp.weixin.qq.com/s/7UY99gEJ8QpVBJIohdqKhA 简单介绍TLDebugModuleInner中innerCtrl相关的寄存器. 1. innerCt ...
- Rocket - debug - TLDebugModuleInner
https://mp.weixin.qq.com/s/jkiHceU0HaJbHGvHiU-QOA 简单介绍TLDebugModuleInner的实现. 1. 引入全局配置 1) cfg 引入Debu ...
- Rocket - debug - TLDebugModuleInner - DMI Register Control and Status
https://mp.weixin.qq.com/s/tI41wu0xaIQ5PRq6F82tNw 简单介绍TLDebugModuleInner中生成DMI控制和状态寄存器使用到的状态. 1. abs ...
- Rocket - debug - TLDebugModuleInner - Abstract Command State Machine
https://mp.weixin.qq.com/s/RcXI8uEHvZHGCvX3DoVR4Q 简单介绍TLDebugModuleInner中处理抽象命令时的状态机. 1. CtrlState 定 ...
- Rocket - debug - TLDebugModuleInner - Drive Custom Access
https://mp.weixin.qq.com/s/1bIqzDYXM36MIfSsjvvYIw 简单介绍TLDebugModuleInner中的针对Custom的访问. 1. customNode ...
- Rocket - debug - TLDebugModuleInner - ROM Generation
https://mp.weixin.qq.com/s/j_CgHU4PnY82NMwJzOqHYg 简单介绍Variable ROM Generation. 1. jalAbstract jalAbs ...
- Rocket - debug - TLDebugModuleInner - Program Buffer Access
https://mp.weixin.qq.com/s/EJVqw7JPjjaib68tENl5AQ 简单介绍TLDebugModuleInner中的Program Buffer Access. 1. ...
- Rocket - debug - TLDebugModuleInner - Program Buffer
https://mp.weixin.qq.com/s/kjhJJ3moRQzxHt6pJOXEgg 简单介绍TLDebugModuleInner中Program Buffer寄存器的实现. 1. pr ...
随机推荐
- A - Aragorn's Story HDU - 3966 树剖裸题
这个题目是一个比较裸的树剖题,很好写. http://acm.hdu.edu.cn/showproblem.php?pid=3966 #include <cstdio> #include ...
- Qt编程基础入门之二
QMainWindow 菜单栏 菜单栏 最多有一个 //菜单栏创建,一个 QMenuBar *menu = new QMenuBar(this); // this->setMenuBar(men ...
- go实现SnowFlake
package main import ( "errors" "fmt" "strconv" "sync" " ...
- 浅析Spring中AOP的实现原理——动态代理
一.前言 最近在复习Spring的相关内容,刚刚大致研究了一下Spring中,AOP的实现原理.这篇博客就来简单地聊一聊Spring的AOP是如何实现的,并通过一个简单的测试用例来验证一下.废话不 ...
- ereg正则%00截断
0x01 <?php $flag = "xxx"; if (isset ($_GET['password'])) { if (ereg ("^[a-zA-Z0-9] ...
- js 获取URL后面传的参数
function GetRequest() { var url = location.search; //获取url中"?"符后的字串 var theRequest = new O ...
- tp5.1使用路径常量
echo "app_path=========".Env::get('app_path')."</br>"; echo "root_pat ...
- chmod指令用法
指令名称 : chmod 使用权限 : 所有使用者 使用方式 : chmod [-cfvR] [--help] [--version] mode file... 说明 : Linux/Unix 的档案 ...
- CentOS6.5x64采用静默模式安装64位oracle11g
1.下载oracle11g64位版本的源文件,并上传到Linux服务器,下载地址自行百度,若实在找不到请留言. 2.Package安装检查安装: 通过yum工具直接安装: yum -y install ...
- Jenkins 实现 ldap认证
使用自己搭建的openldap: 使用Test LdapSetting测试的结果: 所测试的用户在:svn,jenkins,gitlab,sonarqube,wpsadmin组下 若用户不在jenki ...