Re: [RFC] target-arm: Provide mechanism for getting KVM constants even if not CONFIG_KVM

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

 



Il 14/11/2013 20:07, Peter Maydell ha scritto:
> diff --git a/target-arm/kvm-consts.h b/target-arm/kvm-consts.h
> new file mode 100644
> index 0000000..42ffb50
> --- /dev/null
> +++ b/target-arm/kvm-consts.h
> @@ -0,0 +1,34 @@
> +/*
> + * Provide versions of KVM constant defines that can be used even
> + * when CONFIG_KVM is not set and we don't have access to the
> + * KVM headers. If CONFIG_KVM is set, we do a compile-time check
> + * that we haven't got out of sync somehow.
> + */
> +#ifndef ARM_KVM_CONSTS_H
> +#define ARM_KVM_CONSTS_H
> +
> +#ifdef CONFIG_KVM
> +#include "qemu/compiler.h"
> +#include <linux/kvm.h>
> +
> +#define MISMATCH_CHECK(X, Y) QEMU_BUILD_BUG_ON(X != Y)
> +
> +#else
> +#define MISMATCH_CHECK(X, Y)
> +#endif
> +
> +#define CP_REG_SIZE_SHIFT 52
> +#define CP_REG_SIZE_MASK       0x00f0000000000000ULL
> +#define CP_REG_SIZE_U32        0x0020000000000000ULL
> +#define CP_REG_SIZE_U64        0x0030000000000000ULL
> +#define CP_REG_ARM             0x4000000000000000ULL
> +
> +MISMATCH_CHECK(CP_REG_SIZE_SHIFT, KVM_REG_SIZE_SHIFT)
> +MISMATCH_CHECK(CP_REG_SIZE_MASK, KVM_REG_SIZE_MASK)
> +MISMATCH_CHECK(CP_REG_SIZE_U32, KVM_REG_SIZE_U32)
> +MISMATCH_CHECK(CP_REG_SIZE_U64, KVM_REG_SIZE_U64)
> +MISMATCH_CHECK(CP_REG_ARM, KVM_REG_ARM)
> +
> +#undef MISMATCH_CHECK
> +
> +#endif
> 

It's okay.  There are indeed advantages to putting this together with
the definitions, instead of splitting it between target-arm/cpu.h and
target-arm/kvm.c.

The patch is missing the removal of the check from kvm.c though.

Paolo
--
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