diff options
author | Patrick Williams <iawillia@us.ibm.com> | 2011-08-22 16:20:11 -0500 |
---|---|---|
committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2011-08-31 14:24:59 -0500 |
commit | 0ebac914541254c4b9ee2a271f26cd67fc2b94a0 (patch) | |
tree | 872be77d5870ea788513d8cb044f837904ddf8cc /src/kernel/syscall.C | |
parent | f7b7b56dea28dd69a44a877f7b7073c4496ced9e (diff) | |
download | talos-hostboot-0ebac914541254c4b9ee2a271f26cd67fc2b94a0.tar.gz talos-hostboot-0ebac914541254c4b9ee2a271f26cd67fc2b94a0.zip |
Dynamic stack support.
- Create stack segment.
- Allocate stack blocks on stack create.
Change-Id: Ida90055afb68f208c479b5fdc19d3d931d026105
Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/271
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 | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/kernel/syscall.C b/src/kernel/syscall.C index 8f69e934e..6faf47681 100644 --- a/src/kernel/syscall.C +++ b/src/kernel/syscall.C @@ -37,6 +37,7 @@ #include <kernel/misc.H> #include <kernel/msghandler.H> #include <kernel/vmmmgr.H> +#include <kernel/stacksegment.H> extern "C" void kernel_execute_decrementer() @@ -164,7 +165,7 @@ namespace Systemcalls // TODO: Deal with join. // Clean up task memory. - PageManager::freePage(t->context.stack_ptr, TASK_DEFAULT_STACK_SIZE); + StackSegment::deleteStack(t->tid); delete t; } @@ -218,7 +219,7 @@ namespace Systemcalls if (m->type >= MSG_FIRST_SYS_TYPE) { - printkd("MsgSend> type=%d\n", m->type); + printkd("Invalid type for msg_send, type=%d.\n", m->type); TASK_SETRTN(t, -EINVAL); return; } @@ -252,7 +253,8 @@ namespace Systemcalls if (m->type >= MSG_FIRST_SYS_TYPE) { - printkd("MsgSendRecv> type=%d\n", m->type); + printkd("Invalid message type for msg_sendrecv, type=%d.\n", + m->type); TASK_SETRTN(t, -EINVAL); return; } |