Task following between multiple operating systems
First Claim
1. A method of processing data with one or more data processing threads executing under control of a first operating system upon a processor and one or more data processing threads executing under control of a second operating system upon said processor, said method comprising the steps of:
- executing a first data processing thread under control of said first operating system;
triggered by said first data processing thread, generating a call with said first operating system to said second operating system to trigger execution of a second data processing thread operating under control of said second operating system;
wherein;
said call passed from said first operating system to said second operating system includes an identifier enabling discrimination by said second operating system between calls triggered by different data processing threads executing under control of said first operating system,said first operating system executes in a non-secure domain and said second operating system executes in a secure domain,a data processing thread executing in said domain has access to secure data which is not accessible to a data processing thread executing in said non-secure domain, andsaid call is made using a software interrupt instruction and includes on or more parameters used by said second operating system.
1 Assignment
0 Petitions
Accused Products
Abstract
A processor may utilise two operating systems (Non-Secure, Secure) between which calls may be made. In order that a second operating system can track task switches made by a first operating system, each time a call is made to the second operating system, this call includes an identifier to enable discrimination between the task which was executing on the first operating system when that call was made. The identifier can be a call identifier and/or a target thread identifier and may include further parameters.
65 Citations
23 Claims
-
1. A method of processing data with one or more data processing threads executing under control of a first operating system upon a processor and one or more data processing threads executing under control of a second operating system upon said processor, said method comprising the steps of:
-
executing a first data processing thread under control of said first operating system; triggered by said first data processing thread, generating a call with said first operating system to said second operating system to trigger execution of a second data processing thread operating under control of said second operating system;
wherein;said call passed from said first operating system to said second operating system includes an identifier enabling discrimination by said second operating system between calls triggered by different data processing threads executing under control of said first operating system, said first operating system executes in a non-secure domain and said second operating system executes in a secure domain, a data processing thread executing in said domain has access to secure data which is not accessible to a data processing thread executing in said non-secure domain, and said call is made using a software interrupt instruction and includes on or more parameters used by said second operating system. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method of processing data with one or more data processing threads executing under control of a first operating system upon a processor and one or more data processing threads executing under control of a second operating system upon said processor, said method comprising the steps of:
-
executing a first data processing thread under control of said first operating system; triggered by said first data processing thread, generating a call with said first operating system to said second operating system to trigger execution of a second data processing thread operating under control of said second operating system;
wherein;said call passed from said first operating system to said second operating system includes an identifier enabling discrimination by said second operating system between calls triggered by different data processing threads executing under control of said first operating system, said second operating system has a currently active data processing thread and uses said identifier to trigger a thread switch to said second data processing thread if said second data processing thread is not said currently active data processing thread, said first operating system executes in a non-secure domain and said second operating system executes in a secure domain, a data processing thread executing in said domain has access to secure data which is not accessible to a data processing thread executing in said non-secure domain, and said call is made using a software interrupt instruction.
-
-
9. A method of processing data with one or more data processing threads executing under control of a first operating system upon a processor and one or more data processing threads executing under control of a second operating system upon said processor, said method comprising the steps of:
-
executing a first data processing thread under control of said first operating system; triggered by said first data processing thread, generating a call with said first operating system to said second operating system to trigger execution of a second data processing thread operating under control of said second operating system;
wherein;said call passed from said first operating system to said second operating system includes an identifier enabling discrimination by said second operating system between calls triggered by different data processing threads executing under control of said first operating system, said identifier includes a thread identifier directly identifying said first data processing thread, said first operating system executes in a non-secure domain and said second operating system executes in a secure domain, a data processing thread executing in said domain has access to secure data which is not accessible to a data processing thread executing in said non-secure domain, and said call is made using a software interrupt instruction. - View Dependent Claims (10)
-
-
11. A method of processing data with one or more data processing threads executing under control of a first operating system upon a processor and one or more data processing threads executing under control of a second operating system upon said processor, said method comprising the steps of:
-
executing a first data processing thread under control of said first operating system; triggered by said first data processing thread, generating a call with said first operating system to said second operating system to trigger execution of a second data processing thread operating under control of said second operating system;
wherein;said call passed from said first operating system to said second operating system includes an identifier enabling discrimination by said second operating system between calls triggered by different data processing threads executing under control of said first operating system, said call includes a target thread identifier identifying said second data processing thread, said first operating system executes in a non-secure domain and said second operating system executes in a secure domain, a data processing thread executing in said domain has access to secure data which is not accessible to a data processing thread executing in said non-secure domain, and said call is made using a software interrupt instruction. - View Dependent Claims (12)
-
-
13. An apparatus for processing data with one or more data processing threads executing under control of a first operating system upon a processor and one or more data processing threads executing under control of a second operating system upon said processor, said apparatus comprising:
-
execution circuitry for executing a first data processing thread under control of said first operating system; call generating circuitry configured when triggered by said first data processing thread to generate a call with said first operating system to said second operating system to trigger execution of a second data processing thread operating under control of said second operating system;
wherein;said call passed from said first operating system to said second operating system includes an identifier enabling discrimination by said second operating system between calls triggered by different data processing threads executing under control of said first operating system, said first operating system executes in a non-secure domain and said second operating system executes in a secure domain, a data processing thread executing in said domain has access to secure data which is not accessible to a data processing thread executing in said non-secure domain, and said call is made using a software interrupt instruction and includes on or more parameters used by said second operating system. - View Dependent Claims (14, 15, 16, 17, 18)
-
-
19. An apparatus for processing data with one or more data processing threads executing under control of a first operating system upon a processor and one or more data processing threads executing under control of a second operating system upon said processor, said method comprising:
-
execution circuitry for executing a first data processing thread under control of said first operating system; call generating circuitry configured when triggered by said first data processing thread to generate a call with said first operating system to said second operating system to trigger execution of a second data processing thread operating under control of said second operating system;
wherein;said call passed from said first operating system to said second operating system includes an identifier enabling discrimination by said second operating system between calls triggered by different data processing threads executing under control of said first operating system, said second operating system has a currently active data processing thread and uses said identifier to trigger a thread switch to said second data processing thread if said second data processing thread is not said currently active data processing thread, said first operating system executes in a non-secure domain and said second operating system executes in a secure domain, a data processing thread executing in said domain has access to secure data which is not accessible to a data processing thread executing in said non-secure domain, and said call is made using a software interrupt instruction.
-
-
20. An apparatus for processing data with one or more data processing threads executing under control of a first operating system upon a processor and one or more data processing threads executing under control of a second operating system upon said processor, said method comprising:
-
execution circuitry for executing a first data processing thread under control of said first operating system; call generating circuitry configured when triggered by said first data processing thread to generate a call with said first operating system to said second operating system to trigger execution of a second data processing thread operating under control of said second operating system;
wherein;said call passed from said first operating system to said second operating system includes an identifier enabling discrimination by said second operating system between calls triggered by different data processing threads executing under control of said first operating system, said identifier includes a thread identifier directly identifying said first data processing thread, said first operating system executes in a non-secure domain and said second operating system executes in a secure domain, a data processing thread executing in said domain has access to secure data which is not accessible to a data processing thread executing in said non-secure domain, and said call is made using a software interrupt instruction. - View Dependent Claims (21)
-
-
22. An apparatus for processing data with one or more data processing threads executing under control of a first operating system upon a processor and one or more data processing threads executing under control of a second operating system upon said processor, said method comprising:
-
execution circuitry for executing a first data processing thread under control of said first operating system; call generating circuitry configured when triggered by said first data processing thread to generate a call with said first operating system to said second operating system to trigger execution of a second data processing thread operating under control of said second operating system;
wherein;said call passed from said first operating system to said second operating system includes an identifier enabling discrimination by said second operating system between calls triggered by different data processing threads executing under control of said first operating system, said call includes a target thread identifier identifying said second data processing thread, said first operating system executes in a non-secure domain and said second operating system executes in a secure domain, a data processing thread executing in said domain has access to secure data which is not accessible to a data processing thread executing in said non-secure domain, and said call is made using a software interrupt instruction. - View Dependent Claims (23)
-
Specification