From: Nathanael Premillieu Date: Thu, 29 Oct 2015 12:48:26 +0000 (-0400) Subject: arm: Add secure flag to TableWalker request when needed X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=e6a6d6445b7e4cf437096965588be1b3320de313;p=gem5.git arm: Add secure flag to TableWalker request when needed --- 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;