• Paolo Bonzini's avatar
    KVM: X86: Expose bus lock debug exception to guest · 76ea438b
    Paolo Bonzini authored
    Bus lock debug exception is an ability to notify the kernel by an #DB
    trap after the instruction acquires a bus lock and is executed when
    CPL>0. This allows the kernel to enforce user application throttling or
    mitigations.
    
    Existence of bus lock debug exception is enumerated via
    CPUID.(EAX=7,ECX=0).ECX[24]. Software can enable these exceptions by
    setting bit 2 of the MSR_IA32_DEBUGCTL. Expose the CPUID to guest and
    emulate the MSR handling when guest enables it.
    
    Support for this feature was originally developed by Xiaoyao Li and
    Chenyi Qiang, but code has since changed enough that this patch has
    nothing in common with theirs, except for this commit message.
    Co-developed-by: default avatarXiaoyao Li <xiaoyao.li@intel.com>
    Signed-off-by: default avatarXiaoyao Li <xiaoyao.li@intel.com>
    Signed-off-by: default avatarChenyi Qiang <chenyi.qiang@intel.com>
    Message-Id: <20210202090433.13441-4-chenyi.qiang@intel.com>
    Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
    76ea438b
cpuid.c 33.3 KB