On 12/15/2015 06:43 AM, Måns Rullgård wrote:
Jon Masters jcm@redhat.com 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.