3.5.53. OS Save and Restore Register, ETMOSSRR, ETMv3.3 and later

The ETMOSSRR characteristics are:


Used to save or restore the complete ETM trace register state of the macrocell.

Usage constraints

There are no usage constraints.


This register is only available in ETMv3.3 and ETMv3.4.


See the register summary in Table 3.3 and Reset behavior.


In ETMv3.5 this register is deprecated. All accesses to ETMOSSRR are unpredictable or return an error.

Figure 3.48 shows the ETMOSSRR bit assignments.

Figure 3.48. ETMOSSRR bit assignments

To view this graphic, your browser must support the SVG format. Either install a browser with native support, or install an appropriate plugin such as Adobe SVG Viewer.

Table 3.62 shows the ETMOSSRR bit assignments.

Table 3.62. ETMOSSRR bit assignments


Version [a]



The first access to the register must be a read. On this access:

  • on an OS save, this field returns the number of additional read accesses required to save the ETM trace register settings

  • on an OS restore, this field returns an unknown value, or an implementation defined value.


    On an OS restore, this read must be performed even if it returns an unknown value.

On subsequent accesses the field holds the ETM trace register value being saved or restored.

[a] The first ETM architecture version that defines the field.

This register works in conjunction with an internal sequence counter to enable you to save or restore the contents of the ETM trace registers. See Table 3.4 for information on how the ETM registers are split into trace and management registers.

Before accessing this register, you must write the key value, 0xC5ACCE55, to the ETMOSLAR. This write resets the OS save/restore internal sequence counter. Locking the ETM trace registers in this way prevents any change to their contents during the save or restore process.

When you have locked access to the ETM trace registers you must read the ETMOSSRR. The significance of the result returned depends on whether you are performing an OS save or an OS restore:

OS save

The value returned is the number of additional ETMOSSRR accesses required to save or restore the ETM trace registers. After reading this value, you must:

  • save this value, for use for the OS restore

  • perform this number of reads of the ETMOSSRR, saving the returned values to save the status of the ETM trace registers.

OS restore

The value returned is unknown, or might be implementation defined. After reading this value, you must:

  • discard this value

  • use the number of accesses value saved from the OS save operation to find how many accesses are required to restore the status of the ETM trace registers

  • perform this number of writes to the ETMOSSRR, writing back the status information saved in the OS save operation.

The number of accesses required, and the order and interpretation of the save and restore data, is implementation defined. However, the restore sequence must observe the writable status of all bits of the registers being restored.

Behavior is unpredictable if:

For more information on using the ETMOSSRR, see Power Down support.

Copyright © 1999-2002, 2004-2009, 2011 ARM Limited. All rights reserved.ARM IHI 0014Q