MTL IoT FSP does not set up DPR

Aberta
#116 6 comentários 5 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
5/5
Tempo estimado
Mais de uma semana
Facilidade para iniciantes
38/100
Tipo de issue
Bug
Clareza
Razoavelmente clara
Status de atividade
Pouca atividade
Stack de tecnologia
c
Domínio
embedded-iot

Direção de pesquisa

Comece com os parâmetros FSP_M_CONFIG e FSP_S_CONFIG no relatório e, em seguida, compare MTL IoT FSP 4122_56 com o comportamento do ADL FSP e a verificação de DPR do coreboot. Localize o caminho de implementação e validação e considere a issue concluída quando o FSP programar a base do TSEG e o tamanho do DPR antes de bloqueá-los, para que a inicialização do Intel TXT não informe mais que a proteção DPR está inativa.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

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.

Linguagem predominante
C
Estrelas
366
Forks
143
Métricas de merge de PRs
Nenhum PR com merge em 30d

Preparar o ambiente

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de intel/FSP

Todas as issues de intel/FSP

Issues semelhantes

Mais issues de C

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.