[U-Boot] memcpy/memset on arm64 platforms
Lokesh Vutla
lokeshvutla at ti.com
Thu Jan 10 10:28:24 UTC 2019
Hi All,
Any help is much appreciated.
Thanks and regards,
Lokesh
On 07/01/19 2:43 PM, Lokesh Vutla wrote:
> Hi All,
> I am trying to enable CONFIG_USE_ARCH_MEMSET/MEMCPY on arm64 platforms and
> realized that there is no arm64 specific memcpy available in u-boot. So I tried
> porting arm64 specific memcpy from kernel[1]. Memcpy stopped working after that
> and observed that if destination address is unaligned then system hangs.
>
> After doing a bit more research, understood that unaligned access to device or
> strongly ordered memories will fail. And the memory system (even normal RAM)
> behaves like strongly ordered memory when the MMU is disabled[2]. In u-boot MMU
> is enabled very late after relocation and SPL doesn't enable MMU at all.
>
> Before I proceed any further wanted to hear from others if anyone have already
> tried and have any working solution. If not should we update the kernel memcpy
> to use unaligned destination address and use it in u-boot?
>
> [1]
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/arm64/lib/memcpy.S
>
> [2]
> https://community.arm.com/processors/f/discussions/7557/when-and-where-will-the-ldp-instruction-trigger-an-exception
>
>
> Thanks and regards,
> Lokesh
> _______________________________________________
> U-Boot mailing list
> U-Boot at lists.denx.de
> https://lists.denx.de/listinfo/u-boot
More information about the U-Boot
mailing list