> On 07.01.2019, at 10:13, Lokesh Vutla <lokeshvu...@ti.com> 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.

ARMv8 does not allow unaligned accesses in privileged (i.e. except in EL0) 
modes.

> 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@lists.denx.de
> https://lists.denx.de/listinfo/u-boot

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot

Reply via email to