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

Re: [XEN v2 05/12] xen/Arm: GICv3: Fix GICR_{PENDBASER, PROPBASER} emulation on 32-bit host


  • To: Ayan Kumar Halder <ayankuma@xxxxxxx>, <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • From: Michal Orzel <michal.orzel@xxxxxxx>
  • Date: Wed, 2 Nov 2022 11:26:09 +0100
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=jBbRSb269aG1kYLOZeTi/FdLlssi7ojyFLAGVh5a67A=; b=i8C+4RFM/GKMjT4vS2lh+kYy3DGi5k08jKl0BQmIEq0SNDoP63UEN0AsJ0u6wystQ6vmLvmYnkf41yPh94ejFHVgnt9enlE2ru8YGz4UfSLYRSRUpfoliB90i862oOr/apZv/wg/0j50UpcKyuwWU8/w0KY2PhNQPBWqEc3I6ATH4TloS2l3dqtyh2cMMnZi9zXMyWwbhzPpv6LzrJLu5aw7o7J47uDNKYSd+xfT9cAEdb4wffCtae3AxPk8e/UnpxQxSnGcsjYXo3+D9Ni81xXzokeoExq9BQtcoPzjLu6g9VZ2wUlHZZTY4tbsiZ1Fa9G0F/Usy7Bfhb4i+4HUVg==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=VWrdhQKafJIJiQbM1+/U5K65cR6uwSWMP4EVe8+N3cXZbmZ2LDbdMEteWgFbqaupYz0+JZlpNiq2IC0GtNVkm3k39LbIjHbvXjuVzvqIAYBJUYFJL0jkp60bMHxu0kNyW8zLdU/BM75zeYB65eVvM8m04dli7IaTL2kTJQATbgIzqdaMXEpvzftDfYjG+Zywal0O4HFtiQYyJ3n8nz9OWXN5/CPPeKQt5bbuQgxiLEnsiJdVtOZ6BdwTuKIejO28gyxrCqB/mJkw1ERs4tnZJLRtL2nbBZorAp+ka0xgDaO6aNA86l5KvGxT05Yi78frmoOyjPb0QWKV8MnPNKg+lA==
  • Cc: <sstabellini@xxxxxxxxxx>, <stefanos@xxxxxxxxxx>, <julien@xxxxxxx>, <Volodymyr_Babchuk@xxxxxxxx>, <bertrand.marquis@xxxxxxx>, <burzalodowa@xxxxxxxxx>
  • Delivery-date: Wed, 02 Nov 2022 10:26:32 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

Hi Ayan,

On 31/10/2022 16:13, Ayan Kumar Halder wrote:
> 
> 
> 'unsigned long long' is defined as 64 bit across both aarch32 and aarch64.
> So, use 'ULL' for 64 bit word instead of UL which is 32 bits for aarch32.
> GICR_PENDBASER and GICR_PROPBASER both are 64 bit registers.
> 
> Signed-off-by: Ayan Kumar Halder <ayankuma@xxxxxxx>
> ---
> 
> Changes from -
> v1 - 1. Extract the bug fix for incorrect bit clearing (GICR_PENDBASER_PTZ)
> into a separate patch fix.
> https://patchwork.kernel.org/project/xen-devel/patch/20221027185555.46125-1-ayankuma@xxxxxxx/
> 
>  xen/arch/arm/include/asm/gic_v3_defs.h | 16 ++++++++--------
>  1 file changed, 8 insertions(+), 8 deletions(-)
> 
> diff --git a/xen/arch/arm/include/asm/gic_v3_defs.h 
> b/xen/arch/arm/include/asm/gic_v3_defs.h
> index 728e28d5e5..48a1bc401e 100644
> --- a/xen/arch/arm/include/asm/gic_v3_defs.h
> +++ b/xen/arch/arm/include/asm/gic_v3_defs.h
> @@ -134,15 +134,15 @@
> 
>  #define GICR_PROPBASER_OUTER_CACHEABILITY_SHIFT         56
>  #define GICR_PROPBASER_OUTER_CACHEABILITY_MASK               \
> -        (7UL << GICR_PROPBASER_OUTER_CACHEABILITY_SHIFT)
> +        (7ULL << GICR_PROPBASER_OUTER_CACHEABILITY_SHIFT)
>  #define GICR_PROPBASER_SHAREABILITY_SHIFT               10
>  #define GICR_PROPBASER_SHAREABILITY_MASK                     \
> -        (3UL << GICR_PROPBASER_SHAREABILITY_SHIFT)
> +        (3ULL << GICR_PROPBASER_SHAREABILITY_SHIFT)
>  #define GICR_PROPBASER_INNER_CACHEABILITY_SHIFT         7
>  #define GICR_PROPBASER_INNER_CACHEABILITY_MASK               \
> -        (7UL << GICR_PROPBASER_INNER_CACHEABILITY_SHIFT)
> +        (7ULL << GICR_PROPBASER_INNER_CACHEABILITY_SHIFT)
>  #define GICR_PROPBASER_RES0_MASK                             \
> -        (GENMASK(63, 59) | GENMASK(55, 52) | GENMASK(6, 5))
> +        (GENMASK_ULL(63, 59) | GENMASK_ULL(55, 52) | GENMASK_ULL(6, 5))
> 
>  #define GICR_PENDBASER_SHAREABILITY_SHIFT               10
>  #define GICR_PENDBASER_INNER_CACHEABILITY_SHIFT         7
> @@ -152,11 +152,11 @@
>  #define GICR_PENDBASER_INNER_CACHEABILITY_MASK               \
>         (7UL << GICR_PENDBASER_INNER_CACHEABILITY_SHIFT)
>  #define GICR_PENDBASER_OUTER_CACHEABILITY_MASK               \
> -        (7UL << GICR_PENDBASER_OUTER_CACHEABILITY_SHIFT)
> -#define GICR_PENDBASER_PTZ                              BIT(62, UL)
> +        (7ULL << GICR_PENDBASER_OUTER_CACHEABILITY_SHIFT)
> +#define GICR_PENDBASER_PTZ                              BIT(62, ULL)
>  #define GICR_PENDBASER_RES0_MASK                             \
> -        (BIT(63, UL) | GENMASK(61, 59) | GENMASK(55, 52) |  \
> -         GENMASK(15, 12) | GENMASK(6, 0))
> +        (BIT(63, ULL) | GENMASK_ULL(61, 59) | GENMASK_ULL(55, 52) |  \
It would be good to align \ but at the same time I can understand that it was 
not
aligned before your change and you may not want to do this, so:

Reviewed-by: Michal Orzel <michal.orzel@xxxxxxx>

~Michal



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.