mirror of
https://github.com/Ed94/Odin.git
synced 2026-08-05 15:18:49 +00:00
add VM_FLAGS constants
This commit is contained in:
@@ -316,3 +316,52 @@ KERN_NOT_FOUND : kern_return_t : 56
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
KERN_RETURN_MAX : kern_return_t : 0x100
|
KERN_RETURN_MAX : kern_return_t : 0x100
|
||||||
|
|
||||||
|
// NOTE(beau): VM_FLAGS constants - ported directly
|
||||||
|
/* Maximum return value allowable
|
||||||
|
*/
|
||||||
|
/*
|
||||||
|
* VM allocation flags:
|
||||||
|
*
|
||||||
|
* VM_FLAGS_FIXED
|
||||||
|
* (really the absence of VM_FLAGS_ANYWHERE)
|
||||||
|
* Allocate new VM region at the specified virtual address, if possible.
|
||||||
|
*
|
||||||
|
* VM_FLAGS_ANYWHERE
|
||||||
|
* Allocate new VM region anywhere it would fit in the address space.
|
||||||
|
*
|
||||||
|
* VM_FLAGS_PURGABLE
|
||||||
|
* Create a purgable VM object for that new VM region.
|
||||||
|
*
|
||||||
|
* VM_FLAGS_4GB_CHUNK
|
||||||
|
* The new VM region will be chunked up into 4GB sized pieces.
|
||||||
|
*
|
||||||
|
* VM_FLAGS_NO_PMAP_CHECK
|
||||||
|
* (for DEBUG kernel config only, ignored for other configs)
|
||||||
|
* Do not check that there is no stale pmap mapping for the new VM region.
|
||||||
|
* This is useful for kernel memory allocations at bootstrap when building
|
||||||
|
* the initial kernel address space while some memory is already in use.
|
||||||
|
*
|
||||||
|
* VM_FLAGS_OVERWRITE
|
||||||
|
* The new VM region can replace existing VM regions if necessary
|
||||||
|
* (to be used in combination with VM_FLAGS_FIXED).
|
||||||
|
*
|
||||||
|
* VM_FLAGS_NO_CACHE
|
||||||
|
* Pages brought in to this VM region are placed on the speculative
|
||||||
|
* queue instead of the active queue. In other words, they are not
|
||||||
|
* cached so that they will be stolen first if memory runs low.
|
||||||
|
*/
|
||||||
|
|
||||||
|
vm_flags_t :: distinct c.int // NOTE(beau): not in the apple sdk
|
||||||
|
|
||||||
|
VM_FLAGS_FIXED : vm_flags_t : 0x00000000
|
||||||
|
VM_FLAGS_ANYWHERE : vm_flags_t : 0x00000001
|
||||||
|
VM_FLAGS_PURGABLE : vm_flags_t : 0x00000002
|
||||||
|
VM_FLAGS_4GB_CHUNK : vm_flags_t : 0x00000004
|
||||||
|
VM_FLAGS_RANDOM_ADDR : vm_flags_t : 0x00000008
|
||||||
|
VM_FLAGS_NO_CACHE : vm_flags_t : 0x00000010
|
||||||
|
VM_FLAGS_RESILIENT_CODESIGN : vm_flags_t : 0x00000020
|
||||||
|
VM_FLAGS_RESILIENT_MEDIA : vm_flags_t : 0x00000040
|
||||||
|
VM_FLAGS_PERMANENT : vm_flags_t : 0x00000080
|
||||||
|
VM_FLAGS_TPRO : vm_flags_t : 0x00001000
|
||||||
|
VM_FLAGS_OVERWRITE : vm_flags_t : 0x00004000 /* delete any existing mappings first */
|
||||||
|
|||||||
Reference in New Issue
Block a user