GitOS
Operating system exercise
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()   outw(0x8A00,0x8A00); outw(0x8A00,0x08AE0);
 
#define kdebug(fmt, ...)   kprintf("%s:%d: ", __FILE__, __LINE__); kprintf(fmt, __VA_ARGS__); kprintf("\n");
 

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 ( )    outw(0x8A00,0x8A00); outw(0x8A00,0x08AE0);

◆ DEBUG_MODE

#define DEBUG_MODE

◆ kdebug

#define kdebug (   fmt,
  ... 
)    kprintf("%s:%d: ", __FILE__, __LINE__); kprintf(fmt, __VA_ARGS__); kprintf("\n");

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(), Graphics::print_string_color(), and ser_PrintString().

◆ kernel_registers()

void kernel_registers ( )
extern

◆ 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