X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=KernelLand%2FKernel%2Finclude%2Flogdebug.h;h=987a6a895e9eb60994ece99c7e0d12ac67b3d727;hb=ac32205b722276a0e7502e3ab003171f852341de;hp=4e975fb951113f93219caee1889752c34a2dc440;hpb=eb5d87dc982056209e8bd616ed06dfdae73ef6fe;p=tpg%2Facess2.git diff --git a/KernelLand/Kernel/include/logdebug.h b/KernelLand/Kernel/include/logdebug.h index 4e975fb9..987a6a89 100644 --- a/KernelLand/Kernel/include/logdebug.h +++ b/KernelLand/Kernel/include/logdebug.h @@ -10,6 +10,10 @@ #include +#ifndef NORETURN +#define NORETURN __attribute__((noreturn)) +#endif + // --- Logging --- /** * \name Logging to kernel ring buffer @@ -32,7 +36,7 @@ extern void Log_Debug(const char *Ident, const char *Message, ...); * \{ */ extern void Debug_KernelPanic(void); //!< Initiate a kernel panic -extern void Panic(const char *Msg, ...); //!< Print a panic message (initiates a kernel panic) +extern void Panic(const char *Msg, ...) NORETURN; //!< Print a panic message (initiates a kernel panic) extern void Warning(const char *Msg, ...); //!< Print a warning message extern void LogF(const char *Fmt, ...); //!< Print a log message without a trailing newline extern void LogFV(const char *Fmt, va_list Args); //!< va_list non-newline log message @@ -43,6 +47,7 @@ extern void Debug_Enter(const char *FuncName, const char *ArgTypes, ...); extern void Debug_Log(const char *FuncName, const char *Fmt, ...); extern void Debug_Leave(const char *FuncName, char RetType, ...); extern void Debug_HexDump(const char *Header, const void *Data, size_t Length); + #define UNIMPLEMENTED() Warning("'%s' unimplemented", __func__) #if DEBUG # define ENTER(_types...) Debug_Enter((char*)__func__, _types)