File Index
Files and directories
Sign in
FILE

ipc4-telemetry.h

File preview with syntax highlighting.

linux-6.19.14/sound/soc/sof/ipc4-telemetry.h C
 1/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause) */
 2/*
 3 * This file is provided under a dual BSD/GPLv2 license.  When using or
 4 * redistributing this file, you may do so under either license.
 5 *
 6 * Copyright(c) 2023 Intel Corporation
 7 */
 8
 9#ifndef __SOUND_SOC_SOF_IPC4_TELEMETRY_H
10#define __SOUND_SOC_SOF_IPC4_TELEMETRY_H
11
12/* Target code */
13enum sof_ipc4_coredump_tgt_code {
14	COREDUMP_TGT_UNKNOWN = 0,
15	COREDUMP_TGT_X86,
16	COREDUMP_TGT_X86_64,
17	COREDUMP_TGT_ARM_CORTEX_M,
18	COREDUMP_TGT_RISC_V,
19	COREDUMP_TGT_XTENSA,
20};
21
22#define COREDUMP_ARCH_HDR_ID 'A'
23#define COREDUMP_HDR_ID0 'Z'
24#define COREDUMP_HDR_ID1 'E'
25
26#define XTENSA_BLOCK_HDR_VER		2
27#define XTENSA_CORE_DUMP_SEPARATOR	0x0DEC0DEB
28#define XTENSA_CORE_AR_REGS_COUNT	16
29#define XTENSA_SOC_INTEL_ADSP		3
30#define XTENSA_TOOL_CHAIN_ZEPHYR	1
31#define XTENSA_TOOL_CHAIN_XCC		2
32
33/* Coredump header */
34struct sof_ipc4_coredump_hdr {
35	/* 'Z', 'E' as identifier of file */
36	char id[2];
37
38	/* Identify the version of the header */
39	u16 hdr_version;
40
41	/* Indicate which target (e.g. architecture or SoC) */
42	u16 tgt_code;
43
44	/* Size of uintptr_t in power of 2. (e.g. 5 for 32-bit, 6 for 64-bit) */
45	u8 ptr_size_bits;
46
47	u8 flag;
48
49	/* Reason for the fatal error */
50	u32 reason;
51} __packed;
52
53/* Architecture-specific block header */
54struct sof_ipc4_coredump_arch_hdr {
55	/* COREDUMP_ARCH_HDR_ID to indicate this is a architecture-specific block */
56	char id;
57
58	/* Identify the version of this block */
59	u16 hdr_version;
60
61	/* Number of bytes following the header */
62	u16 num_bytes;
63} __packed;
64
65struct sof_ipc4_telemetry_slot_data {
66	u32 separator;
67	struct sof_ipc4_coredump_hdr hdr;
68	struct sof_ipc4_coredump_arch_hdr arch_hdr;
69	u32 arch_data[];
70} __packed;
71
72void sof_ipc4_create_exception_debugfs_node(struct snd_sof_dev *sdev);
73#endif
~/ Read-only file preview.