3 #ifndef SOC_INTEL_COMMON_BLOCK_CRASHLOG_H
4 #define SOC_INTEL_COMMON_BLOCK_CRASHLOG_H
16 #define PMC_IPC_CMD_CRASHLOG 0xA6
17 #define PMC_IPC_CMD_ID_CRASHLOG_DISCOVERY 0x01
18 #define PMC_IPC_CMD_ID_CRASHLOG_DISABLE 0x02
19 #define PMC_IPC_CMD_ID_CRASHLOG_ERASE 0x04
20 #define PMC_IPC_CMD_ID_CRASHLOG_ON_RESET 0x05
21 #define PMC_IPC_CMD_ID_CRASHLOG_RE_ARM_ON_RESET 0x06
24 #define CPU_CRASHLOG_CMD_DISABLE 0
25 #define CPU_CRASHLOG_CMD_CLEAR 2
26 #define CPU_CRASHLOG_MAILBOX_WAIT_STALL 1
27 #define CPU_CRASHLOG_MAILBOX_WAIT_TIMEOUT 1000
28 #define CPU_CRASHLOG_DISC_TAB_GUID_VALID 0x1600
30 #define CRASHLOG_SIZE_DEBUG_PURPOSE 0x640
39 }
__packed pmc_crashlog_discov_region_t;
43 pmc_crashlog_discov_region_t regions[256];
44 }
__packed pmc_crashlog_desc_table_t;
128 }
__packed cpu_crashlog_buffer_info_t;
135 }
__packed cpu_crashlog_discovery_table_t;
179 0x81212a96, 0x09ed, 0x4996,
180 { 0x94, 0x71, 0x8d, 0x72, 0x9c, 0x8e, 0x69, 0xed }
static pmc_crashlog_desc_table_t descriptor_table
bool cl_fill_pmc_records(void *cl_record)
bool cl_pmc_sram_has_mmio_access(void)
void collect_pmc_and_cpu_crashlog_from_srams(void)
bool cl_pmc_data_present(void)
int cl_get_total_data_size(void)
bool discover_crashlog(void)
int cl_get_pmc_record_size(void)
int cpu_cl_clear_data(void)
cpu_crashlog_discovery_table_t cl_get_cpu_discovery_table(void)
int cl_pmc_re_arm_after_reset(void)
bool cl_copy_data_from_sram(u32 src_bar, u32 offset, u32 size, u32 *dest_addr, u32 buffer_index, bool pmc_sram)
int pmc_cl_gen_descriptor_table(u32 desc_table_addr, pmc_crashlog_desc_table_t *descriptor_table)
pmc_ipc_discovery_buf_t cl_get_pmc_discovery_buf(void)
void cl_get_cpu_sram_data(void)
u32 cl_get_cpu_mb_int_addr(void)
int cl_get_cpu_record_size(void)
int cpu_cl_mailbox_cmd(u8 cmd, u8 param)
bool cl_cpu_data_present(void)
static const EFI_GUID FW_ERR_SECTION_GUID
bool pmc_crashlog_support(void)
void update_new_pmc_crashlog_size(u32 *pmc_crash_size)
u32 cl_get_cpu_bar_addr(void)
void update_new_cpu_crashlog_size(u32 *cpu_crash_size)
pmc_crashlog_desc_table_t cl_get_pmc_descriptor_table(void)
bool cpu_crashlog_support(void)
bool cpu_cl_discovery(void)
u32 cl_get_cpu_tmp_bar(void)
bool cl_fill_cpu_records(void *cl_record)
int cpu_cl_poll_mailbox_ready(u32 cl_mailbox_addr)
int cl_pmc_en_gen_on_all_reboot(void)
bool pmc_cl_discovery(void)
void cl_get_pmc_sram_data(void)
u32 cl_gen_cpu_bar_addr(void)
void reset_discovery_buffers(void)
uint8_t buffers[3][CACHE_LINE_SIZE]
u32 discovery_table_offset
discovery_data_t discovery_data
cpu_crashlog_mailbox_t cmd_mailbox
cpu_crashlog_header_t header