当前位置: 首页 > wzjs >正文

网站三合一建设做一个个人网站

网站三合一建设,做一个个人网站,网站建设找美橙互联,王也高清全屏壁纸目录 1 前言 2 Tag相关寄存器 2.1 Mtu_tag_addr_ctl 2.2 Mtu_tag_addr_base 2.3 Mtu_tag_addr_shutter{2:0} 3 mtu_tag_addr*寄存器代码设定 1 前言 如前文《The MTE stores and checks in real hardware》提到为了将memory tag保存到内存,需要对MTSX中的tag…

目录

1 前言  

2 Tag相关寄存器

 2.1 Mtu_tag_addr_ctl

 2.2 Mtu_tag_addr_base

 2.3 Mtu_tag_addr_shutter{2:0}

3 mtu_tag_addr*寄存器代码设定


1 前言  

     如前文《The MTE stores and checks in real hardware》提到为了将memory tag保存到内存,需要对MTSX中的tag相关寄存器进行编程,以保证MTSX能够根据请求的物理地址来决定tag地址。本文参考Documentation – Arm Developer

2 Tag相关寄存器

        使能MTE功能前,必须编程MTSX中地址产生寄存器和系统中相关内存控制器。MTSX根据请求的物理地址来决定tag地址,通过此读取此tag地址的memory tag 和对应虚拟地址中的address tag进行比较。MTSX需要被编程的寄存器如下:

        a.mtu_tag_addr_ctl

        b.mtu_tag_addr_base

        c.mtu_tag_addrshutter{0-2}

 2.1 Mtu_tag_addr_ctl

        该寄存器用来指示使用那种内存映射方式。从端(MTXS的下游)可能使用连续的内存映射,而serves端可能是非连续的方式在CI-700 。因此,MTSX能够使用各种传输模式用于映射系统地址和下游从端的内存地址。内存映射的方式决定了MTSX用于传输地址的映射结构。MTSX支持5种内存映射方式,定义在por_mtu_tag_addr_ctl寄存器中。

映射方式

Por_mtu

_tag_ad

dr_ctl.me

mory_map

_mode_e

ncoding

描述

Pass-through

0b000

系统地址映射直接到下游从段,没有任何转换

PDD 传输

0b001

使用PDD内存映射。

Alternate传输

0b010

使用flat(非转换)和 PDD 两种方式混合的内存映射方式。

Mutil sockets的Alternate传输

0b011

和alternate传输的映射模式相同。然而如果MTSX收到超过4TB的地址,则将丢弃掉超过4TB的高位。这种模式时,MTSX不能区分0x700 0000 0000 和0x300 0000 0000。因此,系统需要阻止这种访问。

0映射模式

0b100

---

        如下是PDD内存映射示例,MTSX能够转换成到一个连续的映射地址使用PDD映射:

如下是Alternate传输映射模式示例:

Mutilple sockets的Alternate传输映射模式实例:

0映射模式实例:

 2.2 Mtu_tag_addr_base

        Mtu_tag_addr_base寄存器用于表示tag 空间在本地内存的起始物理地址,如下图显示:

如下是DRAM中tag区域的约束条件:

        a.tag区域不能与数据区域交错,tag区域必须在DRAM数据区域的上面。

        b.tag的物理地址空间不能映射为多个区域

例如,PDD映射模式时,不允许tag区域一部分映射在2GB-4GB、另一部分映射到43GB-64GB。

 2.3 Mtu_tag_addr_shutter{2:0}

        为了确认正确的DRAM地址,必须正确的对mtu_tag_addr_shutter{2:0}寄存器进行编程以删除地址位,必须移除的地址位是基于SCG的HN-Fs和SNs数量。

如下图。这些寄存器允许移除bit [51] - bit[6]范围内最多7bit的物理地址位。要对这些寄存器进行编程,您必须设置每个单独的地址位的移位行为,如下图所示。

如上图示,可以配置address shutter寄存器配置为:

        a.直通PA bit[n]没有改变

        b.偏移bit[n+1]和bit[n+7]任意物理bit到bit[n]位置

如下图显示物理地址范围bit[12] - bit[6]移除bit[10]和bit[7]的shutter寄存器编程:

 基于SCG的HN-Fs和SNs的联合支持情况图:

3 mtu_tag_addr*寄存器代码设定

        AArch64 MTE功能的allocation tag存放在mtu_tag_addr_base寄存器指向的内存中,mtu_tag_addr_base这个寄存器在哪里设置?

关于por_mtu_addr_*寄存器设置:

        a.Por_mtu_addr_*类寄存器说明中:针对此寄存器的设置需要在设备的首次非配置的访问前完成。

        b.以MTK平台为例,在preloader阶段(preloader/platform/mtxxx/src/core/booker.c)设置MMU是有根据MTE使能情况进行por_mt_addr*寄存器进行设置。在接近内存物理起始地址的地方,预留 dram_size >> 5 的内存空间,将此空间物理地址设置到寄存器por_mtu_addr_base做为 alloction tag的存储空间。另外需要注意:预留的该段内存设置nomap属性,在内核阶段时不会对该段内存进行虚拟映射。

http://www.dtcms.com/wzjs/73020.html

相关文章:

  • 编程 毕业设计代做网站发布软文的平台有哪些
  • 山东东平建设工程招标网站seo的基本工作内容
  • 网站百度收录查询东莞网络公司电话
  • 设计官网页面需要多少钱天津外贸seo推广
  • 哪里有网站制作设计google官方入口
  • 重庆南岸营销型网站建设公司哪家专业企业站seo报价
  • wordpress对联147seo工具
  • wordpress qq聊天网站站内关键词优化
  • 网页编辑的软件工具包括兰州网络seo公司
  • 专业制作网站 郑免费二级域名查询网站
  • 西安SEO网站建设网站优化seo培训
  • 惠州品牌网站建设价格网站软文推广网站
  • wordpress 显示页面长春seo公司哪家好
  • 网站需要怎么做如何优化标题关键词
  • 傻瓜做网站用什么软件浏览器网站进入口
  • 淘宝联盟怎么自己做网站抖音指数查询
  • 南充网站制作百度网站排名怎么提高
  • 南宁网页设计培训学校广东seo推广公司
  • 网页升级访问中每天正常更新中seo推广策划
  • 用织梦做领券网站百度网站名称
  • 山西省城乡住房和建设厅网站首页站长工具是干嘛的
  • 做网站用什么软件最好百度投诉电话人工客服24小时
  • 建外做网站的公司网站广告调词软件
  • 永康网站建设李江seo
  • 大连做网站优化价格推广恶意点击软件怎样使用
  • dw网站怎么做搜索推广网络广告
  • 北京营销型网站建设培训seo分析工具有哪些
  • 北京市密云县建设委员会网站北京seo网络优化师
  • wordpress注入工具网站seo优化多少钱
  • 曹县网站建设公司营销推广网站