首页
首页
沸点
课程
直播
活动
竞赛
商城
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
DuoLife_QNL
掘友等级
学生
|
北京邮电大学
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
1
文章 1
沸点 0
赞
1
返回
|
搜索文章
最新
热门
QEMU开源实战(九)
在上周的报告中我提到可以尝试增加SiFive board的支持。但是和maintainer的邮件通信让我有了新的想法。 上周查看RISC-V patch和仓库contributor list的时候,我在想可否联系其中的一个maintainer并且询问一些建议。没想到过真收到了回…
RISC-V PMP 在 QEMU 中的实现
QEMU中关于RISC-V PMP的部分在target\riscv\pmp.c中。 第一个api用来判断对于某个物理地址的操作(Read, Write, Execute)是否有权限。之后的api分别用来对PMP entry的地址寄存器和配置寄存器进行修改。在target\ris…
RISC-V PMP物理内存保护机制详解
其中,M(machine mode)可以访问全部的地址。为了禁止不可信的代码执行特权指令,引入了U(User mode)。为了限制不可信的代码使其只能访问自己的那部分内存,处理器可以提供一个物理内存保护(PMP,Physical Memory Protection)功能,以提供…
QEMU开源实战(八)
后面内容还有很多,这里不都列出来了。 resetvec:Reset Vector adress. 当reset时,pc值得重置地址 实际上target\riscv\cpu.c定义了一个类,并完成了其实现方法。通过对这个文件的总览,我们得以了解C实现面向对象编程的方法。 inst…
QEMU开源实战(七)
Add tracepoints. All functions that are named something_helper, and all functions mentioned in MemoryRegionOps are good candidates. Convert…
QEMU开源实战(六)
Master直接从QEMU GitHub仓库拉取即可。之前提到过,配置git代理之后对于仓库的clone依旧无效。原因是之配置的http/https代理,clone的时候却用的ssh协议。同时,当前master版本在make时涉及到子模块的更新,在不禁用更新的情况下需要从Git…
QEMU开源实战(五)
这部分判断虚拟机是否支持NUMA,并进行配置和初始化。 上周我们已经详细查看了第一步的配置细节,即numa_complete_configuration函数,下面我们继续分析NUMA初始化函数。 同样,C语言中原生没有类似于C++中字符串的概念,而第三行声明的GString类字…
计算机系统结构知识点总结
描述两条指令之间的关系。若两条指令之间存在某种依赖关系(某条指令只能在某条指令之前或之后),则称两条指令相关。分为: 由分支指令引起的相关,保证程序应有的执行顺序。有以下两个限制: 使循环中不同循环体并行执行。主要有以下两种方法: 无论什么情况都预测分支失败。 编译器进行编译时…
QEMU开源实战(四)
这是主函数中第一个调用的/hw/相关的函数。参数为MachineState类型的结构体,保存了目标虚拟的状态信息。 在QEMU中,MachineClass结构体代表一个虚拟机,对于PC,使用MachineClass的派生类PCMachineClass,定义在/hw/i386/p…
Qemu开源实战(三)
为了团队的实时沟通,在Ubuntu使用TIM是有必要的。 但在electron-ssr正常的情况下,访问速度不理想,故又尝试了使用Gitee作为中转的方式。 由于之前没有使用gdb调试命令进行调试的经验,此处做初步了解和尝试。 但是调试运行的过程中发现,由于某种不知名的原因,导…
下一页
个人成就
文章被点赞
6
文章被阅读
28,475
掘力值
490
关注了
16
关注者
8
收藏集
1
关注标签
7
加入于
2019-05-29