Unterstützung bei der Entkäferung des Betriebssystems.
Mehr ...
|
class | GDB_Stub |
| GDB Remote Stub KlasseDiese Klasse ermöglicht ein entferntes Debuggen des Betriebssystems mit GDB auf echter Hardware (aber auch im Emulator), in dem sie einen Teil des GDB Remote Serial Protocols (RSP) implementiert, eigene Unterbrechungsbehandlungsroutinen für Traps installiert und über die serielle Schnittstelle kommuniziert. Mehr ...
|
|
class | Null_Stream |
| Die Klasse Null_Stream ignoriert alle mittels Streamoperator übergebenen Daten. Mehr ...
|
|
|
#define | STRINGIFY(S) #S |
| Wandle den Makroparameter in eine Zeichenkette um. Mehr ...
|
|
#define | assert_size(TYPE, SIZE) static_assert(sizeof(TYPE) == (SIZE), "Wrong size for " STRINGIFY(TYPE)) |
| Prüfe zur Übersetzungszeit, ob ein Datentyp (oder Variable) die vorgegebene statische Speichergröße besitzt. Mehr ...
|
|
#define | assert(EXP) |
| Prüfe, ob ein Ausdruck korrekt ist, oder gib eine Fehlermeldung aus und stoppe die CPU. Mehr ...
|
|
#define | kernelpanic(MSG) |
| Gebe eine Fehlermeldung aus und stoppe die CPU. Mehr ...
|
|
Unterstützung bei der Entkäferung des Betriebssystems.
◆ assert
Wert:do { \
if (__builtin_expect(!(EXP), 0)) { \
assertion_failed(
STRINGIFY(EXP), __func__, __FILE__, __LINE__); \
} \
} while(0)
#define STRINGIFY(S)
Wandle den Makroparameter in eine Zeichenkette um.
Definition: assert.h:20
Prüfe, ob ein Ausdruck korrekt ist, oder gib eine Fehlermeldung aus und stoppe die CPU.
- Parameter
-
EXP | zugesicherter (zu prüfender) Ausdruck |
◆ assert_size
#define assert_size |
( |
|
TYPE, |
|
|
|
SIZE |
|
) |
| static_assert(sizeof(TYPE) == (SIZE), "Wrong size for " STRINGIFY(TYPE)) |
Prüfe zur Übersetzungszeit, ob ein Datentyp (oder Variable) die vorgegebene statische Speichergröße besitzt.
- Parameter
-
TYPE | zu prüfender Datentyp |
SIZE | erwartete Speichergröße in Bytes |
◆ kernelpanic
#define kernelpanic |
( |
|
MSG | ) |
|
Wert:do { \
DBG << "PANIC: '" << (MSG) << "' in " << __func__ \
<< " @ " << __FILE__ << ":" << __LINE__ << ") - CPU stopped." \
} while(0)
O_Stream & endl(O_Stream &os)
Fügt einen Zeilenumbruch in die Ausgabe ein und löst ein Leeren (Flush) des Puffers aus...
Definition: o_stream.cc:139
static void die()
Prozessor dauerhaft anhalten.
Definition: cpu.h:103
Gebe eine Fehlermeldung aus und stoppe die CPU.
- Parameter
-
MSG | anzuzeigende Fehlermeldung |
◆ STRINGIFY
#define STRINGIFY |
( |
|
S | ) |
#S |
Wandle den Makroparameter in eine Zeichenkette um.
- Parameter
-
- Rückgabe
- Ausdruck als Zeichenkette