diff options
author | Richard Braun <rbraun@sceen.net> | 2013-07-05 14:24:41 +0200 |
---|---|---|
committer | Richard Braun <rbraun@sceen.net> | 2013-07-06 19:02:10 +0200 |
commit | 4b2687bd96de7600ce2fc9cdea963ab511ac5c37 (patch) | |
tree | 6d60bede3f246a053b930a51adf1c585b5ae3e20 /vm/vm_anon.c | |
parent | 1c389aca56725700cf9e99805eb90feb0b94072b (diff) |
actually, it didn't work, but does nowbasic_paging
Diffstat (limited to 'vm/vm_anon.c')
-rw-r--r-- | vm/vm_anon.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/vm/vm_anon.c b/vm/vm_anon.c index e6d1385f..ebee5fcc 100644 --- a/vm/vm_anon.c +++ b/vm/vm_anon.c @@ -113,16 +113,22 @@ vm_anon_get(struct vm_object *object, uint64_t offset, struct vm_page **pagep) { struct vm_page *page; + int error; page = vm_phys_alloc(0); if (page == NULL) return ERROR_NOMEM; - /* TODO Insert page in object */ - (void)object; - (void)offset; + error = vm_object_add(object, offset, page); + + if (error) + goto error_object; *pagep = page; return 0; + +error_object: + vm_phys_free(page, 0); + return error; } |