From mboxrd@z Thu Jan 1 00:00:00 1970 From: jcm@redhat.com (Jon Masters) Date: Tue, 15 Dec 2015 10:29:54 -0500 Subject: [Linaro-acpi] Touching the initrd before paging_init In-Reply-To: References: <566D3090.9090509@redhat.com> <20151213165942.GN25034@bivouac.eciton.net> <23071B8C-D1F9-47A6-9DB4-B26842150B76@redhat.com> <566DEB04.2030806@redhat.com> <566DEDFC.909@redhat.com> <566F9C3D.4090306@redhat.com> Message-ID: <567031F2.8060102@redhat.com> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On 12/15/2015 06:43 AM, M?ns Rullg?rd wrote: > Jon Masters 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.