Abstract:
Ausführungsformen richten sich auf das Bereitstellen eines sicheren Adressübersetzungsdienstes. Eine Ausführungsform eines Systems umfasst einen Speicher zur Speicherung von Daten, eine Eingabe/Ausgabe-Speicherverwaltungseinheit (IOMMU), gekoppelt mit dem Speicher über eine Host-zu-Vorrichtung-Verbindung, wobei die IOMMU dazu dient, Operationen durchzuführen, umfassend Empfangen einer Adressübersetzungsanforderung von einer entfernten Vorrichtung über eine Host-zu-Vorrichtung-Verbindung, wobei die Adressübersetzungsanforderung eine virtuelle Adresse (VA), Bestimmen einer physischen Adresse (PA) in Verbindung mit der virtuellen Adresse (VA), Erzeugen einer verschlüsselten physischen Adresse (EPA) unter Verwendung zumindest der physischen Adresse (PA) und eines kryptographischen Schlüssels und Senden der verschlüsselten physischen Adresse (EPA) an die entfernte Vorrichtung über die Host-zu-Vorrichtung-Verbindung umfasst.
Abstract:
Bei einem Ausführungsbeispiel umfasst eine Vorrichtung: zumindest einen Beschleuniger zum Durchführen von Operationen an Daten; und einen Adressübersetzungscache (ATC), der mit dem zumindest einen Beschleuniger gekoppelt ist, wobei der ATC ausgebildet ist, Adressübersetzungen zu speichern. Der ATC ist ausgebildet: einen Befehl an eine Anstehende-Anforderungs-Warteschlange (PRQ), die in einem mit der Vorrichtung gekoppelten Speicher gespeichert ist, zu senden, wobei die PRQ einem Prozess einer Gast-Software zugeordnet ist; und einen Interrupt zu senden, um den Prozess betreffend den Befehl zu informieren. Andere Ausführungsbeispiele sind beschrieben und beansprucht.
Abstract:
Methods and apparatus are disclosed for efficient TLB (translation look-aside buffer) shoot-downs for heterogeneous devices sharing virtual memory in a multi-core system. Embodiments of an apparatus for efficient TLB shoot-downs may include a TLB to store virtual address translation entries, and a memory management unit, coupled with the TLB, to maintain PASID (process address space identifier) state entries corresponding to the virtual address translation entries. The PASID state entries may include an active reference state and a lazy-invalidation state. The memory management unit may perform atomic modification of PASID state entries responsive to receiving PASID state update requests from devices in the multi-core system and read the lazy-invalidation state of the PASID state entries. The memory management unit may send PASID state update responses to the devices to synchronize TLB entries prior to activation responsive to the respective lazy-invalidation state.
Abstract:
Methods and apparatus are disclosed for efficient TLB (translation look aside buffer) shoot downs for heterogeneous devices sharing virtual memory in a multi core system. Embodiments of an apparatus for efficient TLB shoot downs may include a TLB to store virtual address translation entries and a memory management unit coupled with the TLB to maintain PASID (process address space identifier) state entries corresponding to the virtual address translation entries. The PASID state entries may include an active reference state and a lazy invalidation state. The memory management unit may perform atomic modification of PASID state entries responsive to receiving PASID state update requests from devices in the multi core system and read the lazy invalidation state of the PASID state entries. The memory management unit may send PASID state update responses to the devices to synchronize TLB entries prior to activation responsive to the respective lazy invalidation state.
Abstract:
Methods and apparatus are disclosed for efficient TLB (translation look-aside buffer) shoot-downs for heterogeneous devices sharing virtual memory in a multi-core system. Embodiments of an apparatus for efficient TLB shoot-downs may include a TLB to store virtual address translation entries, and a memory management unit, coupled with the TLB, to maintain PASID (process address space identifier) state entries corresponding to the virtual address translation entries. The PASID state entries may include an active reference state and a lazy-invalidation state. The memory management unit may perform atomic modification of PASID state entries responsive to receiving PASID state update requests from devices in the multi-core system and read the lazy-invalidation state of the PASID state entries. The memory management unit may send PASID state update responses to the devices to synchronize TLB entries prior to activation responsive to the respective lazy-invalidation state.