diff options
author | Manish V Badarkhe <Manish.Badarkhe@arm.com> | 2020-07-14 14:43:12 +0100 |
---|---|---|
committer | Manish V Badarkhe <Manish.Badarkhe@arm.com> | 2020-08-18 10:49:27 +0100 |
commit | 86ba585300aa784160bbcb8441ace3df8e06e1bd (patch) | |
tree | 466f8ec4804da549ce0baf9916165e3c9a654edb /services | |
parent | 3b8456bd1c9fd2303483f0675786e3fbda81a0af (diff) | |
download | trusted-firmware-a-86ba585300aa784160bbcb8441ace3df8e06e1bd.tar.gz |
Add wrapper for AT instruction
In case of AT speculative workaround applied, page table walk
is disabled for lower ELs (EL1 and EL0) in EL3.
Hence added a wrapper function which temporarily enables page
table walk to execute AT instruction for lower ELs and then
disables page table walk.
Execute AT instructions directly for lower ELs (EL1 and EL0)
assuming page table walk is enabled always when AT speculative
workaround is not applied.
Change-Id: I4ad4c0bcbb761448af257e9f72ae979473c0dde8
Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
Diffstat (limited to 'services')
-rw-r--r-- | services/spd/tlkd/tlkd_common.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/services/spd/tlkd/tlkd_common.c b/services/spd/tlkd/tlkd_common.c index dbe6c2e34b..820bd8a720 100644 --- a/services/spd/tlkd/tlkd_common.c +++ b/services/spd/tlkd/tlkd_common.c @@ -38,16 +38,16 @@ uint64_t tlkd_va_translate(uintptr_t va, int type) int at = type & AT_MASK; switch (at) { case 0: - ats12e1r(va); + AT(ats12e1r, va); break; case 1: - ats12e1w(va); + AT(ats12e1w, va); break; case 2: - ats12e0r(va); + AT(ats12e0r, va); break; case 3: - ats12e0w(va); + AT(ats12e0w, va); break; default: assert(0); /* Unreachable */ |