Project: /_project.yaml Book: /_book.yaml

fuchsia.hardware.cpu.insntrace

PROTOCOLS

Controller {:#Controller}

Defined in fuchsia.hardware.cpu.insntrace/insntrace.fidl

Initialize {:#Initialize}

Initialize the trace. This does not include allocating space for the trace buffers, that is done later by |AllocateBuffer()|.

Request

Response

Terminate {:#Terminate}

Free all trace buffers and any other resources allocated for the trace. This is also done when the connection is closed (as well as stopping the trace). May be called multiple times. This can only fail when tracing in THREAD mode where tracing is terminated differently, in which case the error is ZX_ERR_BAD_STATE.

Request

Response

GetAllocation {:#GetAllocation}

Return the trace allocation configuration.

Request

Response

AllocateBuffer {:#AllocateBuffer}

Allocate a trace buffer. When tracing cpus, buffers are auto-assigned to cpus: the resulting trace buffer descriptor is the number of the cpu using the buffer.

Request

Response

AssignThreadBuffer {:#AssignThreadBuffer}

Assign a buffer to a thread.

Request

Response

ReleaseThreadBuffer {:#ReleaseThreadBuffer}

Release a previously assigned buffer from a thread.

Request

Response

GetBufferConfig {:#GetBufferConfig}

Fetch a buffer's configuration.

Request

Response

GetBufferState {:#GetBufferState}

Fetch runtime information about a buffer.

Request

Response

GetChunkHandle {:#GetChunkHandle}

Fetch the handle of a chunk of a trace buffer.

Request

Response

FreeBuffer {:#FreeBuffer}

Free a previously allocated trace buffer.

Request

Response

Start {:#Start}

Start tracing. Must be called after |Initialize()| + |AllocateBuffer()|, with tracing off.

Request

Response

Stop {:#Stop}

Stop tracing. May be called any time after |Allocate()| has been called and before |Free()|. If called at other times the call is ignored. May be called multiple times.

Request

Response

STRUCTS

Controller_Initialize_Response {:#Controller_Initialize_Response}

Defined in fuchsia.hardware.cpu.insntrace/generated

Controller_Terminate_Response {:#Controller_Terminate_Response}

Defined in fuchsia.hardware.cpu.insntrace/generated

Controller_AllocateBuffer_Response {:#Controller_AllocateBuffer_Response}

Defined in fuchsia.hardware.cpu.insntrace/generated

Controller_AssignThreadBuffer_Response {:#Controller_AssignThreadBuffer_Response}

Defined in fuchsia.hardware.cpu.insntrace/generated

Controller_ReleaseThreadBuffer_Response {:#Controller_ReleaseThreadBuffer_Response}

Defined in fuchsia.hardware.cpu.insntrace/generated

Allocation {:#Allocation}

Defined in fuchsia.hardware.cpu.insntrace/insntrace.fidl

The allocation configuration of a trace.

AddressRange {:#AddressRange}

Defined in fuchsia.hardware.cpu.insntrace/insntrace.fidl

An address range, as [start,end].

BufferConfig {:#BufferConfig}

Defined in fuchsia.hardware.cpu.insntrace/insntrace.fidl

A buffer's configuration.

BufferState {:#BufferState}

Defined in fuchsia.hardware.cpu.insntrace/insntrace.fidl

A buffer's runtime state.

ENUMS

Mode {:#Mode}

Type: uint8

Defined in fuchsia.hardware.cpu.insntrace/insntrace.fidl

Tracing modes

UNIONS

Controller_Initialize_Result {:#Controller_Initialize_Result}

Defined in fuchsia.hardware.cpu.insntrace/generated

Controller_Terminate_Result {:#Controller_Terminate_Result}

Defined in fuchsia.hardware.cpu.insntrace/generated

Controller_AllocateBuffer_Result {:#Controller_AllocateBuffer_Result}

Defined in fuchsia.hardware.cpu.insntrace/generated

Controller_AssignThreadBuffer_Result {:#Controller_AssignThreadBuffer_Result}

Defined in fuchsia.hardware.cpu.insntrace/generated

Controller_ReleaseThreadBuffer_Result {:#Controller_ReleaseThreadBuffer_Result}

Defined in fuchsia.hardware.cpu.insntrace/generated

CONSTANTS