Subject: [Linaro-acpi] Touching the initrd before paging_init

From: [email-masked] (Jon Masters)
Date: Tue, 15 Dec 2015 10:29:54 -0500

On 12/15/2015 06:43 AM, M?ns Rullg?rd wrote:
> Jon Masters <[email-masked]> writes:

>> But the reading of that cpio content into the new table locations is
>> done using the kernel memcpy routine to early_ioremap'd memory (Device
>> memory), which is architecturally sensitive to missaligned accesses.
> 
> As others have pointed out, your error is twofold: first using
> early_ioremap() when early_memremap() would do, then using regular
> memcpy() and not memcpy_fromio() on that.  Seems like your precious ACPI
> code is to blame here.

So I get that this could be changed. But I still want to understand
whether memcpy is behaving correctly. Will it guaranteed /never/ occur
that a copy will involve Device memory? All other such occurrences in
the kernel will be caught and fixed so this will never be an issue?

Jon.