diff options
| author | Patrick Williams <iawillia@us.ibm.com> | 2013-05-20 14:34:56 -0500 |
|---|---|---|
| committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2013-06-10 10:04:07 -0500 |
| commit | 857112a56dc57b18b1feacf948b87875dc4aea45 (patch) | |
| tree | f0ee915b3e37f9134a9268ea0c2a7e32c56a17ee /src/kernel/syscall.C | |
| parent | e3d115c541291493888f533b215e28b890776e50 (diff) | |
| download | blackbird-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.C | 14 |
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)); + } } /** |

