1/*
2 * Copyright (C) 2020-2022 The opuntiaOS Project Authors.
3 * + Contributed by Nikita Melekhin <nimelehin@gmail.com>
4 *
5 * Use of this source code is governed by a BSD-style license that can be
6 * found in the LICENSE file.
7 */
8
9#ifndef _KERNEL_MEM_BITS_ZONE_H
10#define _KERNEL_MEM_BITS_ZONE_H
11
12#include <mem/bits/mmu.h>
13
14enum ZONE_FLAGS {
15 ZONE_WRITABLE = MMU_FLAG_PERM_WRITE,
16 ZONE_READABLE = MMU_FLAG_PERM_READ,
17 ZONE_EXECUTABLE = MMU_FLAG_PERM_EXEC,
18 ZONE_NOT_CACHEABLE = MMU_FLAG_UNCACHED,
19 ZONE_COW = MMU_FLAG_COW,
20 ZONE_USER = MMU_FLAG_NONPRIV,
21};
22
23enum ZONE_TYPES {
24 ZONE_TYPE_NULL = 0x0,
25 ZONE_TYPE_CODE = 0x1,
26 ZONE_TYPE_DATA = 0x2,
27 ZONE_TYPE_STACK = 0x4,
28 ZONE_TYPE_BSS = 0x8,
29 ZONE_TYPE_DEVICE = 0x10,
30 ZONE_TYPE_MAPPED = 0x20,
31 ZONE_TYPE_MAPPED_FILE_PRIVATLY = 0x40,
32 ZONE_TYPE_MAPPED_FILE_SHAREDLY = 0x80,
33};
34
35#endif // _KERNEL_MEM_BITS_ZONE_H