diff options
author | Julius Werner <jwerner@chromium.org> | 2016-08-05 10:37:52 -0700 |
---|---|---|
committer | Martin Roth <martinroth@google.com> | 2016-08-08 17:35:31 +0200 |
commit | 41ddd4fcc1d2f7f2eccfa2a5795da5d49e09f18d (patch) | |
tree | e21b119d48d3fe822e7f665e42fe939a2bd1995d /src/soc/ucb/riscv | |
parent | 98c65c1b0167d47e0eb0c362d8edc40a9fab085b (diff) |
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: I7e2706426762794e160d743bbfc40da1e26eee12
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>
Diffstat (limited to 'src/soc/ucb/riscv')
0 files changed, 0 insertions, 0 deletions