Parameter und Funktionen, die extra reservierten Speicher für Enklaven zur Laufzeit verwalten
Die Erklärungen zu den Parametern für reservierten Speicher in der Tabelle "Enclave Configuration Default Values" in der Intel® Software Guard Extensions (Intel® SGX) Developer Reference for Linux* sind vage.
ReservedMemMaxSize |
Die maximale Größe des reservierten Speichers für den Prozess. Muss 4 KB ausgerichtet sein. |
0x0000000 | ||
ReservedMemMinSize |
Die minimale reservierte Speichergröße für den Prozess. Muss 4 KB ausgerichtet sein. |
0x0000000 | ||
ReservedMemInitSize |
Die anfänglich reservierte Speichergröße für den Prozess. Muss 4 KB ausgerichtet sein. |
0x0000000 | ||
ReservedMemExecutable |
Der reservierte Speicher ist ausführbar.
|
0: Der reservierte Speicher ist nicht ausführbar. 1: Der reservierte Speicher ist ausführbar. |
In der Intel SGX Developer Reference für Linux heißt es:
ReservedMemMinSize ReservedMemMaxSize und ReservedMemInitSize Bereich, indem Sie diese Felder in der Konfigurationsdatei der Enklave angeben. Der reservierte Speicherbereich wird zum Ladezeitpunkt am Ende der Enklave hinzugefügt und kann zur Laufzeit genutzt werden. ReservedMemExecutable können verwendet werden, um zu konfigurieren, ob der reservierte Speicher über die Berechtigung zur Ausführbaren verfügt, indem ReservedMemExecutable auf 1 festgelegt wird.
Anmerkung |
Auf der Intel® SGX 2.0-Plattform wird der reservierte Speicher zwangsweise auf RW-Berechtigung konfiguriert, obwohl ReservedMemExecutable auf 1 festgelegt ist. Derzeit wird der reservierte Speicher zur Unterstützung der Just-in-Time-Verwendung (JIT) in der Intel® SGX DNNL-Bibliothek verwendet. |
Der reservierte Speicher kann während der Laufzeit über die Reserved Memory Funktionen zugewiesen und freigegeben werden.
Funktionen des reservierten Speichers
Intel® SGX SDK ermöglicht es Benutzern, einen reservierten Speicherbereich für spezielle Verwendungszwecke, z. B. JIT-Unterstützung, zu konfigurieren. Der Speicher kann konfiguriert oder in eine ausführbare Datei geändert werden. Weitere Informationen finden Sie in der Enclave-Konfigurationsdatei. Zum Verwalten des reservierten Speichers bietet die sgx_tstdc Bibliothek die folgenden Funktionen zum Abfragen der Speicherinformationen, zum Zuweisen und Freigeben des Speichers und zum Ändern des Speicherschutzes:
- sgx_get_rsrv_mem_info
- sgx_alloc_rsrv_mem
- sgx_alloc_rsrv_mem_ex
- sgx_free_rsrv_mem
- sgx_tprotect_rsrv_mem
Die Intel SGX Developer Reference für Linux befindet sich im Dokumentationsordner der neuesten Version des Intel® Software Guard Extensions SDK für Linux*.