]> git.saurik.com Git - apple/xnu.git/blobdiff - osfmk/arm64/machine_routines_asm.s
xnu-7195.60.75.tar.gz
[apple/xnu.git] / osfmk / arm64 / machine_routines_asm.s
index 19e4b96d3a36d3c4972256f7ccdc9dd25ea98b89..d9f59fa5167f462277023c60bae5cc63d418ea26 100644 (file)
@@ -77,7 +77,12 @@ Lskip_program_el0_jop_key:
         * }
         */
        mrs             x1, ARM64_REG_APCTL_EL1
-#if   defined(HAS_APCTL_EL1_USERKEYEN)
+#if defined(APPLEFIRESTORM)
+       SET_KERN_KEY    x2, x1
+       CLEAR_KERN_KEY  x3, x1
+       tst             x1, #(APCTL_EL1_UserKeyEn)
+       csel    x1, x2, x3, ne
+#elif defined(HAS_APCTL_EL1_USERKEYEN)
        SET_KERN_KEY    x1, x1
 #else
        CLEAR_KERN_KEY  x1, x1
@@ -105,7 +110,12 @@ Lskip_program_prev_jop_key:
         * }
         */
        mrs             x1, ARM64_REG_APCTL_EL1
-#if   defined(HAS_APCTL_EL1_USERKEYEN)
+#if defined(APPLEFIRESTORM)
+       CLEAR_KERN_KEY  x2, x1
+       SET_KERN_KEY    x3, x1
+       tst             x1, #(APCTL_EL1_UserKeyEn)
+       csel    x1, x2, x3, ne
+#elif defined(HAS_APCTL_EL1_USERKEYEN)
        CLEAR_KERN_KEY  x1, x1
 #else
        SET_KERN_KEY    x1, x1