> From: Paul Durrant <p...@xen.org>
> Sent: Wednesday, November 25, 2020 3:08 AM
> 
> From: Paul Durrant <pdurr...@amazon.com>
> 
> ... with macro evaluations, now that it is available.
> 
> A recent patch imported the sizeof_field() macro from Linux. This patch
> makes
> use of it in places where the construct is currently open-coded.
> 
> Signed-off-by: Paul Durrant <pdurr...@amazon.com>

Reviewed-by: Kevin Tian <kevin.t...@intel.com>

> ---
> Cc: Jun Nakajima <jun.nakaj...@intel.com>
> Cc: Kevin Tian <kevin.t...@intel.com>
> Cc: Jan Beulich <jbeul...@suse.com>
> Cc: Andrew Cooper <andrew.coop...@citrix.com>
> Cc: "Roger Pau Monné" <roger....@citrix.com>
> Cc: Wei Liu <w...@xen.org>
> ---
>  xen/arch/x86/cpu/vpmu_intel.c |  4 ++--
>  xen/arch/x86/setup.c          | 16 ++++++++--------
>  2 files changed, 10 insertions(+), 10 deletions(-)
> 
> diff --git a/xen/arch/x86/cpu/vpmu_intel.c
> b/xen/arch/x86/cpu/vpmu_intel.c
> index 75aa11c6adec..6e97ce790037 100644
> --- a/xen/arch/x86/cpu/vpmu_intel.c
> +++ b/xen/arch/x86/cpu/vpmu_intel.c
> @@ -90,8 +90,8 @@ static uint64_t __read_mostly global_ovf_ctrl_mask,
> global_ctrl_mask;
>  static unsigned int __read_mostly regs_sz;
>  /* Offset into context of the beginning of PMU register block */
>  static const unsigned int regs_off =
> -        sizeof(((struct xen_pmu_intel_ctxt *)0)->fixed_counters) +
> -        sizeof(((struct xen_pmu_intel_ctxt *)0)->arch_counters);
> +    sizeof_field(struct xen_pmu_intel_ctxt, fixed_counters) +
> +    sizeof_field(struct xen_pmu_intel_ctxt, arch_counters);
> 
>  /*
>   * QUIRK to workaround an issue on various family 6 cpus.
> diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
> index 44c04e273537..30d6f375a3af 100644
> --- a/xen/arch/x86/setup.c
> +++ b/xen/arch/x86/setup.c
> @@ -1617,19 +1617,19 @@ void __init noreturn __start_xen(unsigned long
> mbi_p)
>      total_pages = nr_pages;
> 
>      /* Sanity check for unwanted bloat of certain hypercall structures. */
> -    BUILD_BUG_ON(sizeof(((struct xen_platform_op *)0)->u) !=
> -                 sizeof(((struct xen_platform_op *)0)->u.pad));
> -    BUILD_BUG_ON(sizeof(((struct xen_domctl *)0)->u) !=
> -                 sizeof(((struct xen_domctl *)0)->u.pad));
> -    BUILD_BUG_ON(sizeof(((struct xen_sysctl *)0)->u) !=
> -                 sizeof(((struct xen_sysctl *)0)->u.pad));
> +    BUILD_BUG_ON(sizeof_field(struct xen_platform_op, u) !=
> +                 sizeof_field(struct xen_platform_op, u.pad));
> +    BUILD_BUG_ON(sizeof_field(struct xen_domctl, u) !=
> +                 sizeof_field(struct xen_domctl, u.pad));
> +    BUILD_BUG_ON(sizeof_field(struct xen_sysctl, u) !=
> +                 sizeof_field(struct xen_sysctl, u.pad));
> 
>      BUILD_BUG_ON(sizeof(start_info_t) > PAGE_SIZE);
>      BUILD_BUG_ON(sizeof(shared_info_t) > PAGE_SIZE);
>      BUILD_BUG_ON(sizeof(struct vcpu_info) != 64);
> 
> -    BUILD_BUG_ON(sizeof(((struct compat_platform_op *)0)->u) !=
> -                 sizeof(((struct compat_platform_op *)0)->u.pad));
> +    BUILD_BUG_ON(sizeof_field(struct compat_platform_op, u) !=
> +                 sizeof_field(struct compat_platform_op, u.pad));
>      BUILD_BUG_ON(sizeof(start_info_compat_t) > PAGE_SIZE);
>      BUILD_BUG_ON(sizeof(struct compat_vcpu_info) != 64);
> 
> --
> 2.20.1

Reply via email to