• Paul Mackerras's avatar
    KVM: PPC: Work around POWER7 DABR corruption problem · 8943633c
    Paul Mackerras authored
    It turns out that on POWER7, writing to the DABR can cause a corrupted
    value to be written if the PMU is active and updating SDAR in continuous
    sampling mode.  To work around this, we make sure that the PMU is inactive
    and SDAR updates are disabled (via MMCRA) when we are context-switching
    DABR.
    
    When the guest sets DABR via the H_SET_DABR hypercall, we use a slightly
    different workaround, which is to read back the DABR and write it again
    if it got corrupted.
    
    While we are at it, make it consistent that the saving and restoring
    of the guest's non-volatile GPRs and the FPRs are done with the guest
    setup of the PMU active.
    Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
    Signed-off-by: default avatarAlexander Graf <agraf@suse.de>
    Signed-off-by: default avatarAvi Kivity <avi@redhat.com>
    8943633c
book3s_hv_rmhandlers.S 39.6 KB