summaryrefslogtreecommitdiffstats
path: root/src/lib/syscall_mm.C
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/syscall_mm.C')
-rw-r--r--src/lib/syscall_mm.C11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/lib/syscall_mm.C b/src/lib/syscall_mm.C
index b6b17839a..f6aaa75de 100644
--- a/src/lib/syscall_mm.C
+++ b/src/lib/syscall_mm.C
@@ -137,7 +137,16 @@ void mm_tolerate_ue(uint64_t i_state)
*/
void* mm_block_map(void* i_paddr, uint64_t i_size)
{
- return _syscall3(DEV_MAP, i_paddr, (void*)i_size, (void*)1);
+ return _syscall4(DEV_MAP, i_paddr, (void*)i_size, (void*)1, (void*)0);
+}
+
+/**
+ * System call to map an arbitrary physical address into the VMM with guarded
+ * permissions to prevent out-of-order access to instructions and data
+ */
+void* mm_guarded_block_map(void* i_paddr, uint64_t i_size)
+{
+ return _syscall4(DEV_MAP, i_paddr, (void*)i_size, (void*)1, (void*)1);
}
/**
OpenPOWER on IntegriCloud