Atualizações do Arm de 64 bits devem fazer parte do kernel Linux 5.18

ARM64 com Linux 5.20 melhora código KPTI de mitigação de fusão
Atualizações do Arm de 64 bits devem fazer parte do kernel Linux 5.18

As atualizações de código da arquitetura Arm de 64 bits (ARM64 e AArch64) foram enviadas antes da abertura da janela de mesclagem do Linux 5.18 na próxima semana. Lembrando que esse processo atrasou com a chegada de mais uma versão release candidate do Linux 5.17. Sendo assim, as atualizações do Arm de 64 bits devem fazer parte do kernel Linux 5.18, mesmo que haja novos atrasos em relação ao Linux.

O mantenedor da arquitetura ARM64 para o kernel Linux, Will Deacon, está de férias, então enviou antecipadamente as atualizações de recursos para o Linux 5.18.

Atualizações do Arm de 64 bits devem fazer parte do kernel Linux 5.18

As alterações do ARM64 (AArch64) para Linux 5.18 incluem:

  • suporte para incluir tags Memory Tagging Extension (MTE) em coredumps ELF;
  • atualizações do codificador de instruções;
  • suporte para um novo modo MTE “assimétrico”;
  • suporte para o algoritmo de autenticação de ponteiro QARMA3;
  • suporte PMU para a CPU núcleos nos SoCs Apple M1;
  • suporte para usar instruções RNDR nas funções arch_get_random_*;
  • e uma variedade de outras limpezas de código e melhorias de baixo nível.

Mais detalhes sobre as alterações do ARM64 para o ciclo do Linux 5.18 por meio desta solicitação pull.

GCC Tuning Patches para Neoverse-N2 e Novo Neoverse-Demeter

Atualizações do Arm de 64 bits devem fazer parte do kernel Linux 5.18

A Arm continua trabalhando para melhorar o suporte do compilador de código aberto para seus próximos designs de processador Armv9. O mais recente a relatar são as adições de ajuste para os alvos Neoverse-N2 e Neoverse “Demeter”.

Desde o final de 2020, os engenheiros da Arm começaram a trabalhar no suporte Neoverse-N2 para a cadeia de ferramentas GNU e também para o compilador LLVM/Clang. Agora eles publicaram as informações de ajuste reais para o Neoverse-N2 que tem os custos calculados para diferentes operações para que o compilador possa fazer escolhas mais informadas para esses processadores futuros.

Este patch tem as tabelas de custos que são precisas para o novo design da CPU Arm. Até agora, o GCC estava contando com os custos genéricos e do Arm Cortex-A57 para o N2.

Outro remendo enviado adiciona ajuste de braço para o Neoverse-Demeter. Isso também adiciona as opções -mcpu=demeter e -mtune=demeter . O GCC até agora não tinha o alvo Arm Demeter. O Demeter é Armv9-A e habilita os recursos I8MM, BF16, BITPERM, RNG, MEMTAG (MTE) e PROFILE além dos recursos padrão AArch64.

Não houve muita (alguma?) conversa pública sobre o Arm Neoverse Demeter, além de reconhecê-lo em alguns comentários de código referentes ao Coreboot e outros firmwares de sistema em torno da CPU “Demeter”.

No momento, esses patches de ajuste do Arm estão na lista de discussão, enquanto veremos em breve se eles ainda tentam espremê-los no lançamento do GCC 12, que deve sair por volta de abril.