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

Bit 0 of PC on ARMv8-M unset in non-secure code?

The document

http://infocenter.arm.com/help/topic/com.arm.doc.ecm0359818/ECM0359818_armv8m_security_extensions_reqs_on_dev_tools_1_0.…

on page 8 says the least significant bit of the PC is used to distinguish between secure and non-secure state - and as far as I can make out non-secure state has the bit unset and secure state has it set. Surely that is rather  incompatible with the current use where it always has to be 1 and I would say most of the code would be counted as insecure? Why is the bit required anyway?