From 1ffe08672d9f462b8602a2f2dbc3e43d33c70d84 Mon Sep 17 00:00:00 2001 From: Michael Scire Date: Thu, 30 Jul 2020 02:11:11 -0700 Subject: [PATCH] kern: fix EL0 TLB conflict handler --- .../source/arch/arm64/kern_exception_handlers_asm.s | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/mesosphere/kernel/source/arch/arm64/kern_exception_handlers_asm.s b/mesosphere/kernel/source/arch/arm64/kern_exception_handlers_asm.s index 1d9ba4f40..709a96e33 100644 --- a/mesosphere/kernel/source/arch/arm64/kern_exception_handlers_asm.s +++ b/mesosphere/kernel/source/arch/arm64/kern_exception_handlers_asm.s @@ -158,12 +158,12 @@ _ZN3ams4kern4arch5arm6430EL0SynchronousExceptionHandlerEv: cmp x17, #0x7 b.eq 4f - /* Is this an instruction abort? */ - cmp x17, #0x21 + /* Is this a data abort? */ + cmp x17, #0x24 b.eq 5f - /* Is this a data abort? */ - cmp x17, #0x25 + /* Is this an instruction abort? */ + cmp x17, #0x20 b.eq 5f 1: /* The exception is not a data abort or instruction abort caused by a TLB conflict. */ @@ -259,12 +259,12 @@ _ZN3ams4kern4arch5arm6430EL0SynchronousExceptionHandlerEv: mrs x16, far_el1 lsr x16, x16, #12 orr x17, x16, x17 - tlbi vaae1, x17 + tlbi vae1, x17 b 7f 6: /* There's a TLB conflict and FAR isn't valid. */ /* Invalidate the entire TLB. */ - tlbi vmalle1 + tlbi aside1, x17 7: /* Return from a TLB conflict. */ /* Ensure instruction consistency. */