• Simon Guo's avatar
    KVM: PPC: Book3S PR: Emulate mtspr/mfspr using active TM SPRs · 533082ae
    Simon Guo authored
    The mfspr/mtspr on TM SPRs(TEXASR/TFIAR/TFHAR) are non-privileged
    instructions and can be executed by PR KVM guest in problem state
    without trapping into the host. We only emulate mtspr/mfspr
    texasr/tfiar/tfhar in guest PR=0 state.
    
    When we are emulating mtspr tm sprs in guest PR=0 state, the emulation
    result needs to be visible to guest PR=1 state. That is, the actual TM
    SPR val should be loaded into actual registers.
    
    We already flush TM SPRs into vcpu when switching out of CPU, and load
    TM SPRs when switching back.
    
    This patch corrects mfspr()/mtspr() emulation for TM SPRs to make the
    actual source/dest be the actual TM SPRs.
    Signed-off-by: default avatarSimon Guo <wei.guo.simon@gmail.com>
    Signed-off-by: default avatarPaul Mackerras <paulus@ozlabs.org>
    533082ae
book3s_pr.c 49.8 KB