]> rtime.felk.cvut.cz Git - l4.git/blob - kernel/fiasco/src/kern/arm/pagetable.cpp
update
[l4.git] / kernel / fiasco / src / kern / arm / pagetable.cpp
1 INTERFACE:
2
3 #include "paging.h"
4
5 class Pte;
6 class Mem_page_attr;
7
8 class Page_table //: public Page_table_defs
9 {
10 public:
11
12   enum Status {
13     E_OK = 0,
14     E_NOMEM,
15     E_EXISTS,
16     E_UPGRADE,
17     E_INVALID,
18   };
19
20 #if 0
21   void * operator new(size_t) throw();
22   void operator delete(void *);
23 #endif
24   static void init();
25
26   Page_table();
27
28   void copy_in(void *my_base, Page_table *o,
29                void *base, size_t size = 0, unsigned long asid = ~0UL);
30
31   void *dir() const;
32
33   static size_t num_page_sizes();
34   static size_t const *page_sizes();
35   static size_t const *page_shifts();
36 };
37