O Linux 6.13 chega com importantes atualizações para a arquitetura ARM64, destacando-se por melhorias em segurança, desempenho e funcionalidade. Confira os detalhes das mudanças mais relevantes.
Suporte a máquinas virtuais protegidas com ARM CCA
Uma das principais novidades desta versão é o suporte a máquinas virtuais protegidas, chamadas de realms, que utilizam a Arm Confidential Compute Architecture (CCA). Essa tecnologia permite que o Linux seja executado em ambientes isolados, protegendo dados sensíveis contra invasões e ataques. Soluções semelhantes, como AMD SEV-SNP e Intel TDX, já oferecem funcionalidades parecidas, e o Linux agora avança nesse mesmo caminho, tornando-se mais seguro para aplicações críticas.
Maior segurança com o Guarded Control Stack (GCS)
Outra grande melhoria é a introdução do Guarded Control Stack (GCS) para o espaço do usuário. Esse recurso adiciona uma camada de segurança que combate ataques como ROP (Return-Oriented Programming). O GCS cria automaticamente uma pilha sombria ao clonar processos, protegendo contra manipulações maliciosas.
O suporte inicial segue o comportamento da ABI do x86, mas futuras atualizações, como o suporte ao clone3(), permitirão maior controle sobre o tamanho e o local da pilha sombria, garantindo ainda mais flexibilidade e segurança.
AT_HWCAP3: reportando capacidades do hardware
O suporte ao AT_HWCAP3 é outra adição importante. Ele permite que o kernel Linux relate de forma mais precisa as capacidades do hardware, o que será essencial para futuros avanços no ARM64, como o suporte ao dpISA. Essa melhoria previne possíveis limitações de compatibilidade com novos recursos da arquitetura.
Otimizações no kernel Linux 6.3 para ARM64
O Linux 6.13 também trouxe várias otimizações no kernel, garantindo maior eficiência para dispositivos ARM64:
- Instruções memcpy no kernel: Agora o kernel utiliza instruções otimizadas de cópia de memória, melhorando o desempenho em operações de movimentação de dados.
- MTE no hugetlbfs: Suporte à Memory Tagging Extension (MTE) no sistema de arquivos hugetlbfs, acompanhado por novos testes automáticos para validação.
- CRC32 mais rápido: Uso de instruções PMULL para otimizar operações de cálculo de CRC32.
- Melhorias no TLB: Operações de esvaziamento de faixa para o Translation Lookaside Buffer (TLB), tornando o gerenciamento de memória mais eficiente.
- FEAT_HAFT: Suporte a ARCH_HAS_NONLEAF_PMD_YOUNG, que melhora o desempenho em páginas não folhas.
Avanços em monitoramento e desempenho
O monitoramento de hardware também recebeu melhorias significativas. O suporte a contadores de desempenho foi expandido para diversas plataformas ARM64, incluindo:
- NXP i.MX91 no driver PMU existente.
- Ampere SoCs no driver Designware PCIe PMU.
- Marvell Odyssey SoC com suporte ao PCIe PMU Marvell PEM.
- Samsung Mongoose para o monitoramento de CPU.
Além disso, o PMUv3.9 agora permite controle mais refinado do acesso aos contadores de desempenho, aumentando a flexibilidade para desenvolvedores e administradores.
Correções e melhorias no código para arm64
O Linux 6.13 não apenas adicionou novos recursos, mas também realizou uma série de ajustes e limpezas no código:
- Melhorias nos acessos às tabelas de página, incluindo reorganização e validação de macros.
- Otimizações no cache para slots xol em uprobes, evitando operações desnecessárias.
- Melhorias nos testes automáticos (kselftests) para garantir estabilidade e desempenho.
- Correções em contextos de comutação, como tpidrro_el0 quando o kpti está ativado.
- Ajustes no suporte a ACPI, como validações de arrays e tratamento de erros.
Com essas mudanças, o Linux 6.13 reforça a segurança e a eficiência do ARM64, preparando a arquitetura para os desafios da computação moderna. Seja para dispositivos móveis, servidores ou sistemas embarcados, essas atualizações tornam o Linux mais robusto, confiável e adaptado às inovações tecnológicas.