Changeset a9e8b39 in mainline for generic/include/mm/as.h


Ignore:
Timestamp:
2006-04-26T17:56:23Z (19 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
ed6c81f1
Parents:
6fa476f7
Message:

Prevent race in as_area_send() by allowing the address space area to be
created with AS_AREA_ATTR_PARTIAL attribute.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • generic/include/mm/as.h

    r6fa476f7 ra9e8b39  
    6060#define AS_AREA_DEVICE  8
    6161
     62/** Address space area attributes. */
     63#define AS_AREA_ATTR_NONE       0
     64#define AS_AREA_ATTR_PARTIAL    1       /* Not fully initialized area. */
     65
    6266/** Address space area structure.
    6367 *
     
    6771struct as_area {
    6872        SPINLOCK_DECLARE(lock);
    69         int flags;
     73        int flags;              /**< Flags related to the memory represented by the address space area. */
     74        int attributes;         /**< Attributes related to the address space area itself. */
    7075        count_t pages;          /**< Size of this area in multiples of PAGE_SIZE. */
    7176        __address base;         /**< Base address of this area. */
     
    113118extern void as_init(void);
    114119extern as_t *as_create(int flags);
    115 extern as_area_t *as_area_create(as_t *as, int flags, size_t size, __address base);
     120extern as_area_t *as_area_create(as_t *as, int flags, size_t size, __address base, int attrs);
    116121extern __address as_area_resize(as_t *as, __address address, size_t size, int flags);
    117 int as_area_send(task_id_t id, __address base);
     122int as_area_send(task_id_t dst_id, __address base);
    118123extern void as_set_mapping(as_t *as, __address page, __address frame);
    119124extern int as_page_fault(__address page);
Note: See TracChangeset for help on using the changeset viewer.