• Simon Guo's avatar
    KVM: PPC: Add giveup_ext() hook to PPC KVM ops · 2e6baa46
    Simon Guo authored
    Currently HV will save math regs(FP/VEC/VSX) when trap into host. But
    PR KVM will only save math regs when qemu task switch out of CPU, or
    when returning from qemu code.
    
    To emulate FP/VEC/VSX mmio load, PR KVM need to make sure that math
    regs were flushed firstly and then be able to update saved VCPU
    FPR/VEC/VSX area reasonably.
    
    This patch adds giveup_ext() field to KVM ops. Only PR KVM has non-NULL
    giveup_ext() ops. kvmppc_complete_mmio_load() can invoke that hook
    (when not NULL) to flush math regs accordingly, before updating saved
    register vals.
    
    Math regs flush is also necessary for STORE, which will be covered
    in later patch within this patch series.
    Signed-off-by: default avatarSimon Guo <wei.guo.simon@gmail.com>
    Signed-off-by: default avatarPaul Mackerras <paulus@ozlabs.org>
    2e6baa46
book3s_pr.c 46.8 KB