summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPatrick Williams <iawillia@us.ibm.com>2013-10-31 12:33:35 -0500
committerA. Patrick Williams III <iawillia@us.ibm.com>2013-11-12 16:48:09 -0600
commit92324fc2313a6bf47f57562ed67cdbafa8a6834f (patch)
treeb5f3a509ca907d34d9ecb435dad411910afbbefa
parent4c5b2801ef7b37337e0bf5e74c8169a97410f316 (diff)
downloadtalos-hostboot-92324fc2313a6bf47f57562ed67cdbafa8a6834f.tar.gz
talos-hostboot-92324fc2313a6bf47f57562ed67cdbafa8a6834f.zip
Clean up some kernel TODOs.
Change-Id: I1f33cfba258a99959e29f8625d6a8459405639f1 Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/6985 Tested-by: Jenkins Server Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com> Reviewed-by: Douglas R. Gilbert <dgilbert@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
-rw-r--r--src/kernel/block.C17
-rw-r--r--src/kernel/ptmgr.C2
-rw-r--r--src/kernel/syscall.C3
3 files changed, 11 insertions, 11 deletions
diff --git a/src/kernel/block.C b/src/kernel/block.C
index 7cd7e75af..4ed371e50 100644
--- a/src/kernel/block.C
+++ b/src/kernel/block.C
@@ -5,7 +5,7 @@
/* */
/* IBM CONFIDENTIAL */
/* */
-/* COPYRIGHT International Business Machines Corp. 2011,2012 */
+/* COPYRIGHT International Business Machines Corp. 2011,2013 */
/* */
/* p1 */
/* */
@@ -39,6 +39,8 @@
#include <kernel/basesegment.H>
#include <arch/ppc.H>
+#include <usr/vmmconst.h>
+
#include <new>
// Track eviction requests due to aging pages
@@ -378,9 +380,8 @@ void Block::castOutPages(uint64_t i_type)
iv_nextBlock->castOutPages(i_type);
}
- // TODO We will eventually need to skip other blocks as well, such as
- // when the memory space grows.
- if(iv_baseAddr != 0) // Skip base area
+ if((iv_baseAddr != VMM_ADDR_BASE_BLOCK) || // Skip base area
+ (iv_baseAddr != VMM_ADDR_EXTEND_BLOCK)) // Skip extended memory.
{
size_t rw_constraint = 5;
size_t ro_constraint = 3;
@@ -532,15 +533,17 @@ int Block::setPermSPTE( ShadowPTE* i_spte, uint64_t i_access_type)
// if write_tracked
if ( i_access_type & WRITE_TRACKED)
{
- // TODO.. fail if no message handler when trying to
- // set a page to write tracked.
-
// If the page is already READ_ONLY
// you cannot set to WRITE_TRACKED
if (getPermission(i_spte) == READ_ONLY)
{
return -EINVAL;
}
+ else if (NULL == iv_writeMsgHdlr)
+ {
+ return -EINVAL;
+ }
+
i_spte->setWriteTracked(true);
}
else
diff --git a/src/kernel/ptmgr.C b/src/kernel/ptmgr.C
index bb1380b4d..878dea807 100644
--- a/src/kernel/ptmgr.C
+++ b/src/kernel/ptmgr.C
@@ -313,8 +313,6 @@ void PageTableManager::flush( void )
/********************
Private/Protected Methods
********************/
-#include <sys/mm.h> //@TODO: Remove with 43401
-#include <usr/vmmconst.h> //@TODO: Remove with 43401.
/**
* @brief Constructor
*/
diff --git a/src/kernel/syscall.C b/src/kernel/syscall.C
index 38178499c..ab78bd655 100644
--- a/src/kernel/syscall.C
+++ b/src/kernel/syscall.C
@@ -155,9 +155,8 @@ void kernel_execute_system_call()
uint64_t syscall = t->context.gprs[3];
if (syscall >= SYSCALL_MAX)
{
- // TODO : kill task.
printk("Invalid syscall : %ld\n", syscall);
- while(1);
+ TaskManager::endTask(t, NULL, TASK_STATUS_CRASHED);
}
else
{
OpenPOWER on IntegriCloud