GitOS
Loading...
Searching...
No Matches
kernel.h File Reference
#include <stdarg.h>
#include "common/io.h"

Go to the source code of this file.

Macros

#define DEBUG_MODE
#define BochsBreak()
#define kdebug(fmt, ...)

Functions

void kernel_main (uint32_t magic, void *info_ptr)
 Kernel C entry point.
void kernel_halt ()
void kernel_panic (const char *fmt,...)
 (Temporary) Prints kernel_message and halts the kernel.
void kernel_page ()
void kernel_registers ()
void kprintf (const char *fmt,...)
 Prints to kernel debug channels. Max length of processed message is 1024 characters.

Variables

const uint32_t kernel_start
const uint32_t kernel_end

Macro Definition Documentation

◆ BochsBreak

#define BochsBreak ( )
Value:
outw(0x8A00, 0x8A00); \
outw(0x8A00, 0x08AE0);
void outw(uint16_t port, uint16_t val)
Definition io.c:22

◆ DEBUG_MODE

#define DEBUG_MODE

◆ kdebug

#define kdebug ( fmt,
... )
Value:
kprintf("%s:%d: ", __FILE__, __LINE__); \
kprintf(fmt, __VA_ARGS__); \
kprintf("\n");
void kprintf(const char *fmt,...)
Prints to kernel debug channels. Max length of processed message is 1024 characters.
Definition kernel.cpp:365

Function Documentation

◆ kernel_halt()

void kernel_halt ( )

◆ kernel_main()

◆ kernel_page()

void kernel_page ( )

◆ kernel_panic()

void kernel_panic ( const char * fmt,
... )

(Temporary) Prints kernel_message and halts the kernel.

Parameters
fmtReason of the panic
...Arguments

References COM1, kernel_halt(), kvsprintf(), Graphics::LIGHT_RED, memset(), and ser_PrintString().

◆ kernel_registers()

void kernel_registers ( )
extern

References kernel_end, and kernel_start.

◆ kprintf()

void kprintf ( const char * fmt,
... )

Prints to kernel debug channels. Max length of processed message is 1024 characters.

Parameters
fmtMessage to format and print.
...Arguments

References COM1, kvsprintf(), memset(), and ser_PrintString().

Variable Documentation

◆ kernel_end

const uint32_t kernel_end
extern

◆ kernel_start

const uint32_t kernel_start
extern