Changeset b3f8fb7 in mainline for kernel/genarch/include/mm/as_pt.h


Ignore:
Timestamp:
2007-01-28T13:25:49Z (18 years ago)
Author:
Martin Decky <martin@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
8e8c1a5
Parents:
1ba41c5
Message:

huge type system cleanup
remove cyclical type dependencies across multiple header files
many minor coding style fixes

File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/genarch/include/mm/as_pt.h

    r1ba41c5 rb3f8fb7  
    3636#define KERN_AS_PT_H_
    3737
    38 #include <mm/as.h>
     38#include <mm/mm.h>
     39#include <arch/mm/asid.h>
     40#include <adt/list.h>
     41#include <adt/btree.h>
     42#include <synch/mutex.h>
    3943
    40 extern as_operations_t as_pt_operations;
     44#define AS_PAGE_TABLE
     45
     46/** Address space structure.
     47 *
     48 * as_t contains the list of as_areas of userspace accessible
     49 * pages for one or more tasks. Ranges of kernel memory pages are not
     50 * supposed to figure in the list as they are shared by all tasks and
     51 * set up during system initialization.
     52 */
     53typedef struct {
     54        /** Protected by asidlock. */
     55        link_t inactive_as_with_asid_link;
     56
     57        mutex_t lock;
     58
     59        /** Number of references (i.e tasks that reference this as). */
     60        count_t refcount;
     61
     62        /** Number of processors on wich is this address space active. */
     63        count_t cpu_refcount;
     64
     65        /** B+tree of address space areas. */
     66        btree_t as_area_btree;
     67       
     68        /** Page table pointer. */
     69        pte_t *page_table;
     70
     71        /** Address space identifier. Constant on architectures that do not support ASIDs.*/
     72        asid_t asid;
     73       
     74        /** Architecture specific content. */
     75        as_arch_t arch;
     76} as_t;
    4177
    4278#endif
Note: See TracChangeset for help on using the changeset viewer.