+extern void cause_ast_check(
+ processor_t processor);
+
+extern kern_return_t cpu_control(
+ int slot_num,
+ processor_info_t info,
+ unsigned int count);
+
+extern void cpu_sleep(void);
+
+extern kern_return_t cpu_start(
+ int slot_num);
+
+extern void cpu_exit_wait(
+ int slot_num);
+
+extern boolean_t cpu_can_exit(
+ int slot_num);
+
+extern kern_return_t cpu_info(
+ processor_flavor_t flavor,
+ int slot_num,
+ processor_info_t info,
+ unsigned int *count);
+
+extern kern_return_t cpu_info_count(
+ processor_flavor_t flavor,
+ unsigned int *count);
+
+extern thread_t machine_processor_shutdown(
+ thread_t thread,
+ void (*doshutdown)(processor_t),
+ processor_t processor);
+
+extern void machine_idle(void);
+
+extern void machine_track_platform_idle(boolean_t);
+
+/* Signals a processor to bring it out of idle */
+extern void machine_signal_idle(
+ processor_t processor);
+
+/* Signals a processor to bring it out of idle unless canceled */
+extern void machine_signal_idle_deferred(
+ processor_t processor);
+
+/* Cancels an outstanding machine_signal_idle_deferred, if this is supported */
+extern void machine_signal_idle_cancel(
+ processor_t processor);
+
+extern void halt_cpu(void);
+
+extern void halt_all_cpus(
+ boolean_t reboot);
+
+extern char *machine_boot_info(
+ char *buf,
+ vm_size_t buf_len);
+
+/*
+ * Machine-dependent routine to fill in an array with up to callstack_max
+ * levels of return pc information.
+ */
+extern void machine_callstack(
+ uintptr_t *buf,
+ vm_size_t callstack_max);
+
+extern void consider_machine_collect(void);
+
+/*
+ * Machine-dependent routine to inform platform layer and external
+ * CPU power management about context switches
+ */
+
+extern void machine_thread_going_on_core(thread_t new_thread,
+ thread_urgency_t urgency,
+ uint64_t sched_latency,
+ uint64_t same_pri_latency,
+ uint64_t dispatch_time);
+
+extern void machine_thread_going_off_core(thread_t old_thread, boolean_t thread_terminating,
+ uint64_t last_dispatch, boolean_t thread_runnable);
+
+extern void machine_max_runnable_latency(uint64_t bg_max_latency,
+ uint64_t default_max_latency,
+ uint64_t realtime_max_latency);
+
+extern void machine_work_interval_notify(thread_t thread, struct kern_work_interval_args* kwi_args);
+