summaryrefslogtreecommitdiffstats
path: root/src/kernel/syscall.C
diff options
context:
space:
mode:
authorPatrick Williams <iawillia@us.ibm.com>2013-05-20 14:34:56 -0500
committerA. Patrick Williams III <iawillia@us.ibm.com>2013-06-10 10:04:07 -0500
commit857112a56dc57b18b1feacf948b87875dc4aea45 (patch)
treef0ee915b3e37f9134a9268ea0c2a7e32c56a17ee /src/kernel/syscall.C
parente3d115c541291493888f533b215e28b890776e50 (diff)
downloadblackbird-hostboot-857112a56dc57b18b1feacf948b87875dc4aea45.tar.gz
blackbird-hostboot-857112a56dc57b18b1feacf948b87875dc4aea45.zip
New mm_block_map syscall.
RTC: 71081 Change-Id: Ic5531fbba92cfc7aad7d303f043d6a350483d63d Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/4607 Tested-by: Jenkins Server Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/kernel/syscall.C')
-rw-r--r--src/kernel/syscall.C14
1 files changed, 11 insertions, 3 deletions
diff --git a/src/kernel/syscall.C b/src/kernel/syscall.C
index 0a8e644a0..305e3c39a 100644
--- a/src/kernel/syscall.C
+++ b/src/kernel/syscall.C
@@ -532,10 +532,18 @@ namespace Systemcalls
void DevMap(task_t *t)
{
void *ra = (void*)TASK_GETARG0(t);
- uint64_t devDataSize = TASK_GETARG1(t);
+ uint64_t devDataSize = ALIGN_PAGE(TASK_GETARG1(t));
+ bool cacheable = (0 != TASK_GETARG2(t));
- kassert(TASK_SETRTN(t, (uint64_t)VmmManager::devMap(ra,devDataSize)) !=
- NULL);
+ if (devDataSize > THIRTYTWO_GB)
+ {
+ TASK_SETRTN(t, NULL);
+ }
+ else
+ {
+ TASK_SETRTN(t,
+ (uint64_t)VmmManager::devMap(ra,devDataSize,cacheable));
+ }
}
/**
OpenPOWER on IntegriCloud