diff options
author | Matthew Barth <msbarth@us.ibm.com> | 2011-08-19 11:31:43 -0500 |
---|---|---|
committer | MATTHEW S. BARTH <msbarth@us.ibm.com> | 2011-08-23 16:34:04 -0500 |
commit | b755e532a742a9143946c7b5bd17c6a244d2316a (patch) | |
tree | fdbc0030154ad8a0f08d1c9e4a50f425c05a0b20 /src/kernel/blockmsghdlr.C | |
parent | 213b45cd7d8b0367f85ee68b79941f6d548c1e9c (diff) | |
download | talos-hostboot-b755e532a742a9143946c7b5bd17c6a244d2316a.tar.gz talos-hostboot-b755e532a742a9143946c7b5bd17c6a244d2316a.zip |
Handle response from messages registered to a block within the base segment
Change-Id: I65be2258e5e6bd707797415a5376fd94c3bab68a
Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/265
Tested-by: Jenkins Server
Reviewed-by: MATTHEW S. BARTH <msbarth@us.ibm.com>
Diffstat (limited to 'src/kernel/blockmsghdlr.C')
-rw-r--r-- | src/kernel/blockmsghdlr.C | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/kernel/blockmsghdlr.C b/src/kernel/blockmsghdlr.C new file mode 100644 index 000000000..639e8c3af --- /dev/null +++ b/src/kernel/blockmsghdlr.C @@ -0,0 +1,22 @@ +#include <kernel/blockmsghdlr.H> +#include <kernel/block.H> +//#include <kernel/console.H> + +MessageHandler::HandleResult BlockMsgHdlr::handleResponse( + msg_sys_types_t i_type, void* i_key, task_t* i_task, int i_rc) +{ + if (i_rc != 0) + { + // Indicate nothing specific has been done for this response. Request + // default behavior of resume/kill task based on rc. + return UNHANDLED_RC; + } + else + { + //Set the present bit for the address associated with this block + iv_block->setIsPresent(i_key); + //Add the address into the page table associated with this block + iv_block->addPTE(i_key); + return SUCCESS; + } +} |