diff options
author | Nathanael Premillieu <nathananel.premillieu@arm.com> | 2015-10-29 08:48:26 -0400 |
---|---|---|
committer | Nathanael Premillieu <nathananel.premillieu@arm.com> | 2015-10-29 08:48:26 -0400 |
commit | e6a6d6445b7e4cf437096965588be1b3320de313 (patch) | |
tree | 4f5610d94ec6668b2b53c2f7709babd32e436b94 /src/arch | |
parent | 84c697807f835e7c75a17eb3e80c90688b40b188 (diff) | |
download | gem5-e6a6d6445b7e4cf437096965588be1b3320de313.tar.xz |
arm: Add secure flag to TableWalker request when needed
Diffstat (limited to 'src/arch')
-rw-r--r-- | src/arch/arm/table_walker.cc | 11 |
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; |