X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fuserprog%2Faddrspace.h;h=46ff74517963af4ebb725ef4178600bbdc1ae366;hb=fd24baa6eaa3c98cece07189ed34a0943e03d520;hp=b6f2cc3153e15d0fc18869b3f60ffe9323c15753;hpb=d89e2b2a492fa57dce18d446d7107da16dbda324;p=pintos-anon diff --git a/src/userprog/addrspace.h b/src/userprog/addrspace.h index b6f2cc3..46ff745 100644 --- a/src/userprog/addrspace.h +++ b/src/userprog/addrspace.h @@ -1,21 +1,17 @@ #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 +#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 */