Changes in kernel/generic/src/mm/as.c [30718cc2:e394b736] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/generic/src/mm/as.c
r30718cc2 re394b736 80 80 #include <arch/interrupt.h> 81 81 82 #ifdef CONFIG_VIRT_IDX_DCACHE83 #include <arch/mm/cache.h>84 #endif /* CONFIG_VIRT_IDX_DCACHE */85 86 82 /** 87 83 * Each architecture decides what functions will be used to carry out … … 447 443 else 448 444 memsetb(&area->backend_data, sizeof(area->backend_data), 0); 445 446 if (area->backend && area->backend->create) { 447 if (!area->backend->create(area)) { 448 free(area); 449 mutex_unlock(&as->lock); 450 return NULL; 451 } 452 } 449 453 450 454 btree_create(&area->used_space); … … 690 694 } 691 695 696 if (area->backend && area->backend->resize) { 697 if (!area->backend->resize(area, pages)) { 698 mutex_unlock(&area->lock); 699 mutex_unlock(&as->lock); 700 return ENOMEM; 701 } 702 } 703 692 704 area->pages = pages; 693 705 … … 756 768 return ENOENT; 757 769 } 770 771 if (area->backend && area->backend->destroy) 772 area->backend->destroy(area); 758 773 759 774 uintptr_t base = area->base; … … 1949 1964 sysarg_t sys_as_area_create(uintptr_t address, size_t size, unsigned int flags) 1950 1965 { 1951 if (as_area_create(AS, flags , size, address,1966 if (as_area_create(AS, flags | AS_AREA_CACHEABLE, size, address, 1952 1967 AS_AREA_ATTR_NONE, &anon_backend, NULL)) 1953 1968 return (sysarg_t) address;
Note:
See TracChangeset
for help on using the changeset viewer.