Управление электропитанием (pm_api.h)
API определен в заголовочном файле sysroot-*-kos/include/coresrv/pm/pm_api.h
из состава KasperskyOS SDK.
API позволяет изменять режим электропитания аппаратной платформы (например, выключать, перезагружать), а также включать и выключать процессоры (вычислительные ядра).
Сведения о функциях API приведены в таблице ниже.
Использование API
Чтобы выполнить запрос на изменение режима электропитания аппаратной платформы, нужно вызвать функцию KnPmRequest()
.
Функции KnPmSetCpusOnline()
и KnPmGetCpusOnline()
имеют параметр mask
, через который передается маска процессов. Маска процессоров – битовая маска, отражающая набор процессоров (вычислительных ядер). Флаг, установленный в i-ом бите, отражает, что процессор с индексом i входит в набор (нумерация начинается с нуля). Для работы с маской процессоров нужно использовать функции, определенные в заголовочном файле sysroot-*-kos/include/rtl/cpuset.h
.
Чтобы включить и/или выключить процессоры, нужно вызвать функцию KnPmSetCpusOnline()
, указав маску процессоров, отражающую требуемый набор активных процессоров. В этой маске должен быть установлен флаг, соответствующий процессору загрузки (англ. bootstrap processor), иначе функция завершится с ошибкой. Чтобы получить индекс процессора загрузки, нужно вызвать функцию KnPmGetBootstrapCpuNum()
.
Чтобы получить сведения о том, какие процессоры находятся в активном состоянии, нужно вызвать функцию KnPmGetCpusOnline()
. Выходным параметром этой функции является маска процессоров, отражающая фактический набор активных процессоров.
Если функция KnPmSetCpusOnline()
завершилась с ошибкой, это может привести к неопределенному изменению набора активных процессоров. Чтобы предпринять повторную попытку настроить набор активных процессоров, нужно получить сведения о том, какие процессоры находятся в активном состоянии, вызовом функции KnPmGetCpusOnline()
и скорректировать на основе этих сведений требуемый набор активных процессоров при последующем вызове функции KnPmSetCpusOnline()
.
Сведения о функциях API
Функции pm_api.h
Функция |
Сведения о функции |
---|---|
|
Назначение Выполняет запрос на изменение режима электропитания аппаратной платформы. Параметры
Возвращаемые значения В случае успеха возвращает |
|
Назначение Выполняет запрос на включение и/или выключение процессоров. Параметры
Возвращаемые значения В случае успеха возвращает |
|
Назначение Позволяет получить сведения о том, какие процессоры находятся в активном состоянии. Параметры
Возвращаемые значения В случае успеха возвращает |
|
Назначение Позволяет получить индекс процессора загрузки. Параметры
Возвращаемые значения В случае успеха возвращает |