diff options
author | Matthew Barth <msbarth@us.ibm.com> | 2011-09-09 16:46:39 -0500 |
---|---|---|
committer | MATTHEW S. BARTH <msbarth@us.ibm.com> | 2011-09-14 11:25:18 -0500 |
commit | b06c8727c809ec10aafe8fad0b929626f9d50987 (patch) | |
tree | a23543920d2826749bb125ebe6cfa22ad9b36446 /src/include/sys | |
parent | 4b2a8bf042e96d8181929e92d9b241f65280a93c (diff) | |
download | talos-hostboot-b06c8727c809ec10aafe8fad0b929626f9d50987.tar.gz talos-hostboot-b06c8727c809ec10aafe8fad0b929626f9d50987.zip |
Remove page by given TYPE system call
Change-Id: Iffdd97a75944abbd52dbc72d3aa1394b771fd371
Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/333
Tested-by: Jenkins Server
Reviewed-by: MATTHEW S. BARTH <msbarth@us.ibm.com>
Diffstat (limited to 'src/include/sys')
-rw-r--r-- | src/include/sys/mm.h | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/include/sys/mm.h b/src/include/sys/mm.h index ba9fe9e19..a14e4f83d 100644 --- a/src/include/sys/mm.h +++ b/src/include/sys/mm.h @@ -32,6 +32,15 @@ extern "C" { #endif +/** + * Page removal operations + */ +enum PAGE_REMOVAL_OPS +{ + RELEASE, + FLUSH, +}; + /** @fn mm_alloc_block() * @brief System call to allocate virtual memory block in the base segment * @@ -43,6 +52,17 @@ extern "C" */ int mm_alloc_block(msg_q_t mq,void* va,uint64_t size); +/** @fn mm_remove_pages() + * @brief System call to remove pages by a specified operation + * + * @param[in] i_op - Page removal operation to perform + * @param[in] i_vaddr - Virtual address associated to page(s) + * @param[in] size - Size of memory to perform page removal on + * + * @return int - 0 for successful page removal, non-zero otherwise + */ +int mm_remove_pages(PAGE_REMOVAL_OPS i_op, void* i_vaddr, uint64_t i_size); + #ifdef __cplusplus } #endif |