# US 10,120,695 B2 · Method and apparatus to support separate operating systems in partitions of a processing system

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,120,695 B2
- Document ID: US10120695B2
- Status: Granted
- Kind: B2
- Application number: 13/939,481
- Filed: 2013-07-11
- Published: 2014-08-07
- Granted: 2018-11-06
- Earliest claimed: 2006-04-19
- Assignees: Intel Corporation
- Applicants: Intel Corporation
- Inventors: Lyle Cool; Saul Lewites
- Web page: https://patentgrep.com/patent/US10120695B2

## CPC

- G06F 9/4405: {Initialisation of multiprocessor systems}
- G06F 9/4401: Bootstrapping (security arrangements therefor G06F21/57)
- G06F 9/4403: {Processor initialisation}
- G06F 9/4406: {Loading of operating system}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A processing system with multiple processing units may support separate operating systems (OSs) in separate partitions. During an initialization process, a preboot manager in the processing system may copy software to a sequestered area of memory in the processing system. The preboot manager may also configure the processing system to hide the sequestered area of memory from a first partition of the processing system. Also, the preboot manager may use a first processing unit in the processing system to boot an OS on the first partition, and the preboot manager may transmit a boot trigger from the first processing unit to a second processing unit in the processing system. The boot trigger may cause the second processing unit to use the software in the sequestered area of memory to boot a second partition of the processing system. Other embodiments are described and claimed.

## Claims

### Claim 1

A method comprising:
performing initialization of a processing system, having multiple processing units, based on a single firmware image, wherein the single firmware image is shared by a first partition and a second partition in the processing system;
performing local environment initialization of the first partition and the second partition based on the single firmware image;
constructing, by the first partition, a parameter structure with a memory map to identify a portion of physical memory to be used by the second partition, and a device list of a plurality of devices to be available to the second partition; and
sending, from the first partition directly to the second partition, the device list including the plurality of devices to be available to the second partition;
wherein the first partition and the second partition operate as independent processing environments.

### Claim 2 (depends on 1)

The method of claim 1, wherein performing initialization of the processing system comprises booting an operating system.

### Claim 3 (depends on 1)

The method of claim 1, wherein performing initialization of the processing system is performed on a first processing unit of the multiple processing units while performing local environment initialization of the first partition and the second partition is performed on a second processing unit and a third processing unit of the multiple processing units.

### Claim 4 (depends on 1)

The method of claim 1, further comprising hiding a sequestered area of memory from a main area of memory.

### Claim 5 (depends on 1)

The method of claim 1, further comprising hiding one or more devices from a main area of memory.

### Claim 6 (depends on 1)

The method of claim 1, further comprising:
starting the second partition of the processing system; and
booting the second partition of the processing unit using a second processing unit of the processing system based on the device list including the plurality of devices to be available to the second partition.

### Claim 7 (depends on 1)

The method of claim 1, further comprising running a basic input/output system (BIOS) loader with a first memory map to create a first BIOS region for the first partition and running the BIOS loader with a second memory map to create a second BIOS region for the second partition.

### Claim 8

An apparatus comprising:
logic circuitry to perform initialization of a processing system, having multiple processing units, based on a single firmware image, wherein the single firmware image is to be shared by a first partition and a second partition in the processing system;
logic circuitry to perform local environment initialization of the first partition and the second partition based on the single firmware image;
logic circuitry to construct by the first partition, a parameter structure with a memory map to identify a portion of physical memory to be used by the second partition, and a device list of a plurality of devices to be available to the second partition; and
logic circuitry to send, from the first partition directly to the second partition, the device list including the plurality of devices to be available to the second partition;
wherein the first partition and the second partition operate as independent processing environments.

### Claim 9 (depends on 8)

The apparatus of claim 8, wherein the logic circuitry performing initialization of the processing system is to boot an operating system.

### Claim 10 (depends on 8)

The apparatus of claim 8, wherein the logic circuitry performing initialization of the processing system is to comprise a first processing unit of the multiple processing units while the logic circuitry performing local environment initialization of the first partition and the second partition is to comprise a second processing unit and a third processing unit of the multiple processing units.

### Claim 11 (depends on 8)

The apparatus of claim 8, further comprising logic circuitry to hide a sequestered area of memory from a main area of memory.

### Claim 12 (depends on 8)

The apparatus of claim 8, further comprising logic circuitry to hide one or more devices from a main area of memory.

### Claim 13 (depends on 8)

The apparatus of claim 8, further comprising logic circuitry to:
start the second partition of the processing system; and
boot the second partition of the processing unit using a second processing unit of the processing system based on the device list including the plurality of devices to be available to the second partition.

### Claim 14 (depends on 8)

The apparatus of claim 8, further comprising logic circuitry to run a basic input/output system (BIOS) loader with a first memory map to create a first BIOS region for the first partition and to run the BIOS loader with a second memory map to create a second BIOS region for the second partition.

### Claim 15

One or more non-transitory machine-readable storage media containing instructions that, in response to execution by a processing system, cause the processing system to:
perform initialization of a processing system, having multiple processing units, based on a single firmware image, wherein the single firmware image is shared by a first partition and a second partition in the processing system;
perform local environment initialization of the first partition and the second partition based on the single firmware image;
construct by the first partition, a parameter structure with a memory map to identify a portion of physical memory to be used by the second partition, and a device list of a plurality of devices to be available to the second partition; and
send, from the first partition directly to the second partition, the device list including the plurality of devices to be available to the second partition;
wherein the first partition and the second partition operate as independent processing environments.

### Claim 16 (depends on 15)

The one or more non-transitory machine-readable storage media of claim 15, wherein to perform initialization of the processing system comprises to boot an operating system.

### Claim 17 (depends on 15)

The one or more non-transitory machine-readable storage media of claim 15, wherein initialization of the processing system is performed on a first processing unit of the multiple processing units while performing local environment initialization of the first partition and the second partition is performed on a second processing unit and a third processing unit of the multiple processing units.

### Claim 18 (depends on 15)

The one or more non-transitory machine-readable storage media of claim 15, wherein the processing system is further caused to hide a sequestered area of memory from a main area of memory.

### Claim 19 (depends on 15)

The one or more non-transitory machine-readable storage media of claim 15, wherein the processing system is further caused to hide one or more devices from a main area of memory.

### Claim 20 (depends on 15)

The one or more non-transitory machine-readable storage media of claim 15, wherein the processing system is further caused to:
start the second partition of the processing system; and
boot the second partition of the processing unit using a second processing unit of the processing system based on the device list including the plurality of devices to be available to the second partition.
