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

Re: [Xen-devel] [PRE-4.12 PATCH] xen/arm: time: cycles_t should be an uint64_t and not unsigned long



On Thu, 20 Jun 2019, Julien Grall wrote:
> Since commit ca73ac8e7d "xen/arm: Add an isb() before reading CNTPCT_EL0
> to prevent re-ordering", get_cycles() is now returning the number of
> cycles and used in more callers.
> 
> While the counter registers is always 64-bit, get_cycles() will only
> reutrn a 32-bit on Arm32 and therefore truncate the value. This will
> result to weird behavior by both Xen and the Guest as the timer will not
> be setup correctly.
> 
> This could be resolved by switch cycles_t from unsigned long to
> unsigned int.
> 
> Signed-off-by: Julien Grall <julien.grall@xxxxxxx>

Reviewed-by: Stefano Stabellini <sstabellini@xxxxxxxxxx>

I'll commit adding a reference to
da3d55ae67225798c2ad8f42af2f432f6f2b2214 in the commit message.


> ---
>     This is only targeting xen 4.11 and earlier. Xen 4.12 and later have
>     a correct definition of cycles_t thanks to da3d55ae67 "console:
>     avoid printing no or null time stamps".
> 
>     This will hopefully unblock osstest on staging-4.10 and
>     staging-4.11. This patch should be backported up to Xen 4.8.
> ---
>  xen/include/asm-arm/time.h | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/xen/include/asm-arm/time.h b/xen/include/asm-arm/time.h
> index ca30406669..bd7dc86d78 100644
> --- a/xen/include/asm-arm/time.h
> +++ b/xen/include/asm-arm/time.h
> @@ -7,7 +7,7 @@
>      DT_MATCH_COMPATIBLE("arm,armv7-timer"), \
>      DT_MATCH_COMPATIBLE("arm,armv8-timer")
>  
> -typedef unsigned long cycles_t;
> +typedef uint64_t cycles_t;
>  
>  static inline cycles_t get_cycles (void)
>  {
> -- 
> 2.11.0
> 

_______________________________________________
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®.