Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
at v6.12 73 lines 1.8 kB view raw
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