Patents by Inventor Richard A. Uhlig

Richard A. Uhlig has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 7334107
    Abstract: An embodiment of the present invention is a technique to provide cache support for direct memory access address translation. A cache structure stores cached entries used in address translation of a guest physical address to a host physical address. The guest physical address corresponds to a guest domain identified by a guest domain identifier in an input/output (I/O) transaction requested by an I/O device. A register stores an invalidating domain identifier identifying an invalidating domain and an indicator indicating invalidating an entry in the cached entries having a tag.
    Type: Grant
    Filed: September 30, 2004
    Date of Patent: February 19, 2008
    Assignee: Intel Corporation
    Inventors: Ioannis Schoinas, Rajesh Madukkarumukumana, Gilbert Neiger, Richard Uhlig, Balaji Vembu
  • Patent number: 7318141
    Abstract: Methods and systems are provided to control the execution of a virtual machine (VM). A VM Monitor (VMM) accesses VM Control Structures (VMCS) indirectly through access instructions passed to a processor. In one embodiment, the access instructions include VMCS component identifiers used by the processor to determine the appropriate storage location for the VMCS components. The processor identifies the appropriate storage location for the VMCS component within the processor storage or within memory.
    Type: Grant
    Filed: December 17, 2002
    Date of Patent: January 8, 2008
    Assignee: Intel Corporation
    Inventors: Steve M. Bennett, Gilbert Neiger, Erik C. Cota-Robles, Stalinselvaraj Jeyasingh, Alain Kagi, Michael A. Kozuch, Richard A. Uhlig, Larry Smith, Dion Rodgers, Andrew Glew, Erich Boleyn
  • Patent number: 7313669
    Abstract: In one embodiment, a method for supporting address translation in a virtual-machine environment includes creating a guest translation data structure to be used by a guest operating system for address translation operations, creating an active translation data structure based on the guest translation data structure, and periodically modifying the content of the active translation data structure to conform to the content of the guest translations data structure. The content of the active translation data structure is used by a processor to cache address translations in a translation-lookaside buffer (TLB).
    Type: Grant
    Filed: February 28, 2005
    Date of Patent: December 25, 2007
    Assignee: Intel Corporation
    Inventors: Gilbert Neiger, Stephen Chou, Erik Cota-Robles, Stalinselvaraj Jeyasingh, Alain Kagi, Michael Kozuch, Richard Uhlig, Sebastian Schoenberg
  • Patent number: 7305592
    Abstract: In one embodiment, information pertaining to a first fault occurring during operation of a virtual machine (VM) is stored in a first field. A second fault is detected while delivering the first fault to the VM, and a determination is made as to whether the second fault is associated with a transition of control to a virtual machine monitor (VMM). If this determination is positive, information pertaining to the second fault is stored in a second field, and control is transitioned to the VMM.
    Type: Grant
    Filed: June 30, 2004
    Date of Patent: December 4, 2007
    Assignee: Intel Corporation
    Inventors: Gilbert Neiger, Andrew V. Anderson, Steven M. Bennett, Jason Brandt, Erik Cota-Robles, Stalinselvaraj Jeyasingh, Alain Kägi, Sanjoy K. Mondal, Rajesh Parthasarathy, Dion Rodgers, Lawrence O. Smith, Richard A. Uhlig
  • Patent number: 7302511
    Abstract: In one embodiment, an apparatus includes a set of multiplex blocks coupled with an interrupt controller and multiple interrupt request lines, and a virtual machine monitor block (VMM) coupled to the set of multiplex blocks. Each multiplex block corresponds to a distinct interrupt request line. Each multiplex block is to route the interrupt request signal received via the corresponding interrupt request line either to the interrupt controller or the VMM block depending on a current configuration value of this multiplex block.
    Type: Grant
    Filed: October 13, 2005
    Date of Patent: November 27, 2007
    Assignee: Intel Corporation
    Inventors: Stalinselvaraj Jeyasingh, Andrew V. Anderson, Steven M. Bennett, Erik Cota-Robles, Alain Kagi, Gilbert Neiger, Richard Uhlig
  • Patent number: 7296267
    Abstract: System and method for binding virtual machines to hardware contexts. A method includes obtaining resource requirements for a plurality of virtual machines, and binding one or more of the plurality of virtual machines to one or more of a plurality of hardware contexts associated with a processor based upon the resource requirements. The resource requirements may be the bandwidth and latency of the virtual machines. The method may be implemented as software on a storage device on a computing device having a processor that supports multiple hardware contexts. The method is particularly beneficial for real-time virtual machines.
    Type: Grant
    Filed: July 12, 2002
    Date of Patent: November 13, 2007
    Assignee: Intel Corporation
    Inventors: Erik C. Cota-Robles, Randolph L. Campbell, Clifford D. Hall, Gilbert Neiger, Richard A. Uhlig
  • Patent number: 7287197
    Abstract: In one embodiment, a request to transition control to a virtual machine (VM) is received from a virtual machine monitor (VMM) and a determination is made as to whether the VMM has requested a delivery of a fault to the VM. If the determination is positive, the fault is delivered to the VM when control is transitioned to the VM.
    Type: Grant
    Filed: September 15, 2003
    Date of Patent: October 23, 2007
    Assignee: Intel Corporation
    Inventors: Steven M. Bennett, Andrew V. Anderson, Stalinselvaraj Jeyasingh, Alain Kagi, Gilbert Neiger, Richard Uhlig, Michael Kozuch, Lawrence Smith, Scott Rodgers
  • Patent number: 7272831
    Abstract: A method and apparatus for constructing host processor soft devices independent of the host processor operating system are provided. In one embodiment, a driver of a soft device is implemented in a virtual machine monitor (VMM), and the soft device is made available for use by one or more virtual machines coupled to the VMM. In an alternative embodiment, a software component of a soft device is implemented in a first virtual machine that is coupled to a VMM, and the soft device is made available for use by a second virtual machine coupled to the VMM.
    Type: Grant
    Filed: March 30, 2001
    Date of Patent: September 18, 2007
    Assignee: Intel Corporation
    Inventors: Erik Cota-Robles, Stephen Chou, Stalinselvaraj Jeyasingh, Alain Kagi, Michael Kozuch, Gilbert Neiger, Richard Uhlig
  • Publication number: 20070192577
    Abstract: An apparatus and method for unilaterally loading a secure operating system within a multiprocessor environment are described. The method includes disregarding a received load secure region instruction when a currently active load secure region operation is detected. Otherwise, a memory protection element is directed, in response to the received load secure region instruction, to form a secure memory environment. Once directed, unauthorized read/write access to one or more protected memory regions are prohibited. Finally, a cryptographic hash value of the one or more protected memory regions is stored within a digest information repository as a secure software identification value. Once stored, outside agents may request access to a digitally signed software identification value to establish security verification of secure software within the secure memory environment.
    Type: Application
    Filed: January 24, 2006
    Publication date: August 16, 2007
    Inventors: Michael Kozuch, James Sutton, David Grawrock, Gilbert Neiger, Richard Uhlig, Bradley Burgess, David Poisner, Clifford Hall, Andy Glew, Lawrence Smith, Robert George
  • Publication number: 20070157198
    Abstract: Embodiments of apparatuses, methods, and systems for processing interrupts in a layered virtualization architecture are disclosed. In one embodiment, an apparatus includes a recognition logic, window logic, and evaluation logic. The event logic is to recognize an interrupt request. The window logic is to determine whether an interrupt window is open. The evaluation logic is to determine whether to transfer control to one of at least two virtual machine monitors in response to the interrupt request if the interrupt window is open.
    Type: Application
    Filed: December 30, 2005
    Publication date: July 5, 2007
    Inventors: Steven Bennett, Andrew Anderson, Gilbert Neiger, Dion Rodgers, Richard Uhlig, Lawrence Smith, Barry Huntley
  • Publication number: 20070157197
    Abstract: Embodiments of apparatuses, methods, and systems for delivering an interrupt to a virtual processor are disclosed. In one embodiment, an apparatus includes an interface to receive an interrupt request, delivery logic, and exit logic. The delivery logic is to determine, based on an attribute of the interrupt request, whether the interrupt request is to be delivered to the virtual processor. The exit logic is to transfer control to a host if the delivery logic determines that the interrupt request is not to be delivered to the virtual processor.
    Type: Application
    Filed: December 30, 2005
    Publication date: July 5, 2007
    Inventors: Gilbert Neiger, Rajesh Madukkarumukumana, Richard Uhlig, Udo Steinberg, Sebastian Schoenberg, Sridhar Muthrasanallur, Steven Bennett, Andrew Anderson, Erik Cota-Robles
  • Publication number: 20070156986
    Abstract: Embodiments of apparatuses, methods, and systems for guests to access memory mapped devices are disclosed. In one embodiment, an apparatus includes evaluation logic and exit logic. The evaluation logic is to determine, in response to an attempt of a guest to access a device using a memory address mapped to the device and based on an access type, whether the access is allowed. The exit logic is to transfer control to a host if the evaluation logic determines that the access is not allowed.
    Type: Application
    Filed: December 30, 2005
    Publication date: July 5, 2007
    Inventors: Gilbert Neiger, Andrew Anderson, Steven Bennett, Rajesh Madukkarumukumana, Richard Uhlig, Rajesh Parthasarathy, Sebastian Schoenberg
  • Patent number: 7237051
    Abstract: In one embodiment, a method includes recognizing an interrupt pending during an operation of guest software, determining that the interrupt is to cause a transition of control to a virtual machine monitor (VMM), determining whether the interrupt is to be acknowledged prior to the transition of control to the VMM, and if the interrupt is to be acknowledged, acknowledging the interrupt and transitioning control to the VMM.
    Type: Grant
    Filed: September 30, 2003
    Date of Patent: June 26, 2007
    Assignee: Intel Corporation
    Inventors: Steven M. Bennett, Erik Cota-Robles, Stalinselvaraj Jeyasingh, Gilbert Neiger, Richard Uhlig
  • Patent number: 7225441
    Abstract: In one embodiment, a method for providing power management via virtualization includes monitoring the utilization of a host platform device by one or more virtual machines and managing power consumption of the host platform device based on the results of monitoring.
    Type: Grant
    Filed: December 27, 2000
    Date of Patent: May 29, 2007
    Assignee: Intel Corporation
    Inventors: Michael Kozuch, Stephen Chou, Erik Cota-Robles, Stalinselvaraj Jeyasingh, Alain Kagi, Gilbert Neiger, Sebastian Schoenberg, Richard Uhlig
  • Patent number: 7191440
    Abstract: Transitions among schedulable entities executing in a computer system are tracked in computer hardware or in a virtual machine monitor. In one aspect, the schedulable entities are operating system processes and threads, virtual machines, and instruction streams executing on the hardware. In another aspect, the schedulable entities are processes or threads executing within the virtual machines under the control of the virtual machine monitor. The virtual machine monitor derives scheduling information from the transitions to enable a virtual machine system to guarantee adequate scheduling quality of service to real-time applications executing in virtual machines that contain both real-time and non-real-time applications. In still another aspect, a parent virtual machine monitor in a recursive virtualization system can use the scheduling information to schedule a child virtual machine monitor that controls multiple virtual machines.
    Type: Grant
    Filed: August 15, 2001
    Date of Patent: March 13, 2007
    Assignee: Intel Corporation
    Inventors: Erik Cota-Robles, Sebastian Schoenberg, Stalinselvaraj Jeyasingh, Alain Kagi, Michael Kozuch, Gilbert Neiger, Richard Uhlig
  • Patent number: 7177967
    Abstract: In one embodiment, an apparatus includes a set of multiplex blocks coupled with an interrupt controller and multiple interrupt request lines, and a virtual machine monitor block (VMM) coupled to the set of multiplex blocks. Each multiplex block corresponds to a distinct interrupt request line. Each multiplex block is to route the interrupt request signal received via the corresponding interrupt request line either to the interrupt controller or the VMM block depending on a current configuration value of this multiplex block.
    Type: Grant
    Filed: September 30, 2003
    Date of Patent: February 13, 2007
    Assignee: Intel Corporation
    Inventors: Stalinselvaraj Jeyasingh, Andrew V. Anderson, Steven M. Bennett, Erik Cota-Robles, Alain Kagi, Gilbert Neiger, Richard Uhlig
  • Publication number: 20070028238
    Abstract: Embodiments of apparatuses and methods for processing virtualization events in a layered virtualization architecture are disclosed. In one embodiment, an apparatus includes a event logic and evaluation logic. The event logic is to recognize a virtualization event. The evaluation logic is to determine whether to transfer control from a child guest to a parent guest in response to the virtualization event.
    Type: Application
    Filed: July 27, 2005
    Publication date: February 1, 2007
    Inventors: Steven Bennett, Andrew Anderson, Gilbert Neiger, Dion Rodgers, Richard Uhlig, Lawrence Smith, Barry Huntley
  • Publication number: 20070005870
    Abstract: A processor, capable of operation in a host machine, including memory management logic to support a plurality of memory types for a physical memory access by the processor, and virtualization support logic to determine a host memory type for a reference to a memory location by a guest in a virtual machine executable on the processor based at least in part on a memory type field stored in an entry of an extended paging table of a virtualization support system of the host machine (extended memory type field), to determine a guest memory type for the reference to the memory location, and to determine an effective memory type based on at least one of the host memory type and the guest memory type.
    Type: Application
    Filed: June 29, 2005
    Publication date: January 4, 2007
    Inventors: Gilbert Neiger, Steven Bennett, Andrew Anderson, Dion Rodgers, David Koufaty, Richard Uhlig, Camron Rust, Larry Smith, Rupin Vakharwala
  • Publication number: 20070006230
    Abstract: Embodiments of apparatuses and methods for guest processes to access registers are disclosed. In one embodiment, an apparatus includes an interface to a first register, shadow logic, evaluation logic, and exit logic. The shadow logic is to, in response to a guest attempt to write data to the first register, cause the data to be written to a second register. The evaluation logic is to determine, based on the value of the data, whether to transfer control to a host in response to the guest attempt. The exit logic is to transfer control to the host after the data is written to the second register if the evaluation logic determines to transfer control.
    Type: Application
    Filed: June 30, 2005
    Publication date: January 4, 2007
    Inventors: Gilbert Neiger, Richard Uhlig, Dion Rodgers, Jason Brandt, Rajesh Parthasarathy
  • Patent number: 7127548
    Abstract: In one embodiment, a command pertaining to one or more portions of a register is received from guest software. Further, a determination is made as to whether the guest software has access to all of the requested portions of the register based on indicators within a mask field that correspond to the requested portions of the register. If the guest software has access to all of the requested portions of the register, the command received from the guest software is executed on the requested portions of the register.
    Type: Grant
    Filed: April 16, 2002
    Date of Patent: October 24, 2006
    Assignee: Intel Corporation
    Inventors: Steve Bennett, Andrew V. Anderson, Erik Cota-Robles, Stalinselvaraj Jeyasingh, Alain Kagi, Gilbert Neiger, Richard Uhlig, Michael A. Kozuch