KernVMAlloc: Difference between revisions
Appearance
No edit summary |
No edit summary |
||
| (One intermediate revision by the same user not shown) | |||
| Line 1: | Line 1: | ||
This is the equivalent of the '''DevHlp_VMAlloc''' function. | [[Category:Undocumented]] | ||
This is the equivalent of the '''[[DevHelp_VMAlloc|DevHlp_VMAlloc]]''' function. | |||
==Synopsis== | ==Synopsis== | ||
Latest revision as of 18:12, 19 May 2025
This is the equivalent of the DevHlp_VMAlloc function.
Synopsis
KernVMAlloc(size, flags, linaddr, physaddr, sel);
Parameters
- size (ULONG) - input
- Number of bytes to allocate.
- flags (ULONG) - 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.