Skip to content

MRC cp14

Sono edited this page Jun 3, 2021 · 2 revisions

Instruction encoding

All instructions begin as follows:

MCR p14, 7, rN, cX, cY, Z

Where

  • rN is the register which sends/receives the data,
  • X, Y, and Z are the command
  • Y and Z seem to be always zero

Here are the instructions below, in Z Y X format:

Coprocessor commands

0 0 0

Read

This register contains the Jazelle ID, which stays the same on the same model CPUs.

On an ARM11MPCore this should read 0x74100064.

0 0 1

Write

Sending 2 into this register unhides the Jazelle hardware and makes it accessible in usermode.

0 0 2

Write

Sending 1 into this register is required to make BXJ enter Java mode as opposed to working as an overcomplicated BX.

Some upper bits change how some instructions behave.