On Thu, Nov 03, 2016 at 12:56:25AM +0000, Andre Przywara wrote: > For 64-bit ARM systems we provide just a timer_read_counter() > implementation and rely on the generic non-uclass get_ticks() function > in lib/time.c to call the former. > However this function is actually not 64-bit safe, as it assumes a > "long" to be 32-bit. Beside the fact that the resulting uint64_t > isn't bigger than "long" on 64-bit architectures and thus combining two > counters makes no sense, we get all kind of weird results when we try > to OR in the high value shifted by _32_ bits. > So let's avoid that function at all and provide a straight forward > get_ticks() implementation for ARMv8, which also is in line with ARMv7. > > This fixes occasional immediate time-out expiration issues I see on the > Pine64 board. The root cause of this needs to be investigated, but this > fix looks like the right thing anyway. > > Signed-off-by: Andre Przywara <andre.przyw...@arm.com>
Applied to u-boot/master, thanks! -- Tom
signature.asc
Description: Digital signature
_______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot