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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

The System Level Programmers’ Model<br />

1 Configuration valid. The EJVM does not need to update the configuration<br />

registers.<br />

When the JMCR.JE bit is set to 1, the CV bit also controls entry to Jazelle state, see<br />

Controlling entry to Jazelle state on page B1-79.<br />

CD, bit [0] Configuration Disabled bit. This bit is used by an operating system to disable User mode<br />

access to the JIDR <strong>and</strong> configuration registers:<br />

0 Configuration enabled. Access to the Jazelle registers, including User mode<br />

accesses, operate normally. For more information, see the register descriptions<br />

in Application level configuration <strong>and</strong> control of the Jazelle extension on<br />

page A2-75.<br />

1 Configuration disabled in User mode. User mode access to the Jazelle registers<br />

are UNDEFINED, <strong>and</strong> all User mode accesses to the Jazelle registers cause an<br />

Undefined Instruction exception.<br />

For more information about the use of this bit see Monitoring <strong>and</strong> controlling User mode<br />

access to the Jazelle extension on page B1-80.<br />

The JOSCR provides a control mechanism that is independent of the subarchitecture of the Jazelle<br />

extension. An operating system can use this mechanism to control access to the Jazelle extension. Normally,<br />

this register is used in conjunction with the JMCR.JE bit, see Jazelle Main Configuration Register (JMCR)<br />

on page A2-77.<br />

The JOSCR.CV <strong>and</strong> JOSCR.CD bits are both set to 0 on reset. This ensures that, subject to some conditions,<br />

an EJVM can operate under an OS that does not support the Jazelle extension. The main condition required<br />

to ensure an EJVM can operate under an OS that does not support the Jazelle extension it that the operating<br />

system never swaps between two EJVM processes that require different settings of the Jazelle configuration<br />

registers.<br />

Two examples of how this condition can be met in a system are:<br />

if there is only ever one process or thread using the EJVM<br />

if all of the processes or threads that use the EJVM use the same static settings of the configuration<br />

registers.<br />

Accessing the JOSCR<br />

To access the JOSCR you read or write the CP14 registers with set to 7, set to c1, set to<br />

c0, <strong>and</strong> set to 0. For example:<br />

MRC p14, 7, , c1, c0, 0 ; Read Jazelle OS Control Register<br />

MCR p14, 7, , c1, c0, 0 ; Write Jazelle OS Control Register<br />

Note<br />

For maximum compatibility with any future enhancements to the Jazelle extension, <strong>ARM</strong> strongly<br />

recommends that a read, modify, write sequence is used to update the JOSCR. Updating the register in this<br />

way preserves the value of any of bits [31:2] that might be used by a future expansion.<br />

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

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

Saved successfully!

Ooh no, something went wrong!