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

Re: [Xen-devel] [PATCH 7/7] xen/arm: types: Specify the zero padding in the definition of PRIregister


  • To: Julien Grall <julien.grall@xxxxxxx>
  • From: Volodymyr Babchuk <Volodymyr_Babchuk@xxxxxxxx>
  • Date: Fri, 26 Jul 2019 12:47:55 +0000
  • Accept-language: en-US
  • Arc-authentication-results: i=1; mx.microsoft.com 1;spf=pass smtp.mailfrom=epam.com;dmarc=pass action=none header.from=epam.com;dkim=pass header.d=epam.com;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-SenderADCheck; bh=54qDCgHGOv6WK2RenKY5q1KPCmsmQJjR8QGg7yLHdEw=; b=BQ73XsGlZAlIRKks5LaXS3qgv0/53SpVUGyLpCTZbs61M6TOay/qCR5OsR59dXDFnmqbJUCJxKgMzUigYTlXOMED8DyMYlgxjkiunpRvOpwZvY8j4bngWe7rNaZ9Fe6sxlv/ODFOpmxIaX+Thki3i9vUx/hqC4rsjPpt/jUDfI9VNzDE7mUqRKoKyqRtCCCy6Es3yKzxtGkslnuOZQkgLJmMIzaNN2bhMSobaI3d62c6TEEhp3AhB2exMqYVxXnySjQ+Xwm3ksAirpSzrmFWcp3atQOCycILt5q677MbDhLHyhuFi4xqslAlFdgP8d9fAwVRLRrgRbN508e0XPst7g==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=YrXemUg4J7iuhLUGUEblreMMGFb6Fj5XMlnJwnh0QXbtZNGUBoy70zlWsy9YpPK8cL7TWWNeXtk4iUbkf+45YYaMDZh2bQOc8DDHXzC5hBudHs4uMNPuOYEbjr97jLpAksvYtKXPWPJ4YTC+1HoPzN4P5dIrudFx05VESeg9QMNy2Ekr6zuIndjeab0lnAHF7q5+/2hic/lbwAwHcs7/c/Z+twASfqX6b5UcPa0aHYwFjyeekMMSmgdjXq6JPrR5QOK3/GZt+pH+NAGeiVPgj9aTnA8PgK1Z4RN2Q913u6SKmUV7qaITLrnyui01y1wge8d6i4Mr6yCpWDZ3TSHlwg==
  • Authentication-results: spf=none (sender IP is ) smtp.mailfrom=Volodymyr_Babchuk@xxxxxxxx;
  • Cc: "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, Volodymyr Babchuk <Volodymyr_Babchuk@xxxxxxxx>
  • Delivery-date: Fri, 26 Jul 2019 12:48:02 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
  • Thread-index: AQHVQZ6lXvwm3o0b10iCA+aCZUR7cabc3XOA
  • Thread-topic: [PATCH 7/7] xen/arm: types: Specify the zero padding in the definition of PRIregister

Julien Grall writes:

> The definition of PRIregister varies between Arm32 and Arm64 (32-bit vs
> 64-bit). However, some of the users uses the wrong padding.
type: "users use"

> For more consistency, the padding is now moved into the PRIregister and
> varies depending on the architecture.
I'm not sure this is the right thing to do. There are lots of code
(especially in vgic) that does not use padding at all. Now it will print
padding, even if original author does not wanted to. And, honestly it is
hard to parse 15-16 zeroes in a row.

I am suggesting to add another macro like PRIregister_pad or something
like that.

