You copied the Doc URL to your clipboard.

3.2.76. c15, L1 HVAB array operations

The purpose of the L1 HVAB array operations is to:

  • read the L1 HVAB array contents and write to the system debug data registers

  • write into the system debug data registers and into the L1 HVAB array.

The L1 HVAB array operation is accessible in secure privileged modes only. You can calculate the value of N in Figure 3.71 and Figure 3.72 using the NumSets and LineSize fields as defined in Table 3.42.

Figure 3.71 shows the bit arrangement of the L1 HVAB array read operation.

Figure 3.71. L1 HVAB array read operation format

Figure 3.71. L1 HVAB array read operation format

Figure 3.72 shows the bit arrangement of the L1 HVAB array write operation.

Figure 3.72. L1 HVAB array write operation format

Figure 3.72. L1 HVAB array write operation format

To write one entry in data side HVAB array, for example:

LDR R0, =0x47;                  
MCR p15, 0, R0, c15, c0, 0;     Move R0 to D-L1 Data 0 Register
LDR R1, =0x800000C0;            
MCR p15, 0, R1, c15, c0, 5;     Write D-L1 Data 0 Register to D-HVAB

To read one entry from data side HVAB array, for example:

LDR R1, =0x800000C0;            
MCR p15, 0, R1, c15, c2, 5;     Read D-HVAB into data L1 Data 0 Register
MRC p15, 0, R2, c15, c0, 0;     Move D-L1 Data 0 Register to R2

To write one entry in instruction side HVAB array, for example:

LDR R0, =0x47;                  
MCR p15, 0, R0, c15, c1, 0;     Move R0 to I-L1 Data 0 Register
LDR R1, =0x800000C0;            
MCR p15, 0, R1, c15, c1, 5;     Write I-L1 Data 0 Register to I-HVAB

To read one entry from instruction side HVAB array, for example:

LDR R1, =0x800000C0;            
MCR p15, 0, R1, c15, c3, 5;     Read I-HVAB into I-L1 Data 0 Register
MRC p15, 0, R2, c15, c1, 0;     Move I-L1 Data 0 Register to R2
Was this page helpful? Yes No