summaryrefslogtreecommitdiff
path: root/include/memory/physalloc.h
blob: e95e4180342d3e8442fd004ac705c4f4e8a4f100 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#pragma once

#ifndef MEMORY_INTERNAL
	#error "Do not include headers from <memory/___.h>, only use <memory.h>"
#endif

/**
 * Allocates a single physical page in memory
 * @preturns the physical address of the page
 */
void *alloc_phys_page(void);

/**
 * Allocates count physical pages in memory
 * @returns the physical address of the first page
 */
void *alloc_phys_pages(int count);

/**
* Frees a single physical page in memory
 * @param ptr - the physical address of the page
 */
void free_phys_page(void *ptr);

/**
 * Frees count physical pages in memory
 * @param ptr - the physical address of the first page
 * @param count - the number of pages in the list
 */
void free_phys_pages(void *ptr, int count);