MTL IoT FSP does not set up DPR

Ouverte
#116 6 commentaires 5 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
5/5
Temps estimé
Plus d'une semaine
Accessibilité débutants
38/100
Type d'issue
Bug
Clarté
Plutôt claire
Activité
Calme
Stack technique
c
Domaine
embedded-iot

Piste de recherche

Commencez par les paramètres FSP_M_CONFIG et FSP_S_CONFIG dans le rapport, puis comparez MTL IoT FSP 4122_56 avec le comportement de ADL FSP et la vérification DPR de coreboot. Localisez le chemin d’implémentation et de validation, et considérez l’issue comme terminée lorsque le FSP programme la base TSEG et la taille DPR avant de les verrouiller, afin que l’initialisation Intel TXT ne signale plus que la protection DPR est inactive.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

The MTL IoT FSP 4122_56 does not program the host bridge DPR register. When attempting to initialize Intel TXT with the aforementioned FSP, the DPR check in coreboot yields an error that DPR is not programmed:

[DEBUG]  TEE-TXT: MCH DPR 0x00000001
[DEBUG]  TEE-TXT: MCH DPR base @ 0x00000000 size 0 MiB
[ERROR]  TEE-TXT: MCH DPR protection not active.

Parameters passed to FSP:

FSP_M_CONFIG->VmxEnable = 1;
FSP_M_CONFIG->TxtImplemented = 1;
FSP_M_CONFIG->Txt = 1;
FSP_M_CONFIG->SinitMemorySize = 0x50000;
FSP_M_CONFIG->TxtHeapMemorySize = 0xf0000;
FSP_M_CONFIG->TxtDprMemorySize = 4 << 20;
FSP_M_CONFIG->TxtDprMemoryBase = 1;
FSP_M_CONFIG->BiosAcmBase = acm_base; // 256K aligned address of S-ACM in CBFS
FSP_M_CONFIG->BiosAcmSize = acm_size;
FSP_M_CONFIG->ApStartupBase = 1;
FSP_S_CONFIG->TxtEnable = 1;

Older versions of the FSP also do not program DPR. It is simply being locked without programming the TSEG base and DPR size into it. For comparison ADL FSP did program DPR correctly. Currently it is impossible to initialize Intel TXT properly without making workarounds in host firmware that will program DPR before FSP MemoryInit with last known good TSEG base and requested DPR size, assuming that configuration does not change.

Langage dominant
C
Étoiles
366
Forks
143
Métriques de merge des PR
Aucune PR mergée en 30 j

Préparer son environnement

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de intel/FSP

Toutes les issues de intel/FSP

Issues similaires

Plus d'issues C

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.