LF OS
Hobby operating system for amd64 with high ambitions
Loading...
Searching...
No Matches
mm.h
Go to the documentation of this file.
1#ifndef _MM_H_INCLUDED
2#define _MM_H_INCLUDED
3
4#include <stdint.h>
5
6#define KiB (1024)
7#define MiB (1024ULL * KiB)
8#define GiB (1024ULL * MiB)
9#define TiB (1024ULL * GiB)
10
17
23
24void* mm_alloc_pages(uint64_t count);
25
33void mm_set_caching_mode(mm_caching_mode_t mode, ptr_t start, size_t len);
34
42void mm_mark_physical_pages(ptr_t start, uint64_t count, mm_page_status_t status);
43
51
53
54void mm_bootstrap(ptr_t usable_page);
55
57
58#endif
uint64_t address
Definition acpi.h:4
uint64_t ptr_t
Definition arch.h:17
unsigned long uint64_t
Definition arch.h:14
void mm_bootstrap(ptr_t usable_page)
Definition mm.c:76
void * mm_alloc_pages(uint64_t count)
Definition mm.c:24
void mm_print_physical_free_regions(void)
Definition mm.c:154
void mm_mark_physical_pages(ptr_t start, uint64_t count, mm_page_status_t status)
Definition mm.c:93
mm_caching_mode_t
Definition mm.h:18
@ MM_WRITETHROUGH
Definition mm.h:20
@ MM_WRITEBACK
Definition mm.h:21
@ MM_UNCACHED
Definition mm.h:19
void mm_make_writeable(ptr_t address, int writeable)
ptr_t mm_highest_address(void)
Definition mm.c:166
void mm_set_caching_mode(mm_caching_mode_t mode, ptr_t start, size_t len)
mm_page_status_t
Definition mm.h:11
@ MM_UNKNOWN
Definition mm.h:12
@ MM_UEFI_MAPPING_REQUIRED
Definition mm.h:15
@ MM_FREE
Definition mm.h:13
@ MM_RESERVED
Definition mm.h:14
unsigned int writeable
Definition vm.c:1