Eles lançam uma proposta para eliminar o antigo suporte ARM no Linux

remova o antigo suporte ARM no Linux

Arnd Bergman, Desenvolvedor de kernel Linux da filial arm-soc e gerente de pacotes de kernel da SUSE, lançou um proposta em que ele coloca na mesa a questão da remoção do kernel baseado no GCC e criar ferramentas de código para oferecer suporte a CPUs ARM mais antigas, suas ABIs associadas, conjuntos de instruções e recursos de kernel.

Arnd Bergmann, menciona que a base da proposta de cessação do apoio para CPUs ARM velho no Kernel é devido à descontinuação no GCC, já que algumas das CPUs propostas para remoção não são mais suportadas pelas versões mais recentes do GCC e outras estão planejadas para serem removidas em versões futuras.

Mencione que, ao aplicar isso, Será facilitada a modernização e implementação de novas funções no compilador. EA remoção do suporte para uma arquitetura no GCC exigirá sua remoção do kernel se a versão mínima do GCC suportada pelo kernel for aumentada (atualmente, pelo menos a versão 5.1 do GCC é necessária para compilar o kernel).

Entre arquiteturas, chips e extensões que são propostos para serem removidos do kernel, são mencionados os seguintes:

  • ARMv3: Removido no GCC-9, portanto, eventualmente será removido do kernel à medida que as versões mínimas do compilador aumentam.
  • ARMv4: Usado para CPUs StrongARM e FA526, ainda em algumas placas. Até os chips mais novos têm quase 20 anos. A última versão do Debian que os suportou foi Lenny (5.0). Seis famílias de SoC com núcleos ARMv4T (ARM720T, ARM920T e ARM922T) ainda são suportadas. Embora sejam antigos, eles têm mais usuários e desenvolvedores que o ARMv4. O Debian Stretch (9.0) foi o último a apoiá-los.
  • ARMv5: Cerca de um terço das plataformas suportadas usam ARMv5, mas a maioria está perto do fim do suporte.
  • ARMv6 cedo: inclui ARM1136r0p em NXP i.MX31 e OMAP24xx, principalmente o tablet Nokia N8xx. Requer hacks especiais para suportar kernels com SMP. Existe um patch que altera o ARMv6 de compatível com ARMv7 para compatível com ARMv5, mas precisa de mais trabalho.
  • ARMv6K
    ARMv7-M: Cortex-M3/M4/M7 são os únicos núcleos suportados sem MMU, atualmente em 5 plataformas de microcontroladores. Eles poderão ser removidos em 2027, mas o GCC ainda precisará suportá-los em outros sistemas operacionais.
  • iWMMXt: não há usuários restantes conhecidos para iWMMXt e o suporte para CPUs ARMv7 PJ4 foi removido. É compatível apenas com Intel/Marvell PXA e MMP1.
  • Kernel big endian ARMv5 (BE32): Apenas um SoC o utiliza, o Intel IXP4xx. O Debian suportava no modo little-endian, mas os drivers estão quebrados no LE.
  • Kernel big endian ARMv7 (BE8)
  • Param_struct pré-ATAGS: Este foi depreciado em 2001, para ser eliminado em “5 anos”, o que já aconteceu.
  • Arquivos de placas baseados em ATAGS: Após a limpeza acima, restam 29 arquivos da placa em 10 plataformas SoC.
  • Núcleos OABI: Praticamente todo mundo usa EABI hoje, e o suporte OABI foi removido como alvo no GCC-4.8. O kernel ainda permite ser construído como OABI com -mabi=apcs-gnu, usado por padrão em kernels ARMv4/ARMv5.
  • Modo de compatibilidade OABI: Isso permite executar binários OABI com um kernel EABI.
  • NWFPE
  • Alto-mem: A maioria das máquinas ARM pode funcionar sem suporte a highmem usando CONFIG_VMSPLIT_2GB para endereçar até 2GB de memória física. Máquinas maiores apareceram com o Cortex-A15 em 2012, rapidamente substituídas por chips de 64 bits.
  • Esparso: Há uma discussão sobre a remoção do suporte ao sparsemem tradicional. Isso também se aplica a máquinas que precisam de mais memória para usar toda a sua RAM
  • Risco PC: Esta é a plataforma mais antiga suportada e eventualmente será removida, pois não funciona com GCC-9 ou superior devido à remoção do ARMv3.
  • SA1100, Passarela: outras plataformas baseadas em StrongARM, relevantes apenas para nostalgia.
  • Gêmeos, Moxart: Ambos usam o núcleo da CPU Faraday FA526, que como o StrongARM implementa ARMv4 em vez de ARMv4T com polegar. Os chips também têm mais de 20 anos, mas o código do kernel foi atualizado e não representa um fardo de manutenção.
  • Arquivos da placa PXA: Restam dois arquivos de placas no código PXA não removidos há dois anos, esperando que isso ajude na conversão para DT
  • OMAP1: a única plataforma ARMv4T/ARMv5 sem suporte DT, tornando-a alvo de remoção em algum momento.
  • Nspire, AT91RM9200, CLPS711X, EP93xx, iMX1
  • OMAP24xx
  • iMX31, realview/integrador com 1136r0
  • S3C64xx (Cragganmore): Esta é a única placa ARMv6K sem suporte a devicetree, e o arquivo da placa contém uma complexidade semelhante a todos os outros arquivos da placa combinados. arch/arm/mach-s3c/Kconfig.s3c64xx lista-o para remoção no início do próximo ano, o que permitiria uma grande limpeza da infraestrutura e dos drivers da plataforma.
  • Orion5x, mv78xx0, arquivos da placa pomba: Assim como o PXA, eles ficaram pendentes do progresso em direção à conversão do DT, mas nada aconteceu, exceto algumas pequenas correções no mv78xx0. Em contraste, o Debian removeu o binário do kernel orion5x alegando falta de usuários, então parece muito menos provável que seja concluído.
  • iMX35, WM8750, AST2500, BCM2835: Essas quatro são plataformas ARMv6K e são bem suportadas, embora apenas AST2500 e BCM2835 tenham uma base de usuários ativa.
  • Microcontroladores Stm32f4/f7/h7: Esses são os únicos chips Arm não MMU que apresentam desenvolvimento contínuo à medida que a ST continua a oferecer suporte a seus clientes existentes.

Finalmente, deve ser mencionado que este plano ainda está em fase de RFC, isto é, publicado para discussão da comunidade. Se aprovado, propõe-se o início da remoção dos antigos processadores ARM do kernel Linux 6.12, prevista para dezembro. Os primeiros candidatos a serem removidos são ARMv4 (sem remover ARMv4T), iWMMXt, BE32 e OABI.

fonte: https://lkml.org


Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: Miguel Ángel Gatón
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.