aboutsummaryrefslogtreecommitdiff
path: root/src/arch/arm64/armv8/lib/tlb.c
diff options
context:
space:
mode:
authorFurquan Shaikh <furquan@google.com>2014-09-07 18:23:18 -0700
committerPatrick Georgi <pgeorgi@google.com>2015-03-28 07:04:29 +0100
commite1b87a103290115831226713b1711dcc956ae43d (patch)
tree7f24aa1d6e1dcbea47021e64370ee40e5c0d6841 /src/arch/arm64/armv8/lib/tlb.c
parent2157ba76f2fe238cb6bcc97957ac5481df599415 (diff)
arm64 libhelpers: Add helper functions with el argument
Allow read/write to registers at a given el. Also, make read/write registers at current el call this newly added function. BUG=chrome-os-partner:30785 BRANCH=None TEST=Compiles successfully Change-Id: I98f35b8d3eb5e292ac895102ad91b675325c08c7 Signed-off-by: Patrick Georgi <pgeorgi@chromium.org> Original-Commit-Id: 11d90df1fd92e03c25bfc463429a5f6a8d9d411d Original-Change-Id: I17de4c4f3bc1ee804422efe5f4703b4dd65b51f2 Original-Signed-off-by: Furquan Shaikh <furquan@google.com> Original-Reviewed-on: https://chromium-review.googlesource.com/216904 Original-Reviewed-by: Aaron Durbin <adurbin@chromium.org> Original-Tested-by: Furquan Shaikh <furquan@chromium.org> Original-Commit-Queue: Furquan Shaikh <furquan@chromium.org> Reviewed-on: http://review.coreboot.org/9063 Tested-by: build bot (Jenkins) Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
Diffstat (limited to 'src/arch/arm64/armv8/lib/tlb.c')
-rw-r--r--src/arch/arm64/armv8/lib/tlb.c16
1 files changed, 14 insertions, 2 deletions
diff --git a/src/arch/arm64/armv8/lib/tlb.c b/src/arch/arm64/armv8/lib/tlb.c
index 36d1e70a4a..906f580347 100644
--- a/src/arch/arm64/armv8/lib/tlb.c
+++ b/src/arch/arm64/armv8/lib/tlb.c
@@ -44,7 +44,13 @@ void tlbiall_el3(void)
void tlbiall_current(void)
{
- SWITCH_CASE_TLBI(tlbiall);
+ uint32_t el = get_current_el();
+ tlbiall(el);
+}
+
+void tlbiall(uint32_t el)
+{
+ SWITCH_CASE_TLBI(tlbiall, el);
}
/* TLBIALLIS */
@@ -65,7 +71,13 @@ void tlbiallis_el3(void)
void tlbiallis_current(void)
{
- SWITCH_CASE_TLBI(tlbiallis);
+ uint32_t el = get_current_el();
+ tlbiallis(el);
+}
+
+void tlbiallis(uint32_t el)
+{
+ SWITCH_CASE_TLBI(tlbiallis, el);
}
/* TLBIVAA */