Kintsugi OS 0.2.0
x86 Monolithic OS
Loading...
Searching...
No Matches
mem.c File Reference
#include "mem.h"
#include "../drivers/screen.h"
#include "../kernel/sysinfo.h"
#include "ctypes.h"
#include "paging.h"
#include "stdio.h"
#include "stdlib.h"

Functions

void heap_init ()
 Инициализация хипа
 
int expand_heap (u32 size)
 Увеличение хипа
 
void * kmalloc (u32 size)
 Аллокация памяти
 
void * krealloc (void *ptr, u32 size)
 Реаллокация памяти
 
void kfree (void *ptr)
 Освобождение памяти
 
meminfo_t get_meminfo ()
 Получение информации о памяти
 
void kmemdump ()
 Информация о памяти
 
void get_freememaddr ()
 Получение адреса свободной памяти
 

Variables

u32 free_mem_addr = HEAP_START
 
static mem_block_tfree_blocks = NULL
 
u32 heap_current_end = HEAP_START + HEAP_SIZE
 

Function Documentation

◆ expand_heap()

int expand_heap ( u32  size)

Увеличение хипа

Parameters
sizeразмер
Returns
int

◆ get_freememaddr()

void get_freememaddr ( )

Получение адреса свободной памяти

◆ get_meminfo()

meminfo_t get_meminfo ( )

Получение информации о памяти

Returns
meminfo_t

◆ heap_init()

void heap_init ( )

Инициализация хипа

◆ kfree()

void kfree ( void *  ptr)

Освобождение памяти

Parameters
ptrуказатель

◆ kmalloc()

void * kmalloc ( u32  size)

Аллокация памяти

Parameters
sizeразмер
Returns
void*

◆ kmemdump()

void kmemdump ( )

Информация о памяти

◆ krealloc()

void * krealloc ( void *  ptr,
u32  size 
)

Реаллокация памяти

Parameters
ptrуказатель
sizeразмер
Returns
void*

Variable Documentation

◆ free_blocks

mem_block_t* free_blocks = NULL
static

◆ free_mem_addr

u32 free_mem_addr = HEAP_START

◆ heap_current_end

u32 heap_current_end = HEAP_START + HEAP_SIZE