Figure 3-69 Address Mapping With The Fcse Pid Register - ARM ARM1176JZF-S Technical Reference Manual

Table of Contents

Advertisement

ARM DDI 0301H
ID012310
To change the ProcID and perform a fast context switch, write to the FCSE PID Register. You
do not have to flush the contents of the TLB after the switch because the TLB still holds the valid
address tags.
From zero to six instructions after the MCR that writes the ProcID might be fetched with the old
ProcID:
{ProcID = 0}
MOV R0, #1
MCR p15,0,R0,c13,c0,0
A0
(any instruction)
A1
(any instruction)
A2
(any instruction)
A3
(any instruction)
A4
(any instruction)
A5
(any instruction)
A6
(any instruction)
Note
You must not rely on this behavior for future compatibility. An IMB must be executed between
changing the ProcID and fetching from locations that are translated by the ProcID.
Addresses issued by the ARM1176JZF-S processor in the range 0-32MB are translated by the
ProcID. Address A becomes A + (ProcID x 32MB). This translated address, the MVA, is used
by the MMU. Addresses higher than 32MB are not translated. The ProcID is a seven-bit field,
enabling 128 x 32MB processes to be mapped.
Note
If ProcID is 0, as it is on Reset, then there is a flat mapping between the ARM1176JZF-S
processor and the MMU.
Figure 3-69 shows how addresses are mapped using the FCSE PID Register.
Copyright © 2004-2009 ARM Limited. All rights reserved.
Non-Confidential, Unrestricted Access
; Fetched with ProcID = 0
; Fetched with ProcID = 0
; Fetched with ProcID = 0/1
; Fetched with ProcID = 0/1
; Fetched with ProcID = 0/1
; Fetched with ProcID = 0/1
; Fetched with ProcID = 0/1
; Fetched with ProcID = 0/1
; Fetched with ProcID = 1
Virtual address (VA)
issued by the processor
4GB
32MB
0

Figure 3-69 Address mapping with the FCSE PID Register

System Control Coprocessor
Modified virtual address (MVA)
input to MMU
127
2
1
C13
0
4GB
64MB
32MB
0
3-127

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents