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#ifdef _MSC_VER
36 #include <Uefi.h>
37#elif __GNUC__
38 #include <efi/efi.h>
39#endif
40
42#define PAGESIZE 4096
43#define PADDR_T_MAX UINT64_MAX
44
45/*
46 * XEInitialisePmmngr - Initialise Physical Memory Manager
47 * @param memmap -- Pointer to memory map
48 * @param buffer -- Pointer to memory area where
49 * physical addresses will get stored
50 * @param bufsize -- size of the buffer
51 */
52extern void XEInitialisePmmngr(const struct EfiMemoryMap memmap, void* buffer, size_t bufsize);
53
54/*
55 * XEPmmngrAllocate -- Allocates a physical block
56 */
58
59/*
60 * XEPmmngrFree -- free up
61 * previously allocated physical block
62 * @param addr -- Pointer to physical address
63 */
64extern void XEPmmngrFree(paddr_t addr);
65
66/*
67 * XEPmmngrList -- list all available physical block
68 */
69extern void XEPmmngrList();
70
71/*
72 *XEGetAlstack -- return the allocated stack ptr
73 */
74extern paddr_t* XEGetAlstack();
75
76/*
77 * XEGetAlstackptr -- return the previously allocated
78 * pointer
79 */
80extern paddr_t* XEGetAlstackptr();
81
82/*
83 * XEReserveMemCount -- returns reserved memory area,
84 * i.e all allocated memory for the kernel and files
85 */
87
88/*
89 * XEGetPgStack -- return the entire page stack
90 */
91extern paddr_t* XEGetPgStack();
92
93extern paddr_t* XEGetStackPtr();
94
95/*
96 * XEGetPhysicalStart -- return the starting address
97 * from where all usable ram starts
98 */
100
101/*
102 * XEGetPhysicalSize -- return the size of entire
103 * usable area
104 */
106
107/*
108 * XEGetRamSize -- get the total physical memory
109 * size
110 */
111extern uint64_t XEGetRamSize();
112#endif
paddr_t * XEGetStackPtr()
Definition physm.cpp:164
uint64_t XEGetPhysicalStart()
Definition physm.cpp:172
paddr_t XEPmmngrAllocate()
Definition physm.cpp:93
paddr_t * XEGetAlstackptr()
Definition physm.cpp:144
uint64_t XEGetPhysicalSize()
Definition physm.cpp:180
uint64_t XEGetRamSize()
Definition physm.cpp:188
void XEInitialisePmmngr(const struct EfiMemoryMap memmap, void *buffer, size_t bufsize)
Definition physm.cpp:51
uint64_t XEReserveMemCount()
Definition physm.cpp:152
paddr_t * XEGetAlstack()
Definition physm.cpp:136
EFI_PHYSICAL_ADDRESS paddr_t
Definition physm.h:41
void XEPmmngrList()
Definition physm.cpp:118
paddr_t * XEGetPgStack()
Definition physm.cpp:159
void XEPmmngrFree(paddr_t addr)
Definition physm.cpp:111
UINT64 EFI_PHYSICAL_ADDRESS
Definition UefiBaseType.h:54
COMPILER_DEPENDENT_UINT64 uint64_t
Definition acefiex.h:165
Definition xnldr.h:109