• Marc Zyngier's avatar
    arm/arm64: KVM: Use set/way op trapping to track the state of the caches · 3c1e7165
    Marc Zyngier authored
    Trying to emulate the behaviour of set/way cache ops is fairly
    pointless, as there are too many ways we can end-up missing stuff.
    Also, there is some system caches out there that simply ignore
    set/way operations.
    
    So instead of trying to implement them, let's convert it to VA ops,
    and use them as a way to re-enable the trapping of VM ops. That way,
    we can detect the point when the MMU/caches are turned off, and do
    a full VM flush (which is what the guest was trying to do anyway).
    
    This allows a 32bit zImage to boot on the APM thingy, and will
    probably help bootloaders in general.
    Signed-off-by: default avatarMarc Zyngier <marc.zyngier@arm.com>
    Signed-off-by: default avatarChristoffer Dall <christoffer.dall@linaro.org>
    3c1e7165
mmu.c 38.7 KB