This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Error generation on accessing Special purpose register.

I am trying to write on a register using the following command:

asm("ldr r0, =0x00");

asm("MSR ICC_SEIEN_EL1, r0") ;

and getting this error:

tmp/ccnn8Apc.s: Assembler messages:

/tmp/ccnn8Apc.s:93787: Error: selected processor does not support requested special purpose register -- `msr ICC_SEIEN_EL1,r0'

Can somebody help me in finding out the root cause of this issue.

Parents
  • Are you trying to assemble for AArch32? I'm guessing yes as you're referencing "r0".

    FRom memory "ICC_SEIEN_EL1" is the name of the AArch64 register, you will need to refer to the register by it's AArch32 name. Also I think (don't have the manual to hand) that in AArch32 you should be using MCR instead of MSR.

Reply
  • Are you trying to assemble for AArch32? I'm guessing yes as you're referencing "r0".

    FRom memory "ICC_SEIEN_EL1" is the name of the AArch64 register, you will need to refer to the register by it's AArch32 name. Also I think (don't have the manual to hand) that in AArch32 you should be using MCR instead of MSR.

Children