FERRAMENTAS LINUX: A AMD está se preparando para finalmente oferecer o suporte ao Virtual NMI com as suas CPUs (VNMI)

sexta-feira, 3 de junho de 2022

A AMD está se preparando para finalmente oferecer o suporte ao Virtual NMI com as suas CPUs (VNMI)


 Confira !!

Parece que, com os próximos processadores AMD Zen 4, finalmente haverá suporte Virtual NMI (VNMI) para virtualização, um recurso que as CPUs da Intel suportam bem mais do que na última década.

Os engenheiros da AMD enviaram na quinta-feira os patches iniciais do kernel Linux para habilitar o suporte Virtual NMI (Non-Maskable Interrupt) quando suportado pelo processador. A presença de suporte VNMI é detectada por um bit de recurso de ID de CPU, mas, devido ao tempo, eles estão terrivelmente atrasados ​​​​em suportá-lo para CPUs existentes e não falaram sobre sua presença até agora, ou mais do que provável: VNMI está sendo introduzido com o próximo AMD Zen 4 processadores.

Santosh Shukla da AMD resume sua implementação de NMI Virtual como:

Atualmente, o NMI é entregue ao convidado usando o mecanismo de Injeção de Evento. O mecanismo de Injeção de Eventos não bloqueia a entrega de NMIs subsequentes. Portanto, o Hypervisor precisa rastrear a entrega do NMI e sua conclusão (interceptando o IRET) antes de enviar um novo NMI.

O Virtual NMI (VNMI) permite que o hypervisor injete o NMI no convidado sem usar o mecanismo de Injeção de Evento, o que significa que não é necessário rastrear o NMI convidado e interceptar o IRET. Para conseguir isso, o recurso VNMI fornece bits de capacidade NMI e NMI_MASK virtualizados no

VMCB intr_control -

V_NMI(11) - Indica se um NMI virtual está pendente no convidado.

V_NMI_MASK(12) - Indica se o NMI virtual está mascarado no convidado.

V_NMI_ENABLE(26) - Habilita o recurso de virtualização NMI para o convidado.

Quando o Hypervisor deseja injetar o NMI, ele definirá o bit V_NMI, o processador limpará o bit V_NMI e definirá o V_NMI_MASK, o que significa que o convidado está manipulando o NMI. instrução Ou se VMEXIT ocorrer durante a entrega do NMI virtual.

Basicamente, o VNMI equivale a uma otimização de eficiência com os convidados virtualizados da AMD, não precisando rastrear o estado do NMI do convidado e se preocupar em interceptar o IRET para o tratamento de conclusão do NMI. O NMI virtual é suportado há muito tempo pelas CPUs Intel - o código do kernel Linux da Intel para virtualização na verdade o exige e foi instalado no kernel do lado da Intel desde 2008.


Dado o momento desta série de patches do Linux , o VNMI provavelmente estreará com o hardware das séries Zen 4 Ryzen 7000 e AMD EPYC 7004 de próxima geração







Fonte

Até a próxima  !!.

Nenhum comentário:

Postar um comentário