Implement aligned allocation in region pool
Allow regions to be allocated from region pools with an optional
alignment parameter. Region trait now requires the implementation of the
try_alloc_aligned function.
Signed-off-by: Imre Kis <imre.kis@arm.com>
Change-Id: I35d5546e1612020fa5eef22c0a2b9c75cba36834
diff --git a/src/lib.rs b/src/lib.rs
index 62cac5c..74d4f88 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -243,7 +243,7 @@
self.regions
.acquire(required_va, pages_length, physical_region)
} else {
- self.regions.allocate(pages_length, physical_region)
+ self.regions.allocate(pages_length, physical_region, None)
}
.map_err(XlatError::RegionPoolError)?;
@@ -275,7 +275,7 @@
self.regions
.acquire(required_va, pages_length, physical_region)
} else {
- self.regions.allocate(pages_length, physical_region)
+ self.regions.allocate(pages_length, physical_region, None)
}
.map_err(XlatError::RegionPoolError)?;
@@ -301,7 +301,7 @@
let region = if let Some(required_va) = va {
self.regions.acquire(required_va, length, resource)
} else {
- self.regions.allocate(length, resource)
+ self.regions.allocate(length, resource, None)
}
.map_err(XlatError::RegionPoolError)?;