#ifndef HEADER_ADDRSPACE_H
#define HEADER_ADDRSPACE_H 1
-#include "list.h"
-
-struct vma
- {
- struct list_elem elem;
- uint32_t start, end;
- void **pages;
- };
+#include <stdint.h>
+#include "hash.h"
struct addrspace
{
- uint32_t *page_dir;
- struct list vmas;
+ uint32_t *pagedir;
};
-void addrspace_load (struct addrspace *, const char *);
+bool addrspace_load (struct addrspace *, const char *, void (**start) (void));
+void addrspace_destroy (struct addrspace *);
+
+void addrspace_activate (struct addrspace *);
#endif /* addrspace.h */