Re: [Qemu-devel] [PATCH v2 for-1.7] target-i386: Fix build by providing stub kvm_arch_get_supported_cpuid()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux