IL237280A

Data processing apparatus and method using secure domain and less secure domain

Abstract

This record has no abstract on file.

IL237280A, drawing sheet 1
Sheet 1 of 11

Term

No projected expiry on record.

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

13 claims: 6 independent, 7 dependent

  1. 1
    claims Ί. A data processing apparatus (2) comprising:processing circuitry (4) for performing data processing operatioos in response to program instructions, the processing circuitry having a plurality of domains of operation including a secure domain and a less secure domain, wherein when operating in the secure domain the processing circuitry has access to data that is not accessible when operating in the less secure domain;wherein in response ίο execution of a control flow altering instruction, the processing circuitry (4) is configured to switch to processing a program instruction at a target address indicated by the control flow altering instruction, and· to perform domain selection for determining a selected domain in which the processing circuitry is to operate for the program instruction at the target address;and at least if tire control flow altering instruction is executed while operating in the secure domain, then the processing circuitry (4) is configured to: (i) perform domain checking for determining which of the plurality of domains are allowed to be the selected domain determined by the domain selection for the program instruction at the target address, the domain checkins using a different technique to the domain selection;and (it) trigger a domain check error if the selected domain determined in the domain selection, is not an allowed selected domain determined in the domain checking;wherein in response to execution of a control flow altering instruction while operating in the secure domain for which the domain selection determines that the secure domain is the selected domain, the processing circuitry (4) is configured to trigger a domain check error when the secure domain is not an allowed selected domain determined in the domain checking.
  2. 3
    'The data processing apparatus according to claim I os- claim 2, wherein if the control flow altering instruction is executed while operating io the less secure domain, the processing circuitry is also configured to perform the domain checking and trigger the domain check error if the selected domain determined in the domain selection does 5 not match an allowed domain determined in the domain checking.
  3. 6
    6) for storing data, the data store comprising a plurality of regions including a secure region and a less secure region, wherein foe secure region is for storing data which is accessible by the processing circuitry when operating in the secure domain and not 15 accessible fay the processing circuitry when operating in the less secure domain;wherein the first determining comprises determining at least one selected domain in dependence upon at least which of the plurality of regions corresponds to the instruction address of a program instruction ai the target address. 20 6. The data processing apparatus according to. claim 5, wherein for at least some program instructions the first determining comprises selecting the less secure domain as the selected domain if the instruction address corresponds to the less secure region, and selecting the secure domain as the selected domain if the instruction address corresponds to the secure region,
  4. 10
    The data processing apparatus according to any of claims 7 or 9, wherein the processing circuitry is configured to set the target domain value in response to a target donrain value setting instruction, 10 31. The data processing apparatu s according to claim 10, wherein if the processing circuitry was operating in the less secure domain before said target domain value setting instruction was performed, then the processing circuitry is configured to set the target domain value to indicate the less secure domain. 15 12. The data processing apparatus according to any of claims 7 to 11, wherein the targe:domain value t& represented by a redundant data field in one of the encoding of the control flow' altering instruction and the target address used by the control flow altering instru ction. 20 13. The data processing apparatus according to any preceding claim, wherein for at least one program instruction, the domain cheeking comprises determining a plurality of the domains as an allowed selected domain for the program instruction.
  5. 12
    15 the program instruction at the target address, the domain checking using a different technique to the domain selection;and {ii) triggering (210, 212) a domain check error if the selected domain determined in the domain selection, is not an allowed selected domain determined in the domain cheeking;
  6. 13
    20 wherein in response to execution of a control flow altering instruction while operating in the secure domain for which the domain selection determines that the secure domain is the selected domain, a domain check error is triggered when the secure domain is' not an allowed selected domain determined in the domain checking.