Abstract:
PROBLEM TO BE SOLVED: To provide an apparatus, a method, and a system for installing a virtual event in a layered virtual architecture.SOLUTION: In one embodiment, an apparatus comprises: virtual machine entry logic; recognition logic; and evaluation logic. The virtual machine entry logic starts to transfer control of the apparatus from a host to a guest running on a virtual machine. The recognition logic recognizes a request from the host to install a virtual event into the virtual machine. The evaluation logic specifies an intervening monitor to handle the virtual event.
Abstract:
PROBLEM TO BE SOLVED: To provide an apparatus, method and system for installing a virtual event in a layered virtual architecture. SOLUTION: In one embodiment, an apparatus includes virtual machine entry logic, recognition logic, and evaluation logic. The virtual machine entry logic starts to transfer control of the apparatus from a host to a guest running on a virtual machine. The recognition logic recognizes a request from the host to install a virtual event into the virtual machine. The evaluation logic specifies an intervening monitor to handle the virtual event. COPYRIGHT: (C)2009,JPO&INPIT
Abstract:
A processor has multiple hardware threads and an enclave page cache. The processor has a first instruction to prevent new address translations being created. This instruction takes the address of a page in a secure enclave as a as a parameter. It prevents new entries being made in a translation look-aside buffer for that page. The processor has a second instruction to record the threads accessing an enclave. This instruction specifies the enclave identifier as a parameter and records the number of hardware threads accessing the enclave. The number is decremented whenever a thread exits the enclave. The processor has a third instruction to evict a page from an enclave page cache. The instruction takes the page address to evict as a parameter. It writes the page back to memory if the number of threads accessing the enclave is zero.
Abstract:
Ein Prozessor eines Aspekts weist eine Decodiereinheit zum Decodieren eines Öffnungszugriffsbefehls und eine mit der Decodiereinheit gekoppelte Ausführungseinheit auf. Die Ausführungseinheit liest als Reaktion auf den Öffnungszugriffsbefehl eine physische Host-Speicheradresse, die mit einer Öffnung verbunden ist, die sich im Systemspeicher befindet, von einer zugriffsgeschützten Struktur und greift auf Daten innerhalb der Öffnung an einer physischen Host-Speicheradresse zu, die nicht durch Adressenübersetzung erlangt wird. Andere Prozessoren werden auch offenbart, wie auch Verfahren, Systeme und ein maschinenlesbares Medium, das Öffnungszugriffsbefehle speichert.
Abstract:
Ein Prozessor umfasst ein Register zum Speichern eines ersten Zeigers auf eine Kontextdatenstruktur, das einen virtuellen Maschinenkontext angibt, wobei die Kontextdatenstruktur ein erstes Feld zum Speichern eines zweiten Zeigers auf mehrere Bereichswechselsteuerstrukturen (RSCSs, Realm Switch Control Structures) umfasst, und eine Ausführungseinheit, umfassend eine Logikschaltung zum Ausführen einer virtuellen Maschine (VM, Virtual Machine) gemäß dem virtuellen Maschinenkontext, wobei die VM ein Gastbetriebssystem (OS, Operating System), umfassend mehrere Kernelkomponenten, umfasst, und wobei jede RSCS der mehreren RSCSs einen entsprechenden Komponentenkontext angibt, der einer entsprechenden Kernelkomponente der mehreren Kernelkomponenten zugeordnet ist, und eine erste Kernelkomponente der mehreren Kernelkomponenten ausführt durch Verwenden eines von einer ersten RSCS der mehreren RSCSs angegebenen ersten Komponentenkontextes.
Abstract:
A processing core 111 executes a first application, typically a virtual machine manager 117, and a second application, typically a virtual machine 131. The first and second applications are associated, respectively, with first and second privilege levels. A first set of privileges associated with the first privilege level includes a second set of privileges associated with the second privilege level. An address validation component validates the mapping of a first address, typically a guest virtual address, to a second address, typically a guest physical address. Validation occurs using an address translation data structure, preferably a Restricted Linear Check (RLC) table, maintained by the first application. The first and second addresses are defined, respectively, in first and second address spaces of the second application. Also disclosed is an arrangement in which a page miss handler of a computer system receives a guest virtual address associated with a memory access operation by a virtual machine managed by a virtual machine manager. A tentative guest physical address is received corresponding to the guest virtual address and in view of an address translation data structure it is determined whether an expected guest physical address corresponds to the tentative guest virtual address.
Abstract:
In einer Ausführungsform umfasst ein Prozessor einen Binärübersetzungs(BT)-Container, welcher Code zum Erzeugen einer Binärübersetzung eines ersten Code-Segments und zum Speichern der Binärübersetzung in einem Übersetzungs-Cache-Speicher aufweist, eine Host-Einheits-Logik zum Verwalten des BT-Containers und zum Identifizieren des ersten Code-Segments und eine Schutzlogik zum Isolieren des BT-Containers von einem Software-Stapel. Auf diese Weise ist der BT-Container dafür konfiguriert, für den Software-Stapel transparent zu sein. Es werden andere Ausführungsformen beschrieben und beansprucht.
Abstract:
Es wird ein Prozessor bereitgestellt, der Techniken für Prozessorerweiterungen zum Schutz von Stapeln während Ringübergängen bereitstellt. In einer Ausführungsform beinhaltet der Prozessor eine Vielzahl von Registern und einen Prozessorkern, der operativ mit der Vielzahl von Registern gekoppelt ist. Die Vielzahl von Registern wird zum Speichern von Daten verwendet, die in Privilegebenenübergängen verwendet werden. Jedes Register der Vielzahl von Registern ist einer Privilegebene zugeordnet. Ein Indikator zum Wechseln einer ersten Privilegebene einer derzeit aktiven Anwendung zu einer zweiten Privilegebene wird empfangen. Angesichts der zweiten Privilegebene wird ein Schattenstapelzeiger (SSP), der in einem Register der Vielzahl von Registern gespeichert ist, ausgewählt. Das Register ist der zweiten Privilegebene zugeordnet. Unter Verwendung des SSP wird ein Schattenstapel zur Verwendung durch den Prozessor auf der zweiten Privilegebene identifiziert.
Abstract:
A processor has an enclave page cache to cache data from a secure enclave. An instruction (ETRACK) causes it to record the number of hardware threads accessing the data in the cache corresponding to the secure enclave. This may be the threads, which are executing code in the secure enclave. When any of the threads exits the secure enclave, the number is decremented. A second instruction (EWB) may cause the data in the cache to be evicted and written back to main memory when the number reaches zero. A third instruction (EBLOCK) may prevent the creation of new address translation entries for the pages in the cache. The data may be encrypted, when written to main memory, and decrypted, when read from main memory.