FrostWing
A lightweight raw-control operating system.
Loading...
Searching...
No Matches
kernel.h File Reference

The basic requirement from kernel to other parts of the code. More...

#include <flanterm/flanterm.h>
#include <fb.h>
#include <hal.h>
#include <acpi.h>
#include <acpi-shutdown.h>
#include <pci.h>
#include <graphics.h>
#include <opengl/glcontext.h>
#include <opengl/glbackend.h>
#include <stddef.h>
#include <stdint.h>
#include <limine.h>
#include <memory.h>
#include <strings.h>
#include <math/fpu.h>
#include <sse.h>
#include <debugger.h>
#include <drivers/serial.h>
#include <basics.h>
#include <cpuid2.h>
#include <heap.h>
#include <drivers/pc-speaker.h>
#include <drivers/rtl8139.h>
#include <versions.h>
#include <cc-asm.h>
#include <secure-boot.h>
#include <paging.h>
#include <algorithms/hashing.h>
#include <keyboard.h>
#include <linkedlist.h>
#include <ps2-mouse.h>
#include <image/targa.h>
#include <executables/fwde.h>
#include <fdlfcn.h>
#include <stream.h>
Include dependency graph for kernel.h:

Go to the source code of this file.

Macros

#define KERNEL_OFFSET   0xffffffff00000000
 Long story short: linker is a mole-rat and gives virtual addresses. But we asked the linker to allocate at this address, so we are spoofing its "security" to get the real memory address of kernel start and end.

Functions

void main (void)
 The main kernel function.

Variables

int8 kstart []
 The memory address where the kernel starts.
int8 kend []
 The memory address where the kernel ends.
int terminal_rows
 An integer value which stores terminal's rows.
int terminal_columns
 An integer value which stores terminal's columns.
int64 fb_width
 An integer value which stores the framebuffer's (display) width.
int64 fb_height
 An integer value which stores the framebuffer's (display) height.
int64 * wm_addr

Detailed Description

The basic requirement from kernel to other parts of the code.

Author
Pradosh (prado.nosp@m.shga.nosp@m.me@gm.nosp@m.ail..nosp@m.com)
Version
0.1
Date
2023-10-23

Definition in file kernel.h.

Macro Definition Documentation

◆ KERNEL_OFFSET

#define KERNEL_OFFSET   0xffffffff00000000

Long story short: linker is a mole-rat and gives virtual addresses. But we asked the linker to allocate at this address, so we are spoofing its "security" to get the real memory address of kernel start and end.

Definition at line 51 of file kernel.h.

Function Documentation

◆ main()

void main ( void )

The main kernel function.

Attention
main() to something else, make sure to change the linker script accordingly.