summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/include/region.h21
-rw-r--r--src/lib/region.c5
2 files changed, 21 insertions, 5 deletions
diff --git a/src/include/region.h b/src/include/region.h
index 99ea488cca..82db854994 100644
--- a/src/include/region.h
+++ b/src/include/region.h
@@ -93,11 +93,32 @@ struct region_device {
}, \
}
+static inline size_t region_offset(const struct region *r)
+{
+ return r->offset;
+}
+
static inline size_t region_sz(const struct region *r)
{
return r->size;
}
+static inline size_t region_device_sz(const struct region_device *rdev)
+{
+ return region_sz(&rdev->region);
+}
+
+static inline size_t region_device_offset(const struct region_device *rdev)
+{
+ return region_offset(&rdev->region);
+}
+
+/* Memory map entire region device. Same semantics as rdev_mmap() above. */
+static inline void *rdev_mmap_full(const struct region_device *rd)
+{
+ return rdev_mmap(rd, 0, region_device_sz(rd));
+}
+
struct mem_region_device {
char *base;
struct region_device rdev;
diff --git a/src/lib/region.c b/src/lib/region.c
index b56b3d7e90..d5d37629e9 100644
--- a/src/lib/region.c
+++ b/src/lib/region.c
@@ -20,11 +20,6 @@
#include <region.h>
#include <string.h>
-static inline size_t region_offset(const struct region *r)
-{
- return r->offset;
-}
-
static inline size_t region_end(const struct region *r)
{
return region_sz(r) + region_offset(r);