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?
Thanks very much, I see I was getting the wrong end of the stick.
So basically bit 0 in the PC is just referring to the use of that bit as a flag in the restricted circumstances of when possibly going between secure and non-secure state. In all other circumstances there is no difference from what happens currently.