diff mbox series

[v3,13/13] x86: replace open-coded occurrences of sizeof_field()...

Message ID 20201124190744.11343-14-paul@xen.org (mailing list archive)
State New, archived
Headers show
Series viridian: add support for ExProcessorMasks... | expand

Commit Message

Paul Durrant Nov. 24, 2020, 7:07 p.m. UTC
From: Paul Durrant <pdurrant@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 <pdurrant@amazon.com>
---
Cc: Jun Nakajima <jun.nakajima@intel.com>
Cc: Kevin Tian <kevin.tian@intel.com>
Cc: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: "Roger Pau Monné" <roger.pau@citrix.com>
Cc: Wei Liu <wl@xen.org>
---
 xen/arch/x86/cpu/vpmu_intel.c |  4 ++--
 xen/arch/x86/setup.c          | 16 ++++++++--------
 2 files changed, 10 insertions(+), 10 deletions(-)

Comments

Jan Beulich Nov. 25, 2020, 7:45 a.m. UTC | #1
On 24.11.2020 20:07, Paul Durrant wrote:
> From: Paul Durrant <pdurrant@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 <pdurrant@amazon.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>
Tian, Kevin Nov. 30, 2020, 2:48 a.m. UTC | #2
> From: Paul Durrant <paul@xen.org>
> Sent: Wednesday, November 25, 2020 3:08 AM
> 
> From: Paul Durrant <pdurrant@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 <pdurrant@amazon.com>

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

> ---
> Cc: Jun Nakajima <jun.nakajima@intel.com>
> Cc: Kevin Tian <kevin.tian@intel.com>
> Cc: Jan Beulich <jbeulich@suse.com>
> Cc: Andrew Cooper <andrew.cooper3@citrix.com>
> Cc: "Roger Pau Monné" <roger.pau@citrix.com>
> Cc: Wei Liu <wl@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
diff mbox series

Patch

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);