diff --git a/tasks/mm0/include/vm_area.h b/tasks/mm0/include/vm_area.h index aa43a1b..7f8a225 100644 --- a/tasks/mm0/include/vm_area.h +++ b/tasks/mm0/include/vm_area.h @@ -14,7 +14,7 @@ #include #include -//#define DEBUG_FAULT_HANDLING +#define DEBUG_FAULT_HANDLING #ifdef DEBUG_FAULT_HANDLING #define dprintf(...) printf(__VA_ARGS__) #else diff --git a/tasks/mm0/src/shm.c b/tasks/mm0/src/shm.c index 1676791..d0efab7 100644 --- a/tasks/mm0/src/shm.c +++ b/tasks/mm0/src/shm.c @@ -195,7 +195,7 @@ static struct vm_file *shm_new(key_t key, unsigned long npages) /* Initialise the vm object */ shm_file->vm_obj.pager = &swap_pager; - shm_file->vm_obj.flags = VM_OBJ_FILE; + shm_file->vm_obj.flags = VM_OBJ_FILE | VM_WRITE; list_add(&shm_file->list, &shm_file_list); list_add(&shm_file->vm_obj.list, &vm_object_list); diff --git a/tasks/mm0/src/vm_object.c b/tasks/mm0/src/vm_object.c index 47af0e9..d80eb8d 100644 --- a/tasks/mm0/src/vm_object.c +++ b/tasks/mm0/src/vm_object.c @@ -32,10 +32,20 @@ void vm_object_print(struct vm_object *vmo) vmo->npages); if (vmo->flags & VM_OBJ_FILE) { f = vm_object_to_file(vmo); - printf("File type: %s\n", - (f->type == VM_FILE_DEVZERO) ? "devzero" : - ((f->type == VM_FILE_BOOTFILE) ? "bootfile" : "regular")); - // printf("File type: 0x%x\n", f->type); + char *ftype; + + if (f->type == VM_FILE_DEVZERO) + ftype = "devzero"; + else if (f->type == VM_FILE_BOOTFILE) + ftype = "bootfile"; + else if (f->type == VM_FILE_SHM) + ftype = "shm file"; + else if (f->type == VM_FILE_REGULAR) + ftype = "regular"; + else + BUG(); + + printf("File type: %s\n", ftype); } print_cache_pages(vmo); printf("\n");