HAL

Display current HAL resource usage

HAL

Debug the SDK’s DMA-memory allocator: usage statistics, allocation tracing and tracking, and fill patterns. Every form needs the dma keyword; without it the shell prints the usage.

HAL dma

Show DMA memory statistics: total, reserved, current and maximum usage (in bytes and as a percentage), and the unused size with the number of areas. Fields that cannot be read show n/a. Read-only.

Unvalidated

drivshell> hal dma
HAL dma sys [debug]

The same statistics, read from the underlying system DMA allocator. debug adds allocator debug output. Read-only.

Unvalidated

drivshell> hal dma sys
HAL dma status

Show the current trace, track and fill settings. Read-only.

Unvalidated

drivshell> hal dma status
HAL dma trace <prefix>

Print allocations as they happen when their ID starts with <prefix>. * traces all allocations and - turns tracing off. hal dma notrace <prefix> sets the exclusion list, and hal dma track <prefix> chooses which allocations hal dma dump records. A missing prefix prints the usage. Changes debug settings only.

Unvalidated

drivshell> hal dma trace -
HAL dma dump [bytes | chunks | raw]

Dump the tracked allocations: the plain list, totals by bytes or by chunks, or the list with internal control data (raw). Any other option prints Error: unknown or unsupported option. Read-only.

Unvalidated

drivshell> hal dma dump bytes
HAL dma fill

Fill allocated and freed DMA memory with a fixed pattern. This is the default; hal dma nofill turns it off. Changes allocator behaviour.

Unvalidated

drivshell> hal dma fill

Built-in help

hal dma trace|notrace|track|status|fill|nofill|sys [-|<prefix>]
hal dma dump [bytes|chunks|raw]

Track or trace memory allocations through the HAL API.

Traced allocations will be shown in real time according
to the specified trace prefix list. Special prefix string
'*' means all and '-' means off.

The trace function also supports an exclusion list of
prefix strings (notrace).

Tracked allocations will be shown via the dump command
according to the specified track prefix. Specifying 'bytes'
or 'chunks' will dump a consolidated list of allocation IDs
sorted either by number of bytes or chunks allocated.
Specifying 'raw' will dump additional internal control data
for each tracked allocation.

A tilde (~) in the prefix will match any uppercase character.
This feature can be used to match a prefix which is a
sub-string of another prefix. For example 'bcmlt~' will
match 'bcmltHdl', but not 'bcmltmInfo', while 'bcmlt' will
match both.

Allocated and freed memory will be filled with a fixed
pattern by default. Use nofill/fill to turn this off/on.

The sys command will extract statistics from the underlying
(system-provided) DMA memory allocator (if supported).