summaryrefslogtreecommitdiffhomepage
path: root/src/loader/inc/memory.h
blob: 1a74884f6a658034bf53eee839088945a1e68f54 (plain) (blame)
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
31
32
// MIT License, Copyright (c) 2021 Marvin Borner

#ifndef MEMORY_H
#define MEMORY_H

#include <def.h>

enum memory_entry_type {
	MEMORY_NONE,
	MEMORY_USABLE,
	MEMORY_RESERVED,
	MEMORY_RECLAIMABLE,
	MEMORY_ACPI_NVS,
	MEMORY_UNUSABLE,
};

// Generalised memory map entry struct
struct memory_entry {
	u32 base;
	u32 length;
	u32 type;
};

struct memory_map {
	struct memory_entry *entry;
	u32 count;
};

void memory_map(void);
struct memory_map *memory_map_get(void);

#endif