Présentation de l’entrée du thread d’enclave et de la sortie des cœurs logiques
Impossible de déterminer le processus de commutation logique du cœur pour les enclaves Intel® Software Guard Extensions (Intel® SGX).
Les enclaves s’exécutent dans un thread particulier tel que défini par la structure de contrôle de thread (TCS), qui s’exécute sur un cœur de processeur logique. Toutes les instructions se produisent dans le cadre d’un TCS et il peut y avoir plusieurs TCS par application. L’instruction AEX (Asynchronous Enclave Exit) est délivrée au cœur logique particulier sur lequel l’enclave fonctionne. L’entrée et la sortie de l’enclave du chapitre Innovative Instructions and Software Model for Isolated Execution expliquent pleinement ce processus.
« L’instruction EENTER est la méthode permettant d’entrer dans l’enclave sous le contrôle du programme. Pour exécuter eENTER, le logiciel doit fournir l’adresse d’un TCS qui fait partie de l’enclave à entrer. Le TCS indique l’emplacement à l’intérieur de l’enclave pour transférer le contrôle et l’emplacement à l’intérieur de l’enclave où AEX doit stocker l’état du registre. Lorsqu’un processeur logique entre dans une enclave, le TCS est considéré comme occupé jusqu’à ce que les processeurs logiques quittent l’enclave. SGX permet à un constructeur d’enclave de définir plusieurs structures TCS, ce qui permet de prendre en charge des enclaves multithread... Reprise de l’exécution après AEX : une fois que le logiciel système a entretenu l’événement qui a causé le processus logique à quitter une enclave, le processeur logique peut relancer l’exécution à l’aide d’ERESUME. »