Squash commits for public release
This commit is contained in:
42
kernel/include/mem/bits/mmu.h
Normal file
42
kernel/include/mem/bits/mmu.h
Normal file
@@ -0,0 +1,42 @@
|
||||
#ifndef _KERNEL_MEM_BITS_MMU_H
|
||||
#define _KERNEL_MEM_BITS_MMU_H
|
||||
|
||||
#include <libkern/types.h>
|
||||
|
||||
enum MMU_FLAGS {
|
||||
MMU_FLAG_PERM_WRITE = (1 << 0),
|
||||
MMU_FLAG_PERM_READ = (1 << 1),
|
||||
MMU_FLAG_PERM_EXEC = (1 << 2),
|
||||
MMU_FLAG_UNCACHED = (1 << 3),
|
||||
MMU_FLAG_NONPRIV = (1 << 4),
|
||||
MMU_FLAG_INVALID = (1 << 5),
|
||||
MMU_FLAG_COW = (1 << 6), // TODO: Remove this flag.
|
||||
MMU_FLAG_HUGE_PAGE = (1 << 7),
|
||||
MMU_FLAG_DEVICE = MMU_FLAG_PERM_READ | MMU_FLAG_PERM_WRITE | MMU_FLAG_UNCACHED,
|
||||
};
|
||||
typedef uint32_t mmu_flags_t;
|
||||
|
||||
enum MMU_PF_INFO_FLAGS {
|
||||
MMU_PF_INFO_ON_NOT_PRESENT = (1 << 0),
|
||||
MMU_PF_INFO_ON_WRITE = (1 << 1),
|
||||
MMU_PF_INFO_ON_NONPRIV_ACCESS = (1 << 2),
|
||||
MMU_PF_INFO_SECURITY_VIOLATION = (1 << 3),
|
||||
};
|
||||
typedef uint32_t mmu_pf_info_flags_t;
|
||||
|
||||
enum PTABLE_LEVELS {
|
||||
PTABLE_LV0 = 0,
|
||||
PTABLE_LV1 = 1,
|
||||
PTABLE_LV2 = 2,
|
||||
PTABLE_LV3 = 3,
|
||||
};
|
||||
typedef enum PTABLE_LEVELS ptable_lv_t;
|
||||
|
||||
enum PTABLE_ENTITY_STATES {
|
||||
PTABLE_ENTITY_PRESENT,
|
||||
PTABLE_ENTITY_INVALID,
|
||||
PTABLE_ENTITY_ALLOC, // For arm32 pspace, other targets never return this state.
|
||||
};
|
||||
typedef uint32_t ptable_state_t;
|
||||
|
||||
#endif // _KERNEL_MEM_BITS_MMU_H
|
||||
Reference in New Issue
Block a user