/*
* @OSF_COPYRIGHT@
*/
-#ifndef _ARM_CPU_INTERNAL_H_
-#define _ARM_CPU_INTERNAL_H_
+#ifndef _ARM_CPU_INTERNAL_H_
+#define _ARM_CPU_INTERNAL_H_
#include <mach/kern_return.h>
#include <arm/cpu_data_internal.h>
-extern void cpu_bootstrap(
- void);
+extern void cpu_bootstrap(
+ void);
-extern void cpu_init(
- void);
+extern void cpu_init(
+ void);
-extern void cpu_timebase_init(boolean_t from_boot);
+extern void cpu_timebase_init(boolean_t from_boot);
-extern kern_return_t cpu_signal(
- cpu_data_t *target,
- unsigned int signal,
- void *p0,
- void *p1);
+extern kern_return_t cpu_signal(
+ cpu_data_t *target,
+ unsigned int signal,
+ void *p0,
+ void *p1);
-extern kern_return_t cpu_signal_deferred(
- cpu_data_t *target);
+extern kern_return_t cpu_signal_deferred(
+ cpu_data_t *target);
-extern void cpu_signal_cancel(
- cpu_data_t *target);
+extern void cpu_signal_cancel(
+ cpu_data_t *target);
-#define SIGPnop 0x00000000U /* Send IPI with no service */
-#define SIGPdec 0x00000001U /* Request decremeter service */
-#define SIGPchud 0x00000002U /* CHUD CPU Signal request types */
-#define SIGPxcall 0x00000004U /* Call a function on a processor */
-#define SIGPast 0x00000008U /* Request AST check */
-#define SIGPdebug 0x00000010U /* Request Debug call */
-#define SIGPLWFlush 0x00000020UL /* Request LWFlush call */
-#define SIGPLWClean 0x00000040UL /* Request LWClean call */
-#define SIGPkptimer 0x00000100U /* Request kperf timer */
+#define SIGPnop 0x00000000U /* Send IPI with no service */
+#define SIGPdec 0x00000001U /* Request decremeter service */
+/* 0x2U unused */
+#define SIGPxcall 0x00000004U /* Call a function on a processor */
+#define SIGPast 0x00000008U /* Request AST check */
+#define SIGPdebug 0x00000010U /* Request Debug call */
+#define SIGPLWFlush 0x00000020UL /* Request LWFlush call */
+#define SIGPLWClean 0x00000040UL /* Request LWClean call */
+#define SIGPkptimer 0x00000100U /* Request kperf timer */
+#define SIGPxcallImm 0x00000200U /* Send a cross-call, fail if already pending */
-#define SIGPdisabled 0x80000000U /* Signal disabled */
-
-extern void * chudxnu_cpu_alloc(
- boolean_t boot_processor);
-
-extern void chudxnu_cpu_free(
- void *per_proc_chud);
+#define SIGPdisabled 0x80000000U /* Signal disabled */
extern unsigned int real_ncpus;
+#if defined(CONFIG_XNUPOST) && __arm64__
+extern void arm64_ipi_test(void);
+#endif /* defined(CONFIG_XNUPOST) && __arm64__ */
+
+#if defined(KERNEL_INTEGRITY_CTRR)
+extern void init_ctrr_cpu_start_lock(void);
+extern lck_spin_t ctrr_cpu_start_lck;
+extern bool ctrr_cluster_locked[__ARM_CLUSTER_COUNT__];
+#endif /* defined(KERNEL_INTEGRITY_CTRR) */
-#endif /* _ARM_CPU_INTERNAL_H_ */
+#endif /* _ARM_CPU_INTERNAL_H_ */