Files
haiku-beta6/headers/private/system/vm_defs.h
T
Augustin Cavalier 76af6f4c98 kernel/vm: Update/add some documentation comments and drop some old files.
They mostly contained descriptions of functions' operations, not
what they're for, so they weren't so useful. I've added some of
the remarks they had (or ones with a similar purpose) inline
as documentation comments, and deleted the rest.
2026-03-26 16:43:52 -04:00

54 lines
1.7 KiB
C

/*
* Copyright 2002-2008, Axel Dörfler, [email protected]. All rights reserved.
* Distributed under the terms of the MIT License.
*
* Copyright 2001-2002, Travis Geiselbrecht. All rights reserved.
* Distributed under the terms of the NewOS License.
*/
#ifndef _SYSTEM_VM_DEFS_H
#define _SYSTEM_VM_DEFS_H
#include <OS.h>
#define B_USER_PROTECTION \
(B_READ_AREA | B_WRITE_AREA | B_EXECUTE_AREA | B_STACK_AREA)
#define B_KERNEL_PROTECTION \
(B_KERNEL_READ_AREA | B_KERNEL_WRITE_AREA | B_KERNEL_EXECUTE_AREA \
| B_KERNEL_STACK_AREA)
// TODO: These aren't really protection flags, but since the "protection"
// field is the only flag field, we currently use it for this.
// A cleaner approach would be appreciated - maybe just an official generic
// flags region in the protection field.
#define B_OVERCOMMITTING_AREA (1 << 12)
#define B_SHARED_AREA (1 << 13)
#define B_KERNEL_AREA (1 << 14)
// Usable from userland according to its protection flags, but the area
// itself is not deletable, resizable, etc from userland.
#define B_USER_AREA_FLAGS \
(B_USER_PROTECTION | B_OVERCOMMITTING_AREA | B_CLONEABLE_AREA)
#define B_KERNEL_AREA_FLAGS \
(B_KERNEL_PROTECTION | B_SHARED_AREA)
// mapping argument for several internal VM functions
enum {
REGION_NO_PRIVATE_MAP = 0,
REGION_PRIVATE_MAP
};
enum {
// TODO: these are here only temporarily - it's a private
// addition to the BeOS create_area() lock flags
//! (Only for use during the boot process.) Indicates the specified address
//! is already mapped, and the corresponding pages should be found and
//! inserted into the new cache.
B_ALREADY_WIRED = 7,
};
#define MEMORY_TYPE_SHIFT 28
#endif /* _SYSTEM_VM_DEFS_H */