diff options
author | Alex Auvolat <alex@adnab.me> | 2015-03-09 13:35:45 +0100 |
---|---|---|
committer | Alex Auvolat <alex@adnab.me> | 2015-03-09 13:35:45 +0100 |
commit | a9a2ea9125f89347e0aa038a136ebd43e6b251b4 (patch) | |
tree | a2ef4b04803a6ce9689d472f7ee26ed477a376a0 /src/kernel/include/process.h | |
parent | 8c1f280c1bc948a20e244b32d824780b08bf85c9 (diff) | |
download | kogata-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.h | 15 |
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 { |