IP Library Granted Patent US 8,352,670
Granted Patent B2
US 8,352,670 · App. 12/272,951 · Granted Jan 8, 2013

Execute-only memory and mechanism enabling execution from execute-only memory for minivisor

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 8,352,670
App. No.
12/272,951
Granted
Jan 8, 2013
Kind
B2
Abstract

In one embodiment, a processor comprises an execution core configured to execute instructions; and a register configured to store an execute-only valid indication indicative of whether or not execution of instructions is permitted in pages that are indicated as execute-only in a set of page tables used by the processor for address translation. The execution core is configured, responsive to a fetch within an execute-only page, to signal a fault responsive to the execute-only valid indication indicating that execution is not permitted in the execute-only page, and wherein the execution core is configured to permit the fetch within the execute-only page responsive to the execute-only valid indication indicating that execution is permitted in the execute-only page.

Claims (22)

1. A processor comprising:

an execution core configured to execute instructions; and

a register configured to store an execute-only valid indication indicative of whether or not execution of instructions is permitted in pages that are indicated as execute-only in a set of page tables used by the processor for address translation;

wherein the execution core is configured, responsive to a fetch within an execute-only page, to signal a fault responsive to the execute-only valid indication indicating that execution is not permitted in the execute-only page, and wherein the execution core is configured to permit the fetch within the execute-only page responsive to the execute-only valid indication indicating that execution is permitted in the execute-only page, and wherein the execution core is configured to set the execute-only valid indication to a state indicating that execution is permitted in the execute-only page responsive to at least one predefined transition mechanism, and wherein the execution core is further configured to detect a return to code that initiated the predefined transition mechanism, wherein the execution core is configured to set the execute-only valid indication to a state indicating that execution is not permitted from the execute-only page.

2. The processor as recited in claim 1 wherein the execution core is configured to permit a fetch from another page that is not indicated as execute-only independent of the execute-only valid indication.

3. The processor as recited in claim 1 wherein the predefined transition mechanism is a call gate defined to transition the execute-only valid indication.

4. The processor as recited in claim 1 wherein the predefined transition mechanism is an exit from a virtual machine guest that is controlled by a virtual machine monitor.

5. The processor as recited in claim 4 wherein the exit is to a minivisor portion of the virtual machine monitor that executes in the guest's address space, wherein the minivisor portion is stored in execute-only pages.

6. The processor as recited in claim 1 wherein the predefined transition mechanism is a specific instruction defined to transition execution to code in the execute-only page.

7. A method comprising:

a processor detecting an event during execution of a virtual machine guest that is controlled by a virtual machine monitor, wherein the event is defined to enable execution from one or more execute-only pages;

the processor enabling execution from the execute-only pages responsive to detecting the event, wherein enabling execution comprises placing an execute-only valid indication in a first state indicating that execution from the execute only pages is permitted;

the processor detecting a return to the virtual machine guest; and

the processor disabling execution from the execute-only pages responsive to detecting the return to the virtual machine guest, wherein disabling execution comprises placing the execute-only valid indication in a second state indicating that execution from the execute-only pages is not permitted.

8. The method as recited in claim 7 further comprising:

the processor generating a fetch in an execute-only page; and

the processor permitting the fetch responsive to the enabling.

9. The method as recited in claim 7 further comprising:

the processor generating another fetch to the execute-only page; and

the processor page faulting the fetch responsive to the disabling.

10. The method as recited in claim 8 wherein the event comprises a call instruction specifying a call gate that is defined to enable execution in the execute-only page.

11. The method as recited in claim 8 wherein the event comprises an intercept that is to exit to a minivisor portion of the virtual machine monitor, wherein the minivisor portion executes in the guest's address space.

Assignments (7)
RELEASE OF SECURITY INTEREST Recorded May 12, 2021
From: WILMINGTON TRUST, NATIONAL ASSOCIATION
To: GLOBALFOUNDRIES U.S. INC.
Reel/Frame 056987/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 29, 2021
From: GLOBALFOUNDRIES US INC.
To: MEDIATEK INC.
Reel/Frame 055173/0781 →
RELEASE OF SECURITY INTEREST Recorded Nov 20, 2020
From: WILMINGTON TRUST, NATIONAL ASSOCIATION
To: GLOBALFOUNDRIES INC.
Reel/Frame 054636/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 2, 2020
From: GLOBALFOUNDRIES INC.
To: GLOBALFOUNDRIES U.S. INC.
Reel/Frame 054633/0001 →
SECURITY AGREEMENT Recorded Nov 29, 2018
From: GLOBALFOUNDRIES INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION
Reel/Frame 049490/0001 →
AFFIRMATION OF PATENT ASSIGNMENT Recorded Aug 18, 2009
From: ADVANCED MICRO DEVICES, INC.
To: GLOBALFOUNDRIES INC.
Reel/Frame 023120/0426 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 18, 2008
From: SEREBRIN, BENJAMIN C.
To: ADVANCED MICRO DEVICES, INC.
Reel/Frame 021850/0715 →