KVM Chainsaw fue desarrollado para resolver la complejidad derivada de la combinación de múltiples usos de la estructura kvm_mmu en una sola estructura. Esta estructura se encargaba de definir el formato de las tablas de páginas de invitados, navegar por estas tablas y crear tablas de páginas. KVM Chainsaw divide esta estructura en tres componentes más modulares: kvm_pagewalk, kvm_mmu y kvm_page_format.

Kvm_pagewalk se utiliza para navegar por las tablas de páginas y proporciona dos métodos de navegación por cada vCPU: gva_walk y ngpa_walk. Kvm_mmu se encarga de la creación de tablas de páginas y utiliza una navegación de tablas de páginas para este proceso. Kvm_page_format permite que KVM trabaje con las PTE actuales y combina el código permission_mask() con struct rsvd_bits_validate.

Esta reestructuración no solo reduce la complejidad actual, sino que también permite la adición de nuevas características. Por ejemplo, la última corrección agregada admite el estado XS!=XU de SPTE, añadiendo una nueva característica a KVM. Estas características proporcionarán un entorno más flexible y potente para los usuarios de KVM en Linux 7.3.