×

Instruction set emulation for guest operating systems

  • US 10,289,435 B2
  • Filed: 09/10/2015
  • Issued: 05/14/2019
  • Est. Priority Date: 05/16/2011
  • Status: Active Grant
First Claim
Patent Images

1. A host computing device comprising:

  • at least one processing device configured to implement a host instruction set architecture (ISA) that is native to the host computing device; and

    at least one computer-readable storage medium storing host ISA instructions,wherein the at least one computer-readable storage medium includes a memory, andwherein the host ISA instructions, when executed by the at least one processing device, cause the at least one processing device to;

    maintain a translation data structure indicating whether guest ISA binaries have been translated into host ISA binaries and loaded into the memory, the translation data structure mapping guest ISA addresses used by a guest operating system or a guest application to reference the guest ISA binaries to host ISA addresses of the host ISA binaries in the memory, the guest ISA binaries being in a guest ISA that is not native to the host computing device;

    receive a request from the guest operating system or the guest application to load a particular guest ISA binary into the memory;

    check the translation data structure to determine whether a particular host ISA binary corresponding to the particular guest ISA binary has already been loaded into the memory;

    in a first instance when the particular host ISA binary corresponding to the particular guest ISA binary has already been loaded into the memory, execute the particular host ISA binary upon request; and

    in a second instance when the particular guest ISA binary has already been translated into the particular host ISA binary in the host ISA and the particular host ISA binary is not yet loaded into the memory;

    load the particular host ISA binary into the memory;

    update the translation data structure with a record indicating that the particular host ISA binary has been translated and is located in the memory at a particular host ISA address, the record having a particular guest ISA address used by the guest operating system or the guest application to reference the particular guest ISA binary; and

    execute the particular host ISA binary upon request.

View all claims
  • 2 Assignments
Timeline View
Assignment View
    ×
    ×