05.02.2013 Views

ARM Architecture Reference Manual ARMv7-A and ARMv7-R edition

ARM Architecture Reference Manual ARMv7-A and ARMv7-R edition

ARM Architecture Reference Manual ARMv7-A and ARMv7-R edition

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Note<br />

It is important to distinguish between:<br />

The System Level Programmers’ Model<br />

Figure B1-2 Security state, Monitor mode, <strong>and</strong> the SCR.NS bit<br />

Monitor mode This is a processor mode that is only available when the Security Extensions are<br />

implemented. It is used in normal operation, as a mechanism to transfer between Secure <strong>and</strong><br />

Non-secure state, as described in this section.<br />

Monitor debug-mode<br />

CP15SCR.NS = 1<br />

(Non-secure)<br />

SMC<br />

Supervisor<br />

FIQ<br />

IRQ<br />

Undef<br />

Abort<br />

System<br />

Non-secure<br />

privileged modes<br />

Non-secure<br />

state<br />

Monitor<br />

This is a debug mode <strong>and</strong> is available regardless of whether the Security Extensions are<br />

implemented. For more information, see About the <strong>ARM</strong> Debug architecture on page C1-3.<br />

Changing from Secure to Non-secure state<br />

The security state is controlled by the SCR.NS bit, <strong>and</strong> <strong>ARM</strong> recommends that the SCR is modified only in<br />

Monitor mode. Monitor mode is responsible for switching between Secure <strong>and</strong> Non-secure states.<br />

To return to Non-secure state, set the SCR.NS bit to 1 <strong>and</strong> then perform an exception return.<br />

<strong>ARM</strong> DDI 0406B Copyright © 1996-1998, 2000, 2004-2008 <strong>ARM</strong> Limited. All rights reserved. B1-27<br />

MCR<br />

CP15SCR.NS = 0<br />

(Secure)<br />

Supervisor<br />

FIQ<br />

IRQ<br />

Undef<br />

Abort<br />

System<br />

User User<br />

Secure<br />

state<br />

SMC ‡<br />

Secure privileged<br />

modes other than<br />

Monitor mode<br />

‡ or other mode<br />

changing method

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!