KernVMAlloc: Difference between revisions
Appearance
mNo edit summary |
|||
Line 5: | Line 5: | ||
==Parameters== | ==Parameters== | ||
;size:Number of bytes to allocate. | ;''size'' - input: Number of bytes to allocate. | ||
;flags:One or more of the following flags. See DevHlp_VMAlloc docs for details. | ;''flags'' - input: One or more of the following flags. See DevHlp_VMAlloc docs for details. | ||
KEE_VMA_16MB allocate memory from below 16MB | KEE_VMA_16MB allocate memory from below 16MB | ||
KEE_VMA_FIXED allocate memory that won't be swapped out | KEE_VMA_FIXED allocate memory that won't be swapped out | ||
Line 19: | Line 19: | ||
KEE_VMA_SHARED allocate memory that is shareable | KEE_VMA_SHARED allocate memory that is shareable | ||
KEE_VMA_USEHIGHMEM allocate memory from above 16MB. | KEE_VMA_USEHIGHMEM allocate memory from above 16MB. | ||
;linaddr:address of a variable to receive the linear address of the memory. | ;''linaddr'' - input: address of a variable to receive the linear address of the memory. | ||
;physaddr:address of a variable that contains the physical address of the memory. | ;''physaddr'' - input: address of a variable that contains the physical address of the memory. | ||
;sel:address of a variable to receive the allocated GDT selector, when KEE_VMA_GETSEL is set. | ;''sel'' - input: address of a variable to receive the allocated GDT selector, when KEE_VMA_GETSEL is set. | ||
[[Category:KEE]] | [[Category:KEE]] |
Revision as of 19:10, 19 May 2025
This is the equivalent of the DevHlp_VMAlloc function.
Synopsis
APIRET APIENTRY KernVMAlloc(ULONG size, ULONG flags, PVOID* linaddr, PVOID* physaddr, PSHORT sel);
Parameters
- size - input
- Number of bytes to allocate.
- flags - input
- One or more of the following flags. See DevHlp_VMAlloc docs for details.
KEE_VMA_16MB allocate memory from below 16MB KEE_VMA_FIXED allocate memory that won't be swapped out KEE_VMA_SWAP allocate memory that is swappable KEE_VMA_CONTIG allocate contiguous physical memory pages KEE_VMA_PHYS allocate physical memory (pass address in physaddr argument) KEE_VMA_PROCESS allocate memory in the process address space. KEE_VMA_SGSCONT register memory under screen group control KEE_VMA_GETSEL return a GDT selector for the allocated memory. This option exists also in DevHlp_VMAlloc (undocumented). KEE_VMA_RESERVE Don't commit the allocated memory. KEE_VMA_SHARED allocate memory that is shareable KEE_VMA_USEHIGHMEM allocate memory from above 16MB.
- linaddr - input
- address of a variable to receive the linear address of the memory.
- physaddr - input
- address of a variable that contains the physical address of the memory.
- sel - input
- address of a variable to receive the allocated GDT selector, when KEE_VMA_GETSEL is set.