Understanding MRC on ARM7

I am new to ARM and trying to understand the MRC instruction.

As I understand it, the MRC must read the coprocessor registers and put it in the core core register.

Now the coprocessors are attached to the main core and are used to control the memory subsystem of the main core. How coprocessors are connected to the main processor. Can anyone point out a good digram?

Now this below is the instruction for core7 cpu core

  /* workaround to disable secure state */
     mrc     p15, #0, r0, c1, c1, #0
     orr     r0, r0, #1
     mcr     p15, #0, r0, c1, c1, #0
     isb

Now I just could not find what was going on in the mrc instruction here

1. The first argument of mrc is the number of the coprocessor (how p0 differs from p15).

2. The second argument is the opcode1 of the coprocessor (not sure about this).

3. The third argument is the core register of the kernel (Ok with it).

4.fourth and fugth argumnet are processor registers (result c1, # 0 stored in c1)?

5.Agin final The argument is opcode2 (not sure about this).

+4
1

ARM . , . ARM . , . (MMU); , . (pXX), . MMU p15. p0..p14 . , , p14.

MRC MCR . , , - . , MRC " ", MCR " ". . , - . MCR/MRC copcop # (, FPU).

. MMU, , ; , .

+19

All Articles