• Babu Moger's avatar
    KVM: SVM: Add pause filter threshold · 1d8fb44a
    Babu Moger authored
    This patch adds the support for pause filtering threshold. This feature
    support is indicated by CPUID Fn8000_000A_EDX. See AMD APM Vol 2 Section
    15.14.4 Pause Intercept Filtering for more details.
    
    In this mode, a 16-bit pause filter threshold field is added in VMCB.
    The threshold value is a cycle count that is used to reset the pause
    counter.  As with simple pause filtering, VMRUN loads the pause count
    value from VMCB into an internal counter. Then, on each pause instruction
    the hardware checks the elapsed number of cycles since the most recent
    pause instruction against the pause Filter Threshold. If the elapsed cycle
    count is greater than the pause filter threshold, then the internal pause
    count is reloaded from VMCB and execution continues. If the elapsed cycle
    count is less than the pause filter threshold, then the internal pause
    count is decremented. If the count value is less than zero and pause
    intercept is enabled, a #VMEXIT is triggered. If advanced pause filtering
    is supported and pause filter threshold field is set to zero, the filter
    will operate in the simpler, count only mode.
    Signed-off-by: default avatarBabu Moger <babu.moger@amd.com>
    Signed-off-by: default avatarRadim Krčmář <rkrcmar@redhat.com>
    1d8fb44a
svm.c 177 KB