Adding address space structure to ktcbs. Still booting until virtual memory is enabled.

This commit is contained in:
Bahadir Balban
2009-05-07 10:26:34 +03:00
parent 3acc66c2e7
commit 6e1edc0aad
10 changed files with 45 additions and 44 deletions

View File

@@ -123,6 +123,7 @@ typedef struct pmd_table {
#define DABT_EXT_NON_LFETCH_SECT 0x8
#define DABT_EXT_NON_LFETCH_PAGE 0xA
#define TASK_PGD(x) (x)->space->pgd
/* Kernel's data about the fault */
typedef struct fault_kdata {

View File

@@ -19,6 +19,17 @@
#define MAP_IO_DEFAULT_FLAGS MAP_SVC_IO_FLAGS
#if defined (__KERNEL__)
#include <l4/lib/list.h>
#include INC_SUBARCH(mm.h)
/* A simple page table with a reference count */
struct address_space {
struct list_head list;
pgd_table_t *pgd;
int ktcb_refs;
};
int check_access(unsigned long vaddr, unsigned long size, unsigned int flags);
#endif

View File

@@ -10,6 +10,7 @@
#include <l4/lib/mutex.h>
#include <l4/generic/scheduler.h>
#include <l4/generic/pgalloc.h>
#include <l4/generic/space.h>
#include INC_GLUE(memory.h)
#include INC_GLUE(syscall.h)
#include INC_GLUE(message.h)
@@ -39,12 +40,6 @@ struct task_ids {
l4id_t tgid;
};
/* A simple page table with a reference count */
struct address_space {
struct pgd_table_t *pgd;
int ktcb_refs;
};
struct ktcb {
/* User context */
task_context_t context;