23 lines
411 B
C
23 lines
411 B
C
|
#pragma once
|
||
|
|
||
|
#include <stdint.h>
|
||
|
|
||
|
struct MemorySegment {
|
||
|
uint64_t addr;
|
||
|
uint64_t len;
|
||
|
uint32_t type;
|
||
|
uint32_t reserved;
|
||
|
} __attribute__((packed));
|
||
|
|
||
|
struct MemoryMap {
|
||
|
uint32_t entry_size;
|
||
|
uint32_t entry_version;
|
||
|
struct MemorySegment entries[];
|
||
|
} __attribute__((packed));
|
||
|
|
||
|
uint32_t memory_total(void);
|
||
|
uint32_t memory_free(void);
|
||
|
uint32_t memory_used(void);
|
||
|
|
||
|
void memory_init(void);
|