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.

Debug Register Interfaces<br />

C6.5 Access permissions<br />

This section describes the basic concepts of the access permissions model for debug registers on <strong>ARM</strong>v7<br />

processors. The actual rules for each interface, <strong>and</strong> for <strong>ARM</strong>v6 implementations, are given in the section<br />

describing the register interface:<br />

CP14 debug registers access permissions on page C6-36<br />

Permission summaries for memory-mapped <strong>and</strong> external debug interfaces on page C6-45.<br />

The restrictions for accessing the registers can be divided into three categories:<br />

Privilege of the access<br />

Accesses from processors in the system to the memory-mapped registers, <strong>and</strong> accesses to<br />

coprocessor registers, can be required to be privileged.<br />

Locks Can be used to lock out different parts of the register map so they cannot be accessed.<br />

Power-down Access to registers in the core power domain is not possible when that domain is powered<br />

down.<br />

When permission to access a register is not granted, an error is returned. The nature of this error depends on<br />

the interface:<br />

For coprocessor interfaces, the error is an Undefined Instruction exception<br />

For the memory-mapped interface, the error is a slave-generated error response, for example<br />

PSLVERRDBG. The error is normally signaled to the processor as an external abort.<br />

For the external debug interface, the error is signaled to the debugger by the Debug Access Port.<br />

Holding the processor in warm reset, whether by using an external warm reset signal or by using the Device<br />

Power-down <strong>and</strong> Reset Control Register (DBGPRCR), does not affect the behavior of the memory-mapped<br />

or external debug interface.<br />

The Hold non-debug reset control bit of the DBGPRCR enables an external debugger to keep the processor<br />

in warm reset while programming other debug registers. For details see Device Power-down <strong>and</strong> Reset<br />

Control Register (DBGPRCR), v7 Debug only on page C10-31.<br />

C6.5.1 Permissions in relation to the privilege of the access<br />

The majority of debug registers can only be accessed by privileged code. The exception to this general<br />

requirement is a small subset of the registers, defined in The Baseline CP14 debug register interface on<br />

page C6-32. Using the coprocessor interface, privileged code can disable User mode access to this subset of<br />

registers.<br />

For the memory-mapped interface, it is IMPLEMENTATION DEFINED whether restricting debug register access<br />

to privileged code is implemented by the processor or must be implemented by the system designer at the<br />

system level. The behavior of an access that is not permitted is IMPLEMENTATION DEFINED, however it must<br />

either be ignored or aborted.<br />

C6-26 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!