]> git.saurik.com Git - apple/xnu.git/blobdiff - osfmk/arm64/monotonic.h
xnu-4903.221.2.tar.gz
[apple/xnu.git] / osfmk / arm64 / monotonic.h
index 1cc446028a5911b630bd7cef7c90cb85547d0566..ec10b19817cf80f95930c8fcb2a02bc9e2506c56 100644 (file)
 
 #include <stdbool.h>
 
+#define PMSR "s3_1_c15_c13_0"
+#define PMSR_PMI(REG) ((REG) & ((1 << CORE_NCTRS) - 1))
 
-static inline void
-mt_fiq(void)
+
+static inline bool
+mt_pmi_pending(uint64_t * restrict pmsr, uint64_t * restrict upmsr)
 {
+       *pmsr = __builtin_arm_rsr64(PMSR);
+       bool pmi = PMSR_PMI(*pmsr);
+
+#pragma unused(upmsr)
+
+       return pmi;
 }
 
+void mt_fiq(void *cpu, uint64_t pmsr, uint64_t upmsr);
+
 #endif /* MACH_KERNEL_PRIVATE */
 
 #endif /* !defined(ARM64_MONOTONIC_H) */