Re: [PATCH] kvm: x86: use a uapi-friendly macro for BIT

From: Sean Christopherson
Date: Tue Dec 12 2023 - 10:28:21 EST


On Thu, Dec 07, 2023, Dionna Glaze wrote:
> Change uapi header uses of BIT to instead use the uapi/linux/const.h bit
> macros, since BIT is not defined in uapi headers.
>
> The PMU mask uses _BITUL since it targets a 32 bit flag field, whereas
> the longmode definition is meant for a 64 bit flag field.
>
> Cc: Sean Christophersen <seanjc@xxxxxxxxxx>
> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>
> Signed-off-by: Dionna Glaze <dionnaglaze@xxxxxxxxxx>
> ---
> arch/x86/include/uapi/asm/kvm.h | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/arch/x86/include/uapi/asm/kvm.h b/arch/x86/include/uapi/asm/kvm.h
> index 1a6a1f987949..a8955efeef09 100644
> --- a/arch/x86/include/uapi/asm/kvm.h
> +++ b/arch/x86/include/uapi/asm/kvm.h
> @@ -7,6 +7,7 @@
> *
> */
>
> +#include <linux/const.h>
> #include <linux/types.h>
> #include <linux/ioctl.h>
> #include <linux/stddef.h>
> @@ -526,7 +527,7 @@ struct kvm_pmu_event_filter {
> #define KVM_PMU_EVENT_ALLOW 0
> #define KVM_PMU_EVENT_DENY 1
>
> -#define KVM_PMU_EVENT_FLAG_MASKED_EVENTS BIT(0)
> +#define KVM_PMU_EVENT_FLAG_MASKED_EVENTS _BITUL(0)

It's not just BIT(), won't BIT_ULL() and GENMASK_ULL() also be problematic? And
sadly, I don't see an existing equivalent for GENMASK_ULL().