安騰(R) 處理器主題探測訪問指令

probe

操作 字型慣例

格式

(qp)probe.rr 1 =r3 , r2 read_form, register_form M38

(qp)probe.wr 1 =r3 , r2 write_form, register_form M38

(qp)probe.rr 1 =r3 , imm 2 read_form, immediate_form M39

(qp)probe.wr 1 =r3 , imm 2 write_form, immediate_form M39

(qp) probe.r.faultr3 , imm 2 fault_form, read_form, immediate_form M40

(qp) probe.w.faultr3 , imm 2 fault_form, write_form, immediate_form M40

(qp) probe.rw.faultr3 , imm 2 fault_form, read_write_form, immediate_form M40


說明

此指令確定是否允許按指定的特權級別讀取或寫入訪問給定的虛擬地址。如果允許進行指定的訪問,則 GR r1 設定為 1,否則設定為 0。在 fault_form 中,如果允許進行指定的訪問,則此指令什麼也不做;如果不允許進行指定的訪問,則執行錯誤處理。

PSR.dt 為 1 時,將查詢 DTLB 與 VHPT 中現有的轉譯專案,確定是否允許按照 GR r2 位 {1:0} 或 imm 2 指定的特權級別訪問 GR r3 位 {60:0} 指定的虛擬地址以及 GR r3 位 {63:61} 確定變址的區域暫存器。如果 PSR.pk 為 1,則還會執行保護鍵檢查。讀取或寫入形式指定此指令是檢查讀取還是寫入訪問許可權,還是同時檢查這二者。

PSR.dt 為 0 時,由於此時禁用 VHPT 查詢器,非致錯型探測會將自己的地址運算元用作虛擬地址僅查詢 DTLB。如果在 DTLB 中發現探測的地址,非致錯型探測將返回適當的值,否則將產生“備用數據 TLB”錯誤。PSR.dt 為 0 時,致錯型探測會將自己的地址運算元當作實體地址,並且不產生 TLB 相關錯誤。

對未實施的虛擬地址進行非致錯探測,會返回 0。對未實施的虛擬地址(PSR.dt 為 1 時)或未實施的實體地址(PSR.dt 為 0 時)進行致錯探測,會產生“未實施的數據地址”錯誤。

如果此指令發生錯誤,則它將設定 ISR 中的無訪問許可權位,並根據完成符設定 ISR 讀取或寫入位。以下錯誤只由致錯形式 probe 指令執行處理(非致錯形式的指令不處理這些錯誤):“未使用的數據地址”錯誤、“數據鍵許可權”錯誤、“數據訪問許可權”錯誤、“數據污損位”錯誤、“數據訪問位”錯誤以及“數據除錯”錯誤。

此指令只能使用相同或更低的特權級別探測。如果指定的特權級別更高(數字更小),則使用目前特權級別執行探測。

中斷