日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

armv8/armv9页表属性(page descriptor)的详细介绍

發布時間:2025/3/21 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 armv8/armv9页表属性(page descriptor)的详细介绍 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

快速鏈接:
.
👉👉👉 個人博客筆記導讀目錄(全部) 👈👈👈

目錄

        • 1、stage1的頁表屬性
        • 2、stage2的頁表屬性
        • 3、各標志位的詳細介紹
          • 3.1、MemAttr
          • 3.1、NS
          • 3.1、AP
          • 3.1、SH
          • 3.1、AF
          • 3.1、nG
          • 3.1、DBM
          • 3.1、Contiguous
          • 3.1、XN or UXN

1、stage1的頁表屬性

(Attribute fields in stage 1 VMSAv8-64 Block and Page descriptors)

  • PBHA, bits[62:59] :for FEAT_HPDS2
  • XN or UXN, bit[54] : Execute-never or Unprivileged execute-never
  • PXN, bit[53] :Privileged execute-never
  • Contiguous, bit[52] : translation table entry 是連續的,可以存在一個TLB Entry中
  • DBM, bit[51] :Dirty Bit Modifier
  • GP, bit[50] :for FEAT_BTI
  • nT, bit[16] :for FEAT_BBM
  • nG, bit[11] :緩存在TLB中的翻譯是否使用ASID標識
  • AF, bit[10] : Access flag, AF=0后,第一次訪問該頁面時,會將該標志置為1. 即暗示第一次訪問
  • SH, bits[9:8] :shareable屬性
  • AP[2:1], bits[7:6] :Data Access Permissions bits,
  • NS, bit[5] :Non-secure bit
  • AttrIndx[2:0], bits[4:2] :

2、stage2的頁表屬性

(Attribute fields in stage 2 VMSAv8-64 Block and Page descriptors)

  • PBHA[3:1], bits[62:60] :for FEAT_HPDS2
  • PBHA[0], bit[59] :for FEAT_HPDS2
  • XN[1:0], bits[54:53] :Execute-never
  • Contiguous, bit[52] :translation table entry 是連續的,可以存在一個TLB Entry中
  • DBM, bit[51] :Dirty Bit Modifier
  • nT, bit[16] :for FEAT_BBM
  • FnXS, bit[11] :for FEAT_XS
  • AF, bit[10] :Access flag
  • SH, bits[9:8] :shareable屬性
  • S2AP, bits[7:6] :Stage 2 data Access Permissions
  • MemAttr, bits[5:2] :

3、各標志位的詳細介紹

3.1、MemAttr

3.1、NS

Non-secure比特 表示轉換后的物理地址是secure的還是non-secure的。
在REE(linux)和TEE(optee)雙系統的環境下,可同時開啟兩個系統的MMU.
在secure和non-secure中使用不同的頁表.secure的頁表可以映射non-secure的內存,而non-secure的頁表不能去映射secure的內存,否則在轉換時會發生錯誤

3.1、AP

Data access permissions 數據訪問權限

3.1、SH

shareable屬性

3.1、AF

Access flag, AF=0后,第一次訪問該頁面時,會將該標志置為1. 即暗示第一次訪問

3.1、nG

對于 EL0/EL1 虛擬地址空間,Page Descriptor屬性字段中的 nG 位將轉換標記為Gloabl(G) 或non-Gloabl(nG)。例如,內核映射是Gloabl(G)翻譯,應用程序映射是non-Gloabl翻譯。Gloabl翻譯適用于當前正在運的任何應用程序。非全局翻譯僅適用于特定應用程序

non-Gloabl映射在 TLB 中使用 ASID進行標記。在 TLB 查找時,將 TLB 條目中的 ASID 與當前選擇的 ASID 進行比較。如果它們不匹配,則不使用TLB 條目。下圖顯示了內核空間中沒有 ASID 標記的全局映射和用戶空間中具有 ASID 標記的非全局映射

3.1、DBM

TODO

3.1、Contiguous

TODO

3.1、XN or UXN

特權和非特權不可從該memory-region中執行指令的標志位:
Execute-never
Unprivileged execute-never

總結

以上是生活随笔為你收集整理的armv8/armv9页表属性(page descriptor)的详细介绍的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。