mov x1, x0 // Save Function call in x1\r
mrs x6, clidr_el1 // Read EL1 CLIDR\r
and x3, x6, #0x7000000 // Mask out all but Level of Coherency (LoC)\r
- lsr x3, x3, #23 // Left align cache level value\r
+ lsr x3, x3, #24 // Left align cache level value\r
cbz x3, L_Finished // No need to clean if LoC is 0\r
mov x10, #0 // Start clean at cache level 0\r
b Loop1\r
mov x1, x0 // Save Function call in x1\r
mrs x6, clidr_el1 // Read EL1 CLIDR\r
and x3, x6, #0x38000000 // Mask out all but Point of Unification (PoU)\r
- lsr x3, x3, #26 // Left align cache level value\r
+ lsr x3, x3, #27 // Left align cache level value\r
cbz x3, L_Finished // No need to clean if LoC is 0\r
mov x10, #0 // Start clean at cache level 0\r
\r