coreboot/payloads/libpayload/arch/arm64
Julius Werner bd8ef7964e UPSTREAM: libpayload: arm64: Fix MMU range overlap check
The ARM64 MMU code maintains a list of used ranges, to avoid mapping the
DMA buffer over the coreboot tables and things like that. Unfortunately,
the overlap with ranges in that list is checked with

 (start1 >= start2 && start1 <= end2) || (end1 >= start2 && end1 <= end2)

which is not a full overlap check and misses the case where the second
region is completely contained within the first. This patch replaces
that code with a properly vetted primitive from Stack Overflow.

BRANCH=none
BUG=chrome-os-partner:54416
TEST=Observe how Kevin recovery screen now gets drawn at 10x the speed.

Change-Id: Ie4dd43afeb8a30fedc4da28ccc6ecce9589d23f3
Signed-off-by: Julius Werner <jwerner@chromium.org>
Reviewed-on: https://review.coreboot.org/16075
Tested-by: build bot (Jenkins)
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/368782
Commit-Ready: Furquan Shaikh <furquan@chromium.org>
Tested-by: Furquan Shaikh <furquan@chromium.org>
2016-08-12 18:28:19 -07:00
..
lib UPSTREAM: Add newlines at the end of all coreboot files 2016-08-05 11:45:17 -07:00
cache.c
coreboot.c
cpu.S
dummy_media.c
exception.c UPSTREAM: arm64: Add stack dump to exception handler 2016-05-26 03:21:55 -07:00
exception_asm.S
gdb.c
head.S
Kconfig
libpayload.ldscript
main.c
Makefile.inc
memcpy.S
memmove.S
memset.S
mmu.c UPSTREAM: libpayload: arm64: Fix MMU range overlap check 2016-08-12 18:28:19 -07:00
selfboot.c
sysinfo.c
timer.c
util.S
virtual.c