tape-kernel
1.0
a modular modern independent kernel
Loading...
Searching...
No Matches
mem.c
Go to the documentation of this file.
1
//src/mem/mem.c - general memory funcs
2
#include "
../lib/types.h
"
3
#include "
mem.h
"
4
5
/**
6
* @brief fetches memory size and returns it
7
*
8
* when using memsize it needs to be passed the multiboot info parameter inside kmain
9
* using memsize is done with:
10
* @code{.c}
11
* #include "../mem/mem.h" //or just mem.h
12
* uint32_t memory_size = memsize(mb_info); //or your multiboot info var
13
* @endcode
14
*
15
* @see kmain(), boot.s
16
*/
17
uint32_t
__memsize
(
void
*mb_info) {
18
if
(mb_info ==
NULL
)
return
0;
19
20
uint32_t
mem_lower = *(
uint32_t
*)((
uint8_t
*)mb_info + 4);
21
uint32_t
mem_upper = *(
uint32_t
*)((
uint8_t
*)mb_info + 8);
22
23
return
mem_lower + mem_upper;
24
}
25
__memsize
uint32_t __memsize(void *mb_info)
fetches memory size and returns it
Definition
mem.c:17
mem.h
types.h
NULL
#define NULL
Definition
types.h:38
uint32_t
unsigned int uint32_t
Definition
types.h:30
uint8_t
unsigned char uint8_t
Definition
types.h:28
src
mem
mem.c
Generated by
1.16.1