opuntiaOS - an operating system targeting x86 and ARMv7
at master 905 B view raw
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