Patents by Inventor Todd Kjos

Todd Kjos 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: 8091090
    Abstract: In one embodiment of the present invention, a virtual-machine monitor detects entry and exit from guest-operating system code, storing the values of a set of high-order floating point registers in memory on entry, and restoring the values of the set of high-order floating point registers on exit. The virtual-machine monitor can then use the set of high-order floating point registers as scratch registers for emulation of guest-operating-system instructions. In alternative embodiments, a virtual-machine monitor obtains scratch registers for any code that the virtual-machine monitor can detect entry into and exit from, and for which a set of infrequently used registers can be identified, by storing the current contents of the set of registers upon detected entry into the code and restoring the original contents of the set of registers upon exit from the code.
    Type: Grant
    Filed: January 5, 2005
    Date of Patent: January 3, 2012
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Christophe de Dinechin, Todd Kjos, Jonathan Ross
  • Patent number: 7996833
    Abstract: Various embodiments of the present invention are directed to efficient methods by which virtual-machine monitors can introduce instructions into guest-operating-system code. In one embodiment of the present invention, the virtual-machine monitor builds instructions dynamically, at insertion time, using specified values for fields within the instruction. In one embodiment of the present invention, the instructions and instruction field values are stored in an instruction-block-representing data structure.
    Type: Grant
    Filed: July 31, 2004
    Date of Patent: August 9, 2011
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Christophe de Dinechin, Todd Kjos, Jonathan Ross
  • Patent number: 7330942
    Abstract: Various embodiments of the present invention are directed to efficient provision, by a virtual-machine monitor, of a virtual, physical memory interface to guest operating systems and other programs and routines interfacing to a computer system through a virtual-machine interface. In one embodiment of the present invention, a virtual-machine monitor maintains control over a translation lookaside buffer (“TLB”), machine registers which control virtual memory translations, and a processor page table, providing each concurrently executing guest operating system with a guest-processor-page table and guest-physical memory-to-physical memory translations. In one embodiment, a virtual-machine monitor can rely on hardware virtual-address-translation mechanisms for the bulk of virtual-address translations needed during guest-operating-system execution, thus providing a guest-physical memory interface without introducing excessive overhead and inefficiency.
    Type: Grant
    Filed: December 29, 2004
    Date of Patent: February 12, 2008
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Christophe de Dinechin, Todd Kjos, Jonathan Ross
  • Patent number: 7213125
    Abstract: Various embodiments of the present invention are directed to methods by which a virtual-machine monitor can introduce branch instructions, in order to emulate privileged and other instructions on behalf of a guest operating system, into guest-operating-system code residing on virtually aliased virtual-memory pages. In a described embodiment of the present invention, the virtual-machine monitor physically aliases each virtual alias for a particular physical memory page by allocating a physical page for the virtual alias, copying the original contents of the physical memory page to the allocated physical page, or physical alias page, and subsequently patching each physical alias page appropriate to the physical address of the physical alias page.
    Type: Grant
    Filed: July 31, 2004
    Date of Patent: May 1, 2007
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Christophe de Dinechin, Todd Kjos, Jonathan Ross
  • Patent number: 7178015
    Abstract: A partitionable computer system and method of operating the same is disclosed. The partitionable computer system has a state machine, a processor, and a device controller. The state machine can be configured to monitor the status of a partition of the partitionable computer system. The information provided by the state machine can be used to provide security within the partitionable computing system.
    Type: Grant
    Filed: January 12, 2004
    Date of Patent: February 13, 2007
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Mark Edward Shaw, Vipul Gandhi, Leon Hong, Gary Belgrave Gostin, Craig W. Warner, Paul Henry Bouchier, Todd Kjos, Guy Lowell Kuntz, Richard Dickert Powers, Bryan Craig Stephenson, Ryan Weaver, Brian Johnson, Glen Edwards, Brendan A. Voge, Gregg Bernard Lesartre
  • Publication number: 20060036830
    Abstract: Various embodiments of the present invention are directed to efficient methods for virtual-machine monitors to detect, at run time, initial attempts by guest operating systems and other higher-level software to access or execute particular instructions or values corresponding to the particular instructions, that, when accessed for execution, need to be emulated by a virtual-machine monitor, rather than directly accessed by guest operating systems. In certain embodiments of the present invention, the virtual-machine monitor assigns various guest-operating-system-code-containing memory pages to one of a small number of protection-key domains. By doing so, the virtual-machine monitor can arrange for any initial access to the memory pages assigned to the protection-key domains to generate a key-permission fault, after which the key-permission-fault handler of the virtual-machine monitor is invoked to arrange for subsequent, efficient access or emulation of access to the protected pages.
    Type: Application
    Filed: December 22, 2004
    Publication date: February 16, 2006
    Inventors: Christophe de Dinechin, Jonathan Ross, Todd Kjos
  • Publication number: 20060026387
    Abstract: Various embodiments of the present invention are directed to efficient and robust methods by which virtual-machine monitors can recognize individual instructions and blocks of instructions within guest-operating-system code. In a described embodiment of the present invention, the guest operating system recognizes the instructions by recognizing an overall form, or pattern, for the instruction as well as the values of various fields within the instruction that may change with re-compilations and/or re-linking of guest operating system code.
    Type: Application
    Filed: December 29, 2004
    Publication date: February 2, 2006
    Inventors: Christophe Dinechin, Todd Kjos, Jonathan Ross
  • Publication number: 20060026577
    Abstract: Various embodiments of the present invention are directed to efficient methods by which virtual-machine monitors can introduce instructions into guest-operating-system code. In one embodiment of the present invention, the virtual-machine monitor builds instructions dynamically, at insertion time, using specified values for fields within the instruction. In one embodiment of the present invention, the instructions and instruction field values are stored in an instruction-block-representing data structure.
    Type: Application
    Filed: July 31, 2004
    Publication date: February 2, 2006
    Inventors: Christophe Dinechin, Todd Kjos, Jonathan Ross
  • Publication number: 20060026389
    Abstract: In one embodiment of the present invention, a virtual-machine monitor detects entry and exit from guest-operating system code, storing the values of a set of high-order floating point registers in memory on entry, and restoring the values of the set of high-order floating point registers on exit. The virtual-machine monitor can then use the set of high-order floating point registers as scratch registers for emulation of guest-operating-system instructions. In alternative embodiments of the present invention, a virtual-machine monitor obtains scratch registers for any code that the virtual-machine monitor can detect entry into and exit from, and for which a set of infrequently used registers can be identified, by storing the current contents of the set of registers upon detected entry into the code and restoring the original contents of the set of registers upon exit from the code, emulating access to the set of registers in the code by memory-access operations.
    Type: Application
    Filed: January 5, 2005
    Publication date: February 2, 2006
    Inventors: Christophe Dinechin, Todd Kjos, Jonathan Ross
  • Publication number: 20060026383
    Abstract: Various embodiments of the present invention are directed to efficient provision, by a virtual-machine monitor, of a virtual, physical memory interface to guest operating systems and other programs and routines interfacing to a computer system through a virtual-machine interface. In one embodiment of the present invention, a virtual-machine monitor maintains control over a translation lookaside buffer (“TLB”), machine registers which control virtual memory translations, and a processor page table, providing each concurrently executing guest operating system with a guest-processor-page table and guest-physical memory-to-physical memory translations. In one embodiment, a virtual-machine monitor can rely on hardware virtual-address-translation mechanisms for the bulk of virtual-address translations needed during guest-operating-system execution, thus providing a guest-physical memory interface without introducing excessive overhead and inefficiency.
    Type: Application
    Filed: December 29, 2004
    Publication date: February 2, 2006
    Inventors: Christophe de Dinechin, Todd Kjos, Jonathan Ross
  • Publication number: 20060026385
    Abstract: Various embodiments of the present invention are directed to methods by which a virtual-machine monitor can introduce branch instructions, in order to emulate privileged and other instructions on behalf of a guest operating system, into guest-operating-system code residing on virtually aliased virtual-memory pages. In a described embodiment of the present invention, the virtual-machine monitor physically aliases each virtual alias for a particular physical memory page by allocating a physical page for the virtual alias, copying the original contents of the physical memory page to the allocated physical page, or physical alias page, and subsequently patching each physical alias page appropriate to the physical address of the physical alias page.
    Type: Application
    Filed: July 31, 2004
    Publication date: February 2, 2006
    Inventors: Christophe Dinechin, Todd Kjos, Jonathan Ross
  • Publication number: 20050154869
    Abstract: A partitionable computer system and method of operating the same is disclosed. The partitionable computer system has a state machine, a processor, and a device controller. The state machine can be configured to monitor the status of a partition of the partitionable computer system. The information provided by the state machine can be used to provide security within the partitionable computing system.
    Type: Application
    Filed: January 12, 2004
    Publication date: July 14, 2005
    Inventors: Mark Shaw, Vipul Gandhi, Leon Hong, Gary Gostin, Craig Warner, Paul Bouchier, Todd Kjos, Guy Kuntz, Richard Powers, Bryan Stephenson, Ryan Weaver, Brian Johnson, Glen Edwards, Brendan Voge, Gregg Lesartre
  • Patent number: 6895491
    Abstract: A software monitor, interposed between the hardware layer of a computer system and one or more guest operating systems, constructs and maintains a guest-physical-address-to-host-physical-address map for each guest operating system, and maintains a virtual memory addressing context for each guest operating system that may include a virtual-hash-page table for each guest operating system, the contents of translation registers for each guest operating system, CPU-specific virtual-memory translations for each guest operating system, and the contents of various status registers.
    Type: Grant
    Filed: September 26, 2002
    Date of Patent: May 17, 2005
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Todd Kjos, Jonathan Ross, Christophe de Dinechin
  • Publication number: 20040064668
    Abstract: A software monitor, interposed between the hardware layer of a computer system and one or more guest operating systems, constructs and maintains a guest-physical-address-to-host-physical-address map for each guest operating system, and maintains a virtual memory addressing context for each guest operating system that may include a virtual-hash-page table for each guest operating system, the contents of translation registers for each guest operating system, CPU-specific virtual-memory translations for each guest operating system, and the contents of various status registers.
    Type: Application
    Filed: September 26, 2002
    Publication date: April 1, 2004
    Inventors: Todd Kjos, Jonathan Ross, Christophe de Dinechin