+++ /dev/null
-/* Copyright (c) 2008, Sandia National Laboratories */
-
-#include <lwk/liblwk.h>
-
-int
-aspace_map_region(
- id_t id,
- vaddr_t start,
- size_t extent,
- vmflags_t flags,
- vmpagesize_t pagesz,
- const char * name,
- paddr_t pmem
-)
-{
- int status;
-
- if ((status = aspace_add_region(id, start, extent, flags, pagesz, name)))
- return status;
-
- if ((status = aspace_map_pmem(id, pmem, start, extent))) {
- aspace_del_region(id, start, extent);
- return status;
- }
-
- return 0;
-}
-
-int
-aspace_map_region_anywhere(
- id_t id,
- vaddr_t * start,
- size_t extent,
- vmflags_t flags,
- vmpagesize_t pagesz,
- const char * name,
- paddr_t pmem
-)
-{
- int status;
-
-retry:
- if ((status = aspace_find_hole(id, 0, extent, pagesz, start)))
- return status;
-
- if ((status = aspace_add_region(id, *start, extent, flags, pagesz, name))) {
- if (status == -ENOTUNIQ)
- goto retry; /* we lost a race with someone */
- return status;
- }
-
- if ((status = aspace_map_pmem(id, pmem, *start, extent))) {
- aspace_del_region(id, *start, extent);
- return status;
- }
-
- return 0;
-}