On 07.12.2010, at 11:59, Andre Przywara wrote:

> Newer SVM implementations provide the GPR number in the VMCB, so
> that the emulation path is no longer necesarry to handle debug
> register access intercepts. Implement the handling in svm.c and
> use it when the info is provided.
> 
> Signed-off-by: Andre Przywara <andre.przyw...@amd.com>
> ---
> arch/x86/kvm/svm.c |   55 ++++++++++++++++++++++++++++++++++++---------------
> 1 files changed, 39 insertions(+), 16 deletions(-)
> 
> diff --git a/arch/x86/kvm/svm.c b/arch/x86/kvm/svm.c
> index b7233fd..369bd85 100644
> --- a/arch/x86/kvm/svm.c
> +++ b/arch/x86/kvm/svm.c
> @@ -2669,6 +2669,29 @@ static int cr0_write_interception(struct vcpu_svm *svm)
>       return r == EMULATE_DONE;
> }
> 
> +static int dr_interception(struct vcpu_svm *svm)
> +{
> +     int reg, dr;
> +     unsigned long val;
> +
> +     if (!boot_cpu_has(SVM_FEATURE_DECODE_ASSIST))
> +             return emulate_on_interception(svm);

Wouldn't it be better to just change the entry in svm_exit_handlers if we 
detect that feature on init? No unnecessary branching then.


Alex

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to