uCode issues this "alive" notification once the runtime image is ready to receive commands from the driver. This is the *second* "alive" notification that the driver will receive after rebooting uCode; this "alive" is indicated by subtype field != 9.
See comments documenting "BSM" (bootstrap state machine).
This response includes two pointers to structures within the device's data SRAM (access via HBUS_TARG_MEM_* regs) that are useful for debugging:
1) log_event_table_ptr indicates base of the event log. This traces a 256-entry history of uCode execution within a circular buffer. Its header format is:
__le32 log_size; log capacity (in number of entries) __le32 type; (1) timestamp with each entry, (0) no timestamp __le32 wraps; # times uCode has wrapped to top of circular buffer __le32 write_index; next circular buffer entry that uCode would fill
__le32 event_id; range 0 - 1500 __le32 timestamp; low 32 bits of TSF (of network, if associated) __le32 data; event_id-specific data value
Entries without timestamps contain only event_id and data.
__le32 valid; (nonzero) valid, (0) log is empty __le32 error_id; type of error __le32 pc; program counter __le32 blink1; branch link __le32 blink2; branch link __le32 ilink1; interrupt link __le32 ilink2; interrupt link __le32 data1; error-specific data __le32 data2; error-specific data __le32 line; source code line of error __le32 bcon_time; beacon timer __le32 tsf_low; network timestamp function timer __le32 tsf_hi; network timestamp function timer