Patrick Georgi has submitted this change. ( https://review.coreboot.org/c/coreboot/+/41083 )
Change subject: commonlib/region: Add region_overlap ......................................................................
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 --- M src/commonlib/include/commonlib/region.h 1 file changed, 7 insertions(+), 0 deletions(-)
Approvals: build bot (Jenkins): Verified Julius Werner: Looks good to me, approved Angel Pons: Looks good to me, approved
diff --git a/src/commonlib/include/commonlib/region.h b/src/commonlib/include/commonlib/region.h index 86b9ee3..08b9191 100644 --- a/src/commonlib/include/commonlib/region.h +++ b/src/commonlib/include/commonlib/region.h @@ -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 @@ 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) {