IP Library Granted Patent US 9,690,596
Granted Patent B1
US 9,690,596 · App. 14/843,834 · Granted Jun 27, 2017

Firmware based runtime operating system switch

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,690,596
App. No.
14/843,834
Granted
Jun 27, 2017
Kind
B1
Abstract

Approaches for firmware-based runtime operating system switch. UEFI firmware receives a request to switch an active operating system on a device from a first operating system to a second operating system. The UEFI firmware changes the operational state of the first operating state to an ACPI S3 state. The UEFI firmware performs a set of ACPI S3 resume boot path operations on the second operating system to cause the second operating system to become the active operating system. The set of ACPI S3 resume boot path operations may be performed while the second operating system is loaded into a memory area inaccessible to the first operating system and the first operating system remains in the ACPI S3 state.

Claims (38)

1. One or more non-transitory machine-readable storage mediums storing one or more sequences of instructions for a firmware-based runtime operating system switch, which when executed by one or more processors, cause:

upon firmware receiving a request to switch an active operating system on a device from a first operating system to a second operating system, the firmware changing an operational state of the first operating system to an ACPI S3 state and performing a set of ACPI S3 resume boot path operations on the second operating system to cause the second operating system to become the active operating system,

wherein the ACPI S3 state is a sleep state; and

upon receiving a request to place said active operating system into a ACPI S4 state or a ACPI S5 state, forbearing any change in an operational state of said active operating system until user input regarding how to handle a background operating system is received,

wherein the ACPI S4 state is a hibernation state, and wherein the ACPI S5 state is a suspend to disk state.

2. The one or more non-transitory machine-readable storage mediums of claim 1 , wherein said set of ACPI S3 resume boot path operations are all handled in a Pre-EFI Initialization (PEI) phase.

3. The one or more non-transitory machine-readable storage mediums of claim 1 , wherein said set of ACPI S3 resume boot path operations includes:

adjusting a current active operating system bootscript point to reference an operating system bootscript for the second operating system; and

adjusting a current resume vector to reference a resume vector for the second operating system.

4. The one or more non-transitory machine-readable storage mediums of claim 1 , wherein execution of the one or more sequences of instructions further cause:

upon receiving a request to place said active operating system into said ACPI S3 state, placing said active operating system in said ACPI S3 state without changing said active operating system to a different operating system.

5. The one or more non-transitory machine-readable storage mediums of claim 1 , wherein performing said set of ACPI S3 resume boot path operations on the second operating system is performed while (a) the second operating system is loaded into a memory area inaccessible to the first operating system and (b) the first operating system remains in the ACPI S3 state.

6. An apparatus for a firmware-based runtime operating system switch, comprising:

one or more processors; and

one or more non-transitory computer-readable storage mediums storing one or more sequences of instructions, which when executed, cause:

upon-firmware receiving a request to switch an active operating system on a device from a first operating system to a second operating system, the firmware changing an operational state of the first operating system to an ACPI S3 state and performing a set of ACPI S3 resume boot path operations on the second operating system to cause the second operating system to become the active operating system,

wherein the ACPI S3 state is a sleep state; and

upon receiving a request to place said active operating system into a ACPI S4 state or a ACPI S5 state, forbearing any change in an operational state of said active operating system until user input regarding how to handle a background operating system is received,

wherein the ACPI S4 state is a hibernation state, and wherein the ACPI S5 state is a suspend to disk state.

7. The apparatus of claim 6 , wherein said set of ACPI S3 resume boot path operations are all handled in a Pre-EFI Initialization (PEI) phase.

8. The apparatus of claim 6 , wherein said set of ACPI S3 resume boot path operations includes:

adjusting a current active operating system bootscript point to reference an operating system bootscript for the second operating system; and

adjusting a current resume vector to reference a resume vector for the second operating system.

9. The apparatus of claim 6 , wherein execution of the one or more sequences of instructions further cause:

upon receiving a request to place said active operating system into said ACPI S3 state, placing said active operating system in said ACPI S3 state without changing said active operating system to a different operating system.

10. The apparatus of claim 6 , wherein performing said set of ACPI S3 resume boot path operations on the second operating system is performed while (a) the second operating system is loaded into a memory area inaccessible to the first operating system and (b) the first operating system remains in the ACPI S3 state.

11. A method for a firmware-based runtime operating system switch, comprising:

upon firmware receiving a request to switch an active operating system on a device from a first operating system to a second operating system, the firmware changing an operational state of the first operating system to an ACPI S3 state and performing a set of ACPI S3 resume boot path operations on the second operating system to cause the second operating system to become the active operating system,

wherein the ACPI S3 state is a sleep state; and

upon receiving a request to place said active operating system into a ACPI S4 state or a ACPI S5 state, forbearing any change in an operational state of said active operating system until user input regarding how to handle a background operating system is received,

wherein the ACPI S4 state is a hibernation state, and wherein the ACPI S5 state is a suspend to disk state.

12. The method of claim 11 , wherein said set of ACPI S3 resume boot path operations are all handled in a Pre-EFI Initialization (PEI) phase.

13. The method of claim 11 , wherein said set of ACPI S3 resume boot path operations includes:

adjusting a current active operating system bootscript point to reference an operating system bootscript for the second operating system; and

adjusting a current resume vector to reference a resume vector for the second operating system.

14. The method of claim 11 , further comprising:

upon receiving a request to place said active operating system into said ACPI S3 state, placing said active operating system in said ACPI S3 state without changing said active operating system to a different operating system.

15. The method of claim 11 , wherein performing said set of ACPI S3 resume boot path operations on the second operating system is performed while (a) the second operating system is loaded into a memory area inaccessible to the first operating system and (b) the first operating system remains in the ACPI S3 state.

Assignments (4)
CHANGE OF NAME Recorded Aug 17, 2021
From: SANTERA EMEA LTD.
To: PHOENIX TECHNOLOGIES EMEA LIMITED
Reel/Frame 057199/0594 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 12, 2021
From: PHOENIX TECHNOLOGIES LTD.
To: SANTERA EMEA LTD.
Reel/Frame 054893/0734 →
CHANGE OF ADDRESS Recorded Jun 20, 2019
From: PHOENIX TECHNOLOGIES LTD.
To: PHOENIX TECHNOLOGIES LTD.
Reel/Frame 051790/0808 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 2, 2015
From: CHUANG, FRANKLIN
To: PHOENIX TECHNOLOGIES LTD.
Reel/Frame 036934/0775 →