aboutsummaryrefslogtreecommitdiff
path: root/src/kernel/include/paging.h
diff options
context:
space:
mode:
authorAlex Auvolat <alex.auvolat@ens.fr>2015-02-13 18:19:47 +0100
committerAlex Auvolat <alex.auvolat@ens.fr>2015-02-13 18:19:47 +0100
commit7aafc22a01de5cabb99aed76782f6c0999b7de05 (patch)
tree8f20a49e463a145b0fed2ea3256407b5e6316ba4 /src/kernel/include/paging.h
parentf67c0b7e20ef0816a2d9047fd20346e3ede98b75 (diff)
downloadkogata-7aafc22a01de5cabb99aed76782f6c0999b7de05.tar.gz
kogata-7aafc22a01de5cabb99aed76782f6c0999b7de05.zip
Add stubs for process-related functions.
Diffstat (limited to 'src/kernel/include/paging.h')
-rw-r--r--src/kernel/include/paging.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/kernel/include/paging.h b/src/kernel/include/paging.h
index 56fa7fa..67f9fef 100644
--- a/src/kernel/include/paging.h
+++ b/src/kernel/include/paging.h
@@ -2,6 +2,7 @@
#include <sys.h>
#include <stdbool.h>
+#include <idt.h>
// Bits in the error code for page fault
#define PF_PRESENT_BIT (1<<0)
@@ -13,6 +14,8 @@
struct page_directory;
typedef struct page_directory pagedir_t;
+typedef void (*user_pf_handler_t)(void* handler_data, registers_t *regs, void* addr);
+
void paging_setup(void* kernel_data_end);
pagedir_t *get_current_pagedir();
@@ -31,7 +34,7 @@ void pd_unmap_page(void* vaddr); // does nothing if page not mapped
// case both might require the allocation of a new PT at the same location. These
// cases are well-handled (the pagedir_t type contains a mutex used for this)
-pagedir_t *create_pagedir(); // returns zero on error
+pagedir_t *create_pagedir(user_pf_handler_t pf, void* pf_handler_data); // returns zero on error
void delete_pagedir(pagedir_t *pd);
/* vim: set ts=4 sw=4 tw=0 noet :*/