commonlib/region: Add region_overlap

Add inline function to check if two regions overlap.

Change-Id: I6f3dfaa9f0805893bd691ba64f112944d89a8e71
Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/41083
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Julius Werner <jwerner@chromium.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
This commit is contained in:
Patrick Rudolph 2020-05-06 10:52:55 +02:00 committed by Patrick Georgi
parent 0cdc97cdd9
commit 192a12fb6a
1 changed files with 7 additions and 0 deletions

View File

@ -7,6 +7,7 @@
#include <sys/types.h>
#include <stdint.h>
#include <stddef.h>
#include <stdbool.h>
#include <commonlib/mem_pool.h>
/*
@ -117,6 +118,12 @@ static inline size_t region_end(const struct region *r)
return region_offset(r) + region_sz(r);
}
static inline bool region_overlap(const struct region *r1, const struct region *r2)
{
return (region_end(r1) > region_offset(r2)) &&
(region_offset(r1) < region_end(r2));
}
static inline const struct region *region_device_region(
const struct region_device *rdev)
{