On Fri, May 25, 2018 at 12:53:44PM +0100, Peter Maydell wrote: > On 25 May 2018 at 12:06, Peter Maydell <peter.maydell@xxxxxxxxxx> wrote: > > On 23 May 2018 at 15:43, Michael S. Tsirkin <mst@xxxxxxxxxx> wrote: > >> Switch to the header we imported from Linux, > >> this allows us to drop a hack in kvm_i386.h. > >> More code will be dropped in the next patch. > >> > >> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> > > > >> --- a/target/i386/cpu.h > >> +++ b/target/i386/cpu.h > >> @@ -688,8 +688,6 @@ typedef uint32_t FeatureWordArray[FEATURE_WORDS]; > >> #define CPUID_7_0_EDX_SPEC_CTRL (1U << 26) /* Speculation Control */ > >> #define CPUID_7_0_EDX_SPEC_CTRL_SSBD (1U << 31) /* Speculative Store Bypass Disable */ > >> > >> -#define KVM_HINTS_DEDICATED (1U << 0) > >> - > >> #define CPUID_8000_0008_EBX_IBPB (1U << 12) /* Indirect Branch Prediction Barrier */ > >> > >> #define CPUID_XSAVE_XSAVEOPT (1U << 0) > > > > Hi -- this seems like it will break compilation when we next > > update our copy of the Linux kernel headers, because (as of > > 4.17-rc6, at least), asm-x86/kvm_para.h doesn't define > > KVM_HINTS_DEDICATED. > > For the moment I'm using this workaround (I wanted to do a header > update for something else I'm working on): > > --- a/target/i386/kvm.c > +++ b/target/i386/kvm.c > @@ -48,6 +48,11 @@ > #include "exec/memattrs.h" > #include "trace.h" > > +/* Work around this kernel header constant changing its name */ > +#ifndef KVM_HINTS_REALTIME > +#define KVM_HINTS_REALTIME KVM_HINTS_DEDICATED > +#endif > + > //#define DEBUG_KVM > > #ifdef DEBUG_KVM I don't think we need this chunk. > @@ -387,7 +392,7 @@ uint32_t kvm_arch_get_supported_cpuid(KVMState *s, > uint32_t function, > ret &= ~(1U << KVM_FEATURE_PV_UNHALT); > } > } else if (function == KVM_CPUID_FEATURES && reg == R_EDX) { > - ret |= 1U << KVM_HINTS_DEDICATED; > + ret |= 1U << KVM_HINTS_REALTIME; > found = 1; > } That's the right change when we update this header. > thanks > -- PMM