u-boot-brain/lib
Heinrich Schuchardt b20bb09b21 efi_loader: restrict EFI_LOADER to armv7 and armv8 on ARM
fatload USB was reported to fail on the Sheevaplug. Debugging showed that
this was caused by an incorrect unaligned write to memory in
path_to_uefi().

UEFI on ARM requires that unaligned memory access is enabled.

* ARMv5 does not support unaligned access at all.
* ARMv6 supports unaligned access when we clear the A flag and set the
  U flag.
* On ARMv7 unaligned access is possible when clearing the aligned flag,
  which we do in function allow_unaligned() (arch/arm/cpu/armv7/sctlr.S).
  For none of the other cpus in arch/arm/cpu/ we have implemented a
  similar function.
* ARMv8 allows unaligned access.

Let EFI_LOADER on ARM depend on SYS_CPU=armv7 or SYS_CPU=armv8.

Once we have implemented allow_unaligned() for other ARM CPUs we can add
these to Kconfig.

Reported-by: Gray Remlin <gryrmln@gmail.com>
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2019-11-19 12:10:22 +01:00
..
at91 SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
bzip2 SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
dhry SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
efi efi_loader: consistent naming of protocol GUIDs 2019-04-23 00:37:27 +02:00
efi_driver efi_driver: use Sphinx style comments 2019-07-16 22:17:18 +00:00
efi_loader efi_loader: restrict EFI_LOADER to armv7 and armv8 on ARM 2019-11-19 12:10:22 +01:00
efi_selftest efi_selftest: enable all UEFI unit tests on the sandbox 2019-11-12 23:13:54 +01:00
libavb libavb: Fix build warnings after updating the lib 2019-10-31 07:22:53 -04:00
libfdt fdt: Sync up to the latest libfdt 2019-11-04 18:15:32 -07:00
lzma SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
lzo SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
optee image: fdt: copy possible optee nodes to a loaded devicetree 2019-11-14 07:09:34 -06:00
rsa rsa: Return immediately if required-key verification fails 2019-10-15 08:40:03 -06:00
tizen SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
zlib SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
zstd lib: add Zstandard decompression support 2019-05-05 08:48:50 -04:00
addr_map.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
aes.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
asm-offsets.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
bch.c fix compile error on macOS Mojave 2019-04-03 10:26:46 -04:00
bitrev.c lib: bitrev: Sync with Linux kernel v4.17 2018-09-18 00:01:18 -06:00
charset.c lib: charset: add u16_str<n>cmp() 2019-09-20 20:09:19 +02:00
circbuf.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
crc7.c lib: add crc7 from Linux 2011-01-18 23:38:08 +01:00
crc8.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
crc16.c Roll CRC16-CCITT into the hash infrastructure 2018-12-08 20:18:44 -05:00
crc32.c lib: crc32: mark static variable as __efi_runtime_data 2018-12-23 02:39:52 +01:00
crc32c.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
ctype.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
display_options.c spl: Avoid checking for Ctrl-C in SPL with print_buffer() 2019-10-08 13:51:02 +08:00
div64.c div64: Don't instrument the division function 2019-04-23 20:26:43 -06:00
errno_str.c lib: errno: sync error codes 2019-10-31 07:22:53 -04:00
errno.c Add basic errno support. 2010-09-19 19:29:47 +02:00
fdtdec_common.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
fdtdec_test.c fdtdec: test: Fix memory leak 2019-07-10 16:52:58 -06:00
fdtdec.c fdtdec: only create phandle if caller wants it in fdtdec_add_reserved_memory() 2019-11-14 07:09:34 -06:00
gunzip.c common: Move gzip functions into a new gzip header 2019-08-11 16:43:41 -04:00
gzip.c common: Move gzip functions into a new gzip header 2019-08-11 16:43:41 -04:00
hang.c sandbox: Quit when hang() is called 2019-07-10 16:52:58 -06:00
hashtable.c env: Drop the ACTION typedef 2019-08-11 16:43:41 -04:00
hexdump.c lib: Add hexdump 2018-06-13 07:49:12 -04:00
image-sparse.c mmc: Separate "mmc swrite" from fastboot 2018-05-30 11:59:21 +02:00
Kconfig fdt: Add Kconfig options to control code size 2019-11-04 18:15:32 -07:00
ldiv.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
linux_compat.c linux_compat: fix potential NULL pointer access 2019-10-31 07:22:53 -04:00
linux_string.c Make linux kernel string funcs available to tools 2012-12-13 11:46:07 -07:00
list_sort.c kbuild: force to define __UBOOT__ in all the C sources 2014-09-16 12:23:56 -04:00
lmb.c lmb: handle more than one DRAM BANK 2019-02-02 08:19:17 -05:00
lz4_wrapper.c image: android: allow booting lz4-compressed kernels 2019-04-24 07:27:32 -04:00
lz4.c SPDX: Convert a few files that were missed before 2018-05-10 20:38:35 -04:00
Makefile spl: Allow tiny printf() to be controlled in SPL and TPL 2019-10-08 13:57:45 +08:00
md5.c GCC47: Fix warning in md5.c 2012-04-29 14:14:08 +02:00
membuff.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
net_utils.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
of_live.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
panic.c Consolidate __assert_failed into one implementation 2018-04-28 18:32:23 -04:00
physmem.c sandbox: physmem: Use mapping to support sandbox 2018-12-05 06:01:34 -07:00
qsort.c Include common.h in qsort.c to fix build warning 2011-12-07 08:39:54 +01:00
rand.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
rbtree.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
rc4.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
sha1.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
sha256.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
slre.c lib/slre: remove superfluous assignment 2018-09-05 16:02:34 -04:00
smbios.c env: Move env_get() to env.h 2019-08-11 16:43:41 -04:00
string.c lib: Implement strndup() 2019-06-05 09:16:32 -07:00
strmhz.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
strto.c lib: strto: fix metric suffix parsing in strtoul[l] 2018-09-20 20:11:01 +05:30
tables_csum.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
time.c lib: time: Add microsecond timer 2019-10-31 07:22:53 -04:00
tiny-printf.c Fix for patman with email addresses containing commas 2019-11-01 09:34:35 -04:00
tpm-common.c tpm: Fix a logging warning in unpack_byte_string() 2018-12-05 06:01:34 -07:00
tpm-utils.h tpm: Convert to use a device parameter 2018-11-29 09:30:06 -07:00
tpm-v1.c tpm: simplify: tpm_set_global_lock() 2019-02-19 08:55:43 -05:00
tpm-v2.c tpm: Convert to use a device parameter 2018-11-29 09:30:06 -07:00
trace.c trace: do not limit trace buffer to 2GiB 2019-07-10 16:52:58 -06:00
uuid.c env: Move env_set() to env.h 2019-08-11 16:43:41 -04:00
vsprintf.c lib/vsprintf: allow printing upper case GUIDs 2019-06-07 10:52:30 -04:00
xxhash.c lib: Add xxhash support 2019-05-05 08:48:50 -04:00