Am 14.11.2013 00:09, schrieb Peter Maydell: > Fix build failures with clang when KVM is not enabled by > providing a stub version of kvm_arch_get_supported_cpuid(). > We retain the compile time check that this function isn't > called when CONFIG_KVM is not set by guarding the stub with > ifndef __OPTIMIZE__ (we assume that an optimizing build will > do sufficient constant folding and dead code elimination to > remove the calls before linking). > > Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> > --- > Changes v1->v2: > * guard stub with ifndef __OPTIMIZE__ > * make stub abort() rather than return bogus value > > target-i386/kvm-stub.c | 12 ++++++++++++ > 1 file changed, 12 insertions(+) > > diff --git a/target-i386/kvm-stub.c b/target-i386/kvm-stub.c > index 11429c4..2b9e801 100644 > --- a/target-i386/kvm-stub.c > +++ b/target-i386/kvm-stub.c > @@ -16,3 +16,15 @@ bool kvm_allows_irq0_override(void) > { > return 1; > } > + > +#ifndef __OPTIMIZE__ > +/* This function is only called inside conditionals which we > + * rely on the compiler to optimize out when CONFIG_KVM is not > + * defined. > + */ > +uint32_t q(KVMState *env, uint32_t function, > + uint32_t index, int reg) > +{ > + abort(); > +} > +#endif Reviewed-by: Stefan Weil <sw@xxxxxxxxxxx> If you happen to write a v3 patch, g_assert_not_reached would be even better than abort. It's impossible to tell why QEMU terminated after an assert without a debugger, whereas g_assert_not_reached clearly shows the location. Regards, Stefan -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html