Hi Julien,

> On 6 Jul 2021, at 14:20, Julien Grall <[email protected]> wrote:
> 
> From: Julien Grall <[email protected]>
> 
> Commit 918b8842a852 ("arm64: Change type of hsr, cpsr, spsr_el1 to
> uint64_t") updated the size of the structure vcpu_guest_core_regs and
> indirectly vcpu_guest_context.
> 
> On Arm, the two structures are only accessible to the tools and the
> hypervisor (and therefore stable). However, they are still checked
> by the scripts in tools/include/xen-foreign are not able to understand
> that.
> 
> Ideally we should rework the scripts so we don't have to update
> the size for non-stable structure. But I don't have limited time
> to spend on the issue. So chose the simple solution and update
> the size accordingly.
> 
> Note that we need to keep vcpu_guest_core_regs around because
> the structure is used by vcpu_guest_context and therefore the
> scripts expects the generated header to contain it.
> 
> Fixes: 918b8842a852 ("arm64: Change type of hsr, cpsr, spsr_el1 to uint64_t")
> Reported-by: Andrew Cooper <[email protected]>
> Signed-off-by: Julien Grall <[email protected]>
Reviewed-by: Bertrand Marquis <[email protected]>

But I have other issues now:
xg_dom_arm.c:143:15: error: format '%x' expects argument of type 'unsigned 
int', but argument 3 has type 'uint64_t' {aka 'long long unsigned int'} 
[-Werror=format=]
  143 |     DOMPRINTF("Initial state CPSR %#"PRIx32" PC %#"PRIx32,
      |               ^~~~~~~~~~~~~~~~~~~~~~~
  144 |            ctxt->user_regs.cpsr, ctxt->user_regs.pc32);
      |            ~~~~~~~~~~~~~~~~~~~~
      |                           |
      |                           uint64_t {aka long long unsigned int}

We will work on a patch to fix those.

Cheers
Bertrand

> 
> ---
> 
> Cc: [email protected]
> Cc: [email protected]
> ---
> tools/include/xen-foreign/reference.size | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/tools/include/xen-foreign/reference.size 
> b/tools/include/xen-foreign/reference.size
> index a0409db5c458..11a06a7a432c 100644
> --- a/tools/include/xen-foreign/reference.size
> +++ b/tools/include/xen-foreign/reference.size
> @@ -4,8 +4,8 @@ structs                   |   arm32   arm64  x86_32  x86_64
> start_info                |       -       -    1112    1168
> trap_info                 |       -       -       8      16
> cpu_user_regs             |       -       -      68     200
> -vcpu_guest_core_regs      |     304     304       -       -
> -vcpu_guest_context        |     344     344    2800    5168
> +vcpu_guest_core_regs      |     312     312       -       -
> +vcpu_guest_context        |     352     352    2800    5168
> arch_vcpu_info            |       0       0      24      16
> vcpu_time_info            |      32      32      32      32
> vcpu_info                 |      48      48      64      64
> -- 
> 2.17.1
> 
> 


Reply via email to