From 1bf8c6b8376efacd03e3ec62d5ded5b2be4bff39 Mon Sep 17 00:00:00 2001 From: Missy Connell Date: Mon, 10 Sep 2012 16:05:01 -0500 Subject: Extend VMM to 32M Add mmLinearMap to create block at a specified phys addr. Added iv_MaptoPhy in the block to indicate we are physically mapped block and to not apply the HRMOR. Change-Id: I75ddb19b82ae9a2035ff873edff8a34a33c74639 RTC:43401 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/1846 Tested-by: Jenkins Server Reviewed-by: Daniel M. Crowell Reviewed-by: A. Patrick Williams III --- src/lib/syscall_mm.C | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'src/lib') diff --git a/src/lib/syscall_mm.C b/src/lib/syscall_mm.C index 72c520db6..7b6ba672d 100644 --- a/src/lib/syscall_mm.C +++ b/src/lib/syscall_mm.C @@ -25,6 +25,8 @@ #include #include + + using namespace Systemcalls; /** @@ -81,6 +83,7 @@ int mm_set_permission(void* va, uint64_t size, uint64_t access_type) return (int64_t)_syscall3(MM_SET_PERMISSION, va, (void*)size, (void*)access_type); } + /** * System call to return the physical address backing a virtual address */ @@ -88,3 +91,20 @@ uint64_t mm_virt_to_phys( void* i_vaddr ) { return (uint64_t) _syscall1(MM_VIRT_TO_PHYS,i_vaddr); } + +/** + * System call to extend Memory to 32Meg. + */ +int mm_extend(void) +{ + return (int64_t)_syscall0(MM_EXTEND); +} + + +/** + * System call to create a block of memory at a specific physical address + */ +int mm_linear_map(void *i_paddr, uint64_t i_size) +{ + return (int64_t)_syscall2(MM_LINEAR_MAP, i_paddr, (void*)i_size); +} -- cgit v1.2.1