historical/m0-applesillicon.git/xnu-qemu-arm64-5.1.0/roms/skiboot/doc/opal-api/opal-query-cpu-status-42.rst
2024-01-16 11:20:27 -06:00

35 lines
943 B
ReStructuredText

.. _OPAL_QUERY_CPU_STATUS:
OPAL_QUERY_CPU_STATUS
=====================
.. code-block:: c
#define OPAL_QUERY_CPU_STATUS 42
enum OpalThreadStatus {
OPAL_THREAD_INACTIVE = 0x0,
OPAL_THREAD_STARTED = 0x1,
OPAL_THREAD_UNAVAILABLE = 0x2 /* opal-v3 */
};
int64_t opal_query_cpu_status(uint64_t server_no, uint8_t *thread_status);
Sets `thread_status` to be the state of the `server_no` CPU thread. CPU threads
can be owned by OPAL or the OS. Ownership changes based on :ref:`OPAL_START_CPU`
and :ref:`OPAL_RETURN_CPU`.
``OPAL_THREAD_INACTIVE``
Active in skiboot, not in OS. Skiboot owns the CPU thread.
``OPAL_THREAD_STARTED``
CPU has been started by OS, not owned by OPAL.
``OPAL_THREAD_UNAVAILABLE``
CPU is unavailable. e.g. is guarded out.
Returns
-------
:ref:`OPAL_PARAMETER`
Invalid address for `thread_status`, invalid CPU, or CPU not in OPAL or OS.
:ref:`OPAL_SUCCESS`
Successfully retreived status.