[mmu/cache]-ARMV8 MMU内存管理中的Memory attributes和Cache policies

269 篇文章 401 订阅

快速链接:
.
👉👉👉 个人博客笔记导读目录(全部) 👈👈👈

在这里插入图片描述

1、MMU页表中的内存属性介绍
Memory attributes

在MMU translation tables中为每一个region(entry)定义了memory和cache属性
在这里插入图片描述
在该属性中的BIT[4:2]做为index指向指向了系统寄存器MAIR_ELn (Cache policies), 系统寄存器MAIR_ELn分成8*8bytes
TLB做为一种特殊的cache,在它的entry中包含了memory type,所有修改MAIR_ELn寄存器后,在使用ISB指令或TLB invalidate操作之前,不会对TLB生效

MAIR_EL1

MAIR_EL1, Memory Attribute Indirection Register (EL1):
在这里插入图片描述

Cache policies

Attrx的定义(Cache policies):
在这里插入图片描述
各个bit位的具体含义
在这里插入图片描述
例如optee中的内存属性配置如下:

#define ATTR_DEVICE_INDEX		0x0
#define ATTR_IWBWA_OWBWA_NTR_INDEX	0x1
#define ATTR_INDEX_MASK			0x7

#define ATTR_DEVICE			(0x4)
#define ATTR_IWBWA_OWBWA_NTR		(0xff)

mair  = MAIR_ATTR_SET(ATTR_DEVICE, ATTR_DEVICE_INDEX);
mair |= MAIR_ATTR_SET(ATTR_IWBWA_OWBWA_NTR, ATTR_IWBWA_OWBWA_NTR_INDEX);
write_mair_el1(mair);

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

代码改变世界ctw

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值