IP Library Granted Patent US 9,383,796
Granted Patent B2
US 9,383,796 · App. 14/124,784 · Granted Jul 5, 2016

Management of the interaction between security and operating system power management unit

Inventors: Gilles Gallet (Ampuis, FR); Pierre Philippe (Grenoble, FR); Laurent Morel (Grenoble, FR); Anne Morel-Trinquet (Grenoble, FR)
Assignee: ST-Ericsson SA
G06F1/32G06F1/3203G06F1/3234G06F9/4418G06F13/1663G06F21/00G06F21/74G06F9/54G06F9/544
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,383,796
App. No.
14/124,784
Granted
Jul 5, 2016
Kind
B2
Abstract

The present invention relates to a method of controlling the operation of a processing device in a first mode or in a second mode. The processing device has a first execution environment and a second execution environment. The method comprises, upon detection of a switch between said first and second modes, setting in the first execution environment a value of a shared variable to an initial value, upon detection of a request of execution of instructions in the second execution environment, updating the value of said shared variable to a value different from the initial value, and reading a current value of the shared variable and causing the processing device to operate in the first mode or in the second mode depending at least on the current value of the shared variable.

Claims (34)

1. A method of controlling operation of a processing device in a first power mode or in a second power mode, the processing device having a public execution environment and a separate secure execution environment, wherein at least the secure execution environment is configured to be requested to execute instructions and to execute the instructions, the method comprising:

upon detection of a switch between the first and second power modes, setting in the public execution environment a value of a shared variable to an initial value;

upon detection of a request to execute instructions in the secure execution environment, updating the value of the shared variable to a value different from the initial value; and

reading a current value of the shared variable and causing the processing device to operate in the first power mode or in the second power mode depending at least on the current value of the shared variable.

2. The method of claim 1 , wherein the updating of the value of the shared variable is performed prior to the secure execution environment executing the instructions.

3. The method of claim 1 :

wherein the value of the shared variable can be set at least to a first and to a second value, the first value being the initial value; and

wherein the value of the shared variable is updated to the second value upon detection of a request to execute instructions in the secure execution environment.

4. The method of claim 3 , wherein the shared variable is a Boolean variable.

5. The method of claim 1 , wherein the value of the shared variable is an integer, and is incremented upon detecting a request to execute instructions in the secure execution environment.

6. The method of claim 1 :

wherein the value of the shared variable can be set to a plurality of possible integer values; and

wherein the value of the shared variable is updated with one of the possible integer values upon detecting a request to execute instructions in the secure execution environment.

7. The method of claim 1 , wherein the request to execute instructions comprises a synchronous call.

8. The method of claim 1 , wherein the request to execute instructions comprises an asynchronous call.

9. A processing device, comprising one or more processing circuits operative to switch between a first power mode of operation and a second power mode of operation, and to provide a public execution environment and a separate secure execution environment, the one or more processors being configured via programming to:

operate the secure execution environment to:

receive a request to execute instructions;

execute the instructions based on the received request;

upon detection of a switch between the first and second power modes of operation, set in the public execution environment a value of a shared variable to an initial value;

upon detection of the request to execute instructions in the secure execution environment, update the value of the shared variable to a value different from the initial value; and

operate the public execution environment to read a current value of the shared variable and decide whether to make the processing device operate in the first power mode or in the second power mode of operation according to at least the read value of the shared variable.

10. The processing device of claim 9 , wherein the one or more processors are further configured via programming to operate the secure execution environment to update the value of the shared variable prior to executing the instructions.

11. The processing device of claim 9 , wherein one or more processors are further configured via programming to operate the secure execution environment to:

set the value of the shared variable to either a first or a second value, the first value being the initial value; and

update the value of the shared variable to the second value upon detection of a request to execute instructions in the secure execution environment.

12. The processing device of claim 9 , wherein the one or more processors are further configured via programming to operate the secure execution environment to:

increment the value of the shared variable upon detection of a request to execute instructions in the secure execution environment;

wherein the value of the shared variable is an integer.

13. The processing device of claim 9 , wherein the one or more processors are further configured via programming to operate the secure execution environment to receive a request to execute instructions with either an asynchronous call or a synchronous call.

14. A computer program product stored in a non-transitory computer-readable medium, the computer program product comprising software instructions for a processing device having first and second power modes of operation, and having a public execution environment and a separate secure execution environment, wherein execution of the software instructions by one or more processing circuits of the processing device configures the processing device to:

upon detection of a switch between the first and second power modes, set in the public execution environment a value of a shared variable to an initial value;

upon detection of a request of to execute instructions in the secure execution environment, update the value of the shared variable to a value different from the initial value; and

read a current value of the shared variable and cause the processing device to operate in the first power mode or in the second power mode depending at least on the current value of the shared variable.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 7, 2019
From: OPTIS CIRCUIT TECHNOLOGY, LLC,
To: TELEFONAKTIEBOLAGET L M ERICSSON (PUBL)
Reel/Frame 048529/0510 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 5, 2019
From: ST-ERICSSON SA, EN LIQUIDATION
To: OPTIS CIRCUIT TECHNOLOGY, LLC,
Reel/Frame 048504/0519 →
STATUS CHANGE-ENTITY IN LIQUIDATION Recorded Feb 2, 2016
From: ST-ERICSSON SA
To: ST-ERICSSON SA, EN LIQUIDATION
Reel/Frame 037739/0493 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2013
From: GALLET, GILLES; PHILIPPE, PIERRE; MOREL, LAURENT; MOREL-TRINQUET, ANNE
To: ST-ERICSSON SA
Reel/Frame 031739/0363 →
Priority Claims (1)
EP 11305739 · Jun 10, 2011 · regional
Continuity (2)
Provisional Application 61505906 · Jul 8, 2011
Related Publication 20140201548A1 · Jul 17, 2014