| <link rel="stylesheet" href="../style.css" /> |
| |
| [TOC] |
| # fuchsia.kernel |
| |
| <div class="fidl-version-div"><span class="fidl-attribute fidl-version">Added: 7</span></div> |
| |
| |
| ## **PROTOCOLS** |
| |
| ## Counter {#Counter} |
| *Defined in [fuchsia.kernel/kernel-counter.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.kernel/kernel-counter.fidl;l=11)* |
| <p>Protocol for retrieving kcounter information.</p> |
| |
| |
| ### GetInspectVmo {#Counter.GetInspectVmo} |
| |
| <p>Retrives a VMO containining summarized kcounter data. The vmo returned |
| in <code>buffer</code> is in "inspect-vmo" format, documented elsewhere.</p> |
| |
| |
| |
| #### Request {#Counter.GetInspectVmo_Request} |
| |
| <EMPTY> |
| |
| |
| #### Response {#Counter.GetInspectVmo_Response} |
| |
| <table> |
| <tr><th>Name</th><th>Type</th></tr> |
| <tr> |
| <td><code>status</code></td> |
| <td> |
| <code><a class='link' href='../zx/'>zx</a>/<a class='link' href='../zx/#status'>status</a></code> |
| </td> |
| </tr> |
| <tr> |
| <td><code>buffer</code></td> |
| <td> |
| <code><a class='link' href='../fuchsia.mem/'>fuchsia.mem</a>/<a class='link' href='../fuchsia.mem/#Buffer'>Buffer</a></code> |
| </td> |
| </tr> |
| </table> |
| |
| ### UpdateInspectVmo {#Counter.UpdateInspectVmo} |
| |
| <p>Request that the previously-returned VMO buffer's data be updated. The |
| data may not be updated if it was already recently updated (updates are |
| limited to an unspecified rate, but approximately every few seconds).</p> |
| |
| |
| |
| #### Request {#Counter.UpdateInspectVmo_Request} |
| |
| <EMPTY> |
| |
| |
| #### Response {#Counter.UpdateInspectVmo_Response} |
| |
| <table> |
| <tr><th>Name</th><th>Type</th></tr> |
| <tr> |
| <td><code>status</code></td> |
| <td> |
| <code><a class='link' href='../zx/'>zx</a>/<a class='link' href='../zx/#status'>status</a></code> |
| </td> |
| </tr> |
| </table> |
| |
| ## CpuResource {#CpuResource} |
| *Defined in [fuchsia.kernel/cpu-resource.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.kernel/cpu-resource.fidl;l=11)* |
| <p>Protocol for providing a <code>ZX_RSRC_KIND_SYSTEM</code> with base |
| <code>ZX_RSRC_SYSTEM_CPU_BASE</code>.</p> |
| |
| |
| ### Get {#CpuResource.Get} |
| |
| <p>Get a CPU resource handle.</p> |
| |
| |
| |
| #### Request {#CpuResource.Get_Request} |
| |
| <EMPTY> |
| |
| |
| #### Response {#CpuResource.Get_Response} |
| |
| <table> |
| <tr><th>Name</th><th>Type</th></tr> |
| <tr> |
| <td><code>resource</code></td> |
| <td> |
| <code>handle<resource></code> |
| </td> |
| </tr> |
| </table> |
| |
| ## DebugBroker {#DebugBroker} |
| *Defined in [fuchsia.kernel/kernel-debug.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.kernel/kernel-debug.fidl;l=13)* |
| <p>Acts on behalf of the caller to interact with privileged debug system calls.</p> |
| |
| |
| ### SendDebugCommand {#DebugBroker.SendDebugCommand} |
| |
| <p>Pass debug command through to the kernel shell. |
| Look at zx_debug_send_command syscall handling to find valid values.</p> |
| |
| |
| |
| #### Request {#DebugBroker.SendDebugCommand_Request} |
| |
| <table> |
| <tr><th>Name</th><th>Type</th></tr> |
| <tr> |
| <td><code>command</code></td> |
| <td> |
| <code>string[1024]</code> |
| </td> |
| </tr> |
| </table> |
| |
| |
| #### Response {#DebugBroker.SendDebugCommand_Response} |
| |
| <table> |
| <tr><th>Name</th><th>Type</th></tr> |
| <tr> |
| <td><code>status</code></td> |
| <td> |
| <code><a class='link' href='../zx/'>zx</a>/<a class='link' href='../zx/#status'>status</a></code> |
| </td> |
| </tr> |
| </table> |
| |
| ### SetTracingEnabled {#DebugBroker.SetTracingEnabled} |
| |
| <p>Sets whether kernel tracing (ktrace) is enabled or disabled.</p> |
| |
| |
| |
| #### Request {#DebugBroker.SetTracingEnabled_Request} |
| |
| <table> |
| <tr><th>Name</th><th>Type</th></tr> |
| <tr> |
| <td><code>enabled</code></td> |
| <td> |
| <code>bool</code> |
| </td> |
| </tr> |
| </table> |
| |
| |
| #### Response {#DebugBroker.SetTracingEnabled_Response} |
| |
| <table> |
| <tr><th>Name</th><th>Type</th></tr> |
| <tr> |
| <td><code>status</code></td> |
| <td> |
| <code><a class='link' href='../zx/'>zx</a>/<a class='link' href='../zx/#status'>status</a></code> |
| </td> |
| </tr> |
| </table> |
| |
| ## DebugResource {#DebugResource} |
| *Defined in [fuchsia.kernel/debug-resource.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.kernel/debug-resource.fidl;l=11)* |
| <p>Protocol for providing a <code>ZX_RSRC_KIND_SYSTEM</code> with base |
| <code>ZX_RSRC_SYSTEM_DEBUG_BASE</code>.</p> |
| |
| |
| ### Get {#DebugResource.Get} |
| |
| <p>Get a debug resource handle.</p> |
| |
| |
| |
| #### Request {#DebugResource.Get_Request} |
| |
| <EMPTY> |
| |
| |
| #### Response {#DebugResource.Get_Response} |
| |
| <table> |
| <tr><th>Name</th><th>Type</th></tr> |
| <tr> |
| <td><code>resource</code></td> |
| <td> |
| <code>handle<resource></code> |
| </td> |
| </tr> |
| </table> |
| |
| ## EnergyInfoResource {#EnergyInfoResource} |
| *Defined in [fuchsia.kernel/energy-info-resource.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.kernel/energy-info-resource.fidl;l=12)* |
| <p>Protocol for providing a <code>ZX_RSRC_KIND_SYSTEM</code> with base |
| <code>ZX_RSRC_SYSTEM_ENERGY_INFO_BASE</code>.</p> |
| <div class="fidl-version-div"><span class="fidl-attribute fidl-version">Added: HEAD</span></div> |
| |
| |
| ### Get {#EnergyInfoResource.Get} |
| |
| <p>Get an EnergyInfo resource handle.</p> |
| <div class="fidl-version-div"><span class="fidl-attribute fidl-version">Added: HEAD</span></div> |
| |
| |
| |
| #### Request {#EnergyInfoResource.Get_Request} |
| |
| <EMPTY> |
| |
| |
| #### Response {#EnergyInfoResource.Get_Response} |
| |
| <table> |
| <tr><th>Name</th><th>Type</th></tr> |
| <tr> |
| <td><code>resource</code></td> |
| <td> |
| <code>handle<resource></code> |
| </td> |
| </tr> |
| </table> |
| |
| ## HypervisorResource {#HypervisorResource} |
| *Defined in [fuchsia.kernel/hypervisor-resource.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.kernel/hypervisor-resource.fidl;l=10)* |
| <p>Protocol for providing the hypervisor resource.</p> |
| |
| |
| ### Get {#HypervisorResource.Get} |
| |
| <p>Get a hypervisor resource handle.</p> |
| |
| |
| |
| #### Request {#HypervisorResource.Get_Request} |
| |
| <EMPTY> |
| |
| |
| #### Response {#HypervisorResource.Get_Response} |
| |
| <table> |
| <tr><th>Name</th><th>Type</th></tr> |
| <tr> |
| <td><code>resource</code></td> |
| <td> |
| <code>handle<resource></code> |
| </td> |
| </tr> |
| </table> |
| |
| ## InfoResource {#InfoResource} |
| *Defined in [fuchsia.kernel/info-resource.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.kernel/info-resource.fidl;l=11)* |
| <p>Protocol for providing a <code>ZX_RSRC_KIND_SYSTEM</code> with base |
| <code>ZX_RSRC_SYSTEM_INFO_BASE</code>.</p> |
| |
| |
| ### Get {#InfoResource.Get} |
| |
| <p>Get an info resource handle.</p> |
| |
| |
| |
| #### Request {#InfoResource.Get_Request} |
| |
| <EMPTY> |
| |
| |
| #### Response {#InfoResource.Get_Response} |
| |
| <table> |
| <tr><th>Name</th><th>Type</th></tr> |
| <tr> |
| <td><code>resource</code></td> |
| <td> |
| <code>handle<resource></code> |
| </td> |
| </tr> |
| </table> |
| |
| ## IoportResource {#IoportResource} |
| *Defined in [fuchsia.kernel/ioport-resource.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.kernel/ioport-resource.fidl;l=10)* |
| <p>Protocol for providing an IO Port resource with access to all valid ranges.</p> |
| |
| |
| ### Get {#IoportResource.Get} |
| |
| <p>Get an IO Port resource handle.</p> |
| |
| |
| |
| #### Request {#IoportResource.Get_Request} |
| |
| <EMPTY> |
| |
| |
| #### Response {#IoportResource.Get_Response} |
| |
| <table> |
| <tr><th>Name</th><th>Type</th></tr> |
| <tr> |
| <td><code>resource</code></td> |
| <td> |
| <code>handle<resource></code> |
| </td> |
| </tr> |
| </table> |
| |
| ## IrqResource {#IrqResource} |
| *Defined in [fuchsia.kernel/irq-resource.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.kernel/irq-resource.fidl;l=10)* |
| <p>Protocol for providing an IRQ resource with access to all valid ranges.</p> |
| |
| |
| ### Get {#IrqResource.Get} |
| |
| <p>Get an IRQ resource handle.</p> |
| |
| |
| |
| #### Request {#IrqResource.Get_Request} |
| |
| <EMPTY> |
| |
| |
| #### Response {#IrqResource.Get_Response} |
| |
| <table> |
| <tr><th>Name</th><th>Type</th></tr> |
| <tr> |
| <td><code>resource</code></td> |
| <td> |
| <code>handle<resource></code> |
| </td> |
| </tr> |
| </table> |
| |
| ## MexecResource {#MexecResource} |
| *Defined in [fuchsia.kernel/mexec-resource.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.kernel/mexec-resource.fidl;l=13)* |
| <p>Protocol for providing a <code>ZX_RSRC_KIND_SYSTEM</code> with base |
| <code>ZX_RSRC_SYSTEM_MEXEC_BASE</code>.</p> |
| <div class="fidl-version-div"><span class="fidl-attribute fidl-version">Added: HEAD</span></div> |
| |
| |
| ### Get {#MexecResource.Get} |
| |
| <p>Get an MEXEC resource handle as <code>resource</code>.</p> |
| <div class="fidl-version-div"><span class="fidl-attribute fidl-version">Added: HEAD</span></div> |
| |
| |
| |
| #### Request {#MexecResource.Get_Request} |
| |
| <EMPTY> |
| |
| |
| #### Response {#MexecResource.Get_Response} |
| |
| <table> |
| <tr><th>Name</th><th>Type</th></tr> |
| <tr> |
| <td><code>resource</code></td> |
| <td> |
| <code>handle<resource></code> |
| </td> |
| </tr> |
| </table> |
| |
| ## MmioResource {#MmioResource} |
| *Defined in [fuchsia.kernel/mmio-resource.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.kernel/mmio-resource.fidl;l=10)* |
| <p>Protocol for providing an MMIO resource with access to all valid ranges.</p> |
| |
| |
| ### Get {#MmioResource.Get} |
| |
| <p>Get an MMIO resource handle.</p> |
| |
| |
| |
| #### Request {#MmioResource.Get_Request} |
| |
| <EMPTY> |
| |
| |
| #### Response {#MmioResource.Get_Response} |
| |
| <table> |
| <tr><th>Name</th><th>Type</th></tr> |
| <tr> |
| <td><code>resource</code></td> |
| <td> |
| <code>handle<resource></code> |
| </td> |
| </tr> |
| </table> |
| |
| ## PowerResource {#PowerResource} |
| *Defined in [fuchsia.kernel/power-resource.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.kernel/power-resource.fidl;l=12)* |
| <p>Protocol for providing a <code>ZX_RSRC_KIND_SYSTEM</code> with base |
| <code>ZX_RSRC_SYSTEM_POWER_BASE</code>.</p> |
| |
| |
| ### Get {#PowerResource.Get} |
| |
| <p>Get a power resource handle.</p> |
| |
| |
| |
| #### Request {#PowerResource.Get_Request} |
| |
| <EMPTY> |
| |
| |
| #### Response {#PowerResource.Get_Response} |
| |
| <table> |
| <tr><th>Name</th><th>Type</th></tr> |
| <tr> |
| <td><code>resource</code></td> |
| <td> |
| <code>handle<resource></code> |
| </td> |
| </tr> |
| </table> |
| |
| ## RootJob {#RootJob} |
| *Defined in [fuchsia.kernel/root-job.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.kernel/root-job.fidl;l=12)* |
| <p>Protocol for providing the root job.</p> |
| <p>TODO(fxbug.dev/33856): Do not use this without first consulting the Zircon team.</p> |
| |
| |
| ### Get {#RootJob.Get} |
| |
| <p>Get the root <code>job</code>.</p> |
| |
| |
| |
| #### Request {#RootJob.Get_Request} |
| |
| <EMPTY> |
| |
| |
| #### Response {#RootJob.Get_Response} |
| |
| <table> |
| <tr><th>Name</th><th>Type</th></tr> |
| <tr> |
| <td><code>job</code></td> |
| <td> |
| <code>handle<job></code> |
| </td> |
| </tr> |
| </table> |
| |
| ## RootJobForInspect {#RootJobForInspect} |
| *Defined in [fuchsia.kernel/root-job.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.kernel/root-job.fidl;l=22)* |
| <p>Protocol for providing the root job with restricted rights, specifically: |
| INSPECT | ENUMERATE | DUPLICATE | TRANSFER</p> |
| |
| |
| ### Get {#RootJobForInspect.Get} |
| |
| <p>Get the root <code>job</code>.</p> |
| |
| |
| |
| #### Request {#RootJobForInspect.Get_Request} |
| |
| <EMPTY> |
| |
| |
| #### Response {#RootJobForInspect.Get_Response} |
| |
| <table> |
| <tr><th>Name</th><th>Type</th></tr> |
| <tr> |
| <td><code>job</code></td> |
| <td> |
| <code>handle<job></code> |
| </td> |
| </tr> |
| </table> |
| |
| ## SmcResource {#SmcResource} |
| *Defined in [fuchsia.kernel/smc-resource.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.kernel/smc-resource.fidl;l=10)* |
| <p>Protocol for providing an SMC resource with access to all valid ranges.</p> |
| |
| |
| ### Get {#SmcResource.Get} |
| |
| <p>Get an SMC resource handle.</p> |
| |
| |
| |
| #### Request {#SmcResource.Get_Request} |
| |
| <EMPTY> |
| |
| |
| #### Response {#SmcResource.Get_Response} |
| |
| <table> |
| <tr><th>Name</th><th>Type</th></tr> |
| <tr> |
| <td><code>resource</code></td> |
| <td> |
| <code>handle<resource></code> |
| </td> |
| </tr> |
| </table> |
| |
| ## Stats {#Stats} |
| *Defined in [fuchsia.kernel/kernel-stats.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.kernel/kernel-stats.fidl;l=76)* |
| <p>Protocol for providing kernel stats. This is roughly a wrapper around zx_object_get_info for |
| the ZX_INFO_KMEM_STATS, ZX_INFO_KMEM_STATS_EXTENDED and ZX_INFO_CPU_STATS topics, which today |
| require the very powerful 'Root Resource' capability to obtain. Instead of vending out that |
| capability, programs that just want stats should use this service instead. If for some reason |
| the protocol fails to retrieve stats, which will be an un-recoverable error, it will close the |
| channel.</p> |
| |
| |
| ### GetCpuLoad {#Stats.GetCpuLoad} |
| |
| <p>Gets the average load as a percentage (0.0 - 100.0) from each CPU over the specified |
| duration.</p> |
| <p>Load is calculated as (100 - %idle), where %idle is the percentage value of idle_time (from |
| PerCpuStats) over a time duration.</p> |
| |
| |
| |
| #### Request {#Stats.GetCpuLoad_Request} |
| |
| <table> |
| <tr><th>Name</th><th>Type</th></tr> |
| <tr> |
| <td><code>duration</code></td> |
| <td> |
| <code><a class='link' href='../zx/'>zx</a>/<a class='link' href='../zx/#duration'>duration</a></code> |
| </td> |
| </tr> |
| </table> |
| |
| |
| #### Response {#Stats.GetCpuLoad_Response} |
| |
| <table> |
| <tr><th>Name</th><th>Type</th></tr> |
| <tr> |
| <td><code>per_cpu_load</code></td> |
| <td> |
| <code>vector<float32>[512]</code> |
| </td> |
| </tr> |
| </table> |
| |
| ### GetCpuStats {#Stats.GetCpuStats} |
| |
| |
| |
| |
| #### Request {#Stats.GetCpuStats_Request} |
| |
| <EMPTY> |
| |
| |
| #### Response {#Stats.GetCpuStats_Response} |
| |
| <table> |
| <tr><th>Name</th><th>Type</th></tr> |
| <tr> |
| <td><code>stats</code></td> |
| <td> |
| <code><a class='link' href='#CpuStats'>CpuStats</a></code> |
| </td> |
| </tr> |
| </table> |
| |
| ### GetMemoryStats {#Stats.GetMemoryStats} |
| |
| |
| |
| |
| #### Request {#Stats.GetMemoryStats_Request} |
| |
| <EMPTY> |
| |
| |
| #### Response {#Stats.GetMemoryStats_Response} |
| |
| <table> |
| <tr><th>Name</th><th>Type</th></tr> |
| <tr> |
| <td><code>stats</code></td> |
| <td> |
| <code><a class='link' href='#MemoryStats'>MemoryStats</a></code> |
| </td> |
| </tr> |
| </table> |
| |
| ### GetMemoryStatsExtended {#Stats.GetMemoryStatsExtended} |
| |
| |
| |
| |
| #### Request {#Stats.GetMemoryStatsExtended_Request} |
| |
| <EMPTY> |
| |
| |
| #### Response {#Stats.GetMemoryStatsExtended_Response} |
| |
| <table> |
| <tr><th>Name</th><th>Type</th></tr> |
| <tr> |
| <td><code>stats</code></td> |
| <td> |
| <code><a class='link' href='#MemoryStatsExtended'>MemoryStatsExtended</a></code> |
| </td> |
| </tr> |
| </table> |
| |
| ## VmexResource {#VmexResource} |
| *Defined in [fuchsia.kernel/vmex-resource.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.kernel/vmex-resource.fidl;l=12)* |
| <p>Protocol for providing a <code>ZX_RSRC_KIND_SYSTEM</code> with base |
| <code>ZX_SYS_RSRC_BASE_VMEX</code> to programs that should be able to mark VMOs as |
| executable.</p> |
| |
| |
| ### Get {#VmexResource.Get} |
| |
| <p>Get a VMEX resource handle.</p> |
| |
| |
| |
| #### Request {#VmexResource.Get_Request} |
| |
| <EMPTY> |
| |
| |
| #### Response {#VmexResource.Get_Response} |
| |
| <table> |
| <tr><th>Name</th><th>Type</th></tr> |
| <tr> |
| <td><code>resource</code></td> |
| <td> |
| <code>handle<resource></code> |
| </td> |
| </tr> |
| </table> |
| |
| |
| ## **STRUCTS** |
| |
| ### CpuStats {#CpuStats data-text="CpuStats"} |
| *Defined in [fuchsia.kernel/kernel-stats.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.kernel/kernel-stats.fidl;l=61)* |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="CpuStats.actual_num_cpus"> |
| <td><code>actual_num_cpus</code></td> |
| <td> |
| <code>uint64</code> |
| </td> |
| <td><p>This is the total number of CPUs on the actual device. This may not be the same as the length |
| of the vector <code>per_cpu_stats</code> as it is possible the underlying syscall will not return stats |
| for all CPUs.</p> |
| </td> |
| <td>No default</td> |
| </tr> |
| <tr id="CpuStats.per_cpu_stats"> |
| <td><code>per_cpu_stats</code></td> |
| <td> |
| <code>vector<<a class='link' href='#PerCpuStats'>PerCpuStats</a>>[512]?</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| |
| |
| ## **TABLES** |
| |
| ### MemoryStats {#MemoryStats data-text="MemoryStats"} |
| |
| |
| *Defined in [fuchsia.kernel/kernel-stats.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.kernel/kernel-stats.fidl;l=10)* |
| |
| <table> |
| <tr><th>Ordinal</th><th>Field</th><th>Type</th><th>Description</th></tr> |
| <tr id="MemoryStats.total_bytes"> |
| <td><h3 id="MemoryStats.total_bytes" class="add-link hide-from-toc">1</h3></td> |
| <td><code>total_bytes</code></td> |
| <td> |
| <code>uint64</code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="MemoryStats.free_bytes"> |
| <td><h3 id="MemoryStats.free_bytes" class="add-link hide-from-toc">2</h3></td> |
| <td><code>free_bytes</code></td> |
| <td> |
| <code>uint64</code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="MemoryStats.wired_bytes"> |
| <td><h3 id="MemoryStats.wired_bytes" class="add-link hide-from-toc">3</h3></td> |
| <td><code>wired_bytes</code></td> |
| <td> |
| <code>uint64</code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="MemoryStats.total_heap_bytes"> |
| <td><h3 id="MemoryStats.total_heap_bytes" class="add-link hide-from-toc">4</h3></td> |
| <td><code>total_heap_bytes</code></td> |
| <td> |
| <code>uint64</code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="MemoryStats.free_heap_bytes"> |
| <td><h3 id="MemoryStats.free_heap_bytes" class="add-link hide-from-toc">5</h3></td> |
| <td><code>free_heap_bytes</code></td> |
| <td> |
| <code>uint64</code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="MemoryStats.vmo_bytes"> |
| <td><h3 id="MemoryStats.vmo_bytes" class="add-link hide-from-toc">6</h3></td> |
| <td><code>vmo_bytes</code></td> |
| <td> |
| <code>uint64</code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="MemoryStats.mmu_overhead_bytes"> |
| <td><h3 id="MemoryStats.mmu_overhead_bytes" class="add-link hide-from-toc">7</h3></td> |
| <td><code>mmu_overhead_bytes</code></td> |
| <td> |
| <code>uint64</code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="MemoryStats.ipc_bytes"> |
| <td><h3 id="MemoryStats.ipc_bytes" class="add-link hide-from-toc">8</h3></td> |
| <td><code>ipc_bytes</code></td> |
| <td> |
| <code>uint64</code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="MemoryStats.other_bytes"> |
| <td><h3 id="MemoryStats.other_bytes" class="add-link hide-from-toc">9</h3></td> |
| <td><code>other_bytes</code></td> |
| <td> |
| <code>uint64</code> |
| </td> |
| <td></td> |
| </tr> |
| </table> |
| |
| ### MemoryStatsExtended {#MemoryStatsExtended data-text="MemoryStatsExtended"} |
| |
| |
| *Defined in [fuchsia.kernel/kernel-stats.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.kernel/kernel-stats.fidl;l=24)* |
| |
| <table> |
| <tr><th>Ordinal</th><th>Field</th><th>Type</th><th>Description</th></tr> |
| <tr id="MemoryStatsExtended.total_bytes"> |
| <td><h3 id="MemoryStatsExtended.total_bytes" class="add-link hide-from-toc">1</h3></td> |
| <td><code>total_bytes</code></td> |
| <td> |
| <code>uint64</code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="MemoryStatsExtended.free_bytes"> |
| <td><h3 id="MemoryStatsExtended.free_bytes" class="add-link hide-from-toc">2</h3></td> |
| <td><code>free_bytes</code></td> |
| <td> |
| <code>uint64</code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="MemoryStatsExtended.wired_bytes"> |
| <td><h3 id="MemoryStatsExtended.wired_bytes" class="add-link hide-from-toc">3</h3></td> |
| <td><code>wired_bytes</code></td> |
| <td> |
| <code>uint64</code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="MemoryStatsExtended.total_heap_bytes"> |
| <td><h3 id="MemoryStatsExtended.total_heap_bytes" class="add-link hide-from-toc">4</h3></td> |
| <td><code>total_heap_bytes</code></td> |
| <td> |
| <code>uint64</code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="MemoryStatsExtended.free_heap_bytes"> |
| <td><h3 id="MemoryStatsExtended.free_heap_bytes" class="add-link hide-from-toc">5</h3></td> |
| <td><code>free_heap_bytes</code></td> |
| <td> |
| <code>uint64</code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="MemoryStatsExtended.vmo_bytes"> |
| <td><h3 id="MemoryStatsExtended.vmo_bytes" class="add-link hide-from-toc">6</h3></td> |
| <td><code>vmo_bytes</code></td> |
| <td> |
| <code>uint64</code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="MemoryStatsExtended.vmo_pager_total_bytes"> |
| <td><h3 id="MemoryStatsExtended.vmo_pager_total_bytes" class="add-link hide-from-toc">7</h3></td> |
| <td><code>vmo_pager_total_bytes</code></td> |
| <td> |
| <code>uint64</code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="MemoryStatsExtended.vmo_pager_newest_bytes"> |
| <td><h3 id="MemoryStatsExtended.vmo_pager_newest_bytes" class="add-link hide-from-toc">8</h3></td> |
| <td><code>vmo_pager_newest_bytes</code></td> |
| <td> |
| <code>uint64</code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="MemoryStatsExtended.vmo_pager_oldest_bytes"> |
| <td><h3 id="MemoryStatsExtended.vmo_pager_oldest_bytes" class="add-link hide-from-toc">9</h3></td> |
| <td><code>vmo_pager_oldest_bytes</code></td> |
| <td> |
| <code>uint64</code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="MemoryStatsExtended.vmo_discardable_locked_bytes"> |
| <td><h3 id="MemoryStatsExtended.vmo_discardable_locked_bytes" class="add-link hide-from-toc">10</h3></td> |
| <td><code>vmo_discardable_locked_bytes</code></td> |
| <td> |
| <code>uint64</code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="MemoryStatsExtended.vmo_discardable_unlocked_bytes"> |
| <td><h3 id="MemoryStatsExtended.vmo_discardable_unlocked_bytes" class="add-link hide-from-toc">11</h3></td> |
| <td><code>vmo_discardable_unlocked_bytes</code></td> |
| <td> |
| <code>uint64</code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="MemoryStatsExtended.mmu_overhead_bytes"> |
| <td><h3 id="MemoryStatsExtended.mmu_overhead_bytes" class="add-link hide-from-toc">12</h3></td> |
| <td><code>mmu_overhead_bytes</code></td> |
| <td> |
| <code>uint64</code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="MemoryStatsExtended.ipc_bytes"> |
| <td><h3 id="MemoryStatsExtended.ipc_bytes" class="add-link hide-from-toc">13</h3></td> |
| <td><code>ipc_bytes</code></td> |
| <td> |
| <code>uint64</code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="MemoryStatsExtended.other_bytes"> |
| <td><h3 id="MemoryStatsExtended.other_bytes" class="add-link hide-from-toc">14</h3></td> |
| <td><code>other_bytes</code></td> |
| <td> |
| <code>uint64</code> |
| </td> |
| <td></td> |
| </tr> |
| </table> |
| |
| ### PerCpuStats {#PerCpuStats data-text="PerCpuStats"} |
| |
| |
| *Defined in [fuchsia.kernel/kernel-stats.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.kernel/kernel-stats.fidl;l=43)* |
| |
| <table> |
| <tr><th>Ordinal</th><th>Field</th><th>Type</th><th>Description</th></tr> |
| <tr id="PerCpuStats.cpu_number"> |
| <td><h3 id="PerCpuStats.cpu_number" class="add-link hide-from-toc">1</h3></td> |
| <td><code>cpu_number</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="PerCpuStats.flags"> |
| <td><h3 id="PerCpuStats.flags" class="add-link hide-from-toc">2</h3></td> |
| <td><code>flags</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="PerCpuStats.idle_time"> |
| <td><h3 id="PerCpuStats.idle_time" class="add-link hide-from-toc">3</h3></td> |
| <td><code>idle_time</code></td> |
| <td> |
| <code><a class='link' href='../zx/'>zx</a>/<a class='link' href='../zx/#duration'>duration</a></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="PerCpuStats.reschedules"> |
| <td><h3 id="PerCpuStats.reschedules" class="add-link hide-from-toc">4</h3></td> |
| <td><code>reschedules</code></td> |
| <td> |
| <code>uint64</code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="PerCpuStats.context_switches"> |
| <td><h3 id="PerCpuStats.context_switches" class="add-link hide-from-toc">5</h3></td> |
| <td><code>context_switches</code></td> |
| <td> |
| <code>uint64</code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="PerCpuStats.irq_preempts"> |
| <td><h3 id="PerCpuStats.irq_preempts" class="add-link hide-from-toc">6</h3></td> |
| <td><code>irq_preempts</code></td> |
| <td> |
| <code>uint64</code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="PerCpuStats.yields"> |
| <td><h3 id="PerCpuStats.yields" class="add-link hide-from-toc">7</h3></td> |
| <td><code>yields</code></td> |
| <td> |
| <code>uint64</code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="PerCpuStats.ints"> |
| <td><h3 id="PerCpuStats.ints" class="add-link hide-from-toc">8</h3></td> |
| <td><code>ints</code></td> |
| <td> |
| <code>uint64</code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="PerCpuStats.timer_ints"> |
| <td><h3 id="PerCpuStats.timer_ints" class="add-link hide-from-toc">9</h3></td> |
| <td><code>timer_ints</code></td> |
| <td> |
| <code>uint64</code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="PerCpuStats.timers"> |
| <td><h3 id="PerCpuStats.timers" class="add-link hide-from-toc">10</h3></td> |
| <td><code>timers</code></td> |
| <td> |
| <code>uint64</code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="PerCpuStats.page_faults"> |
| <td><h3 id="PerCpuStats.page_faults" class="add-link hide-from-toc">11</h3></td> |
| <td><code>page_faults</code></td> |
| <td> |
| <code>uint64</code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="PerCpuStats.exceptions"> |
| <td><h3 id="PerCpuStats.exceptions" class="add-link hide-from-toc">12</h3></td> |
| <td><code>exceptions</code></td> |
| <td> |
| <code>uint64</code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="PerCpuStats.syscalls"> |
| <td><h3 id="PerCpuStats.syscalls" class="add-link hide-from-toc">13</h3></td> |
| <td><code>syscalls</code></td> |
| <td> |
| <code>uint64</code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="PerCpuStats.reschedule_ipis"> |
| <td><h3 id="PerCpuStats.reschedule_ipis" class="add-link hide-from-toc">14</h3></td> |
| <td><code>reschedule_ipis</code></td> |
| <td> |
| <code>uint64</code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="PerCpuStats.generic_ipis"> |
| <td><h3 id="PerCpuStats.generic_ipis" class="add-link hide-from-toc">15</h3></td> |
| <td><code>generic_ipis</code></td> |
| <td> |
| <code>uint64</code> |
| </td> |
| <td></td> |
| </tr> |
| </table> |
| |
| |
| |
| |
| ## **CONSTANTS** |
| |
| <table> |
| <tr><th>Name</th><th>Value</th><th>Type</th><th>Description</th></tr> |
| <tr id="DEBUG_COMMAND_MAX"> |
| <td><a href="https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.kernel/kernel-debug.fidl;l=9">DEBUG_COMMAND_MAX</a></td> |
| <td> |
| <code>1024</code> |
| </td> |
| <td><code>uint32</code></td> |
| <td><p>Maximum number of bytes in a command string</p> |
| </td> |
| </tr> |
| </table> |