hos/kernel/mm/mm.h
josh a8947f8aa3 added mm_map() to map addresses and mm_page_alloc() to allocate physical pages
git-svn-id: svn://anubis/hos/trunk@35 5b3e749e-e535-0410-8002-a9bb6afbdfca
2009-07-02 03:28:25 +00:00

42 lines
720 B
C

#ifndef MM_H
#define MM_H MM_H
#include "hos_types.h"
#include "hos_defines.h"
#include "multiboot.h"
#ifdef __cplusplus
extern "C" {
#endif
typedef u32_t pagedirectory_entry_t;
#define NUM_PAGETABLE_ENTRIES (PAGE_SIZE / sizeof(pagedirectory_entry_t))
typedef pagedirectory_entry_t
pagedirectory_t[NUM_PAGETABLE_ENTRIES];
extern pagedirectory_t page_directory;
typedef struct
{
u64_t base;
u64_t length;
} mm_mem_range_t;
void mm_record_mmap_entry(mb_mmap_t * mmap);
void mm_bootstrap();
#ifdef __cplusplus
}
#endif
int mm_map(u32_t virtual_address, u32_t physical_address,
u32_t user_mode, u32_t writable);
u32_t mm_page_alloc();
#endif