XenevaOS
Loading...
Searching...
No Matches
paging.h
Go to the documentation of this file.
1
30#ifndef __PAGING_H__
31#define __PAGING_H__
32
33#include "physm.h"
34
35#define PAGE_ATTRIBUTE_WRITABLE 0x2
36#define PAGE_ATTRIBUTE_NO_EXECUTE 0x80000
37#define PAGE_ATTRIBUTE_NO_PAGING 0x100000
38#define PAGE_ATTRIBUTE_NO_CACHING 0x200000
39
40/*
41 * XEInitialisePaging -- initialise paging
42 */
43extern void XEInitialisePaging();
44
45
46/*
47 * check_free -- check free memory area
48 */
49extern bool check_free(void* vaddr, size_t length);
50/*
51 * XEPagingMap -- maps range of physical memory to virtual memory
52 * @param vaddr -- virtual address start
53 * @param paddr -- Physical address start
54 * @param length -- length of the area
55 * @param attributes -- paging attributes to set
56 */
57extern bool XEPagingMap(void* vaddr, paddr_t paddr, size_t length, size_t attributes);
58
59extern void set_paging_attributes(void* vaddr, size_t length, size_t attrset, size_t attrclear);
60
61#endif
62
void set_paging_attributes(void *vaddr, size_t length, size_t attrset, size_t attrclear)
Definition paging.cpp:410
bool XEPagingMap(void *vaddr, paddr_t paddr, size_t length, size_t attributes)
Definition paging.cpp:381
void XEInitialisePaging()
Definition paging.cpp:241
bool check_free(void *vaddr, size_t length)
Definition paging.cpp:467
EFI_PHYSICAL_ADDRESS paddr_t
Definition physm.h:37