[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
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |