#include <stdarg.h>
#include "common/io.h"
Go to the source code of this file.
◆ BochsBreak
#define BochsBreak |
( |
| ) |
outw(0x8A00,0x8A00); outw(0x8A00,0x08AE0); |
◆ DEBUG_MODE
◆ kdebug
#define kdebug |
( |
|
fmt, |
|
|
|
... |
|
) |
| kprintf("%s:%d: ", __FILE__, __LINE__); kprintf(fmt, __VA_ARGS__); kprintf("\n"); |
◆ kernel_halt()
◆ kernel_main()
void kernel_main |
( |
uint32_t |
magic, |
|
|
void * |
info_ptr |
|
) |
| |
Kernel C entry point.
References process::argc, process::argv, assert, base_address, Graphics::clear_screen(), COM1, disk_search_and_init(), tss::esp0, fat16_init_filesystem(), fs_init(), fs_insert_filesystem(), gdt_load(), gdt_read(), gdt_real, gdt_structured_to_gdt(), Bootloader::get_heap_base_address(), Bootloader::get_heap_size(), Graphics::GREY, idt_Init(), idt_Load(), idt_SetDescriptor(), idt_SetHandler(), GitBoot::init(), Multiboot::init(), PS2Mouse::instance(), KERNEL_DATA_SELECTOR, kernel_exception(), kernel_panic(), kheap_init(), kprintf(), length_in_bytes, magic, memset(), PAGING_ACCESS_FROM_ALL, paging_enable(), PAGING_IS_PRESENT, PAGING_IS_WRITEABLE, paging_new_directory(), paging_switch(), pic_Remap(), pic_SetHz(), process_load_switch(), ps2keyboard_setup(), ser_Init(), Graphics::set_text_color(), tss::ss0, gdt_descriptor::start_address, syscall_init(), syscall_wrapper(), task_run_first_ever_task(), Bootloader::the(), VBEGraphics::the(), timer_interrupt(), TOTAL_GDT_SEGMENTS, and tss_load().
◆ kernel_page()
◆ kernel_panic()
void kernel_panic |
( |
const char * |
fmt, |
|
|
|
... |
|
) |
| |
◆ 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
-
fmt | Message to format and print. |
... | Arguments |
References COM1, kvsprintf(), memset(), and ser_PrintString().
◆ kernel_end
const uint32_t kernel_end |
|
extern |
◆ kernel_start
const uint32_t kernel_start |
|
extern |