Fuchsia.hardware.power.statecontrol

添加次数:7

协议

管理员

fuchsia.hardware.power.statecontrol/admin.fidl 中定义

提供请求将系统转换为受支持的电源状态的方法。

注意(请参阅 https://fxbug.dev/42136295):这些方法在状态转换完成之后不会返回。在大多数情况下(例如重新启动),转换成功意味着调用方实际上并没有观察到成功完成,因为系统会在调用完成前重新启动。这意味着,如果将同步 FIDL 客户端与这些方法搭配使用,则会导致在调用期间甚至组件剩余生命周期(在重新启动的情况下)内阻塞线程。因此,如果要将同步 FIDL 客户端与此协议一起使用,应格外小心,以免在用于启动转换的同一线程上处理任何由关闭引起的回调。回调示例包括 fuchsia.process.lifecycle/Lifecycle.Stopfuchsia.hardware.power.statecontrol/RebootMethodsWatcher.OnReboot。 或者,调用方可以选择将异步 FIDL 客户端与此协议搭配使用,以免阻塞其发起调用的线程。

墨西哥

执行内核 mexec。

zx_system_mexec_payload_get() 指定的 ZBI 项应该尚未附加到提供的数据 ZBI。

请求

名称类型
kernel_zbi handle<vmo>
data_zbi handle<vmo>

响应

名称类型
payload Admin_Mexec_Result

PowerFullyOn

要求设备进入完全开启状态。

请求

<EMPTY>

响应

名称类型
payload Admin_PowerFullyOn_Result

关机

让所有设备进入关机状态。

请求

<EMPTY>

响应

名称类型
payload Admin_Poweroff_Result

重新启动

要求设备重新启动。

请求

名称类型
reason RebootReason

响应

名称类型
payload Admin_Reboot_Result

RebootToBootloader

要求设备重新启动以进入引导加载程序。

请求

<EMPTY>

响应

名称类型
payload Admin_RebootToBootloader_Result

RebootToRecovery

要求设备重新启动进入 recovery 分区。

请求

<EMPTY>

响应

名称类型
payload Admin_RebootToRecovery_Result

SuspendToRam

要求设备进入挂起到 RAM (S3) 电源状态。目前仅在 x64 上受支持。如果系统状态转换已在进行中,则返回 ZX_ERR_ALREADY_EXISTS。如果设备未能达到挂起电源状态,则返回 ZX_ERR_INTERNAL。如果设备成功挂起,则当设备恢复时,系统会返回 ZX_OK。

请求

<EMPTY>

响应

名称类型
payload Admin_SuspendToRam_Result

RebootMethodsWatcher

fuchsia.hardware.power.statecontrol/admin.fidl 中定义

允许组件在调用与重新启动相关的方法时收到通知。 在系统电源状态更改之前,系统会为监视器提供“MAX_REBOOT_WATCHER_将使用时间_SECONDS”作为返回结果。此渠道将用于向 Watcher 发送通知一次。一旦 Watcher 响应或超时到期,RebootMethodsWatcher 的客户端就会关闭该通道。

OnReboot

请求

名称类型
reason RebootReason

响应

<EMPTY>

RebootMethodsWatcherRegister

fuchsia.hardware.power.statecontrol/admin.fidl 中定义

允许组件注册要在调用 Reboot 方法时执行的回调。此协议的主要用途是能够跟踪重新启动的原因。如果您要使用此协议,请考虑依赖组件框架的有序关停。

注册

注册 watcher,以便在调用 Reboot 方法时收到通知。注册渠道最多只会使用一次,用于通知观察器即将重新启动,并给其响应的机会。

观看者可以通过关闭相应频道来取消注册。

已废弃:HEAD

请求

名称类型
watcher RebootMethodsWatcher

RegisterWithAck

注册 watcher,以便在调用 Reboot 方法时收到通知。

成功向服务器注册 Watcher 后,请求就会完成,RebootMethodsWatcherRegister 通道将保持打开状态(尽管此时客户端可以将其关闭)。

如果注册 Watcher 时出错,则系统会关闭 RebootMethodsWatcherRegister 通道,而不会完成请求。

提供的 watcher 通道最多会使用一次,以通知观察者即将重新启动并给其响应机会。

观看者可以通过关闭其“RebootMethodsWatcher”频道来取消注册。

添加了:HEAD

请求

名称类型
watcher RebootMethodsWatcher

响应

<EMPTY>

结构

Admin_Mexec_Response

fuchsia.hardware.power.statecontrol/admin.fidl 中定义

<EMPTY>

Admin_PowerFullyOn_Response

fuchsia.hardware.power.statecontrol/admin.fidl 中定义

<EMPTY>

Admin_Poweroff_Response

fuchsia.hardware.power.statecontrol/admin.fidl 中定义

<EMPTY>

Admin_RebootToBootloader_Response

fuchsia.hardware.power.statecontrol/admin.fidl 中定义

<EMPTY>

Admin_RebootToRecovery_Response

fuchsia.hardware.power.statecontrol/admin.fidl 中定义

<EMPTY>

Admin_Reboot_Response

fuchsia.hardware.power.statecontrol/admin.fidl 中定义

<EMPTY>

Admin_SuspendToRam_Response

fuchsia.hardware.power.statecontrol/admin.fidl 中定义

<EMPTY>

枚举

RebootReason 严格

类型:uint32

fuchsia.hardware.power.statecontrol/reboot_reason.fidl 中定义

为什么系统会重新启动。

名称说明
1
2

已下载新的系统更新。

8

未能应用系统更新。

3
6
4

Sessionmgr 失败。

5

sysmgr 崩溃。

7

某个关键系统组件发生故障。

9

启动分区更改已生效。

10

系统的可用内存达到了临界阈值。

联合

Admin_Mexec_Result 严格

fuchsia.hardware.power.statecontrol/admin.fidl 中定义

序数变体类型说明
response Admin_Mexec_Response
err zx/Status

Admin_PowerFullyOn_Result 严格

fuchsia.hardware.power.statecontrol/admin.fidl 中定义

序数变体类型说明
response Admin_PowerFullyOn_Response
err zx/Status

Admin_Poweroff_Result 严格

fuchsia.hardware.power.statecontrol/admin.fidl 中定义

序数变体类型说明
response Admin_Poweroff_Response
err zx/Status

Admin_RebootToBootloader_Result 严格

fuchsia.hardware.power.statecontrol/admin.fidl 中定义

序数变体类型说明
response Admin_RebootToBootloader_Response
err zx/Status

Admin_RebootToRecovery_Result 严格

fuchsia.hardware.power.statecontrol/admin.fidl 中定义

序数变体类型说明
response Admin_RebootToRecovery_Response
err zx/Status

Admin_Reboot_Result 严格

fuchsia.hardware.power.statecontrol/admin.fidl 中定义

序数变体类型说明
response Admin_Reboot_Response
err zx/Status

Admin_SuspendToRam_Result 严格

fuchsia.hardware.power.statecontrol/admin.fidl 中定义

序数变体类型说明
response Admin_SuspendToRam_Response
err zx/Status

常量

名称类型说明
MAX_REBOOT_WATCHER_RESPONSE_TIME_SECONDS 5 uint32

在更改系统电源状态之前,服务器等待所有 RebootMethodsWatchers 响应的最大秒数。