mirror of
https://github.com/Atmosphere-NX/Atmosphere.git
synced 2024-11-23 04:12:02 +00:00
kern: fix EL0 TLB conflict handler
This commit is contained in:
parent
f866f37cdc
commit
1ffe08672d
1 changed files with 6 additions and 6 deletions
|
@ -158,12 +158,12 @@ _ZN3ams4kern4arch5arm6430EL0SynchronousExceptionHandlerEv:
|
||||||
cmp x17, #0x7
|
cmp x17, #0x7
|
||||||
b.eq 4f
|
b.eq 4f
|
||||||
|
|
||||||
/* Is this an instruction abort? */
|
/* Is this a data abort? */
|
||||||
cmp x17, #0x21
|
cmp x17, #0x24
|
||||||
b.eq 5f
|
b.eq 5f
|
||||||
|
|
||||||
/* Is this a data abort? */
|
/* Is this an instruction abort? */
|
||||||
cmp x17, #0x25
|
cmp x17, #0x20
|
||||||
b.eq 5f
|
b.eq 5f
|
||||||
|
|
||||||
1: /* The exception is not a data abort or instruction abort caused by a TLB conflict. */
|
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
|
mrs x16, far_el1
|
||||||
lsr x16, x16, #12
|
lsr x16, x16, #12
|
||||||
orr x17, x16, x17
|
orr x17, x16, x17
|
||||||
tlbi vaae1, x17
|
tlbi vae1, x17
|
||||||
b 7f
|
b 7f
|
||||||
|
|
||||||
6: /* There's a TLB conflict and FAR isn't valid. */
|
6: /* There's a TLB conflict and FAR isn't valid. */
|
||||||
/* Invalidate the entire TLB. */
|
/* Invalidate the entire TLB. */
|
||||||
tlbi vmalle1
|
tlbi aside1, x17
|
||||||
|
|
||||||
7: /* Return from a TLB conflict. */
|
7: /* Return from a TLB conflict. */
|
||||||
/* Ensure instruction consistency. */
|
/* Ensure instruction consistency. */
|
||||||
|
|
Loading…
Reference in a new issue