IL237282A

Exception handling in a data processing apparatus having a secure domain and a less secure domain

Abstract

This record has no abstract on file.

IL237282A, drawing sheet 1
Sheet 1 of 16

Term

No projected expiry on record.

  1. Priority
  2. Filed
  3. Published
  4. Today

24 claims: 3 independent, 21 dependent

  1. 1
    CLAIMS 1. A data processing apparatus comprising:processing circuitry for performing data processing operations in response to program code, the processing circuitry comprising exception control circuitry for controlling exception processing;a plurality of registers for storing data, the registers including a first subset of registers and a second subset of registers;and a data store for storing data, the data store comprising a plurality of regions including a secure region and a less secure region, wherein the secure region is for storing data which is accessible by the processing circuitry when operating in a secure domain and not accessible by the processing circuitry when operating in a less secure domain;wherein: in response to an initial exception from background processing performed by the processing circuitry, the exception control circuitry is configured to perform state saving of data from the first subset of registers before triggering the processing circuitry to perform an exception handling routine corresponding to the exception, wherein the exception handling routine has responsibility for performing state saving of data from the second subset of registers;in response to a first exception causing a transition from the secure domain to the less secure domain, where the background processing was performed by the processing circuitry in the secure domain, the exception control circuitry is configured to perform additional state saving of the data from the second subset of registers before triggering the processing circuitry to perform the exception handling routine in the less secure domain;and in response to a tail-chained exception causing a transition from the secure domain to the less secure domain, the exception control circuitry is configured to trigger the processing circuitry to perform the exception handling routine without performing the additional state saving, the tail-chained exception being processed after said first exception has been processed and before returning to the background processing, wherein on entry to a new exception causing a transition from the secure domain to the less secure domain, the exception control circuity is configured to determine, in dependence on a state saving status value ,whether to perform the additional state saving before triggering the exception handling routine, and wherein the state saving status value indicates whether at least one exception has been processed in the less secure domain between halting the background processing and entering the new exception. 237282/2
  2. 23
    A data processing apparatus comprising:processing means for performing data processing operations in response to program code, the processing means comprising exception control means for controlling exception processing;a plurality of register means for storing data, the register means including a first subset of register means and a second subset of register means;and data storing means for storing data, the data storing means comprising a plurality of regions including a secure region and a less secure region, wherein the secure region is for storing data which is accessible by the processing means when operating in a secure domain and not accessible by the processing means when operating in a less secure domain;wherein: in response to an initial exception from background processing performed by the processing means, the exception control means is configured to perform state saving of data from the first subset of register means before triggering the processing means to perform an exception handling routine corresponding to the exception, wherein the exception handling routine has responsibility for performing state saving of data from the second subset of register means;in response to a first exception causing a transition from the secure domain to the less secure domain, where the background processing was performed by the processing means in the secure domain, the exception control means is configured to perform additional state saving of the data from the second subset of register means before triggering the processing means to perform the exception handling routine in the less secure domain;and in response to a tail-chained exception causing a transition from the secure domain to the less secure domain, the exception control means is configured to trigger the processing means to perform the exception handling routine without performing the additional state 237282/2 saving, the tail-chained exception being processed after said first exception has been processed and before returning to the background processing, wherein on entry to a new exception causing a transition from the secure domain to the less secure domain, the exception control means is configured to determine, in dependence on a state saving status value, whether to perform the additional state saving before triggering the exception handling routine,and wherein the state saving status value indicates whether at least one exception has been processed in the less secure domain between halting the background processing and entering the new exception.
  3. 24
    A data processing method for a data processing apparatus comprising processing circuitry for performing data processing operations in response to program code, the processing circuitry comprising exception control circuitry for controlling exception processing; a plurality of registers for storing data, the registers including a first subset of registers and a second subset of registers; and a data store for storing data, the data store comprising a plurality of regions including a secure region and a less secure region, wherein the secure region is for storing data which is accessible by the processing circuitry when operating in a secure domain and not accessible by the processing circuitry when operating in a less secure domain; the method comprising the steps of:in response to an initial exception from background processing performed by the processing circuitry, the exception control circuitry performing state saving of data from the first subset of registers before triggering the processing circuitry to perform an exception handling routine corresponding to the exception, wherein the exception handling routine has responsibility for performing state saving of data from the second subset of registers;in response to a first exception causing a transition from the secure domain to the less secure domain, where the background processing was performed by the processing circuitry in the secure domain, the exception control circuitry performing additional state saving of the data from the second subset of registers before triggering the processing circuitry to perform the exception handling routine in the less secure domain;and in response to a tail-chained exception causing a transition from the secure domain to the less secure domain, the exception control circuitry triggering the processing circuitry to perform the exception handling routine without performing the additional state saving, the tail-chained exception being processed after said first exception has been processed and before returning to the background processing,