at master 675 B view raw
1/* SPDX-License-Identifier: MIT */ 2 3/* Copyright 2024 Advanced Micro Devices, Inc. */ 4 5#ifndef SPL_DEBUG_H 6#define SPL_DEBUG_H 7 8#if defined(CONFIG_HAVE_KGDB) || defined(CONFIG_KGDB) 9#define SPL_ASSERT_CRITICAL(expr) do { \ 10 if (WARN_ON(!(expr))) { \ 11 kgdb_breakpoint(); \ 12 } \ 13} while (0) 14#else 15#define SPL_ASSERT_CRITICAL(expr) do { \ 16 if (WARN_ON(!(expr))) { \ 17 ; \ 18 } \ 19} while (0) 20#endif /* CONFIG_HAVE_KGDB || CONFIG_KGDB */ 21 22#if defined(CONFIG_DEBUG_KERNEL_DC) 23#define SPL_ASSERT(expr) SPL_ASSERT_CRITICAL(expr) 24#else 25#define SPL_ASSERT(expr) WARN_ON(!(expr)) 26#endif /* CONFIG_DEBUG_KERNEL_DC */ 27 28#define SPL_BREAK_TO_DEBUGGER() SPL_ASSERT(0) 29 30#endif // SPL_DEBUG_H