ARM ARM926EJ-S Technical Reference Manual page 61

Table of Contents

Advertisement

2.3.12
Register c11 and c12
2.3.13
Process ID Register c13
ARM DDI0198D
Note
It is not possible for a lockdown entry to entirely map either small or large pages, unless
all the subpage access permissions are identical. Entries can still be written into the
lockdown region, but the address range that is mapped only covers the subpage
corresponding to the address that was used to perform the page table walk.
Example 2-1 is a code sequence that locks down an entry to the current victim.
ADR r1,LockAddr
MCR p15,0,r1,c8,c7,1
MRC p15,0,r0,c10,c0,0
ORR r0,r0,#1
MCR p15,0,r0,c10,c0,0
LDR r1,[r1]
MRC p15,0,r0,c10,c0,0
BIC r0,r0,#1
MCR p15,0,r0,c10,c0,0
Accessing (reading or writing) these registers causes Unpredictable behavior.
Register c13 accesses the process identifier registers. The register accessed depends on
the value of the Opcode_2 field:
Opcode_2 = 0
Selects the Fast Context Switch Extension (FCSE) Process
Identifier (PID) Register.
Opcode_2 = 1
Selects the Context ID Register.
You can use the process ID register to determine the process that is currently running.
The process identifier is set to 0 at reset.
Copyright © 2001-2003 ARM Limited. All rights reserved.
Example 2-1 Lock down an entry to the current victim
; set r1 to the value of the address to be locked down
; invalidate TLB single entry to ensure that
; LockAddr is not already in the TLB
; read the lockdown register
; set the preserve bit
; write to the lockdown register
; TLB will miss, and entry will be loaded
; read the lockdown register (victim will have
; incremented)
; clear preserve bit
; write to the lockdown register
Programmer's Model
2-33

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents