summaryrefslogtreecommitdiff
path: root/src/arch/arm
diff options
context:
space:
mode:
Diffstat (limited to 'src/arch/arm')
-rw-r--r--src/arch/arm/table_walker.cc11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/arch/arm/table_walker.cc b/src/arch/arm/table_walker.cc
index 3e61a4bd6..fd8645e97 100644
--- a/src/arch/arm/table_walker.cc
+++ b/src/arch/arm/table_walker.cc
@@ -523,6 +523,10 @@ TableWalker::processWalk()
flag.set(Request::UNCACHEABLE);
}
+ if (currState->isSecure) {
+ flag.set(Request::SECURE);
+ }
+
bool delayed;
delayed = fetchDescriptor(l1desc_addr, (uint8_t*)&currState->l1Desc.data,
sizeof(uint32_t), flag, L1, &doL1DescEvent,
@@ -685,9 +689,6 @@ TableWalker::processWalkLPAE()
flag.set(Request::UNCACHEABLE);
}
- if (currState->isSecure)
- flag.set(Request::SECURE);
-
currState->longDesc.lookupLevel = start_lookup_level;
currState->longDesc.aarch64 = false;
currState->longDesc.grainSize = Grain4KB;
@@ -934,6 +935,10 @@ TableWalker::processWalkAArch64()
flag.set(Request::UNCACHEABLE);
}
+ if (currState->isSecure) {
+ flag.set(Request::SECURE);
+ }
+
currState->longDesc.lookupLevel = start_lookup_level;
currState->longDesc.aarch64 = true;
currState->longDesc.grainSize = tg;