> Signed-off-by: Julien Grall <julien.grall@xxxxxxx>
> ---
>  xen/arch/arm/traps.c        | 10 +++++-----
>  xen/include/asm-arm/types.h |  4 ++--
>  2 files changed, 7 insertions(+), 7 deletions(-)
>
> diff --git a/xen/arch/arm/traps.c b/xen/arch/arm/traps.c
> index ef37ca6bde..f062ae6f6a 100644
> --- a/xen/arch/arm/traps.c
> +++ b/xen/arch/arm/traps.c
> @@ -797,7 +797,7 @@ static void show_registers_32(const struct cpu_user_regs 
> *regs,
>
>      if ( guest_mode )
>      {
> -        printk("USR: SP: %08"PRIx32" LR: %08"PRIregister"\n",
> +        printk("USR: SP: %08"PRIx32" LR: %"PRIregister"\n",
>                 regs->sp_usr, regs->lr);
>          printk("SVC: SP: %08"PRIx32" LR: %08"PRIx32" SPSR:%08"PRIx32"\n",
>                 regs->sp_svc, regs->lr_svc, regs->spsr_svc);
> @@ -815,7 +815,7 @@ static void show_registers_32(const struct cpu_user_regs 
> *regs,
>  #ifndef CONFIG_ARM_64
>      else
>      {
> -        printk("HYP: SP: %08"PRIx32" LR: %08"PRIregister"\n", regs->sp, 
> regs->lr);
> +        printk("HYP: SP: %08"PRIx32" LR: %"PRIregister"\n", regs->sp, 
> regs->lr);
>      }
>  #endif
>      printk("\n");
> @@ -823,7 +823,7 @@ static void show_registers_32(const struct cpu_user_regs 
> *regs,
>      if ( guest_mode )
>      {
>          printk("     SCTLR: %"PRIregister"\n", ctxt->sctlr_el1);
> -        printk("       TCR: %08"PRIregister"\n", ctxt->tcr_el1);
> +        printk("       TCR: %"PRIregister"\n", ctxt->tcr_el1);
>          printk("     TTBR0: %016"PRIx64"\n", ctxt->ttbr0_el1);
>          printk("     TTBR1: %016"PRIx64"\n", ctxt->ttbr1_el1);
>          printk("      IFAR: %08"PRIx32", IFSR: %08"PRIx32"\n"
> @@ -895,7 +895,7 @@ static void show_registers_64(const struct cpu_user_regs 
> *regs,
>          printk("   FAR_EL1: %016"PRIx64"\n", ctxt->far);
>          printk("\n");
>          printk(" SCTLR_EL1: %"PRIregister"\n", ctxt->sctlr_el1);
> -        printk("   TCR_EL1: %08"PRIregister"\n", ctxt->tcr_el1);
> +        printk("   TCR_EL1: %"PRIregister"\n", ctxt->tcr_el1);
>          printk(" TTBR0_EL1: %016"PRIx64"\n", ctxt->ttbr0_el1);
>          printk(" TTBR1_EL1: %016"PRIx64"\n", ctxt->ttbr1_el1);
>          printk("\n");
> @@ -934,7 +934,7 @@ static void _show_registers(const struct cpu_user_regs 
> *regs,
>      printk("\n");
>
>      printk(" SCTLR_EL2: %08"PRIx32"\n", READ_SYSREG32(SCTLR_EL2));
> -    printk("   HCR_EL2: %016"PRIregister"\n", READ_SYSREG(HCR_EL2));
> +    printk("   HCR_EL2: %"PRIregister"\n", READ_SYSREG(HCR_EL2));
>      printk(" TTBR0_EL2: %016"PRIx64"\n", READ_SYSREG64(TTBR0_EL2));
>      printk("\n");
>      printk("   ESR_EL2: %08"PRIx32"\n", regs->hsr);
> diff --git a/xen/include/asm-arm/types.h b/xen/include/asm-arm/types.h
> index 30f95078cb..89aae25ffe 100644
> --- a/xen/include/asm-arm/types.h
> +++ b/xen/include/asm-arm/types.h
> @@ -41,7 +41,7 @@ typedef u64 paddr_t;
>  #define INVALID_PADDR (~0ULL)
>  #define PRIpaddr "016llx"
>  typedef u32 register_t;
> -#define PRIregister "x"
> +#define PRIregister "08x"
>  #elif defined (CONFIG_ARM_64)
>  typedef signed long s64;
>  typedef unsigned long u64;
> @@ -51,7 +51,7 @@ typedef u64 paddr_t;
>  #define INVALID_PADDR (~0UL)
>  #define PRIpaddr "016lx"
>  typedef u64 register_t;
> -#define PRIregister "lx"
> +#define PRIregister "016lx"
>  #endif
>
>  #if defined(__SIZE_TYPE__)


--
Volodymyr Babchuk at EPAM
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel

 


Rackspace

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