Gestion de l’alimentation (TPM Base Services)
Le tbS reçoit des événements de gestion de l’alimentation. Lorsqu’une indication est reçue que le module TPM ou d’autres parties de la plateforme sont sur le point d’entrer dans un état d’alimentation dans lequel l’exécution sera interrompue ou l’état TPM sera perdu, le tbS vérifie si la commande en cours d’exécution est susceptible de se terminer avant que le système ne se termine. En général, le tbS permet aux commandes de courte et moyenne durée de se terminer, mais annule les commandes de longue durée. Une fois la commande retournée, le tbS cesse d’envoyer de nouvelles commandes au module de plateforme sécurisée et se prépare à la mise en veille prolongée. Lorsque l’alimentation est restaurée, le tbS retourne le résultat de la commande à l’appelant, puis passe au traitement des commandes TBS en attente. Le code de gestion de l’alimentation TBS s’exécute de manière asynchrone, de sorte qu’il peut gérer les demandes de gestion de l’alimentation même si le module TPM traite une longue commande.
Lorsqu’un ordinateur entre dans des états de veille, y compris S3 (veille prolongée) et S4 (veille prolongée), le module de plateforme sécurisée est éteint. Ainsi, tous les états TPM nonpersistents sont perdus. Avant d’entrer ces états, le logiciel d’application est censé se préparer à la perte d’états TPM volatiles. Lorsque le système retourne à partir d’un état de veille, le tbS se synchronise avec le module de plateforme sécurisée afin que l’état tbS soit cohérent avec l’état TPM. Le logiciel d’application peut avoir besoin de réémettre des commandes qui ont été interrompues.