On Sat, 18 Jan 2020 at 04:31, Tom Rini <trini@xxxxxxxxxxxx> wrote: > > 6dcb8ba4 "libfdt: Add helpers for accessing unaligned words" introduced > changes to support unaligned reads for ARM platforms and 11738cf01f15 > "libfdt: Don't use memcpy to handle unaligned reads on ARM" improved the > performance of these helpers. > > Ultimately however, these helpers should not exist. Unaligned access > only occurs when images are forced out of alignment by the user. This > unalignment is not supported and introduces problems later on as other > parts of the system image are unaligned and they too require alignment. > > Revert both of these changes. > > Signed-off-by: Tom Rini <trini@xxxxxxxxxxxx> > --- > By way of a little more explanation, looking at the archives it seems > that the initial bug reporter said that they had a platform that was > using U-Boot and had the "fdt_high=0xffffffff" set in the environment. > What that does is to tell U-Boot to not do any of the sanity checks and > relocation to ensure alignment that it would normally do because the > user knows best. This later came up on the U-Boot list as once the DTB > was loaded, Linux is unhappy because it demands correct alignment. > > I only realized libfdt had introduced changes here when it was reported > that boot time had gotten much slower once we merged this change in. It > would be best to just drop it. > --- > fdtget.c | 2 +- > libfdt/fdt_ro.c | 18 +++++++++--------- > libfdt/libfdt.h | 33 +-------------------------------- > 3 files changed, 11 insertions(+), 42 deletions(-) Reviewed-by: Simon Glass <sjg@xxxxxxxxxxxx> (I note this commit had no test coverage anyway)