summaryrefslogtreecommitdiffstats
path: root/src/kernel
diff options
context:
space:
mode:
authorPatrick Williams <iawillia@us.ibm.com>2011-03-27 17:09:51 -0500
committerPatrick Williams <iawillia@us.ibm.com>2011-03-27 17:11:18 -0500
commitee22bb572a701ba2e172d1f95a306f880e38c2cc (patch)
tree6a38a08af183ed470670642469d3e30014311bd8 /src/kernel
parentd6570a2964cca62323ac6ca19b5d25973f73f45b (diff)
downloadtalos-hostboot-ee22bb572a701ba2e172d1f95a306f880e38c2cc.tar.gz
talos-hostboot-ee22bb572a701ba2e172d1f95a306f880e38c2cc.zip
Make VMM more resilient to different image sizes.
Diffstat (limited to 'src/kernel')
-rw-r--r--src/kernel/vmmmgr.C6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/kernel/vmmmgr.C b/src/kernel/vmmmgr.C
index f47b92059..34806a19b 100644
--- a/src/kernel/vmmmgr.C
+++ b/src/kernel/vmmmgr.C
@@ -79,9 +79,9 @@ void VmmManager::initPTEs()
{
access = READ_O_ACCESS;
}
- volatile pte_t& pte = getPte(i, 0);
+ volatile pte_t& pte = getPte(i % PTEG_COUNT, i / PTEG_COUNT);
defaultPte(pte);
- setTid(LinearSpace, pte);
+ setTid(i / PTEG_COUNT, pte);
setAccess(access, pte);
setPage(i, pte);
setValid(true, pte);
@@ -106,7 +106,7 @@ bool VmmManager::_pteMiss(task_t* t)
uint64_t effPid = effAddr / FULL_MEM_SIZE;
- if (effPid == LinearSpace)
+ if (effPid <= LinearSpace)
{
lock.unlock();
return false; // Should not get this exception in Linear space
OpenPOWER on IntegriCloud