XenevaOS
Loading...
Searching...
No Matches
physm.h
Go to the documentation of this file.
1
30#ifndef __PHYSM_H__
31#define __PHYSM_H__
32
33#include "xnldr.h"
34#include "xnout.h"
35#include <Uefi.h>
36
38#define PAGESIZE 4096
39#define PADDR_T_MAX UINT64_MAX
40
41/*
42 * XEInitialisePmmngr - Initialise Physical Memory Manager
43 * @param memmap -- Pointer to memory map
44 * @param buffer -- Pointer to memory area where
45 * physical addresses will get stored
46 * @param bufsize -- size of the buffer
47 */
48extern void XEInitialisePmmngr(const struct EfiMemoryMap memmap, void* buffer, size_t bufsize);
49
50/*
51 * XEPmmngrAllocate -- Allocates a physical block
52 */
54
55/*
56 * XEPmmngrFree -- free up
57 * previously allocated physical block
58 * @param addr -- Pointer to physical address
59 */
60extern void XEPmmngrFree(paddr_t addr);
61
62/*
63 * XEPmmngrList -- list all available physical block
64 */
65extern void XEPmmngrList();
66
67/*
68 *XEGetAlstack -- return the allocated stack ptr
69 */
70extern paddr_t* XEGetAlstack();
71
72/*
73 * XEGetAlstackptr -- return the previously allocated
74 * pointer
75 */
76extern paddr_t* XEGetAlstackptr();
77
78/*
79 * XEReserveMemCount -- returns reserved memory area,
80 * i.e all allocated memory for the kernel and files
81 */
83
84/*
85 * XEGetPgStack -- return the entire page stack
86 */
87extern paddr_t* XEGetPgStack();
88
89extern paddr_t* XEGetStackPtr();
90
91/*
92 * XEGetPhysicalStart -- return the starting address
93 * from where all usable ram starts
94 */
96
97/*
98 * XEGetPhysicalSize -- return the size of entire
99 * usable area
100 */
102
103/*
104 * XEGetRamSize -- get the total physical memory
105 * size
106 */
107extern uint64_t XEGetRamSize();
108#endif
paddr_t * XEGetStackPtr()
Definition physm.cpp:169
uint64_t XEGetPhysicalStart()
Definition physm.cpp:177
paddr_t XEPmmngrAllocate()
Definition physm.cpp:97
paddr_t * XEGetAlstackptr()
Definition physm.cpp:149
uint64_t XEGetPhysicalSize()
Definition physm.cpp:185
uint64_t XEGetRamSize()
Definition physm.cpp:193
void XEInitialisePmmngr(const struct EfiMemoryMap memmap, void *buffer, size_t bufsize)
Definition physm.cpp:54
uint64_t XEReserveMemCount()
Definition physm.cpp:157
paddr_t * XEGetAlstack()
Definition physm.cpp:141
EFI_PHYSICAL_ADDRESS paddr_t
Definition physm.h:37
void XEPmmngrList()
Definition physm.cpp:122
paddr_t * XEGetPgStack()
Definition physm.cpp:164
void XEPmmngrFree(paddr_t addr)
Definition physm.cpp:115
UINT64 EFI_PHYSICAL_ADDRESS
Definition UefiBaseType.h:54
COMPILER_DEPENDENT_UINT64 uint64_t
Definition acefiex.h:165
Definition xnldr.h:107