+void pmCPUStateInit(void);
+uint64_t pmCPUGetDeadline(struct cpu_data *cpu);
+uint64_t pmCPUSetDeadline(struct cpu_data *cpu, uint64_t deadline);
+void pmCPUDeadline(struct cpu_data *cpu);
+boolean_t pmCPUExitIdle(struct cpu_data *cpu);
+void pmCPUMarkRunning(struct cpu_data *cpu);
+void pmMarkAllCPUsOff(void);
+int pmCPUControl(uint32_t cmd, void *datap);
+void pmCPUHalt(uint32_t reason);
+void pmTimerSave(void);
+void pmTimerRestore(void);
+kern_return_t pmCPUExitHalt(int cpu);
+kern_return_t pmCPUExitHaltToOff(int cpu);
+uint32_t pmTimerQueueMigrate(int);
+
+#define PM_HALT_NORMAL 0 /* normal halt path */
+#define PM_HALT_DEBUG 1 /* debug code wants to halt */
+#define PM_HALT_PANIC 2 /* panic code wants to halt */
+#define PM_HALT_SLEEP 3 /* sleep code wants to halt */
+
+void pmSafeMode(x86_lcpu_t *lcpu, uint32_t flags);
+
+#define PM_SAFE_FL_NORMAL 0x00000001 /* put CPU into "normal" power mode */
+#define PM_SAFE_FL_SAFE 0x00000002 /* put CPU into a "safe" power mode */
+#define PM_SAFE_FL_PAUSE 0x00000010 /* pause execution on the CPU */
+#define PM_SAFE_FL_RESUME 0x00000020 /* resume execution on the CPU */
+
+extern int pmsafe_debug;
+/* Default urgency timing threshold for the DEBUG build */
+#define URGENCY_NOTIFICATION_ASSERT_NS (5 * 1000 * 1000)
+extern uint64_t urgency_notification_assert_abstime_threshold;
+
+x86_lcpu_t *
+pmGetLogicalCPU(int cpu);
+x86_lcpu_t *
+pmGetMyLogicalCPU(void);
+processor_t
+pmLCPUtoProcessor(int lcpu);
+x86_pkg_t *
+pmGetPkgRoot(void);
+
+
+/******************************************************************************
+ *
+ * All of the following are deprecated interfaces and no longer used.
+ *
+ ******************************************************************************/
+