RISC-V:Svpbmt扩展,基于页的存储类型

         在RISC-V的虚拟存储系统中,leaf 页表项中 PBMT 位(即 bit[62:61] )指示了该页的memory类型,这个类型会覆盖PMA指示的该页的memory类型。如果该页底层物理内存属性为空,PBMT 则不会覆盖。

        PBMT 编码含义如下:

        对于 non-leaf PTE,PBMT 必须为 0 ,否则触发 page-fault;对于leaf PTE,PBMT 不能为 3,否则触发 page-fault。 

        当 PBMT 设置将 memory page 覆盖为 I/O 属性时(或反之),对该页的内存访问将遵循最后有效属性。

在 H 扩展下进行两级地址转换时:

        首先,如果 hagtp 的模式不为 0(即在 Sv39/48/57/64模式下),非0 的 G-stage(第二级)PTE 的 PBMT会覆盖 PMA 中的属性成为中间级属性;否则 PMA 的属性为中间级属性。

        其次,如果 vsatp 的模式不为 0(即在 Sv39/48/57/64模式下),非0 的 VS-satge (第一级)PTE 的PBMT将覆盖中间级属性,从而生成最终访问该页的属性;否则使用中间属性作为最终属性。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值