[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: [PATCH] i386/cpu: Expose the PTWRITE to the guest
From: |
Kang, Luwei |
Subject: |
RE: [PATCH] i386/cpu: Expose the PTWRITE to the guest |
Date: |
Fri, 23 Oct 2020 00:13:06 +0000 |
> > PTWRITE provides a mechanism by which software can instrument the
> > Intel PT trace. The current implementation will mask off this feature
> > when the PTWRITE is supported on the host because of the Intel PT
> > CPUID is a constant value(ICX CPUID) in qemu. This patch will expose
> > the PTWRITE feature to the guest.
> >
> > Signed-off-by: Luwei Kang <luwei.kang@intel.com>
> > ---
> > target/i386/cpu.c | 24 ++++++++++++++++++++++++ target/i386/cpu.h |
> > 4 ++++
> > 2 files changed, 28 insertions(+)
> >
> > diff --git a/target/i386/cpu.c b/target/i386/cpu.c index
> > aeabdd5bd4..242ba8a870 100644
> > --- a/target/i386/cpu.c
> > +++ b/target/i386/cpu.c
> > @@ -672,6 +672,7 @@ static void x86_cpu_vendor_words2str(char *dst,
> > uint32_t vendor1, #define TCG_XSAVE_FEATURES
> (CPUID_XSAVE_XSAVEOPT | CPUID_XSAVE_XGETBV1)
> > /* missing:
> > CPUID_XSAVE_XSAVEC, CPUID_XSAVE_XSAVES */
> > +#define TCG_14_0_EBX_FEATURES 0
> > #define TCG_14_0_ECX_FEATURES 0
> >
> > typedef enum FeatureWordType {
> > @@ -1302,6 +1303,26 @@ static FeatureWordInfo
> feature_word_info[FEATURE_WORDS] = {
> > }
> > },
> >
> > + [FEAT_14_0_EBX] = {
> > + .type = CPUID_FEATURE_WORD,
> > + .feat_names = {
> > + NULL, NULL, NULL, NULL,
> > + "ptwrite", NULL, NULL, NULL,
> > + NULL, NULL, NULL, NULL,
> > + NULL, NULL, NULL, NULL,
> > + NULL, NULL, NULL, NULL,
> > + NULL, NULL, NULL, NULL,
> > + NULL, NULL, NULL, NULL,
> > + NULL, NULL, NULL, NULL,
> > + },
> > + .cpuid = {
> > + .eax = 0x14,
> > + .needs_ecx = true, .ecx = 0,
> > + .reg = R_EBX,
> > + },
> > + .tcg_features = TCG_14_0_EBX_FEATURES,
> > + },
> > +
>
> Please add a dependency on the processor tracing flag too.
Will fix it in the next version. Thanks.
Luwei Kang
>
> Paolo
>