Re: [PATCH v7 1/3] KVM: x86: export svm/vmx exit code and vectorcode to userspace

From: Avi Kivity
Date: Mon Sep 03 2012 - 07:13:21 EST


On 08/27/2012 12:51 PM, Dong Hao wrote:
> From: Xiao Guangrong <xiaoguangrong@xxxxxxxxxxxxxxxxxx>
>
> Exporting KVM exit information to userspace to be consumed by perf.
>
> [ Dong Hao <haodong@xxxxxxxxxxxxxxxxxx>: rebase it on acme's git tree ]
> Signed-off-by: Xiao Guangrong <xiaoguangrong@xxxxxxxxxxxxxxxxxx>
> Signed-off-by: Dong Hao <haodong@xxxxxxxxxxxxxxxxxx>
> ---
> arch/x86/include/asm/kvm_host.h | 36 ++++---

Please put ABIs in kvm.h. But see below.

> arch/x86/include/asm/svm.h | 205 +++++++++++++++++++++++++--------------
> arch/x86/include/asm/vmx.h | 126 ++++++++++++++++--------
> arch/x86/kvm/trace.h | 89 -----------------
> 4 files changed, 234 insertions(+), 222 deletions(-)
>
>
> +#define DE_VECTOR 0
> +#define DB_VECTOR 1
> +#define BP_VECTOR 3
> +#define OF_VECTOR 4
> +#define BR_VECTOR 5
> +#define UD_VECTOR 6
> +#define NM_VECTOR 7
> +#define DF_VECTOR 8
> +#define TS_VECTOR 10
> +#define NP_VECTOR 11
> +#define SS_VECTOR 12
> +#define GP_VECTOR 13
> +#define PF_VECTOR 14
> +#define MF_VECTOR 16
> +#define MC_VECTOR 18

This is not a kvm ABI, but an x86 architecture constants. It should be
put into an existing x86 header.

> +
> #endif /* _ASM_X86_KVM_HOST_H */
> diff --git a/arch/x86/include/asm/svm.h b/arch/x86/include/asm/svm.h
> index f2b83bc..cdf5674 100644
> --- a/arch/x86/include/asm/svm.h
> +++ b/arch/x86/include/asm/svm.h
> @@ -1,6 +1,135 @@
> #ifndef __SVM_H
> #define __SVM_H
>
> +
> +#ifdef __KERNEL__
> +

The entire file can be exported; nothing in there is implementation
specific.

> diff --git a/arch/x86/include/asm/vmx.h b/arch/x86/include/asm/vmx.h
> index 74fcb96..61e04e9 100644
> --- a/arch/x86/include/asm/vmx.h
> +++ b/arch/x86/include/asm/vmx.h
> +
> +#ifdef __KERNEL__
> +

Ditto.


--
error compiling committee.c: too many arguments to function
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/