X-Git-Url: https://git.saurik.com/apple/xnu.git/blobdiff_plain/a991bd8d3e7fe02dbca0644054bab73c5b75324a..c3c9b80d004dbbfdf763edeb97968c6997e3b45b:/iokit/IOKit/IOPMGR.h diff --git a/iokit/IOKit/IOPMGR.h b/iokit/IOKit/IOPMGR.h index 66c3a0341..2a5457662 100644 --- a/iokit/IOKit/IOPMGR.h +++ b/iokit/IOKit/IOPMGR.h @@ -32,6 +32,7 @@ extern "C" { #include }; +#include #include /*! @@ -43,15 +44,25 @@ class IOPMGR : public IOService OSDeclareAbstractStructors(IOPMGR); public: + /*! + * @function enableCPUCore + * @abstract Enable a single CPU core. + * @discussion Release a secondary CPU core from reset, and enable + * external IRQ delivery to the core. XNU will not + * invoke this method on the boot CPU's cpu_id. + * @param cpu_id Logical CPU ID of the core. + * @param entry_pa Physical address to use as the reset vector on the + * secondary CPU. Not all platforms will honor this + * parameter; on Apple Silicon RVBAR_EL1 is programmed + * by iBoot. + */ + virtual void enableCPUCore(unsigned int cpu_id, uint64_t entry_pa); + /*! * @function enableCPUCore - * @abstract Enable a single CPU core. - * @discussion Release a secondary CPU core from reset, and enable - * external IRQ delivery to the core. XNU will not - * invoke this method on the boot CPU's cpu_id. - * @param cpu_id Logical CPU ID of the core. + * @abstract Deprecated - Enable a single CPU core. */ - virtual void enableCPUCore(unsigned int cpu_id) = 0; + virtual void enableCPUCore(unsigned int cpu_id); /*! * @function disableCPUCore