最近几天调试自己写的risc-v的裸机操作系统,在写完malloc程序后,调用malloc程序分配内存时,最终调用到了sbrk,sbrk中分配vma或者扩大vma的容量。在程序真正是用内存时,触发缺页异常,映射真正的内存。free的时候,使用brk释放内存。

在反复malloc/free的时候出现了程序跑飞了。经过不断的gdb和printk debug,发现释放的内存还可以被访问,而不是访问新映射的内存。经过测试,需要刷tlb。

在每次map/unmap的时候刷新tlb。代码链接

static inline void local_flush_tlb_page(unsigned long addr)
{asm volatile("sfence.vma %0" : : "r" (addr) : "memory");
}

在risc-v-bm程序中,没有实现ASID。

疑问:

1. 如果实现了ASID功能,单个进程在map/unmap内存时是否需要刷tlb?

2. ASID用完了,怎么办?

3. 进程退出后,需不需要刷TLB?

riscv ASID疑问相关推荐

  1. RISC-V应用创新大赛 | 一文详解RVB2601套件 助你快速上手赢比赛

    简介:参加RISC-V应用创新大赛 赢取开发资源和好礼 上周我们发布了平头哥芯片开放社区×阿里云天池"RISC-V应用创新大赛"正式开赛! 为大家介绍了RISC-V应用创新大赛的赛 ...

  2. RISC-V 能打 50 年!不必期待 RISC-VI —— 对话 RISC-V CTO Mark Himelstein

    <程序员>于 2000 年创刊,其理念为「技术改变世界,创新驱动中国」.2021 年,<程序员>2.0 全新起航,首期以「开发者的黄金十年」为主题,以音视频.图文专栏等丰富的多 ...

  3. 一个小型RISC-V开源处理器核介绍!

    [编者推荐语]最近看到了一个开源的RISC-V处理器设计,仅仅5000行左右的verilog代码,功能却非常完善.代码全部为手动设计的verilog代码,可读性非常强.设计者完成了包括CPU内核设计, ...

  4. 即将打破x86和ARM垄断地位的RISC-V,你了解吗?

    大家好,感谢异步图书的赞助 本篇推文将从评论区选择5个小伙伴赠送本文介绍的书籍一本,大家留言说出关于自己的技术学习感想,截止3月7号晚上10点,留言点赞前4名,再加1名由小编选出的评论将获取赠送书籍. ...

  5. 用telnet+openocd+jtag_dpi+vcs仿真调试RISCV的cpu

    目录 背景: 需要了解的基础知识,此处不做介绍: 如何连结和调试 一些中间过程需要关心,记录 背景: Server    :tcl+telnet SW         :openocd+JTAG_DP ...

  6. RISC-V架构P扩展指令集的研究与实现(一)

    本专栏旨在介绍RISC-V指令集架构中P指令集扩展的相关内容,包括指令集的主要特点.应用场景,译码.执行的实现方式,以及如何提升CPU内核的性能,并以阿里巴巴旗下半导体公司平头哥推出的玄铁E906开源 ...

  7. RISCV MMU 概述

    1. 背景简介 Linux 内存管理包含很多内容,主要知识点可以参考 Linux Mem.本文只描述其中的一个知识点 Paging and MMU. 本文以全志 D1 为例,包含了平头哥出品的一颗 R ...

  8. RISC-V向量指令扩展(二)

    前边我们提到RISC-V向量扩展将32个向量寄存器和7个非特权的CSRs添加到一个及标量RISC-V指令集架构中,本节讨论一下各个寄存器的功能以及各个组成字段的含义.各个寄存器的位宽为固定的VLEN. ...

  9. RISC-V特权级寄存器及指令文档

    RISC-V特权级寄存器及指令文档 M态寄存器 1. ISA寄存器 misa(read-write) base域: 1.编码了内部支持的ISA宽度. 2.当重置时,总是设置为支持的最宽ISA exte ...

最新文章

  1. IT项目管理的十六个字心得体会
  2. html相对定位向上偏移,使用CSS的相对定位和偏移量
  3. [小技巧][JAVA][转换]整型int与字符char相互转换
  4. Java操作itext,寻找给定关键字,并且进行页面抽取和页面盖章两个操作
  5. 【渝粤教育】电大中专消费者心理学基础作业 题库
  6. Nexus Indexer 2.0:增量下载
  7. MQL5语法基础(三)
  8. 使用神经网络(Keras)完成对土壤的湿度估计
  9. 今天是教师节,我也即将成为一名老师
  10. 文件夹自动生成html画廊,在 Photoshop 中创建 Web 照片画廊
  11. 用1、2、3、4、5、6、7、8、9这9个数字,填入□ 中使等式□□×□□□ = □□□□ 成立,每个数字恰好只用一次。
  12. python爬取桌面壁纸(初学者),一看就会
  13. Jetson AGX Orin 平台关于c240000 I2C总线和GMSL ses地址冲突问题
  14. angularJS中localstorage,利用localstorage来实现其他页面获取本地缓存
  15. 富士协议转换网关WTGNet-FJ
  16. android 打卡 虚拟定位 sqlite
  17. 影响论文发表的因素有哪些
  18. 矩阵中的特征值和奇异值,物理意义
  19. 英特尔酷睿i3和i5的区别是什么?
  20. OpenGL播放视频的技术

热门文章

  1. BackgroundMattingV2 百度网盘 模型文件
  2. 近似数算术运算的误差和有效数位
  3. MSYS2环境使用记录
  4. python安装包的离线安装方法
  5. 苯硫酚荧光探针 激发波长465 nm
  6. oracle取每日固定时间,Oracle查询每天固定时间段的数据
  7. templete模板each循环和if用法
  8. 什么是前端,后端???什么是后台???
  9. react 中使用swiper
  10. 复检网站_渗透测试项目分析手段