rulimine/stage2/mm/pmm.h

29 lines
922 B
C
Raw Normal View History

2020-09-20 13:03:44 +03:00
#ifndef __MM__PMM_H__
#define __MM__PMM_H__
2020-06-05 18:51:33 +03:00
#include <stdint.h>
2020-09-18 21:02:10 +03:00
#include <sys/e820.h>
2020-06-05 18:51:33 +03:00
#define MEMMAP_USABLE 1
#define MEMMAP_RESERVED 2
#define MEMMAP_ACPI_RECLAIMABLE 3
#define MEMMAP_ACPI_NVS 4
#define MEMMAP_BAD_MEMORY 5
#define MEMMAP_BOOTLOADER_RECLAIMABLE 0x1000
#define MEMMAP_KERNEL_AND_MODULES 0x1001
2020-06-05 18:51:33 +03:00
void init_memmap(void);
struct e820_entry_t *get_memmap(size_t *entries);
2020-06-05 21:57:09 +03:00
void print_memmap(struct e820_entry_t *mm, size_t size);
2020-09-20 13:03:44 +03:00
void memmap_alloc_range(uint64_t base, uint64_t length, uint32_t type);
void *ext_mem_alloc(size_t count);
void *ext_mem_alloc_type(size_t count, uint32_t type);
void *ext_mem_alloc_aligned(size_t count, size_t alignment);
void *ext_mem_alloc_aligned_type(size_t count, size_t alignment, uint32_t type);
void *conv_mem_alloc(size_t count);
void *conv_mem_alloc_aligned(size_t count, size_t alignment);
2020-06-05 18:51:33 +03:00
#endif