KernOS
virtualmemory.h
Go to the documentation of this file.
1 //
2 // Created on 6/1/20.
3 //
4 
5 #ifndef KERNOS_VIRTUALMEMORY_H
6 #define KERNOS_VIRTUALMEMORY_H
7 
8 #include <common.h>
9 #include <utilities.h>
10 
11 namespace INIT
12 {
13  void PAGE();
14 }
15 
16 namespace VM
17 {
20  namespace PDA
21  {
22  enum : uint16_t
23  {
24  P = 0,
25  R = 1,
26  U = 2,
27  W = 3,
28  D = 4,
29  A = 5,
30  S = 7
31  };
32  }
33 
34 
37  namespace PTA
38  {
39  enum : uint16_t
40  {
41  P = 0,
42  R = 1,
43  U = 2,
44  W = 3,
45  C = 4,
46  A = 5,
47  D = 6,
48  G = 8
49  };
50  }
51 }
52 
53 #endif //KERNOS_VIRTUALMEMORY_H
Read/Write.
Definition: virtualmemory.h:42
Page size (0 for 4KiB page)
Definition: virtualmemory.h:30
contains all kernel initialization routines
Definition: cpu.h:10
Virtual memory namespace.
Definition: virtualmemory.h:16
Present.
Definition: virtualmemory.h:41
Dirty.
Definition: virtualmemory.h:47
User/Supervisor.
Definition: virtualmemory.h:43
Accessed.
Definition: virtualmemory.h:46
Cache disabled.
Definition: virtualmemory.h:45
Write through.
Definition: virtualmemory.h:44
void PAGE()
set up page directory, page table, and turn on paging
Page size (0 for 4KiB page)
Definition: virtualmemory.h:48