• Marc Zyngier's avatar
    arm/arm64: KVM: Handle out-of-RAM cache maintenance as a NOP · 57c841f1
    Marc Zyngier authored
    So far, our handling of cache maintenance by VA has been pretty
    simple: Either the access is in the guest RAM and generates a S2
    fault, which results in the page being mapped RW, or we go down
    the io_mem_abort() path, and nuke the guest.
    
    The first one is fine, but the second one is extremely weird.
    Treating the CM as an I/O is wrong, and nothing in the ARM ARM
    indicates that we should generate a fault for something that
    cannot end-up in the cache anyway (even if the guest maps it,
    it will keep on faulting at stage-2 for emulation).
    
    So let's just skip this instruction, and let the guest get away
    with it.
    Reviewed-by: default avatarChristoffer Dall <christoffer.dall@linaro.org>
    Signed-off-by: default avatarMarc Zyngier <marc.zyngier@arm.com>
    57c841f1
kvm_emulate.h 7.7 KB