Barrelfish
Macros | Enumerations | Functions | Variables
logging.h File Reference

Kernel logging infrastructure headers. More...

Macros

#define debug(_subs, _fmt, ...)
 Log a kernel debug message. More...
 

Enumerations

Functions

void panic (const char *,...)
 Print a message and halt the kernel. More...
 
void printk (int level, const char *msg,...)
 Log a kernel message. More...
 

Variables

int kernel_loglevel
 
int kernel_log_subsystem_mask
 

Detailed Description

Kernel logging infrastructure headers.

All C source in the kernel should include this file first. This file should contain only definitions and prototypes that are required for the majority of kernel code.

Macro Definition Documentation

#define debug (   _subs,
  _fmt,
  ... 
)
Value:
do { \
printk(LOG_DEBUG, _fmt, ## __VA_ARGS__); \
} while(0)
int kernel_loglevel
Definition: logging.c:31
Debug.
Definition: logging.h:64
int kernel_log_subsystem_mask
Definition: logging.c:37
void printk(int level, const char *msg,...)
Log a kernel message.
Definition: logging.c:69

Log a kernel debug message.

Logs printf()-style debug message 'fmt' from subsystem 'subs' to the default kernel console(s). Additional arguments are like printf(). Whether the message is put out depends on the current kernel log level, as well as on the current kernel subsystem log mask. 'debug' is a macro so that the cost of marshalling the arguments is avoided if the relevant debugging is disabled.

Parameters
_subsSubsystem this message stems from.
_fmtThe message (printf() format string)

Enumeration Type Documentation

Kernel message loglevels.

Enumerator
LOG_PANIC 

Panic.

LOG_ERR 

Error.

LOG_WARN 

Warning.

LOG_NOTE 

Notice.

LOG_DEBUG 

Debug.

Kernel subsystems.

Enumerator
SUBSYS_STARTUP 

Startup.

SUBSYS_GDB 

GDB stub.

SUBSYS_APIC 

APIC driver.

SUBSYS_ELF 

ELF64 loader.

SUBSYS_PAGING 

Paging.

SUBSYS_SYSCALL 

System calls.

SUBSYS_CAPS 

Capabilities.

SUBSYS_DISPATCH 

Scheduling and dispatch.

SUBSYS_IO 

Low-level IO operations.

Function Documentation

void panic ( const char *  msg,
  ... 
)

Print a message and halt the kernel.

Something irrecoverably bad happened. Print a panic message, then halt.

void printk ( int  level,
const char *  msg,
  ... 
)

Log a kernel message.

Logs printf()-style message 'msg', having loglevel 'level' to the default kernel console(s). Additional arguments are like printf(). Whether the message is put out depends on the current kernel log level.

Parameters
levelLoglevel of message.
msgThe message (printf() format string)

Variable Documentation

int kernel_log_subsystem_mask

Command-line variable to control which subsystems log. Bits defined SUBSYS_* definitions in this file.

Default kernel subsystem message mask. Determines messages of what subsystems get output.

int kernel_loglevel

Command-line variable to set kernel logging level.

Global kernel loglevel.