Changeset af863d0 in mainline for kernel/generic/include/mm/as.h


Ignore:
Timestamp:
2008-07-31T10:42:38Z (17 years ago)
Author:
Martin Decky <martin@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
6e0e8c9
Parents:
2a513972
Message:

move unfinished ObjC support to a separate branch

File:
1 edited

Legend:

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

    r2a513972 raf863d0  
    5454#include <lib/elf.h>
    5555
    56 #ifdef __OBJC__
    57 #include <lib/objc.h>
    58 #endif
    59 
    6056/**
    6157 * Defined to be true if user address space and kernel address space shadow each
     
    8581#define AS_PF_DEFER             2
    8682
    87 #ifdef __OBJC__
    88 @interface as_t : base_t {
    89         @public
    90                 /** Protected by asidlock. */
    91                 link_t inactive_as_with_asid_link;
    92                 /**
    93                  * Number of processors on wich is this address space active.
    94                  * Protected by asidlock.
    95                  */
    96                 count_t cpu_refcount;
    97                 /**
    98                  * Address space identifier.
    99                  * Constant on architectures that do not support ASIDs.
    100                  * Protected by asidlock. 
    101                  */
    102                 asid_t asid;
    103                
    104                 /** Number of references (i.e tasks that reference this as). */
    105                 atomic_t refcount;
    106 
    107                 mutex_t lock;
    108                
    109                 /** B+tree of address space areas. */
    110                 btree_t as_area_btree;
    111                
    112                 /** Non-generic content. */
    113                 as_genarch_t genarch;
    114                
    115                 /** Architecture specific content. */
    116                 as_arch_t arch;
    117 }
    118 
    119 + (pte_t *) page_table_create: (int) flags;
    120 + (void) page_table_destroy: (pte_t *) page_table;
    121 - (void) page_table_lock: (bool) _lock;
    122 - (void) page_table_unlock: (bool) unlock;
    123 
    124 @end
    125 
    126 #else
    127 
    12883/** Address space structure.
    12984 *
     
    169124        void (* page_table_unlock)(as_t *as, bool unlock);
    170125} as_operations_t;
    171 #endif
    172126
    173127/**
     
    250204extern as_t *AS_KERNEL;
    251205
    252 #ifndef __OBJC__
    253206extern as_operations_t *as_operations;
    254 #endif
    255 
    256207extern link_t inactive_as_with_asid_head;
    257208
Note: See TracChangeset for help on using the changeset viewer.