IP Library › Granted Patent US 10,133,674
Granted Patent B2
US 10,133,674 · App. 14/711,312 · Granted Nov 20, 2018

System and method for one step address translation of graphics addresses in virtualization

Inventors: Kiran S. Panesar (Sunnyvale, CA); Michael A. Goldsmith (Lake Oswego, OR)
Assignee: Intel Corporation
G06F12/10G06F9/45558G06F12/1009G06F12/109G06F12/1081G06F2009/45579G06F2009/45583G06F2212/1016G06F2212/657
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 10,133,674
App. No.
14/711,312
Filed
May 13, 2015
Granted
Nov 20, 2018
Kind
B2
Examiner
HSU, JONI
Art Unit
2611
USPC
345/568
Abstract

A system and method including, in some embodiments, receiving a request for a graphics memory address for an input/output (I/O) device assigned to a virtual machine in a system that supports virtualization, and installing, in a graphics memory translation table, a physical guest graphics memory address to host physical memory address translation.

Claims (38)

1. An apparatus comprising:

memory management logic to support guest virtual to system physical address translations for a host on which one or more guests are to be executed in a virtualized guest execution environment;

the memory management logic comprising page table translation logic implemented in a hardware device to assign a plurality of page table entries (PTEs) to input/output (I/O) devices or graphics devices;

the PTEs to provide a mapping of guest virtual addresses to be utilized by the guests to system physical addresses to be utilized by the host to access physical locations in a system memory;

an address decoder to detect a write attempt to the page table translation logic by a guest execution environment; and

an accelerated graphic port through which at least one guest manages the mapping of the guest virtual addresses to host physical addresses within the PTEs, wherein the mapping includes validating the host physical addresses and entering one or more validated host physical addresses into the PTEs responsive to the detection of the write attempt;

wherein the memory management logic manages a first mapping between guest virtual addresses to guest physical addresses and a second mapping between the guest physical addresses to host physical addresses, wherein at least some translations performed by the memory management logic are to utilize the first mapping and the second mapping;

wherein the memory management logic includes a third mapping comprising at least one translation entry having a direct mapping of a guest virtual address to a system physical address;

wherein the memory management logic comprises an I/O memory management unit (IOMMU) implemented in hardware to manage guest virtual address to host physical address translations for one or more I/O devices;

wherein the memory management logic is to translate a virtual guest address to a system physical address using the PTEs responsive to a request from the guest execution environment;

wherein the memory management logic is to set the PTEs or portions thereof to be read-only for one or more guest execution environments; and

wherein the host comprises a virtual machine monitor (VMM) to manage execution of each of the guest execution environments.

2. The apparatus as in claim 1 wherein at least one guest comprises a guest operating system.

3. The apparatus of claim 1 , wherein the hardware device is a chipset of the apparatus.

4. The apparatus of claim 1 , wherein the VMM to manage execution of a guest execution environment includes to:

translate, by the VMM, a guest virtual address from the guest execution environment into a host physical address.

5. The apparatus of claim 1 , wherein the VMM to manage execution of a guest execution environment includes to:

install, by the VMM, an entry including a guest virtual address from the guest execution environment and a host physical address in the plurality of PTEs.

6. A system comprising:

a system memory to store program code and data;

a processor communicatively coupled to the system memory, the processor to execute the program code and process the data;

memory management logic to perform virtual-to-physical address translations for the processor when accessing the system memory, the memory management logic to support guest virtual to system physical address translations for a host on which one or more guests are to be executed in a virtualized guest execution environment;

the memory management logic comprising page table translation logic implemented in a hardware device to assign a plurality of page table entries (PTEs) to input/output (I/O) devices or graphics devices;

the PTEs to provide a direct mapping of guest virtual addresses to be utilized by the guests to system physical addresses to be utilized by the host to access physical locations in a system memory;

an address decoder to detect a write attempt to the page table translation logic by a guest execution environment; and

an accelerated graphic port through which at least one guest manages the mapping of the guest virtual addresses to host physical addresses within the PTEs, wherein the mapping includes validating the host physical addresses and entering one or more validated host physical addresses into the PTEs responsive to the detection of the write attempt;

wherein the memory management logic manages a first mapping between guest virtual addresses to guest physical addresses and a second mapping between the guest physical addresses to host physical addresses, wherein at least some translations performed by the memory management logic are to utilize the first mapping and the second mapping;

wherein the memory management logic includes a third mapping comprising at least one translation entry having a direct mapping of a guest virtual address to a system physical address;

wherein the memory management logic comprises an I/O memory management unit (IOMMU) implemented in hardware to manage guest virtual address to host physical address translations for one or more I/O devices;

wherein the memory management logic is to translate a virtual guest address to a system physical address using the PTEs responsive to a request from the guest execution environment

wherein the memory management logic is to set the PTEs or portions thereof to be read-only for one or more guest execution environments; and

wherein the host comprises a virtual machine monitor (VMM) to manage execution of each of the guest execution environments.

7. The system as in claim 6 wherein at least one guest comprises a guest operating system.

8. The system of claim 6 , wherein the hardware device is a chipset of the processor.

9. The system of claim 6 , wherein the VMM to manage execution of a guest execution environment includes to:

translate, by the VMM, a guest virtual address from the guest execution environment into a host physical address.

10. The system of claim 6 , wherein the VMM to manage execution of a guest execution environment includes to:

install, by the VMM, an entry including a guest virtual address from the guest execution environment and a host physical address in the plurality of PTEs.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 17, 2015
From: PANESAR, KIRAN S.; GOLDSMITH, MICHAEL A.
To: INTEL CORPORATION
Reel/Frame 036123/0526 →
Continuity (2)
Continuation 11025126 · Dec 29, 2004
Related Publication 20150301945A1 · Oct 22, 2015