Support debugging of the operating system.
More...
|
| #define | STRINGIFY(S) |
| | Converts a macro parameter into a string.
|
| #define | assert_size(TYPE, SIZE) |
| | Statically ensure (at compile time) that a data type (or variable) has the expected size.
|
| #define | assert(EXP) |
| | Ensure (at execution time) an expression evaluates to true, print an error message and stop the CPU otherwise.
|
| #define | kernelpanic(MSG) |
| | Print an error message in the debug window and stop the current core.
|
Support debugging of the operating system.
◆ STRINGIFY
Value:
Converts a macro parameter into a string.
- Parameters
-
| S | Expression to be converted |
- Returns
- stringified version of S
◆ assert_size
| #define assert_size |
( |
| TYPE, |
|
|
| SIZE ) |
Value: static_assert(
sizeof(TYPE) == (SIZE),
"Wrong size for " STRINGIFY(TYPE))
#define STRINGIFY(S)
Converts a macro parameter into a string.
Definition assert.h:18
Statically ensure (at compile time) that a data type (or variable) has the expected size.
- Parameters
-
| TYPE | The type to be checked |
| SIZE | Expected size in bytes |
◆ assert
Value: do { \
if (__builtin_expect(!(EXP), 0)) { \
assertion_failed(
STRINGIFY(EXP), __func__, __FILE__, __LINE__); \
} \
} while (false)
Ensure (at execution time) an expression evaluates to true, print an error message and stop the CPU otherwise.
- Parameters
-
| EXP | The expression to be checked |
◆ kernelpanic
| #define kernelpanic |
( |
| MSG | ) |
|
Value: do { \
DBG <<
"PANIC: '" << (MSG) <<
"' in " << __func__ \
<< " @ " << __FILE__ << ":" << __LINE__ \
<< flush; \
Core::die(); \
} while (0)
#define DBG
An output stream, which is displayed in the debug window of the core it was executed on.
Definition output.h:34
Print an error message in the debug window and stop the current core.
- Parameters
-