FERRAMENTAS LINUX: O Kernel Linux x86 / x86_64 agora e sempre reservará o primeiro 1 MB de RAM

domingo, 6 de junho de 2021

O Kernel Linux x86 / x86_64 agora e sempre reservará o primeiro 1 MB de RAM

 

Confira !!

O código do kernel do Linux x86 / x86_64 já tinha lógica para reservar porções do primeiro 1 MB de RAM para evitar que o BIOS ou o kernel potencialmente destruam esse espaço, entre outras razões, enquanto agora o Linux 5.13 está acabando com essa "wankery" e apenas incondicionalmente sempre reserve o primeiro 1 MB de RAM.

O kernel do Linux já atendia aos gráficos Intel Sandy Bridge acessando a memória abaixo da marca de 1 MB, os primeiros 64 K de memória são conhecidos por estarem corrompidos por alguns BIOSes e problemas semelhantes surgindo nessa área de pouca memória. Mas ao invés de lidar com toda essa lógica e outros casos de nicho possíveis além do frame-buffer EGA / VGA e BIOS, o kernel está jogando com segurança e sempre reservando o primeiro 1 MB de RAM para não ser destruído pelo kernel.

A motivação agora para o Kernel Linux 5.13 em conseguir aquela reserva incondicional de 1 MB no lugar para Linux x86 / x86_64 deriva de um relatório de bug em torno de um sistema AMD Ryzen que não pode ser inicializado no Linux 5.13 desde a mudança para consolidar o tratamento das reservas de memória anteriores. Apenas fazer incondicionalmente o primeiro 1 MB torna as coisas muito mais simples de manusear.

A mudança foi enviada esta manhã como parte de x86 / urgente . " Acabar com toda a baboseira de reservar uma quantidade X de memória no primeiro megabyte para evitar que o BIOS o corrompa e de forma simples e incondicional reservar todo o primeiro megabyte. "

Com a solicitação de pull x86 desta manhã também está a mudança de desabilitar a nova funcionalidade ENQCMD da Intelpara as futuras CPUs do servidor Sapphire Rapids até que o código do kernel possa ser devidamente limpo e corrigido. O x86 puxado agora também lida com CPUs Hygon de 1ª Geração (baseadas em AMD Zen) que estão fora das especificações por não suportarem o AMD64_SEV MSR, então em vez disso o código Linux AMD SEV está verificando os bits CPUID primeiro.






Fonte

Até a próxima !


Nenhum comentário:

Postar um comentário