aboutsummaryrefslogtreecommitdiff
path: root/src/kernel/include/process.h
diff options
context:
space:
mode:
authorAlex Auvolat <alex@adnab.me>2015-03-09 13:35:45 +0100
committerAlex Auvolat <alex@adnab.me>2015-03-09 13:35:45 +0100
commita9a2ea9125f89347e0aa038a136ebd43e6b251b4 (patch)
treea2ef4b04803a6ce9689d472f7ee26ed477a376a0 /src/kernel/include/process.h
parent8c1f280c1bc948a20e244b32d824780b08bf85c9 (diff)
downloadkogata-a9a2ea9125f89347e0aa038a136ebd43e6b251b4.tar.gz
kogata-a9a2ea9125f89347e0aa038a136ebd43e6b251b4.zip
Add pager interface ; implement basic functionnality to replace private maps.
Diffstat (limited to 'src/kernel/include/process.h')
-rw-r--r--src/kernel/include/process.h15
1 files changed, 9 insertions, 6 deletions
diff --git a/src/kernel/include/process.h b/src/kernel/include/process.h
index 8dfa274..8cdfe85 100644
--- a/src/kernel/include/process.h
+++ b/src/kernel/include/process.h
@@ -15,9 +15,9 @@
#include <thread.h>
#include <vfs.h>
+#include <pager.h>
-#include <mmap.h>
-
+#include <mmap.h> // common header for mmaps
#include <proc.h> // common header defining process statuses
#define USERSTACK_ADDR 0xB8000000
@@ -31,12 +31,15 @@ typedef struct user_region {
void* addr;
size_t size;
- int mode;
+ fs_handle_t *file;
+ pager_t *pager;
+ size_t offset;
+ bool own_pager;
- fs_handle_t *file; // null if not mmaped-file
- size_t file_offset;
+ int16_t mode;
- struct user_region *next;
+ struct user_region *next_in_proc;
+ struct user_region *next_for_pager;
} user_region_t;
typedef struct process {