Kernel Linux 7.3 otimiza driver AMD para sistemas ECC e adiciona suporte aos chips Intel Starfire

Escrito por
Emanuel Negromonte
Emanuel Negromonte é Jornalista, Mestre em Tecnologia da Informação e atualmente cursa a segunda graduação em Engenharia de Software. Com 14 anos de experiência escrevendo sobre...

Atualização de hardware!

O subsistema EDAC (Error Detection and Correction) do Kernel Linux 7.3 recebeu sua principal rodada de atualizações. O pacote de modificações enviado pelo mantenedor Borislav Petkov foca na otimização de recursos para hardwares existentes e na preparação para futuras arquiteturas, destacando-se uma restrição no carregamento de drivers da AMD e o suporte inicial aos processadores Intel Starfire.

As alterações foram submetidas para o ciclo de desenvolvimento do Kernel Linux 7.3, atualmente em fase de Release Candidate (RC2).

O que isso muda na prática

O subsistema EDAC é o componente do Kernel Linux responsável por detectar e reportar erros de hardware no sistema, atuando principalmente no monitoramento de falhas em memórias RAM do tipo ECC (Error-Correcting Code).

Até então, o módulo de Biblioteca de Tradução de Endereços da AMD (AMD ATL) era carregado automaticamente em todos os sistemas equipados com processadores baseados na arquitetura Zen. Com a nova atualização, o desenvolvedor Yazen Ghannam alterou o comportamento do kernel para que o módulo seja inicializado apenas em máquinas que realmente possuam memória ECC. Para o usuário comum sem memórias com correção de erros, isso significa que o sistema deixará de carregar um módulo desnecessário durante o boot, economizando recursos e evitando logs ociosos.

Preparação para a linha Intel Starfire e unificação de código

Q0xf0NqU linux 7 3 edac amd ecc intel starfire 1
Kernel Linux 7.3 otimiza driver AMD para sistemas ECC e adiciona suporte aos chips Intel Starfire 3

Do lado da Intel, a principal adição técnica é o suporte à plataforma Starfire, uma linha de SoCs (System-on-a-Chip) derivada da futura arquitetura Panther Lake. O patch, desenvolvido por Qiuxu Zhuo, garante que os controladores de memória desses novos chips possam se comunicar corretamente com o módulo de detecção de erros do kernel.

Além do novo hardware, o código voltado para clientes Intel passou por uma refatoração profunda. Os drivers igen6 e ie31200 tiveram sua lógica de tradução de endereços unificada. O kernel também abandonou o uso de números fixos programados no código (hardcoded) para identificar a quantidade de controladores de memória na placa-mãe. Agora, o sistema detecta ativamente a quantidade de controladores de memória presentes durante o processo de boot, garantindo maior precisão e evitando problemas de configuração em placas com layouts diferentes.

Limpeza de drivers: ThunderX e mpc85xx ficam órfãos

Parte do trabalho de manutenção de um kernel envolve a remoção ou reclassificação de códigos legados. Nesta atualização, os drivers EDAC para as plataformas mpc85xx e Cavium ThunderX foram oficialmente marcados como órfãos.

A decisão ocorreu devido à falta de acesso físico aos equipamentos por parte dos desenvolvedores, o que impossibilita a realização de testes práticos, validações de segurança e depuração de código nessas plataformas específicas.

Remoção de injeção falsa de erros e ajustes no Altera

A atualização também promoveu correções estruturais voltadas para a estabilidade do sistema de monitoramento:

  • Remoção da interface “fake_inject” no debugfs: A ferramenta de injeção de erros falsos foi eliminada do código de depuração do EDAC. O recurso não estava sendo utilizado de forma efetiva e apresentava um risco de condição de corrida (race condition) caso um erro de hardware real ocorresse no exato momento em que um erro falso estivesse sendo registrado pelo sistema.
  • Detecção no Altera EDAC: O driver para os SoCs Altera abandonou a identificação de hardware baseada na arquitetura de compilação. Agora, a detecção da variante do chip utiliza a string de compatibilidade do gerenciador ECC, permitindo selecionar o layout de interrupções correto (A10 ou S10) de maneira mais segura.
  • Uso de sysfs_emit_at(): Implementação de checagem adequada de limites na função que exibe a localização dos módulos de memória (dimmdev) no sistema de arquivos virtual sysfs, prevenindo potenciais falhas de memória.

As mudanças já foram integradas à árvore principal de desenvolvimento e estarão disponíveis para o público geral no lançamento da versão estável do Kernel Linux 7.3.

Compartilhe este artigo
Emanuel Negromonte é Jornalista, Mestre em Tecnologia da Informação e atualmente cursa a segunda graduação em Engenharia de Software. Com 14 anos de experiência escrevendo sobre GNU/Linux, Software Livre e Código Aberto, dedica-se a descomplicar o universo tecnológico para entusiastas e profissionais. Seu foco é em notícias, tutoriais e análises aprofundadas, promovendo o conhecimento e a liberdade digital no Brasil.