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
Функция |
Сведения о функции |
|---|---|
|
Назначение Выполняет запрос на изменение режима электропитания аппаратной платформы. Параметры
Возвращаемые значения В случае успеха возвращает |
|
Назначение Выполняет запрос на включение и/или выключение процессоров. Параметры
Возвращаемые значения В случае успеха возвращает |
|
Назначение Позволяет получить сведения о том, какие процессоры находятся в активном состоянии. Параметры
Возвращаемые значения В случае успеха возвращает |
|
Назначение Позволяет получить индекс процессора загрузки. Параметры
Возвращаемые значения В случае успеха возвращает |