Skip to content
  • Alex Bennée's avatar
    KVM: arm: introduce kvm_arm_init/setup/clear_debug · 56c7f5e7
    Alex Bennée authored
    
    
    This is a precursor for later patches which will need to do more to
    setup debug state before entering the hyp.S switch code. The existing
    functionality for setting mdcr_el2 has been moved out of hyp.S and now
    uses the value kept in vcpu->arch.mdcr_el2.
    
    As the assembler used to previously mask and preserve MDCR_EL2.HPMN I've
    had to add a mechanism to save the value of mdcr_el2 as a per-cpu
    variable during the initialisation code. The kernel never sets this
    number so we are assuming the bootcode has set up the correct value
    here.
    
    This also moves the conditional setting of the TDA bit from the hyp code
    into the C code which is currently used for the lazy debug register
    context switch code.
    
    Signed-off-by: default avatarAlex Bennée <alex.bennee@linaro.org>
    Reviewed-by: default avatarChristoffer Dall <christoffer.dall@linaro.org>
    Signed-off-by: default avatarMarc Zyngier <marc.zyngier@arm.com>
    56c7f5e7