Changeset e394b736 in mainline


Ignore:
Timestamp:
2011-04-16T13:07:49Z (14 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
ceac698
Parents:
8a2474f
Message:

Call the address space area create, resize and destroy hooks.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/generic/src/mm/as.c

    r8a2474f re394b736  
    443443        else
    444444                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        }
    445453       
    446454        btree_create(&area->used_space);
     
    686694        }
    687695       
     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       
    688704        area->pages = pages;
    689705       
     
    752768                return ENOENT;
    753769        }
     770
     771        if (area->backend && area->backend->destroy)
     772                area->backend->destroy(area);
    754773       
    755774        uintptr_t base = area->base;
Note: See TracChangeset for help on using the changeset viewer.