aboutsummaryrefslogtreecommitdiff
path: root/src/core/paging.h
diff options
context:
space:
mode:
authorLoic Guegan <manzerbredes@mailbox.org>2021-04-13 18:09:43 +0200
committerLoic Guegan <manzerbredes@mailbox.org>2021-04-13 18:09:43 +0200
commite1e75aa387b1bc2b80df1895131fa9d446bba9ac (patch)
tree12b5a3b412ab4d4c6a24ea894025d6dbf65b8ac1 /src/core/paging.h
parent5a9a57177f730d1c00ab2b47f91e5ea2660a4f77 (diff)
Cleaning code
Diffstat (limited to 'src/core/paging.h')
-rw-r--r--src/core/paging.h15
1 files changed, 12 insertions, 3 deletions
diff --git a/src/core/paging.h b/src/core/paging.h
index ad3671e..1526101 100644
--- a/src/core/paging.h
+++ b/src/core/paging.h
@@ -3,19 +3,24 @@
#define PAGING_CR0_BIT 0x80000000
#define PAGING_PAGE_SIZE 4096
-#define PAGING_MAX_PAGES 2048
+#define PAGING_MAX_PAGES 2048 // At least 1024 for the kernel
#if PAGING_MAX_PAGES%1024>0
#define PAGING_MAX_DIR_ENTRY PAGING_MAX_PAGES/1024+1
#else
#define PAGING_MAX_DIR_ENTRY PAGING_MAX_PAGES/1024
#endif
-/*
+/**
* Configure and enable paging
*/
void paging_enable();
-
+/**
+ * Allocate a new page and return its address
+ */
char* paging_allocate_next_page();
+/**
+ * Set usage status of a page
+ */
void paging_set_usage(int addr,char state);
/**
* Create a new page directory containing
@@ -23,4 +28,8 @@ void paging_set_usage(int addr,char state);
*/
char *paging_allocate(int p);
void paging_dump(int min,int max);
+/**
+ * Handler of page fault
+ */
+void paging_page_fault();
#endif \ No newline at end of file